Facciamo il **** agli H4xx0rz!!!

Altre discussioni inerenti al mondo dei computer.
  • Pubblicità

Facciamo il **** agli H4xx0rz!!!

Messaggioda SmilingWolf » 15/12/2011, 16:25

Hola a tutti gente!!!

Ieri stavo tranquillamente cazzeggiando su Internet con la musica a palla quando il mio cervello, in un momento di pausa offerto dal cambio di canzone ha interpretato i segnali inviati dagli occhi: la coppia di parole "Dionaea HoneyPot" si è materializzata davanti ai miei occhi. Ora, io sto giocherellando con le honeypot già da un po', ma ancora non avevo trovato nulla di così interessate: una HoneyPot in grado di emulare molteplici servizi (sia Linux che Winzozz) in chroot, catturare shellcode e shells varie, download ed exploit tutto da sola *-*

Inutile dire che mi sono fiondato sul sito ufficiale (http://dionaea.carnivore.it) per scaricare, installare e testare questo dannatamente simpatico programmino.

Per l'installazione è consigliata una versione recente di {K,U,L}buntu (almeno l'ultima versione LTS, possibilmente aggiornata) (Testato su Kubuntu 64bit, dovrebbe funzionare comunque senza problemi anche con S.O. a 32bit).

Installazione: http://dionaea.carnivore.it/index.html#compiling

Compilazione e installazione
Requisiti
libev >=4.04, schmorp.de
libglib >=2.20
libssl, openssl.org
liblcfg, liblcfg.carnivore.it
libemu, libemu.carnivore.it
python >=3.2, python.org
sqlite >=3.3.6 sqlite.org
readline >=3 cnswww.cns.cwru.edu
cython >0.14.1, cython.org
libudns, corpit.ru
libcurl >=7.18, curl.haxx.se
libpcap >=1.1.1, tcpdump.org
libnl from git, infradead.org (opzionale)
libgc >=6.8, hp.com (opzionale)


Ubuntu
Alcuni pacchetti sono forniti dal repository , in modo da non dover installare tutto da sorgente
Codice: Seleziona tutto
aptitude install libudns-dev libglib2.0-dev libssl-dev libcurl4-openssl-dev \
libreadline-dev libsqlite3-dev python-dev \
libtool automake autoconf build-essential \
subversion git-core \
flex bison \
pkg-config


tar xfz ...

Le dipendenze rimanenti vanno installato dai sorgenti, installeremo tutte le dipendenze in /opt/dionaea, in modo da assicurarsi che la directory esiste e ci è permesso di scriverci dentro.

libglib (debian <= etch)
Se ti mancasse una versione recente di glib sarebbe meglio aggiornare il sistema operativo.

liblcfg (tutti i S.O.)
Codice: Seleziona tutto
git clone git://git.carnivore.it/liblcfg.git liblcfg
cd liblcfg/code
autoreconf -vi
./configure --prefix=/opt/dionaea
sudo make install
cd ..
cd ..


libemu (all)
Codice: Seleziona tutto
git clone git://git.carnivore.it/libemu.git libemu
cd libemu
autoreconf -vi
./configure --prefix=/opt/dionaea
sudo make install
cd ..


libnl (linux (opzionale) (io però lo consiglio, n.d.a.))
Codice: Seleziona tutto
git clone git://git.infradead.org/users/tgr/libnl.git
cd libnl
autoreconf -vi
export LDFLAGS=-Wl,-rpath,/opt/dionaea/lib
./configure --prefix=/opt/dionaea
make
sudo make install
cd ..


libev (tutti i S.O.)
Codice: Seleziona tutto
wget http://dist.schmorp.de/libev/libev-4.04.tar.gz
tar xfz libev-4.04.tar.gz
cd libev-4.04
./configure --prefix=/opt/dionaea
sudo make install
cd ..


Python 3.2
Prima di installare Python, saranno installate le dipendenze necessarie

readline
Dovrebbe essere disponibile nei repo di ogni distro.

sqlite > 3.3
Dovrebbero essere disponibili per ogni distribuzione. Se la vostra versione di sqlite è < 3.3 e non supporta i trigger, siete condannati, cercate di installarlo da sorgenti (non è affatto complicato, dai :)).

Python
Codice: Seleziona tutto
wget http://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz
tar xfz Python-3.2.2.tgz
cd Python-3.2.2/
./configure --enable-shared --prefix=/opt/dionaea --with-computed-gotos \
      --enable-ipv6 LDFLAGS="-Wl,-rpath=/opt/dionaea/lib/ -L/usr/lib/x86_64-linux-gnu/"
