Integracja WAZUH z Honeypot

Integracja WAZUH z Honeypot

Honeypot jest jednym z mechanizmów bezpieczeństwa, którego zadaniem jest emulacja działania pełnoprawnego serwisu, celem zwabienia napastnika. W zależności od skompilowania może być to np. pojedyncze konto użytkownika, które jest monitorowane pod kątem prób logowania, jak i rozbudowany system z błędnie skonfigurowaną usługą lub z wykorzystaniem podatnego serwisu. Z jednej strony Honeypot pozwala odwrócić uwagę napastnika od produkcyjnych systemów. Z drugiej strony jest sensorem w sieci, który zbiera dane z ataków, w tym nieautoryzowane działania. Zobacz jak powinna wyglądać integracja WAZUH z Honeypot.

W swoim środowisku testowym wykorzystam platformę T-Pot. Projekt jest dostępny na Github pod adresem: https://github.com/telekom-security/tpotce

System T-Pot jest wielozadaniowym systemem honeypot, w którym zastosowano szereg kontenerów docker, emulujących powszechnie wykorzystywane usługi. System T-Pot zbiera wszystkie logi z każdego kontenera, a do tego centralizuje je w elastycznym stosie, zapewniając również podgląd wszystkich ataków na poszczególne usługi. Przechwytywane są również próbki złośliwego oprogramowania lub historia wykonywanych poleceń.

Powyższa grafika pokazująca jak wygląda architektura techniczna projektu T-Pot. Pochodzi ona z oficjalnej strony projektu.

Projekt T-Pot obsługuje ponad 20 kontenerów z podatnymi usługami, opcje wizualizacji za pomocą Elastic Stack, narzędzie do zarządzania serwerem wirtualnym Cockpit, aplikację CyberChef do kodowania danych, i również silnik Suricata do monitorowania bezpieczeństwa sieci.

Aktualna lista zawartych kontenerów oraz dodatkowego oprogramowania dostępna jest na stronie projektu.

Zapisy na kurs Ansible, Automatyzacja IT i AI

Mega promocja na Kurs Ansible i Automatyzacji Serwerów -55%

13 Tygodni zajęć i ponad 170 lekcji

Wdrożenie, Administracja, Tworzenie skryptów automatyzacji, Optymalizacja i również wiele innych

Zapisy trwają tylko do środy 31 maja do godziny 21:00.

Szczegóły w linku >> Kurs Ansible

Instalacja honeypot

Instalacja polega na sklonowaniu repozytorium z Github

git clone https://github.com/telekom-security/tpotce

Z katalogu tpotce/iso/installer/ uruchamiamy skrypt instalacyjny na uprawieniach root następującym poleceniem:

./install.sh --type=user

Po pobraniu pakietów, powinno pojawić się okienko z wyborem opcji instalacyjnej.

Przy pierwszym zapoznaniu się z projektem, wybieramy opcję standard. Zostaną uruchomiane wszystkie maszyny kontenerowe, wraz z całym dodatkowym oprogramowaniem.

Dla poniższego artykułu wybrałem opcję industrial. W poniższym artykule poruszymy tylko kwestię jednego serwisu Cowrie. Cowrie to honeypot o średniej i wysokiej interakcji SSH i Telnet, zaprojektowany do rejestrowania ataków brute force i interakcji powłoki wykonywanej przez atakującego.

Integracja WAZUH z Honeypot

Zostaniesz również poproszony o podanie nazwy użytkownika i hasła do usług, które operuje projekt.

Po poprawnej instalacji zostanie zmieniony docelowy port ssh, na 64295 oraz nazwa hosta. Na standardowym porcie ssh będzie działać nasz honeypot Cowrie. Konfigurację uruchamianych usług T-Pot definiujemy w pliku /opt/tpot/etc/tpot.yml. Natomiast skryptem dps.sh weryfikujemy działanie usługi i całego honeypot.

Przez przeglądarkę na porcie 64297 mamy dostęp do narzędzi i interfejsu T-Pot.

Integracja WAZUH z Honeypot

Do narzędzia Cockpit mamy dostęp na porcie 64294.

Integracja systemu Honeypot z systemem WAZUH.

Przechodzimy do integracji systemu Honeypot z systemem WAZUH. W zakładce groups systemu WAZUH, definiujemy nową grupę honeypot.

Przechodzimy do jej edycji i definiujemy dodatkowe pliki logów, które mają być przekazywane przez agenta do serwera WAZUH.

Integracja WAZUH z Honeypot

Jeden wpis odpowiada za logi z Cowrite, drugi wpis za logi z systemu Suricata.

<agent_config>
	<localfile>
		<log_format>json</log_format>
		<location>/data/cowrie/log/cowrie.json</location>
	</localfile>
	<localfile>
		<log_format>json</log_format>
		<location>/data/suricata/log/eve.json</location>
	</localfile>
</agent_config>

Następnie przechodzimy do instalacji agenta na docelowym systemie.

Możemy zweryfikować konfigurację agenta i listę logów, które WAZUH będzie przekazywał do systemu przechodząc do jego konfiguracji.

Integracja WAZUH z Honeypot

Następnie przechodzimy do konfiguracji ról. Dodaję dwie role w pliku local_rules.xml. Pierwsza odpowiada za analizę poprawnego logowania, natomiast druga błędnego logowania na serwer Cowrie. Restartujemy usługę.

<group name=”HoneypotLogin”>
		<rule id=”115010” level=”11”>
			<decoded_as>json</decoded_as>
			<field name=”eventid”>cowrie.login.failed</field>
			<description>HoneypotLogin: $(username) $(src_ip) tried to login to honeypot.</description>
		</rule>
		
		<rule id=”115011” level=”11”>
			<decoded_as>json</decoded_as>
			<field name=”eventid”>cowrie.login.success</field>
			<description>HoneypotLogin: $(username) $(src_ip) login to honeypot.</description>
		</rule>
		
	</group>

Nie pozostaje nam nic innego jak spróbować zalogować się na nasz honeypot i również zweryfikować działanie całego środowiska. Próbujemy zalogować się na serwer Cowrie na standardowy port 22 usługi SSH.

Poniżej znajdują się przykładowe logi, które udało się zebrać podczas prób logowania do naszego serwera honeypot w systemie WAZUH.

Dane dotyczące błędnych logowań do usługi ssh są również dostępne w systemie T-Pot w lokalnej bazie Elastic.

Integracja WAZUH z Honeypot

Platforma T-Pot zapewnia doskonały pojedynczy system, do rozpoczęcia monitorowania ataków w czasie rzeczywistym dla wielu różnych usług. Natomiast system WAZUH daje nam narzędzie do ich skutecznego monitorowania i alterowania.

Zapisy tylko do środy 21:00!

Zapisz się na kurs "Ansible, Automatyzacja i AI"!

X