Weekend Prosjekt: Bruk Honeyd på Linux for å lure Attackers

For den sikkerhetsbevisste, det er alltid rom for en annen våpen mot angripere. Brannmurer, overvåking systemer, pakke sniffere – alle er viktige brikker i puslespillet. Så er også Honeyd, ". Honeypot daemon " Honeyd simulerer eksistensen av en rekke server og klient maskiner på nettverket, inkludert typiske trafikk mellom dem. Fantomet maskinene kan konfigureres til å etterligne signaturen og oppførselen til ekte operativsystemer, som vil lure inntrengere inn poking på dem – og avsløre seg selv til sikkerhetspersonell.

Nåværende versjoner av Honeyd kan imitere utseendet på mer enn 1.000 operativsystemer og varianter, og profilene som brukes til å etterligne målene er hentet fra Nmap sikkerhet skanneren. Det gjør dem ikke umulig å skille fra virkeligheten, men det er så nær som du kan komme; Nmap setter gullstandarden for OS deteksjon og fingerprinting. Honeyd skaperne sier de har testet programmet med en fantom nettverk av 65.536 virtuelle verter som kjører på en enkelt maskin. Du vil sannsynligvis ikke trenger at mange med mindre du kjører en gigantisk bedriftens nettverk, men det er fint å vite at programmet har blitt grundig stresstestet.

I praksis turer Honeyd opp angripere på to måter. Først bremser dem ned av vesentlig øke mengden arbeid de må gjøre for å korrekt identifisere de reelle målet maskiner på nettverket. De nmap skanner og trafikklogger vil være mye større, og tar mye lengre tid å sortere gjennom. Tenk på dette som beslektet med måten middelalderslott ble bygget med flere ringer av vegger, med portene på forskjellige posisjoner rundt omkretsen. . Jo mer du sakte ned angriperen, jo bedre sjansene dine for å fange ham eller henne gjennom andre metoder

For det andre, er hvert av de Honeyd virtuelle servere en " honeypot " i den forstand at den tiltrekker reelle angrep selv om det ikke er en reell maskin. Ingen legitim bruker på nettverket vil ha behov for å sondere en Honeyd virtuell server, fordi de ikke tilbyr reelle tjenester. Derfor noen prober eller tilkoblingsforsøk er automatiske røde flagg. Selvsagt kan en feilkonfigurert program på en annen maskin generere falske positiver (som kunne en uinformert-men-nysgjerrig ny admin), men i det store og honning tiltrekker foraktede brønner.

Installasjon og konfigurasjon

Forskere bruker Honeyd på nett for å fange og katalog malware og virus " Internett-vendte, i naturen, " men for å beskytte ditt eget hjem eller kontornettverk, går det like godt i et LAN-miljø. De fleste moderne Linux-distribusjoner gi Honeyd pakker gjennom sitt pakkesystem, men hvis du ønsker kan du ta tak i kilden fra prosjektets nedlastinger delen. Den nyeste versjonen er 1.5c, fra 2007 (ikke fortvil, kjernefunksjonaliteten har ikke utviklet seg mye i det siste, men du vil kanskje oppdatere OS emulering evner ved å gripe oppdatert emulerings skript fra Honeyd forum)
<. p> konfigurasjonsfil Honeyd er bosatt på /etc/honeypot/honeyd.conf – selv om det i praksis at du kan ha flere konfigurasjonsfiler som passerer den du ønsker å kjøre til Honeyd ved oppstart. Formatet er i hovedsak ren tekst, med kommentar linjer markert med en hash karakter i begynnelsen

Du må kanskje inkludere en routing avsnitt i begynnelsen av filen, avhengig av den virtuelle ". Nettverket layout " du ønsker Honeyd å etterligne. På en eller annen måte, vil du trenger for å få pakker på vei mot dine fantom honeypot IP-adresser til maskinen der Honeyd kjører. Du kan gjøre dette ved å legge konkrete rute regler til ruteren, slik at trafikken adressert til de spesifikke IP-adresser eller IP spenner du bruker for dine Honningkukker rutes direkte til din Honeyd maskin, eller du kan bruke en ekstern verktøy som arpd. Uansett, bruker du rute oppføringene i honeyd.conf fil for å beskrive hvordan nettverket skal vises

For eksempel kommer standard config fil med.


 rute entry 10.0.0.1route 10.0.0.1 lenken 10.2.0.0/24route 10.0.0.1 legge netto 10.3.0.0/16~~number=plural 10.3.0.1 ventetid 8ms båndbredde 10Mbpsroute 10.3.0.1 lenken 10.3.0.0/24route 10.3.0.1 legge netto 10.3.1.0/24 10.3.1.1 ventetid 7ms tap 0.5route 10.3.1.1 lenken 10.3.1.0/24 


Dette definerer en gateway på IP-adressen 10.0.0.1, og setter opp linker til tre subnett: 10.2.0.0/24, 10.3.0.0/24 og 10.3.1.0/24. Den definerer også forbindelsene mellom subnett (den legge netto linjer). Som du ser, kan du angi båndbredde, ventetid, og pakketap over disse fantom tilkoblinger – husk, siden hele nettverket er virtuelt, kan Honeyd hovedsak kontrollere alle aspekter av det.

Med dette rammeverket på plass, vil du ved å definere noen virtuell maskin maler. De fleste konfigurasjoner begynne med en " standard " strofe som (som med brannmurregler) etablerer en baseline drop-ukjente-pakker atferd:


 opprette defaultset default default tcp handling blockset default default udp handling blockset default default icmp handling blokk 


