Ubuntu

Despliegue de Kippo SSH Honeypot en Ubuntu Linux

Despliegue de Kippo SSH Honeypot en Ubuntu Linux

Introducción

¿Sientes que alguien está intentando acceder a tu servidor?? Para averiguarlo, puede implementar un tarro de miel dentro de su sistema para ayudarlo a aliviar su paranoia confirmando o descarta su creencia inicial. Como ejemplo, puede iniciar el kippo ssh honeypot, que le permite monitorear los intentos de fuerza bruta, recolectar los exploits y el malware hoy. Kippo también registra automáticamente la sesión de shell del hacker, que puede reproducir para explorar varias técnicas de piratería y luego usar este conocimiento reunido para endurecer su servidor de producción. Otra razón por la cual instalar un honeypot es quitarle la atención de su servidor de producción. En este tutorial mostraremos cómo implementar un honeypot Kippo SSH en el servidor Ubuntu.

Requisitos previos

Kippo SSH Honeypot es una aplicación basada en Python. Por lo tanto, necesitamos primero instalar bibliotecas de Python:

$ sudo apt-get install-twisted

Normalmente te ejecutarías SSHD Servicio que escucha en el puerto predeterminado 22. Tiene sentido usar este puerto para su honeypot SSH y, por lo tanto, si ya ejecuta el servicio SSH, necesitamos cambiar el puerto predeterminado a otro número. Sugeriría no usar el puerto alternativo 2222, ya que su uso ya se conoce generalmente y podría sabotear su disfraz. Elegamos un número aleatorio de 4 dígitos como 4632. Abra su archivo de configuración SSH/ETC/SSH/SSHD_CONFIG y cambie la Directiva de puerto desde:

Puerto 22

a

Puerto 4632

Una vez hecho, reinicie su SSHD:

$ sudo servicio ssh reiniciar

Puede confirmar que ha cambiado el puerto correctamente con el netstat dominio:

$ netstat -ant | GREP 4632
TCP 0 0 0.0.0.0: 4632 0.0.0.0:* Escucha

Además, Kippo necesita ejecutar un usuario no privilegiado, por lo que es una buena idea crear una cuenta de usuario separada y ejecutar kippo bajo esta cuenta. Cree un nuevo usuario Kippo:

$ sudo adduser kippo

Instalación

Kippo no requiere ninguna instalación tediosa. Todo lo que hay que hacer es descargar un tarball gziped y extraerlo en el directorio de Kippo. Primero, inicie sesión como o cambie el usuario a kippo y luego descargue el código fuente de Kippo:

kippo@ubuntu: ~ $ wget http: // kippo.googlecode.com/files/kippo-0.5.alquitrán.GZ

extraerlo con:

kippo@ubuntu: ~ $ tar xzf kippo-0.5.alquitrán.GZ 

Esto creará un nuevo directorio llamado Kippo-0.5.

Configuración

Una vez que navegue por el directorio de Kippo, verá:

kippo@ubuntu: ~/kippo-0.5 $ LS
datos dl doc fs.Pickle Honeyfs Kippo Kippo.CFG Kippo.inicio de registro de TAC.sh txtcmds utiliza

Los directorios y archivos más notables aquí son:

Kippo viene preconfigurado con el puerto 2222. Esto se debe principalmente a que Kippo necesita ejecutarse como usuario no privilegiado y el usuario no privilegiado no puede abrir ningún puerto, que esté por debajo del número 1024. Para resolver este problema, podemos usar iptables con directivas "previas" y "redirigir". Esta no es la mejor solución, ya que cualquier usuario puede abrir un puerto superior a 1024, creando así una oportunidad para explotar.

Abra el archivo de configuración de Kippo y cambie el número de puerto predeterminado a algún número arbitrario como 4633. Después de esto, cree iptables Redirect desde el puerto 22 a Kippo's en el puerto 4633:

$ sudo iptables -t nat -a prediting -p tcp --dport 22 -j redirección -a puerto 4633

Configuraciones opcionales

Sistema de archivos

A continuación, es posible que desee configurar el sistema de archivos, que se presentará al atacante una vez que inicie sesión en nuestro honeypot. Por defecto, Kippo viene con su propio sistema de archivos, pero se remonta a 2009 y ya no parece plausible. Puede clonar su propio sistema de archivos sin revelar ninguna información con la utilidad de Kippo Utils/createfs.py. Con un privilegio raíz, ejecute el siguiente comando de Linux para clonar su sistema de archivos:

# CD/Home/Kippo/Kippo-0.5/
# Utils/createfs.py> fs.pepinillo
Haciendo cosas

Nombre del sistema operativo

Kippo también le permite cambiar el nombre del sistema operativo ubicado en el archivo /etc /emisión. Digamos que usamos Linux Mint 14 Julaya. Por supuesto que usarás algo real y plausible.

$ echo "Linux Mint 14 Julaya \ n \ l"> Honeyfs/etc/problema

Archivo de contraseña

Editar Honeyfs/etc/passwd y hazlo más plausible y jugoso.