make
sudo make install
cd ..


Cython (tutti i S.O.)
Dobbiamo usare cython >= 0.15, poichè le versioni precedenti non supportano alcune funzionalità su piattaforme a 32bit
Codice: Seleziona tutto
wget http://cython.org/release/Cython-0.15.tar.gz
tar xfz Cython-0.15.tar.gz
cd Cython-0.15
sudo /opt/dionaea/bin/python3 setup.py install
cd ..


udns (NON su Ubuntu!!!)
udns non usa autotools per configurare la compilazione purtroppo.
Codice: Seleziona tutto
wget http://www.corpit.ru/mjt/udns/old/udns_0.0.9.tar.gz
tar xfz udns_0.0.9.tar.gz
cd udns-0.0.9/
./configure
make shared

Non esiste l'obbiettivo "make install" nel Makefile, quindi copiamo manualmente l'header nella nostra cartella "include"
Codice: Seleziona tutto
cp udns.h /opt/dionaea/include/

e le libs alla nostra cartella delle librerie.
Codice: Seleziona tutto
cp *.so* /opt/dionaea/lib/
cd /opt/dionaea/lib
ln -s libudns.so.0 libudns.so
cd -
cd ..


libcurl (tutti i S.O.)
Ottenere curl dai repo della vostra distro dovrebbe funzionare, se avete una distro decente. Altrimenti è consigliato aggiornare il S.O.

libpcap (Quasi tutti i S.O. (caldamente consigliato, n.d.a.))
Per onorare l'impegno, ci affidiamo a libpcap 1.1.1. La maggior parte delle distribuzioni vi offre delle versioni precedenti, quindi è probabile che si debba installarlo dai sorgenti.
Codice: Seleziona tutto
wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz
tar xfz libpcap-1.1.1.tar.gz
cd libpcap-1.1.1
./configure --prefix=/opt/dionaea
make
sudo make install
cd ..


[in questo punto sarebbe descritta la compilazione di OpenSSL da sorgenti, ma ciò rischierebbe di portare più problemi che vantaggi, quindi l'ho tagliato fuori]
Compilare Dionaea
Codice: Seleziona tutto
git clone git://git.carnivore.it/dionaea.git dionaea

Poi...
Codice: Seleziona tutto
cd dionaea
autoreconf -vi
./configure --with-lcfg-include=/opt/dionaea/include/ \
      --with-lcfg-lib=/opt/dionaea/lib/ \
      --with-python=/opt/dionaea/bin/python3.2 \
      --with-cython-dir=/opt/dionaea/bin \
      --with-udns-include=/opt/dionaea/include/ \
      --with-udns-lib=/opt/dionaea/lib/ \
      --with-emu-include=/opt/dionaea/include/ \
      --with-emu-lib=/opt/dionaea/lib/ \
      --with-gc-include=/usr/include/gc \
      --with-ev-include=/opt/dionaea/include \
      --with-ev-lib=/opt/dionaea/lib \
      --with-nl-include=/opt/dionaea/include \
      --with-nl-lib=/opt/dionaea/lib/ \
      --with-curl-config=/usr/bin/ \
      --with-pcap-include=/opt/dionaea/include \
      --with-pcap-lib=/opt/dionaea/lib/
make
sudo make install


Avete Finito!!! :D

Per farlo partire portatevi nella cartella /opt/dionaea/ e date, da terminale:
Codice: Seleziona tutto
sudo bin/dionaea -r /opt/dionaea -w /opt/dionaea -p /opt/dionaea/var/dionaea.pid


Aprite la porta 445 sul router in modo da dare accesso esterno al servizio microsoft-ds emulato da Dionaea aspettate un po' di minuti: rileverete un attacco!!! :D
Dopo l'attacco nella cartella /opt/dionaea/var/dionaea/binaries/ troverete i file binari che sono stati scaricati sul vostro computer, catturati dalla honeypot!!! :D

In questo modo io in penso poco meno di 3 ore ho potuto raccogliere più di una decina di varianti uniche di Conficker, un worm attivo da fine 2008 - inizio 2009 IIRC, ed un paio di nuovi worm non ancora rilevati dalla maggior parte degli AntiVirus :)