Maler kan ha noen navn du velger, så velg en beskrivende en. Etter sin skape TEMPLATENAME linje, bruke sett å tildele det en OS ". Personlighet " Listen over emulatable personligheter er funnet i /etc/honeypot/nmap.prints. Etter personligheten linje, kan du legge til så mange nettverk atferd skript som du ønsker den virtuelle maskinen for å simulere. Den Honeyd pakken installerer sine skript i /usr /share /Honeyd /scripts /og sorterer dem etter OS. For eksempel vil opprette en virtuell fil-server, kan du blant annet:


 opprette linuxfileserverset linuxfileserver personlighet Linux 2.4.20set linuxfileserver tcp port 21 " sh /usr /share /Honeyd /scripts /unix/linux/ftp.sh"set linuxfileserver tcp port 21 " sh /usr/share/honeyd/scripts/unix/linux/suse8.0/ssh.sh" 


Du kan også bare la en port åpen med sett linuxfileserver tcp port 445 åpen, eller tildele en MAC-adresse med sett linuxfileserver ethernet " 01: 23: 45: 67: 89: ab ". Du kan selv legge til system statistikk til blandingen, som satt linuxfileserver oppetid 51840000. Definer så mange maler som du vil, ved å bruke så mange operativsystemer som du vil, men å faktisk sette noen av dem i rotasjon, trenger du en bind linje:


 bind 10.3.0.1 bigciscorouterbind 10.3.1.101 linuxfileserver 


Du kan binde så mange IP-adresser som du vil samme mal; hver og en vil fungere uavhengig av hverandre. De Nmap OS fingeravtrykk fortelle Honeyd hvordan å svare på grunnleggende TCP, UDP, ARP, og ICMP-pakker, som de aldri så litt-forskjellige svar er hvordan Nmap – samt nefarious nettverksskannere – skille mellom systemer. De ulike skript ligne applikasjonsservere, slik at du kan etterligne SSH, HTTP, HTTPS, IMAP, DNS, og andre typiske tjenester på din maskin.

Dessverre, skriptene er ett av de områdene hvor Honeyd offisielle dokumentasjonen er sårt mangler, så den eneste pålitelige måten å sortere ut sine evner er å grave i og lese gjennom dem. Vanligvis de bare ekko riktige generiske svar på tilkoblingsforespørsler, sjelden går så langt som å etterligne lage en forbindelse. Tross alt, trenger du ikke å fange den angriper i lov å vite at han eller hun har tilgang til virtuelle verten for illegitime grunner: disse er verter uten gyldige brukerkontoer

Innsamling av data og Svare
.

Det bringer oss til det siste trinnet i å sette opp en Honeyd Honeynet: samle intel og heve det røde flagget når det er nødvendig. Standard syslog logging brukes til å logge normale oppsett og teardown hendelser, og skript kalt av de virtuelle verter kan skrive meldinger til syslog ved hjelp stderr.

Jo mer detaljert logging anlegget aktiveres ved Honeyd sin l bryteren. Begynn Honeyd med sudo Honeyd -d -l -f /the/path/to/your/honeyd.conf. Dette vil logge alle tilkoblinger og pakker som mottas av Honeyd, til en fil i katalogen der du starter Honeyd. Loggoppføringene inneholder sju til ni felt, i den rekkefølgen timestamp protokollen connection_state source_IP source_port destination_IP destination_port [TCP_info] [kommentarer]
.

connection_state feltet er S for å starte nye tilkoblinger, E for slutter tilkoblinger, og - for eksisterende forbindelser. Den TCP_info feltet omfatter pakkestørrelse og flagg, og logges bare for pakker som ikke er en del av en eksisterende tilkobling. Kommentarfeltet kan inkludere OS fingeravtrykk og den totale mengden av data som er mottatt for tilkoblings-ending (E) pakker.

Bortsett fra konstant overvåking Honeyd loggfil, det beste alternativet for å utløse en alarm når noen begynner å sparke rundt den virtuelle verten nettverket er å bruke en ekstern verktøy som for eksempel incron, som kan kjøre skript basert på fil-hendelser, for eksempel en endring i endringstid.

Du vil fortsatt trenger å ty til andre sikkerhetsverktøy (for eksempel nmap) for å finne og stoppe angriperen. Men Honeyd kan bistå i dette arbeidet også med noen avanserte alternativer. Den Tarpit alternativ, for eksempel, kan du bremse ned noen tilkoblinger til malene du tilordner det til. Merk at dette kan være nyttig i malware eller orm situasjoner, men er ikke aktuelt for menneske angripere søker etter sårbarheter

Honeyd støtter betinget atferd gjennom ". Dynamisk " maler, som du kan bruke til å bedre fange intelligente angripere. Du kan ha Honeyd svare med forskjellige maler til forskjellige tider, basert på hvor angriperen befinner seg, eller til og med OS fingeravtrykk oppdaget. Når det kombineres med et annet sett av skript, kan du bygge en mer fleksibel netto.

Prosjektet leverer også noen analyseverktøy som vil være nyttig, inkludert Honeycomb, en plugg = i som skaper signaturer for Snort intrusion- deteksjonssystem, og Honeyview, en grafisk data kartlegging verktøyet.

Dessverre gjør Honeyd prosjektet det vanskelig for interesserte brukere til å komme sammen og diskutere strategi eller utveksle skript og andre verktøy. Det første stedet å gå er Honeyd forum, hvor det fortsatt er aktive brukere rundt hver dag – selv om vedlikehold i koden i stor grad har gått videre til andre prosjekter. Hvis du er seriøs om å lære Honeyd, men det er ikke noe bedre sted å starte. Bare vær forberedt på å stille spørsmål i andre steder, for eksempel sikkerhets og penn-testing lister. Anmeldelser