Contraseñas de root alternativas

Kippo viene con contraseña prefigurada "123456" . Puede mantener esta configuración y agregar más contraseñas como: pase, a, 123, contraseña, root

kippo@ubuntu: ~/kippo-0.5 $ Utils/PassDB.PY DATA/PASS.db agregar pase kippo@ubuntu: ~/kippo-0.5 $ Utils/PassDB.PY DATA/PASS.DB Agregar un kippo@ubuntu: ~/kippo-0.5 $ Utils/PassDB.PY DATA/PASS.db agregar 123 kippo@ubuntu: ~/kippo-0.5 $ Utils/PassDB.PY DATA/PASS.DB Agregar contraseña kippo@ubuntu: ~/kippo-0.5 $ Utils/PassDB.PY DATA/PASS.db agregar raíz

Ahora el atacante podrá iniciar sesión como root con cualquiera de las contraseñas anteriores.

Creación de nuevos comandos

Además, Kippo le permite configurar comandos adicionales que se almacenan en txtcmds/ directorio. Para crear un nuevo comando, por ejemplo df Simplemente redirigimos la salida de la salida real df comando a txtcmds/bin/df:

# df -h> txtcmds/bin/df 

Lo anterior es un comando simple de salida de texto estático, pero mantendrá ocupado a un atacante por algún tiempo.

Nombre de host

Editar el archivo de configuración kippo.CFG y cambie su nombre de host a algo más atractivo como:

hostname = contabilidad

Comenzando kippo ssh honeypot

Si siguió las instrucciones anteriores hasta este punto, ya debería haber configurado su honeypot SSH con la siguiente configuración:

Comencemos Kippo SSH Honeypot ahora.

$ PWD
/Home/Kippo/Kippo-0.5
kippo@ubuntu: ~/kippo-0.5 $ ./comenzar.mierda
Iniciar kippo en el fondo ... Generando KeyPair RSA ..
hecho.
kippo@ubuntu: ~/kippo-0.5 $ Cat Kippo.pid
2087

De lo anterior, puede ver que Kippo comenzó y que creó todas las claves RSA necesarias para la comunicación SSH. Además, también creó un archivo llamado kippo.PID, que contiene un número PID de la instancia en ejecución de Kippo, que puede usar para terminar Kippo con el matar dominio.

Prueba de implementación de honeypot SSH

Ahora, deberíamos poder iniciar sesión en nuestro nuevo SSH Server alias SSH Honeypot en el puerto SSH predeterminado 22:

$ ssh root@servidor
La autenticidad del servidor del host (10.1.1.61) 'No se puede establecer.
La huella digital de la tecla RSA es 81: 51: 31: 8c: 21: 2e: 41: DC: E8: 34: D7: 94: 47: 35: 8f: 88.
¿Estás seguro de que quieres continuar conectando (sí/no)? Sí
ADVERTENCIA: Servidor agregado permanentemente, 10.1.1.61 '(RSA) a la lista de hosts conocidos.
Contraseña:
Contabilidad: ~# Contabilidad: ~# CD / Accounting: /# ls var Sbin Home Srv Usr Mnt Selinux TMP VMlinuz Initrd.IMG etc Root Dev Sys Lost+Found Proc Boot Opt Opt Media Lib64 Bin Lib Accounting:/# Cat/Etc/Issue Linux Mint 14 Julaya \ n \ l

Luce familiar? Hemos terminado

Características adicionales

Kippo viene con otras opciones y configuraciones. Uno de ellos es usar Utils/Playlog.PY Utilidad para reproducir las interacciones de shell del atacante almacenadas en log/ tty/ directorio. Además, Kippo permite que los archivos de registro se almacenen mediante la base de datos MySQL. Consulte el archivo de configuración para obtener configuraciones adicionales.

Conclusión

Una cosa, que debe mencionarse es que es aconsejable configurar el directorio DL de KIPPS en algún sistema de archivos separado. Este directorio mantendrá todos los archivos descargar por el atacante para que no desee que sus aplicaciones se cuelguen debido a que no hay espacio en disco.

Kippo parece ser una alternativa de honeypot SSH agradable y fácil de configurar a los entornos de honeypot chrootados completos. Kippo tiene más características que ofrecer que las descritas en esta guía. Por favor lea kippo.CFG para familiarizarse con ellos y ajustar la configuración de Kippo para adaptarse a su entorno.

Cómo reproducir el formato WMV en el códec de video de alias de Linux no disponible
Recientemente intenté abrir un archivo WMV (Microsoft ASF) usando VLC. VLC no pudo abrir la transmisión de video, así que intenté un par de reproducto...
Manipulación de la fecha con yest
Yest es una gran herramienta que permite al usuario hacer algunas manipulaciones complejas de fecha al emplear AB fácil de entender sintaxis. No es un...
Restablecer una contraseña de administrador de Joomla desde un terminal de Linux
Aquí hay parejas simples de seguir pasos sobre cómo restablecer una contraseña de Joomla de una terminal de Linux. Esta guía supone que tiene acceso a...