background image

www.hakin9.org

32

Hakin9 Nr 5/2004

A

ta

k

www.hakin9.org

Hakin9 Nr 5/2004

Z

adaniem honeypotów jest wabienie po-
tencjalnych  intruzów  poprzez  udostęp-
nianie  pewnej  ograniczonej  funkcjonal-

ności. Istnieją dwa główne typy takich przynęt:

•  honeypoty o niskiej interaktywności – pro-

ste demony, udające działanie zestawu po-
pularnych usług (np. FTP czy HTTP),

•  honeypoty  o  wysokiej  interaktywności 

–  prawdziwe  lub  zagnieżdżone  (w  postaci 
maszyny wirtualnej) systemy operacyjne.

Metody  rozpoznawania  pułapek  są  pochod-
ną oferowanych usług – inaczej bada się wia-
rygodność maszyny, której zasoby są dostęp-
ne jedynie przez serwer WWW, inaczej zaś te, 
na których uzyskaliśmy dostęp do konta shello-
wego. Im więcej intruz będzie wiedzieć o me-
todach  kamufl owania  honeypotów,  tym  lepiej 
poradzi  sobie  ze  zdemaskowaniem  przynęty. 
Przyjrzyjmy  się  zatem  najsłabszym  stronom 
popularnych pułapek. 

Przynęty o małej 

interaktywności

Honeypoty  o  małej  interaktywności  to  takie, 
których zadaniem jest symulowanie pracy kon-

Wybrane metody 

rozpoznawania honeypotów

Paweł Przybyłek

Przygotowanie wiarygodnej 

pułapki na intruzów jest 

zajęciem żmudnym 

i pracochłonnym – tym bardziej, 

im większą interaktywnością ma 

się ona wykazywać. Lenistwo 

administratorów to często 

powód udanych ataków.

kretnych usług. Umożliwiają one dostęp do wy-
branych  aplikacji  za  pośrednictwem  znanych 
protokołów: FTP, HTTP, SMTP i POP3. Przy-
kładem takiej pułapki jest system DTK (The De-
ception Toolkit
) oraz Tiny Honeypot. Oba sys-
temy  pozwalają  symulować  działanie  serwe-
rów  podstawowych  usług  –  są  jednak  bardzo 
proste, a  ich  rozpoznanie  jest niewielkim pro-
blemem. 

Trzeba pamiętać, że domyślna konfi guracja 

większości  tego  typu  pułapek  ma  za  zadanie 
przedstawić  jak  największy  wachlarz  możliwo-
ści. Oczywiście niekoniecznie idzie to w parze 
z wiarygodnością przynęty. Inaczej jest w przy-
padku  prawdziwych  usług,  gdzie  standardowe 
ustawienia  zazwyczaj  oferują  niewielką  funk-
cjonalność, ale są najbezpieczniejsze – przykła-
dem niech będzie serwer SMTP umożliwiający 
wysyłanie e-maili jedynie z lokalnej maszyny. 

Z artykułu nauczysz się...

•  jak zidentyfi kować najpopularniejsze honeypoty.

Powinieneś wiedzieć...

•  jak działa podsystem plików /proc.

background image

www.hakin9.org

Hakin9 Nr 5/2004

A

ta

k

www.hakin9.org

33

Hakin9 Nr 5/2004

Rozpoznawanie honeypotów

Leniwy administrator łatwo mo-

że  więc  zostać  zdemaskowany. 
Weźmy  Tiny  Honeypot,  gdzie  przy 
domyślnej konfi guracji serwer FTP 
przedstawia  się  jako  losowy  spo-
śród:  wu-ftpd,  pftpd,  Ncftpd  lub 

Ncftpd

Ncftpd

Microsoft  FTP  Service.  Kilkukrot-
ne testowanie portu 21, czyli usługi 
FTP, zapewne zdemaskuje pułapkę 
(patrz Listing 1).

Większe  możliwości  daje  pa-

kiet  Deception  Toolkit  (DTK),  któ-
ry udostępnia intruzowi (np. przez 
celowo  nieprawidłowo  skonfiguro-
wany  serwer  FTP)  fałszywy  plik 
/etc/passwd czy 

/etc/passwd

/etc/passwd

/etc/ftpusers. Jed-

nak  kiedy  taki  plik  dostanie  się 
w  ręce  agresora,  może  on  w  pro-
sty  sposób  sprawdzić  niezgod-
ność  pomiędzy  zawartością  pliku 
/etc/passwd  a  rzeczywistą  sytu-

/etc/passwd

/etc/passwd
acją (patrz Listing 2). 

Jeśli intruz dostał się na fałszywy 

serwer przez konto FTP użytkowni-
ka  anonimowego,  wpis  anonymous
w  pliku  /etc/ftpusers  upewni  go,  że 

/etc/ftpusers

