Honeypot

 

Povezava: http://project.honeynet.org/

 

 

Kaj je honeypot?

Honeypot je lahko navidezen operacijski sistem, web strežnik, router …., ki simulira “ranljiv” sistem. Z njim lahko simuliramo odrte porte, kot so 21(FTP), 22 (SSH), 23 (Telnet)…445 (Microsoft netbios) itd… V primeru, da napadalec zaobide vaš požarni zid, IDS/IPS in ostale zaščite, ter se prebije v lokalno mrežo, potem je prva stvar, ki jo bo naredil skeniranje mreže in tako poskušal najti ranljivosti, ki bi mu omogočile nalaganje skript in programov za nadzor nad mašinami. Tu nastopi honeypot, ki je postavljen v lokalno mrežo in se predstavlja, kot lahka tarča. Napadalec naprimer ugotovi, da ima naš navidezni sistem odprt port 23 (Telnet) in se poskuša povezati. Ko vzpostavi povezavo prvo poskuša pridobiti informacije o sistemu, servisih, ki tečejo na njem itd.., da se lahko na podlagi rezultatov odloči, kako bo nadaljeval napad. Honeypot med tem beleži vse aktivnosti in pošlje skrbniku sistema na e-pošto opozorilo, da nekdo poskuša zlorabiti sistem. Poleg opozorila je dobra stran tudi, da z zavajanjem upočasni aktivnosti, ki bi lahko škodovale pravemu sistemu.

Uporabljamo ga lahko tudi za vabo na internetu (Tarpit). Na tak način lahko dodatno nadgradimo naše informacijsko varnostno znanje, saj lahko spremljamo vse poskuse in pridobimo zlonamerne skripte, ter na podlagi analiz dodatno zavarujemo naš pravi sistem. Vendar bodite previdni, saj slabo skonfiguriran lahko napadalcu omogoči vdor v sistem!!!

 

 

