Come determinare la dimensione dei payload disponibili in MetaSploit

8

Ho notato che ci sono molti carichi utili diversi tra cui scegliere in MetaSploit, e la scelta (supponendo che ci sia abbastanza spazio nella destinazione) di solito dipende da cosa stai cercando di fare.

Tuttavia, da quello che ho capito i carichi utili variano notevolmente di dimensioni. Come posso determinare la dimensione di ogni payload in modo che possa sapere se si inseriranno nell'exploit? Ad esempio, quanto spazio avrei bisogno per un bind_tcp v. Reverse_tcp? Il misuratore è generalmente più piccolo di un guscio legante?

C'è un modo per determinare la dimensione tipica dei payload generati da MetaSploit per una piattaforma specifica?

    
posta Freedom_Ben 14.07.2013 - 06:43
fonte

3 risposte

7

Il comando msfvenom -s o generate è utile per le singole dimensioni del payload. A volte vorrai conoscere tutti i carichi utili all'interno di un determinato vincolo di dimensione del carico utile. Ad esempio se stai sviluppando un exploit, sai di avere uno spazio limitato per trasportare un payload di dire 100 byte e vuoi conoscere tutti i payload che sono minori o uguali a 100 byte, puoi usare lo strumento payload_length.rb fornito all'interno la cartella tools / modules /.
root@kali:/opt/metasploit-framework/tools/modules# ./payload_lengths.rb
Il comando precedente mostrerà la dimensione di ogni payload. Se vuoi limitarlo entro un certo limite di dimensioni, puoi sempre utilizzare la comoda utility awk di Linux:
root@kali:/opt/metasploit-framework/tools/modules# ./payload_length.rb | awk ' $2<=100'
Questo comando ti dirà ogni payload nel framework Metasploit con una dimensione inferiore o uguale a 100 byte.
PS: Alla domanda è stata data una risposta, ma è sempre bene sapere più di un modo per fare un determinato compito!

    
risposta data 14.07.2013 - 09:08
fonte
1

Potresti utilizzare il comando msfpayload e guardare la riga Total size:

msfpayload PAYLOAD O

Oppure usa il comando generate all'interno della console MetaSploit e guarda la prima riga

use payload/PAYLOAD
payload(PAYLOAD) > generate
    
risposta data 14.07.2013 - 07:13
fonte
0

OK, dopo aver scavato gli strumenti di MetaSploit ho trovato qualcosa che funziona bene per questo. Lo strumento msfpayload con l'opzione O .

msfpayload <payload-to-check> O

Quindi ad esempio:

msfpayload windows/vncinject/reverse_http O

Ti dirà la dimensione del VNC iniettare HTTP inverso per Windows. L'output per il comando precedente appare come segue:

       Name: VNC Server (Reflective Injection), Reverse HTTP Stager
     Module: payload/windows/vncinject/reverse_http
    Version: $Revision$
   Platform: Windows
       Arch: x86
Needs Admin: No
 Total size: 336
       Rank: Normal

Provided by:
  sf <[email protected]>
  hdm <[email protected]>

Basic options:
Name      Current Setting  Required  Description
----      ---------------  --------  -----------
AUTOVNC   true             yes       Automatically launch VNC viewer if present
EXITFUNC  process          yes       Exit technique: seh, thread, process, none
LHOST                      yes       The local listener hostname
LPORT     8080             yes       The local listener port
VNCHOST   127.0.0.1        yes       The local host to use for the VNC proxy
VNCPORT   5900             yes       The local port to use for the VNC proxy

Description:
  Tunnel communication over HTTP, Inject a VNC Dll via a reflective 
  loader (staged)
    
risposta data 14.07.2013 - 07:13
fonte

Leggi altre domande sui tag