Cowrie Honeypot – Instalacja I Konfiguracja

Czym jest Cowrie?

Cowrie lub cowry to pospolita nazwa grupy małych i dużych ślimaków morskich. Natomiast to co nas interesuje to projekt Cowrie SSH / Telnet Honeypot. Rozwiązanie to jest używane głównie do rejestrowania sesji atakującego. Następnie dzięki kamuflażowi mamy szanse nie tylko go wykryć ale i lepiej zrozumieć szczegóły, takie jak narzędzia, metody i procedury.

Cowrie symuluje usługę Twojego serwera, co oznacza, że atakujący pomyśli, że go zhakował/zaatakował. Więc kiedy wprowadzi odpowiednie dane (nazwę użytkownika lub hasło), aby zalogować się do Twojego systemu, system wpuści go bez żadnego błędu i umieści się w fałszywym systemie. Honeypot przechowuje zapisy i ślady atakującego, takie jak jego polecenia lub wszystkie wpisane klucze, i zapisuje wszystko, co pobrał atakujący.

Do czego przyda nam się honeypot?

O tym do czego może przydać nam się rozwiązanie typu honeypot, pisałem w artykule – Honeypot – Co To Jest I W Czym Może Nam Pomóc? Nas przede wszystkim będą interesować zebrane dane.

Chcemy otrzymać również powiadomienie za każdym razem, kiedy ktoś zaloguje się do naszej „pułapki”. Ważne jest to w kontekście umieszczenia jej wewnątrz naszej sieci. Będzie to oznaczać, że mamy w sieci kogoś, kto interesuje się rzeczami, którymi nie powinien.

W tym wpisie skupię się na pokazaniu oraz omówieniu procesu instalacji i konfiguracji honeypota Cowrie. Jego dokumentacja dostępna jest TUTAJ.

Przygotowania przed instalacją

Prezentowana instalacja będzie na systemie operacyjnym Ubuntu 20.04 LTS.

Docelowo chcemy, aby atakujący lub jego bot łącząc się z portem 22, został przekierowany do Cowrie. Zmienimy więc konfigurację serwera tak, aby serwer SSH działał na wysokim porcie 22222, honeypot na 2222, a port 22 zostanie przekierowany na 22222 za pomocą iptables.

Instalacja Cowrie

Zmiana konfiguracji serwera SSH

Jak pisałem powyżej, chcemy zmienić konfigurację, tak aby sshd nasłuchiwał na porcie 22222. W tym celu poleceniem:

$ sudo nano /etc/ssh/sshd_config

I w linii 15 tak jak powyżej, usuwam „#Port 22” i zmieniam wartość na „Port 22222”

Następnie restartuję usługę:

$ sudo systemctl restart ssh
$ sudo systemctl status ssh

Weryfikację możemy przeprowadzić wpisując:

$ ssh [your-username]@localhost -p 22222

Właściwa instalacja Cowrie Honeypot

Najpierw musimy zaktualizować nasz system:

$ sudo apt update
$ sudo apt upgrade

Następnie instalujemy wszystkie zależności dla Cowrie:

$ sudo apt-get install git libssl-dev build-essential python2.7-minimal authbind python3-virtualenv

Kolejno tworzymy użytkownika „cowrie”, w kontekście którego będzie uruchomiony honeypot:

$ sudo adduser --disabled-password cowrie

Możesz zostawić wszystkie pola puste.

Następnie uruchamiamy konsolę jako nasz nowo stworzony użytkownik:

$ su - cowrie

Pobieramy odpowiedni kod z githuba:

$ git clone http://github.com/micheloosterhof/cowrie

Teraz musimy stworzyć wirtualne środowisko dla Pythona i Cowrie do uruchomienia i aktywowania go:

$ cd cowrie/
$ virtualenv cowrie-env
$ source cowrie-env/bin/activate


Następnie musimy zainstalować pakiety Pythona, które nasz honeypot potrzebuje do uruchomienia:

$ pip install --upgrade pip
$ pip install --upgrade -r requirements.txt

Mniej więcej będzie w efekcie to wyglądać następująco:

Teraz musimy skonfigurować demona Cowrie:

$ cd etc/               
$ cp cowrie.cfg.dist cowrie.cfg

Powyższe polecenie tworzy plik konfiguracyjny, który możemy edytować, a następnie użyć edytora do edycji tego pliku:

$ nano cowrie.cfg

W tym pliku (cowrie.cfg) jest wiele opcji do konfiguracji, od logowania i alertów po fałszywe adresy i pobieranie plików. Zmodyfikujemy ten plik podstawowo. Zmienimy najpierw nazwę hosta, ponieważ spowoduje to, że atakujący pomyśli, że znajduje się na naszym serwerze bez naszej wiedzy:

oraz uruchomimy obsługę telnet:

Po skończonej konfiguracji czas na ustawienie przekierowania. Domyślnie honeypot nasłuchuje na porcie 2222. Stworzymy za pomocą iptables przekierowanie z portu 22 na 2222. Analogicznie zrobimy to dla usługi telnet:

$ iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222                                          
$ iptables -t nat -A PREROUTING -p tcp --dport 23 -j REDIRECT --to-port 2223

Uruchomienie i korzystanie

Uruchamiamy nasz honeypot poprzez komendę uruchamianą jako użytkownik „cowrie”:

$ ./bin/cowrie start

Analogicznie działa sprawdzanie statusu i wyłączanie usługi:

$ ./bin/cowrie status

$ ./bin/cowrie stop

Aby przeskanować porty i przeskanować, co dzieje się w honeypot, wpisz :

$ tail -f ./var/log/cowrie/cowrie.log

Podsumowanie

W tym artykule przedstawiłem podstawową instalację Cowrie SSH / Telnet Honeypot. Jak widzisz, nie jest to czasochłonne. Mam nadzieję, że rozwiązanie to przyda się w Twojej organizacji do wykrywania niepożądanych działań.

O tym rozwiązaniu mówiłem również w ramach konferencji OH MY H@CK!, gdzie pokazywałem wnioski z zebranych haseł i danych. Więcej informacji jak wykorzystać te i podobne informacje, pokażę Wam wkrótce w ramach tego bloga. 🙂