Co znajdziesz w tym artykule?
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. 🙂