A titolo esemplificativo, ecco la mia collezione di dumps dopo circa 4h di honeypotting (Scansione della cartella contenente i file con ClamAV aggiornato alle ultime firme disponibili al momento di scrivere; i nomi dei file corrispondono ai loro checksums MD5, potete cercare l'hash anche qui: http://www.virustotal.com/buscaHash.html):
Codice: Seleziona tutto
12fb7332920a7797c2d02df29b57c640: Trojan.Spy-78857 FOUND
170eda3eee51debc4fd5ee276a4b90e6: Worm.Kido-85 FOUND
1ad9fd9ed19a4a78a65036af5ffd6f05: OK    <<---Presumo malware in base ai risultati di VirusTotal
1b4cd56e54d3f9030a153590fb3fa9e5: Worm.Kido-322 FOUND
20187ad5d0926c8801932cf1f6ff3973: Trojan.Dropper-20397 FOUND
22d8946916e8358cbb46bd53e476b7f2: Worm.Kido-143 FOUND
281191ed02ea21a258827915ebf3f733: Trojan.Dropper-18535 FOUND
29ed3c53c5285f16f17912bd57c2d4f2: Worm.Downadup-133 FOUND
2ddac459031504779cac2d9804a394f7: Trojan.Dropper-18535 FOUND
2e8da5a55865a091864a4338ef4d2e44: Worm.Kido-182 FOUND
31c27058107691c8827ccd45c883980e: Worm.Kido-112 FOUND
3284fad8a6238205829d812a26a608ff: Worm.Kido-223 FOUND
344770974dce3c039b48d27bd4e9a114: Worm.Kido-102 FOUND
347d214c8224fc47552addaf91609157: Worm.Kido-128 FOUND
378a2915bcec89903faaf5cff2138740: Trojan.Dropper-18535 FOUND
393e2e61ff08a8f7439e3d2cfcb8056f: Worm.Kido-24 FOUND
3f46687b1f8d403b901e46a3704508ea: Worm.Kido-102 FOUND
466b24feed3c6897b5623b8e694f5792: Worm.Downadup-63 FOUND
4fbcfb9557656c96edb479e30eef2fb3: Worm.Kido-75 FOUND
515ea537628f3371fbac9a332854062d: Worm.Kido-168 FOUND
580c735913c96804e1d020a148ea2cba: Worm.Kido-342 FOUND
59ec3a2ec3b5ae9e0650bf7852b23fbc: Worm.Kido-93 FOUND
5a596acc916f37f266498535ebfc8d9e: Worm.Downadup-107 FOUND
5cd426dbec0619b9500a96f24b3886c8: Worm.Kido-116 FOUND
67241ac88d798ccd90a6f49f481ac26c: Worm.Kido-150 FOUND
67b69cf19f29a07949b752180383718d: OK    <<----Malware, già segnalato ai responsabili di ClamAV
73592334e7b4a7e9da4970fe41eab27b: Worm.Kido-137 FOUND
7bb455ea4a77b24478fba4de145115eb: Worm.Kido-99 FOUND
81abc5e68ca47004b75e7027d2810fa3: Worm.Downadup-41 FOUND
820b72b7fca61c7f6778fadc7793f4a2: Worm.Kido-279 FOUND
85537245136796623feeb57f8c8521fb: Trojan.Dropper-18535 FOUND
87136c488903474630369e232704fa4d: Worm.Kido-20 FOUND
92a66333bc17e0a82baa2ca28e31d897: Trojan.Dropper-18535 FOUND
93d305c9094278e3e6da70e40b543c28: Trojan.Dropper-18535 FOUND
94e689d7d6bc7c769d09a59066727497: Trojan.Agent-71049 FOUND
a10211826426726a1aa2451991323e68: Trojan.Dropper-18535 FOUND
bc9d30d59788c70060d7eabd6ab5e663: Worm.Kido-99 FOUND
bdc18dfcfa63861aaa9d9fb95919d32a: Trojan.Dropper-18535 FOUND
bff95ab29e8fc5c8aeeee9998d90c54e: Worm.Kido-385 FOUND
c3852074ee50da92c2857d24471747d9: Worm.Kido-25 FOUND
c4ebe7ad8aba40682ac84b4418a45463: Worm.Kido-37 FOUND
ca6d91bad9d5d5698c92dc64295a15a6: Worm.Kido-273 FOUND
d0e0c049ed7056eac8bb396429795010: Worm.Kido-160 FOUND
d2eabe15257a453416efa18992d1edbd: Worm.Kido-64 FOUND
e41ba921026189b8d710b996869a59e1: Worm.Kido-37 FOUND
fb057831a110edb7732d528e947b4c40: Worm.Downadup-1 FOUND
fd79c4f8d7e35960f08a1bdd4f306d4d: Worm.Kido-54 FOUND


Mentre questo è ciò che mostra il mio riassunto degli attacchi subiti:
Codice: Seleziona tutto
SplitResult(scheme='http', netloc='62.201.90.250:5362', path='/yhkxkptj', query='', fragment='')
SplitResult(scheme='http', netloc='70.21.249.85:8499', path='/ojllofu', query='', fragment='')
SplitResult(scheme='http', netloc='177.106.156.242:6408', path='/lnbot', query='', fragment='')
SplitResult(scheme='http', netloc='85.176.54.233:4650', path='/cndlfn', query='', fragment='')
SplitResult(scheme='http', netloc='114.159.49.52:1451', path='/mlfpapz', query='', fragment='')
SplitResult(scheme='http', netloc='204.110.11.13:5125', path='/zmwzpqg', query='', fragment='')
SplitResult(scheme='http', netloc='89.178.68.127:7312', path='/rscjldyl', query='', fragment='')
SplitResult(scheme='http', netloc='27.2.179.30:8796', path='/rgqa', query='', fragment='')
SplitResult(scheme='http', netloc='46.21.146.56:9219', path='/hgqji', query='', fragment='')
SplitResult(scheme='http', netloc='109.53.75.34:3212', path='/qigvkbf', query='', fragment='')
SplitResult(scheme='http', netloc='201.33.17.109:2045', path='/dcahukp', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='188.6.54.155:2778', path='/iyina', query='', fragment='')
SplitResult(scheme='http', netloc='69.27.74.58:5398', path='/kygkugd', query='', fragment='')
SplitResult(scheme='http', netloc='85.72.141.0:4028', path='/cser', query='', fragment='')
SplitResult(scheme='http', netloc='93.149.49.127:7899', path='/wvsopbhp', query='', fragment='')
SplitResult(scheme='http', netloc='31.45.204.118:8145', path='/xwdedps', query='', fragment='')
SplitResult(scheme='http', netloc='94.53.210.57:9007', path='/nzcnfgh', query='', fragment='')
SplitResult(scheme='http', netloc='186.224.51.21:8079', path='/aije', query='', fragment='')
SplitResult(scheme='http', netloc='5.59.47.199:4105', path='/jratiax', query='', fragment='')
SplitResult(scheme='http', netloc='91.92.227.101:8236', path='/alcrzjd', query='', fragment='')
SplitResult(scheme='http', netloc='212.7.206.105:6440', path='/iguzwxw', query='', fragment='')
SplitResult(scheme='http', netloc='146.185.246.41', path='/2.exe', query='', fragment='')
SplitResult(scheme='http', netloc='91.77.226.242:6012', path='/jdugfvr', query='', fragment='')
SplitResult(scheme='http', netloc='189.5.125.177:9066', path='/iwfeick', query='', fragment='')
SplitResult(scheme='http', netloc='119.77.199.42:3148', path='/nmszxow', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='46.241.133.18:9364', path='/zvwg', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='209.190.22.243:3641', path='/utmzhlv', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='5.221.57.130:6086', path='/ldgzkpwq', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='88.156.39.12:2852', path='/duxtiit', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='95.30.240.52:6263', path='/vpgusso', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='111.88.5.177:4538', path='/oisx', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')
SplitResult(scheme='http', netloc='158.255.130.179:6418', path='/anhyoy', query='', fragment='')

^^ I ROFLed for the idiot IP who's trying so hard to infect me xD

A cosa ci serve tutto ciò?

Molti direbbero "A segnalare nuove minacce alle case produttrici di antivirus" (cosa che tra l'altro ho già fatto comunque), ma io, molto terra terra, li uso per creare statistiche in base al Paese di provenienza. E per incasinare i PC della scuola :rulla:
SmilingWolf
 
Messaggi: 11
Iscritto il: 12/07/2011, 21:26

Facciamo il **** agli H4xx0rz!!!

Messaggioda Edoardo » 24/12/2011, 16:50

Mai usate le honeypot. Ma tu hai detto "per scasinare i pc della scuola": cioè vuoi dire che prima trovi le vulnerabilità con le honeypot e poi sferri l'attacco? Ahah
Avatar utente
Edoardo
Amministratore
 
Messaggi: 617
Iscritto il: 27/05/2010, 15:06
Località: Modena


Torna a Altro

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Forum in crescita: cercasi giornalisti, grafici, videomaker o semplici collaboratori. Per info scrivici qui.