Za našo predstavitev bomo uporabili Honeyd (http://www.honeyd.org) , ki je odprtokodni program (avtor: Neils Provos) in je že prednaložen na operacijskem sistemu BackTrack5 R2. Če ste začetnik lahko uporabite tudi NRF Backofficer Friendly za Windows operacijske sistem, ki je za privatno rabo zastonj. Prenesete si lahko tudi Honeypot CD-ROM (Operacijski sistem je Fedora predelana za uporabo Honeypota.)

 

Honeyd direktoriji:

 

– /usr/local/include/honeyd

– /usr/local/lib/honeyd

– /usr/local/share/honeyd

– /usr/local/bin/honeyd

 

 

 

1. Pred začetkom posodobimo honeyd na zadnjo verzijo:

apt-get update

apt-get install honeyd

 

2.Ukaz za zagon honeyd:

honeyd -d -f /pot_do_konfiguracijske_datoteke/datoteka.config -l /pot_do_log_datoteke/porocilo.log

-d (verbose mode, kar pomeni, da se izvajanje programa postavi v ospredje, da lahko vidimo dogodke)

-f (pot do konfiguracijske datoteke v kateri imamo nastavljen naš navidezni ranljiv sistem)

-l (pot kamor se bodo shranjevala poročila o dogodkih iz honeypota)

 

3. Prvo bomo naredili honeypot config datoteko:

Skreiramo direktorij, v katerem bomo hranili konfiguracije in skripte (v našem primeru bo v /opt/honeyd_skripte/):

mkdir /opt/honeyd_skripte

 

Sedaj bomo v direktoriju honeyd_skripte naredili našo konfiguracijo za honeypot z imenom “honeyxp.conf :( naredite jo z poljubnim urejevalnikom vi,nano…)

#windows racunalnik
create windows
set windows personality »Microsoft Windows XP Professional
set windows default tcp action reset
set windows default udp action reset
set windows default icmp action allow
set windows tcp port 445 open
set windows tcp port 139 open
set windows udp port 137 open
set windows tcp port 21 »/opt/oneyd_skripte/ftp.sh«
set windows ethernet »00:00:24:ab:8c:12″
bind 192.168.2.9 windows

 

Hitra razlaga konfiguracije:

-#windows racunalnik (je poljuben opis mašine. Ker ima na začetku #, pomeni, da je skomentiran)

-create windows (z ukazom “create” kreiramo našo mašino. “windows” je ime našega templata, lahko bi napisali tudi “racunalnik”,”rac-001″…ime je poljubno)

-set windows personality »Microsoft Windows XP Professional (našemu honeypotu nastavimo lastnosti (lahko je windows, linux, router…). Ko vas bo napadalec skeniral, bo kot odogvor dobil, da je sistem Windows XP Professional in da na sistemu tečejo servisi netbios itd.., ki so značilni za ta operacijski sistem. Lastnosti so shranjene v datotekah nmap,prints in xprobe.conf v direktoriju “/usr/local/share/honeyd/”. Če želite nastaviti druge lastnosti, si poglejte vsebino teh datotek in nastavite eno izmed možnih lastnosti. Honeyd omogoča tudi, da lahko nastavimo svoje fingerprinte sistemov in sicer tako, da uporabite nmap skeniranje in ustvarite svoje lastnosti.

-set windows default tcp action reset,set windows default udp action reset (TCP/IP protokola UDP in TCP se uporabljata na “transportnem nivoju”. Odgovorna sta za vzpostavitev povezave in prenos podatkov med dvema procesoma na dveh sistemih. Vsi sistemi imajo požarni zid (tudi Windows :) ). Privzeta nastavitev požarnega zidu, je da blokira oz. zavrne dohodne povezave. “Reset” pošlje napadalcu informacijo, da je port zaprt.

-set windows default icmp action allow (icmp protokol se uporablja za ping klientov (echo request, echo replay). ICMP protokol deluje na oprežni plasti. Sporoča stanje omrežja. Ker želimo, da nas napadelec najde, dovolimo ICMP z “allow”.

-set windows tcp port 445 open,set windows tcp port 139 open, set windows udp port 137 open (odpremo porte, ki so značilni za windows sisteme)

-set windows tcp port 21 »/opt/oneyd_skripte/ftp.sh« (odpremo port 21 za FTP servis in nanj obesimo skripto, ki simulira ranljiv FTP strežnik. Različne skripte lahko dobite na honeyd spletni strani)

-set windows ethernet »00:00:24:ab:8c:12″ (simuliramo MAC naslov računalnika)

-bind 192.168.2.9 windows (honeypot nastavimo na določen IP naslov. Odvisno od vašega omrežja)

– če želite,da sistem pridobi naslov preko DHCP-ja napišete naslednji ukaz:

“dhcp windows on eth0” (eth0 je ime vaše mrežne kartice)

 

4. Ustavimo se malo še pri skriptah. Skripte, ki jih uporabljamo za simuliranje servisov, kot so SSH,FTP, WEB server itd… dobimo na naslovu http://www.honeyd.org/contrib.php . Ena izmed teh skript je tudi naša “ftp.sh” skripta. Skripte prenesemo v naš direktorij /opt/honeyd_skripte/, kjer jih potem razpakiramo in pripravimo za uporabo.

Ker ob zagonu honeyd le ta spremni privilegije programa na UID 65534, kar pomeni, da pridobi pravice “nobody”. Tukaj ponavadi nastopijo težave, saj program potem ne more zapisovati logov, ker nima pravic. Da odpravimo to napako, skreiramo svoj direktorij za devnike:

mkdir /opt/honeyd_logs

Da bo honeyd lahko zapisoval devnike moramo spremeniti še lastniške pravice na direktoriju:

chown nobody:nogroup /opt/honeyd_logs

Sedaj poglejmo še samo skripto “ftp.sh”. To naredimo z ukazom “vi ftp.sh”. V skripti je variabla za shranjevanje dnevnikov “log=/tmp/honeyd/fto-$1.log”. Spremenimo jo na naše nastavitve (direktorij kamor se bodo pisal dnevniki).

log=/opt/honeyd_logs/ftp-$1.log

Ker želimo “ftp.sh” zagnati moramo skripti dodati možnost x-executable:

chmod +x ftp.sh

 

5. Sedaj smo pa že skoraj pri koncu. Za zagon honeyd se postavimo v diretkorij /opt/honeyd_skripte/ in uporabimo naslednji ukaz:

honeyd -d -f honeyxp.conf -l /opt/honeyd_logs/dnevnik.log

 

Zadeva sedaj izgleda tako:

Naš honeypot je zagnan in posluša.

Za demonstracijo bomo sedaj sistem skenirali z nmapom in se poskušali povezati na ftp servis iz druge XP mašine.

Nmap skeniranje je pokazalo da imamo odprte porte 139,445 in 21 na katerem teče FTP servis.

Sedaj se bomo poskušali povezati na port 21. Povezava deluje!

Poglejmo ali vidimo povezavo na našem honeypotu? Da povezava je vzpostavljena.

Kaj pravi log? Nekdo se je prijavil v naš FTP strežnik z user:admin in geslom:admin.

Če imate težave, so le te ponavadi z dnevniki, ker program nima pravice pisanja!!! Preverite pravice (chown, chmod) in naredite datoteke za zapisovanje!!!

 

Honeyd omogoča postavitev celotnega navidzenega omrežja in več mašin hkrati. Če želite kreirati več mašin, to storite tako, da v svojo konfiguracijsko mapo dodate nov tamplate.

Primer:

 

#windows racunalnik
create windows
set windows personality »Microsoft Windows XP Professional
set windows default tcp action reset
set windows default udp action reset
set windows default icmp action allow
set windows tcp port 445 open
set windows tcp port 139 open
set windows udp port 137 open
set windows tcp port 21 »/opt/oneyd_skripte/ftp.sh«
set windows ethernet »00:00:24:ab:8c:12″
bind 192.168.2.9 windows

 

#linux server

create myserver

set myserver personality “FreeBSD 4.6”

set myserver default tcp action reset

set myserver default udp action reset

set default icmp action allow

set myserver tcp port 80 “/opt/honeyd_skripte/HoneyWeb-server-0.4.pl”

set myserver ethernet “00:20:18:dd:4c:15”

bind 192.168.2.11

 

MAC naslove laho poiščete na straneh, kot je  http://www.cavebear.com/archive/cavebear/Ethernet/vendor.html, da bo sistem bolj avtentičen (Linux server ponavadi nima Vendor ID od Ciscota ali podobno).

 

Toliko zaenkrat o honeypotih…

One Response to Honeypot

Leave a Reply

Your email address will not be published. Required fields are marked *

Internetna zaščita

Copyright © 2013. All Rights Reserved.