GNU/Linux >> Znalost Linux >  >> Ubuntu

Nasazení Kippo SSH Honeypot na Ubuntu Linux

Úvod

Máte pocit, že se někdo pokouší získat přístup k vašemu serveru? Chcete-li to zjistit, můžete nasadit honeypot ve vašem systému, aby vám pomohl zmírnit vaši paranoiu tím, že buď potvrdíte, nebo zamítnete své původní přesvědčení. Jako příklad můžete spustit Kippo SSH honeypot, který vám umožní sledovat pokusy o hrubou sílu, sbírat dnešní exploity a malware. Kippo také automaticky zaznamenává relaci hackerského shellu, kterou si můžete přehrát, abyste prozkoumali různé hackerské techniky a později tyto nasbírané znalosti použít k posílení vašeho produkčního serveru. Dalším důvodem, proč nainstalovat honeypot, je odvést pozornost od vašeho produkčního serveru. V tomto tutoriálu si ukážeme, jak nasadit Kippo SSH honeypot na serveru Ubuntu.

Předpoklady

Kippo SSH honeypot je aplikace založená na pythonu. Proto musíme nejprve nainstalovat knihovny pythonu:

$ sudo apt-get install python-twisted

Normálně byste spustili sshd služba naslouchá na výchozím portu 22. Tento port má smysl používat pro váš SSH honeypot, a proto pokud již službu SSH provozujete, musíme změnit výchozí port na nějaké jiné číslo. Navrhoval bych nepoužívat alternativní port 2222, protože jeho použití je již obecně známo a mohlo by sabotovat vaše přestrojení. Vyberme nějaké náhodné čtyřmístné číslo, například 4632. Otevřete konfigurační soubor SSH /etc/ssh/sshd_config a změňte direktivu Port z:

Port 22

do

Port 4632

Po dokončení restartujte sshd:

$ sudo service ssh restart

Správnou změnu portu můžete potvrdit pomocí netstat příkaz:

$ netstat -ant | grep 4632
tcp 0 0 0.0.0.0:4632 0.0.0.0:* LISTEN

Kromě toho Kippo potřebuje spouštět neprivilegovaného uživatele, takže je dobré vytvořit samostatný uživatelský účet a spouštět Kippo pod tímto účtem. Vytvořit nového uživatele kippo:

$ sudo adduser kippo

Instalace

Kippo nevyžaduje žádnou zdlouhavou instalaci. Vše, co je třeba udělat, je stáhnout gzipovaný tarball a extrahovat jej do adresáře kippo. Nejprve se přihlaste jako nebo změňte uživatele na kippo a poté si stáhněte zdrojový kód Kippo:

kippo@ubuntu:~$ wget http://kippo.googlecode.com/files/kippo-0.5.tar.gz

extrahujte jej pomocí:

kippo@ubuntu:~$ tar xzf kippo-0.5.tar.gz 

tím se vytvoří nový adresář s názvem kippo-0.5.

Konfigurace

Jakmile přejdete do adresáře Kippo, uvidíte:

kippo@ubuntu:~/kippo-0.5$ ls
data dl doc fs.pickle honeyfs kippo kippo.cfg kippo.tac log start.sh txtcmds utils

Nejpozoruhodnější adresáře a soubory zde jsou:

  • dl – toto je výchozí adresář, do kterého bude kippo ukládat veškerý malware a exploity stažené hackerem pomocí příkazu wget
  • honeyfs – tento adresář obsahuje některé soubory, které budou prezentovány útočníkovi
  • kippo.cfg – konfigurační soubor kippo
  • protokol – výchozí adresář pro protokolování interakce útočníků se shellem
  • start.sh – toto je skript pro spuštění kippo
  • utils – obsahuje různé nástroje kippo, z nichž nejpozoruhodnější je playlog.py, který vám umožňuje přehrát relaci útočníkova shellu

Kippo je předkonfigurováno s portem 2222. Je to hlavně proto, že kippo potřebuje běžet jako neprivilegovaný uživatel a neprivilegovaný uživatel nemůže otevřít žádné porty, které jsou pod číslem 1024. K vyřešení tohoto problému můžeme použít iptables s Direktivy „PREROUTING“ a „REDIRECT“. Toto není nejlepší řešení, protože každý uživatel může otevřít port nad 1024 a vytvořit tak příležitost k zneužití.

Otevřete konfigurační soubor Kippo a změňte výchozí číslo portu na libovolné číslo, například 4633. Poté vytvořte přesměrování iptables z portu 22 na kippo na portu 4633:

$ sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 4633

Volitelné konfigurace

Systém souborů

Dále možná budete chtít nakonfigurovat souborový systém, který se útočníkovi zobrazí, jakmile se přihlásí do našeho honeypotu. Kippo standardně přichází s vlastním souborovým systémem, ale ten pochází z roku 2009 a už to nevypadá věrohodně. Pomocí nástroje Kippo utils/createfs.py můžete klonovat svůj vlastní souborový systém bez prozrazení jakýchkoli informací . S oprávněními root spusťte následující příkaz pro linux pro klonování systému souborů:

# cd /home/kippo/kippo-0.5/
# utils/createfs.py > fs.pickle
Doing stuff

