Pasivno prikupljanje informacija: Nmap i Šodan
Autor: Nemanja Milisavljević
S obzirom na to da na zvaničnom veb sajtu Šodana postoji dobro uputstvo za njegovo korišćenje iz terminala (https://cli.shodan.io/), odlučili smo da nastavak serijala o mračnom pretraživaču bude malo drugačiji. U prošlom članku pisali smo kako Šodan možemo koristiti u svrhe etičkog hakovanja (engl. Ethical Hacking) kao samostalan alat u toku faze prikupljanja informacija (engl. information gathering) o žrtvinom računaru.
Pojam etičko hakovanje je oblik testiranja sigurnosti računarskih sistema, za koji nas je korisnik unajmio i dao nam sve potrebne dozvole za izvršavanje tih testova. Prilikom tog testiranja koriste se tehnike koje bi pravi napadač koristio u realnoj situaciji, za dobijanje neovlašćenog pristupa i radi komprovitovanja sistema. Zadatak etičkog hakera je da pronađe te greške pre napadača i da ih ispravi kako bi učinio sistem sigurnim. Prvi korak prilikom testiranja sigurnosti mreže jeste pasivno prikupljanje informacija o žrtvi, odnosno prikupljanje informacija javno dostupnih na internetu. Sam šodan bi odlično odradio ovaj posao, ali ovom prilikom želim da vas upoznam sa jednim veoma moćnim alatom koji se koristi u procesu prikupljanja informacija o žrtvi pod nazivom Nmap.
Nmap je besplatan skener otvorenog koda čija je glavna uloga skeniranje dostupnih računara na mreži i određivanje naziva, verzije aktivnih servisa na njemu pokrenutih, kao i operativnog sistema koji žrtvin računar koristi. Verovatno se sada pitate kakve to veze ima sa Šodanom? Nmap sadrži brojne skripte koje povećavaju izbor mogućnosti, i takođe sadrži skriptu koja je implementacija Šodana koja mu omogućava da koristi Šodanove upite (engl. shodan queries).
Kako instalirati Nmap?
Ukoliko koristite Debijan ili neku linuks distribuciju baziranu na njemu (kao što su Ubuntu ili Mint), unosimo u terminal komandu:
sudo apt-get install nmap
Ako je vaš operativni sistem Arč Linuks, onda je to ova komanda:
sudo pacman -S nmap
Ukoliko je distribucija kojom raspolažete Fedora, koristite sledeću komandu:
sudo dnf install nmap
Potrebno je da prilikom instalacije Nmapa unesete lozinku koja vam omogućava rut pristup (engl. Root Access). Time dobijate dozvolu da instalirate program kao super korisnik (engl. Superuser) i izvršite izmene na hard disku.
A ukoliko ste vindouz (engl. Windows) korisnik, potrebno je posetite ovaj link (https://nmap.org/dist/nmap-7.70-setup.exe), sa koga će vaš veb pregledač (engl. Web browser) automatski početi da skida exe fajl. Nakon što je fajl skinut, potrebno je pokrenuti instalaciju, veoma regularnu (pomoć sa instalacijom možete pronaći na ovom linku: https://nmap.org/book/inst-windows.html).
Praktična upotreba Nmap Šodan skripte
Kada ste instalirali Nmap, unosite komandu:
nmap -script-help shodan-api
Na ekranu će se pojaviti tekst sličan kao na slici, i ta komanda treba da vam pokaže osnovne informacije o skripti. Nakon toga ukoliko želite da skenirate određeni računar unosite sledeću naredbu:
nmap -sn -Pn -n --script shodan-api --script-args 'shodan-api.apikey=lFkdafFhad3JadkfadHeduVage56had' 45.33.32.156
Sada ćemo rastaviti ovu naredbu kako bismo je bliže pojasnili. Nmap navodimo kako bismo pokrenuli Nmap program, -sn znači da preskačemo skeniranje portova na žrtvinom računaru, -Pn znači da se računar tretira kao da je povezan na mrežu, odnosno ne šaljemo ping zahtev, i na kraju, i -n govori da Nmap ne pokreće DNS razrešenje (eng. DNS resolution), čime dobijamo na brzini skeniranja. Zbog ovih opcija kažemo da je ovo oblik pasivnog skeniranja jer nmap ne šalje nikakve TCP/UDP pakete žrtvinom računaru, već se rezultati dobijaju samo pomoću Šodanovih upita.
--script shodan-api
–script je opcija koju koristimo kada želimo da Nmap pokrene neku skriptu, u ovom slučaju to je “shodan-api”, opcija je dakle “–script ime_skripte”
--script-args 'shodan-api.apikey=lFkdafFhad3JadkfadHeduVage56had’
–script-args je opcija koja nam daje mogućnost da zadamo parametre skripti, a u ovom slučaju neophodno je bilo staviti lični API ključ (engl. API key) koji dobijate ukoliko ste se registrovali na veb sajtu (https://www.shodan.io), onda samo treba da se ulogujete sa Vašim podacima kako biste videli vaš API ključ. Njega potom unosite prilikom pokretanje komande ili ga možete ubaciti u skriptu. Pokrenite vaš tekst editor, u mom slučaju to je nano
sudo nano /usr/share/nmap/scripts/shodan-api.nse
I unesite vaš API ključ između ‘’, kao na slici
Samo menjate ‘lFkdafFhad3JadkfadHeduVage56had’ vašim API ključem.
45.33.32.156 – IPv4 adresa računara (engl. host) koji ovom prilikom skenirate.
Krajnji rezultat
Nakon završenog skeniranja dobićete rezultate kao sa slike.
Videćete da li je host dostupan, koji su portovi na njemu otvoreni, koje protokole oni koriste, kao i servise, i eventualne verzije servisa. To nam sve može puno koristiti prilikom daljeg procesa dobijanja pristupa sistemu. Takođe ukoliko želimo da rezultate nakon skeniranja sačuvamo u vidu CSV (engl. Comma-separated values) fajla, radi jasnije preglednosti, ili za kasnije korišćenje tokom formiranja izveštaja. Unosimo sledeću komandu:
nmap --script shodan-api -sn -Pn -n --script-args 'shodan-api.apikey=lFkdafFhad3JadkfadHeduVage56had,shodan-api.target=45.33.32.156,shodan-api.outfile=izvestaj.csv'
Završna reč
U ovom članku sam želeo da prikažem kako Šodan može da bude koristan i efikasan čak i kao implementacija u okviru nekog drugog alata (osim Nmapa, Šodan je važna komponenta poznatih alata za etičko hakovanje kao što su Maltego (engl. Maltego) ili Rekon-ndži (engl. Recon-ng). Naravno, tokom demonstriranja ovog pasivnog tipa skeniranja, nismo ni zagrebali po površini šta sve Nmap može da uradi. Planiramo da pomenemo još neke od mogućnosti Nmapa ili neku seriju tekstova vezanu za etičko hakovanje, tako da ukoliko ste zainteresovani, dragi čitaoci, pišite nam na našem IRC kanalu(http://webchat.freenode.net/?channels=floss-magazin), gde autora članka možete pronaći pod nadimkom g0at. Do sledećeg teksta, pozdrav!