lettura / download di file di grandi dimensioni nel modulo metasploit [chiuso]

0

Sto scrivendo un modulo di post-exploitation che supporta sessioni meterpreter.

Affinché il mio modulo funzioni, devo leggere / scaricare alcuni file dalla macchina della vittima che possono essere piccoli o più grandi. Sto avendo problemi quando il file è più grande di 2 MB. Inizio a ottenere tutti i tipi di eccezioni quando provo il metodo read_file o quando provo a scaricare il file con client.fs.file.download

Ho isolato il problema a questo dopo ore di test. Succede solo con file più grandi. C'è una sorta di limite su come possono essere grandi i file? In tal caso, come posso aggirare il problema in modo da poter leggere / scaricare i file dalla macchina delle vittime?

Ottengo errori diversi senza alcun modello specifico. Il più comune si riflette in questo stacktrace:

[-] Post failed: TypeError non può convertire nil in String [-] Stack di chiamate: [-] /home/yowie/git/metasploit-framework/lib/msf/core/post/file.rb:343:in _read_file_meterpreter' [-] /home/yowie/git/metasploit-framework/lib/msf/core/post/file.rb:227:in read_file ' [-] /home/yowie/git/metasploit-framework/modules/post/multi/gather/lastpass_creds.rb:43:in block in run' [-] /home/yowie/git/metasploit-framework/modules/post/multi/gather/lastpass_creds.rb:39:in each ' [-] /home/yowie/git/metasploit-framework/modules/post/multi/gather/lastpass_creds.rb:39:in each_with_index' [-] /home/yowie/git/metasploit-framework/modules/post/multi/gather/lastpass_creds.rb:39:in run '

Succede quando provo a leggere un database SQLite nella macchina delle vittime. Specificamente in linea:

data = read_file (db_path)

L'altro errore che ho visto è il seguente:

[-] Post failed: SocketError getaddrinfo: Nome o servizio non noto [-] Stack di chiamate: [-] /home/yowie/git/metasploit-framework/lib/rex/socket.rb:181:in gethostbyname' [-] /home/yowie/git/metasploit-framework/lib/rex/socket.rb:181:in getaddresses ' [-] /home/yowie/git/metasploit-framework/lib/rex/socket.rb:165:in getaddress' [-] /home/yowie/git/metasploit-framework/lib/msf/core/db.rb:6096:in normalize_host ' [-] /home/yowie/git/metasploit-framework/lib/msf/core/auxiliary/report.rb:222:in store_loot' [-] /home/yowie/git/metasploit-framework/modules/post/multi/gather/lastpass_creds.rb:51:in blocco in esecuzione ' [-] /home/yowie/git/metasploit-framework/modules/post/multi/gather/lastpass_creds.rb:46:in each' [-] /home/yowie/git/metasploit-framework/modules/post/multi/gather/lastpass_creds.rb:46:in each_with_index ' [-] /home/yowie/git/metasploit-framework/modules/post/multi/gather/lastpass_creds.rb:46:in 'run'

Questo succede nella linea: loot_path = store_loot (...)

I diversi errori vengono attivati quando eseguo più di 3 volte questa riga: files = client.fs.dir.entries (percorso)

In qualche modo la sessione meterpreter si corrompe dopo che il ciclo esegue la riga precedente per la quarta o più volte.

    
posta martinvigo 15.09.2014 - 10:20
fonte

1 risposta

1

Questo non è un limite rigido per i download in nessuno dei meterpreters, ma se si utilizza il tester meter PHP dovrà essere conforme al PHP.ini che è in esecuzione sul server su cui è stato installato.

Potresti anche incappare in altri problemi di connettività o ritardo. Puoi eseguire download di dimensioni simili su protocolli simili?

    
risposta data 15.09.2014 - 23:01
fonte

Leggi altre domande sui tag