Název operačního systému

Kippo také umožňuje změnit název operačního systému umístěný v souboru /etc/issue. Řekněme, že používáme Linux Mint 14 Julaya. Samozřejmě, že použijete něco skutečného a věrohodného.

$ echo "Linux Mint 14 Julaya \n \l" > honeyfs/etc/issue

Soubor s heslem

Upravte honeyfs/etc/passwd a udělejte to věrohodnější a šťavnatější.

Alternativní hesla uživatele root

Kippo přichází s přednastaveným heslem „123456“. Toto nastavení si můžete ponechat a přidat další hesla jako:pass, a , 123, password, root

kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add pass
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add a 
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add 123 
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add password 
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add root

Nyní se útočník bude moci přihlásit jako root pomocí kteréhokoli z výše uvedených hesel.

Vytváření nových příkazů

Kromě toho vám Kippo umožňuje konfigurovat další příkazy, které jsou uloženy v adresáři txtcmds/. Chcete-li vytvořit nový příkaz, například df jednoduše přesměrujeme výstup ze skutečného df příkaz do txtcmds/bin/df:

# df -h > txtcmds/bin/df

Výše uvedený příkaz je jednoduchým statickým textovým výstupním příkazem, ale útočníka na nějakou dobu zaneprázdní.

Název hostitele

Upravte konfigurační soubor kippo.cfg a změňte název hostitele na něco atraktivnějšího, například:

hostname = accounting

Spouštění Kippo SSH Honeypot

Pokud jste až do tohoto bodu postupovali podle výše uvedených pokynů, nyní byste měli mít nakonfigurovaný SSH honeypot s následujícím nastavením:

  • port pro naslouchání 4633
  • iptables portforward z 22 -> 4633
  • název hostitele:účetnictví
  • více hesel root
  • čerstvý aktuální klon honeyfs vašeho stávajícího systému
  • OS:Linux Mint 14 Julaya

Začněme nyní Kippo SSH honeypot.

$ pwd
/home/kippo/kippo-0.5
kippo@ubuntu:~/kippo-0.5$ ./start.sh
Starting kippo in background...Generating RSA keypair...
done.
kippo@ubuntu:~/kippo-0.5$ cat kippo.pid
2087

Z výše uvedeného můžete vidět, že Kippo se spustil a že vytvořil všechny potřebné RSA klíče pro SSH komunikaci. Navíc také vytvořil soubor s názvem kippo.pid, který obsahuje číslo PID běžící instance Kippo, které můžete použít k ukončení kippo pomocí kill příkaz.

Testování nasazení SSH Honeypot

Nyní bychom měli být schopni se přihlásit k našemu novému ssh serveru alias ssh honeypot na výchozím ssh portu 22:

$ ssh root@server 
The authenticity of host 'server (10.1.1.61)' can't be established.
RSA key fingerprint is 81:51:31:8c:21:2e:41:dc:e8:34:d7:94:47:35:8f:88.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server,10.1.1.61' (RSA) to the list of known hosts.
Password:
accounting:~# accounting:~# cd / accounting:/# ls var sbin home srv usr mnt selinux tmp vmlinuz initrd.img etc root dev sys lost+found proc boot opt run media lib64 bin lib accounting:/# cat /etc/issue Linux Mint 14 Julaya \n \l

Vypadá povědomě? Máme hotovo

Další funkce

Kippo přichází s mnoha dalšími možnostmi a nastaveními. Jedním z nich je použití nástroje utils/playlog.py k přehrání interakcí shellu útočníka uložených v adresáři log/tty/. Kromě toho Kippo umožňuje ukládání log souborů do databáze MySQL. Další nastavení naleznete v konfiguračním souboru.

Závěr

Jedna věc, kterou je třeba zmínit, je, že je vhodné nakonfigurovat Kippsův dl adresář na nějaký samostatný souborový systém. Tento adresář bude obsahovat všechny soubory stažené útočníkem, takže nechcete, aby se vaše aplikace zablokovaly kvůli nedostatku místa na disku.

Kippo se zdá být pěknou a snadno konfigurovatelnou alternativou SSH honeypotu k plně chrootovaným prostředím honeypotu. Kippo nabízí více funkcí, než jaké jsou popsány v této příručce. Přečtěte si prosím kippo.cfg, abyste se s nimi seznámili a upravili nastavení Kippo tak, aby vyhovovala vašemu prostředí.


Ubuntu
  1. Povolit přihlášení ssh root na serveru Ubuntu 14.04 Linux

  2. Jak změnit port SSH na Lubuntu 20.04 Linux

  3. Jak povolit server SSH na Ubuntu 22.04 Jammy Linux

  1. Jak změnit port SSH v Linuxu

  2. Změna portu SSH na systému Linux Ubuntu 20.04 – nejlepší metoda?

  3. Nejlepší skenery portů na Ubuntu Linux

  1. Povolit přihlášení SSH root na Ubuntu 20.04 Focal Fossa Linux

  2. Povolte SSH na Ubuntu 20.04 Focal Fossa Linux

  3. Změňte port SSH v operačním systému Linux Ubuntu