/etc/ftpusers

znajduje  się  w  maszynie-pułapce 
(w tym pliku umieszczane są nazwy 
użytkowników  niemających  dostępu 
do  usługi  FTP).  Administrator  mu-
si  zatem  dołożyć  więcej  starań,  by 
stworzyć  plik  wyglądający  na  praw-
dziwy. W przeciwnym wypadku roz-
poznanie zagrożenia zajmie intruzo-
wi kilka sekund.

Honeypoty o dużej 

interaktywności

O wiele bardziej złożone są przynę-
ty  o  dużej  interaktywności.  Bardzo 

często są to prawdziwe lub zagnież-
dżone systemy operacyjne. Zwykle 
oferują  szeroki  zestaw  usług  oraz, 
co za tym idzie, dają intruzowi więk-
sze  pole  do  popisu.  Ich  identyfi -
kacja  jest  trudniejsza  niż  w  przy-
padku  wspomnianych  DTK  i  Tiny 
Honeypot
.

Generyczne  metody  rozpozna-

wania  honeypotów  to  takie,  które 
pokazują,  że  serwer  nie  należy  do 
tych  najbardziej  zapracowanych. 
Po uzyskaniu dostępu do shella na 
badanej  maszynie  najważniejsze 
jest  monitorowanie  zestawu  ofero-
wanych  przez  nią  usług.  Urucho-
miony na atakowanej maszynie de-
mon telnet – podczas gdy dostęp do 

telnet

telnet

innych  serwerów  w  tej  samej  sieci 
jest szyfrowany (np. SSH) – od razu 
powinien wzbudzić podejrzenia ata-
kującego. Warto także sprawdzić li-
stę  działających  na  serwerze  pro-
cesów, obciążenie CPU, użycie pa-
mięci oraz śledzić zmiany tych pa-
rametrów w czasie. Oczywista jest 
konieczność  analizy  logów,  któ-
ra w sprzyjających okolicznościach 
szybko udowodni, że atakowanemu 
hostowi  daleko  do  ciągle  zajętego 
serwera produkcyjnego.

Polecenie 

ps -e -opcpu

wyświe-

tla  informację  o  obciążeniu  gene-
rowanym  przez  wszystkie  procesy 
pracujące  w  systemie  (w  procen-
tach).  Użycie  CPU  można  spraw-
dzić,  sumując  te  wartości  (patrz 
Listing 3).

Identyfi kację  honeypota  moż-

na  także  oprzeć  o  charakterystycz-

ne  zachowanie  emulowanych  przez 
niego usług. Dla serwera pocztowe-
go, na którym intruz ma zamiar po-
ćwiczyć  najnowsze  eksploity  zna-
lezione  w  sieci,  będzie  to  analiza 
spoolera,  w  szczególności  dat  mo-
dyfi kacji i dostępu do plików z pocztą 
użytkowników. Słowem – specyfi cz-
ne dla tej usługi działania. 

Załóżmy, że agresor uzyskał do-

stęp do serwera pocztowego. Szcze-
gólnie  powinien  go  zainteresować 
katalog  /var/spool/mail,  wykorzysty-

/var/spool/mail

/var/spool/mail

wany  do  składowania  poczty  przez 
wiele  programów  MTA  (Mail  Trans-
port  Agent
).  Przesłanką  do  stwier-
dzenia,  że  znajduje  się  w  honeypo-
cie będzie dla niego podejrzana za-
wartość  katalogu.  Na  przykład  ze 
zdumieniem stwierdzi, że jest on pu-
sty. Nawet jeśli administrator pułap-
ki spreparował pliki poczty, będą one 
zapewne  mocno  nieświeże.  Intruz 
może się o tym przekonać wykonu-
jąc polecenie:

$ ls -alt /var/spool/mail/ 

Posortuje  ono  pliki  według  dat  mo-
dyfi kacji.

UML – szczególny 

przypadek pułapki

Jednym z najbardziej znanych inte-
raktywnych  honeypotów  jest  User 

Listing 1. 

Wykrycie obecności Tiny Honeypot za pomocą FTP

Przy pierwszej próbie:

$ telnet localhost 21
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost.localdomain.localdomain FTP server (Version wu-2.6.1(2)) ready.

Przy następnej:

$ telnet localhost 21
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost.localdomain.localdomain NcFTPd Server ready.

Listing 2. 

Fałszywy plik /etc/

ftpusers zdobyty przez intruza

# /etc/ftpusers:
# list of users
# disallowed ftp access.
# See ftpusers(5).
root
ftp
anonymous

Listing 3. 

Prosty skrypt 

monitorujący obciążenie 
procesora

#!/bin/sh

while

 [ 1=1 ]

do

ps -e -opcpu \
  | awk '{P+=

$1

} END {print P}'

sleep 1m

done