Honeypot Kippo 0.8 - Instalação e utilização

Este artigo mostra como instalar e utilizar o Kippo, um honeypot de média interatividade, utilizado para coletar dados a respeito de tentativas de invasão ao serviço SSH que ele emula.

[ Hits: 24.504 ]

Por: Fernando em 19/04/2013 | Blog: https://github.com/phoemur/


Dependências / Instalação e configuração



Instalando as dependências

Requisitos para instalação:
  1. Sistema GNU/Linux. Qualquer um serve, aqui estou utilizando Slackware 14.
  2. Python 2.5+
  3. Twisted 8.0+
  4. PyCrypto
  5. Zope Interface

Instalando os pré-requisitos

Não vou ensinar aqui como instalar um sistema em máquina virtual, essa parte é com você. Pode ser qualquer distribuição e qualquer máquina virtual.

Aqui, estou utilizando Slackware 14.0 rodando em VirtualBox. Recomendo utilizar um espaço em disco de alguns gigabytes para permitir manipulação do sistema de arquivos. Pouca memória RAM já é suficiente.

Python :: no Slackware já está instalado.

Twisted :: se você tem o vício da compilação automática e quer ganhar tempo, pode utilizar o sbopkg. Se não quiser, tem no SlackBuilds, é só baixar e compilar.

# sbopkg -i python-twisted
# sbopkg -i python-twisted-web2
# sbopkg -i pyasn1


Os Ubuntus resolvem com:

sudo apt-get install python-dev openssl python-openssl python-pyasn1 python-twisted

PyCrypto :: mesma coisa:

# sbopkg -i pycrypto

Zope Interface :: mesma coisa: (depois falam que Slackware é difícil... é tão difícil quanto você quer que ele seja):

# sbopkg -i zope.interface

Alternativamente, você pode baixar os pacotes em:

Instalação e configuração

Instalando o Kippo:

Assumindo que /usr/local/src vai ficar com o código fonte:

# cd /usr/local/src
# wget -c
http://kippo.googlecode.com/files/kippo-0.8.tar.gz
# tar -zxvf kippo-0.8.tar.gz

E pronto. É um programa em Python e não precisa de "./configure", "make" e "make install".

Entre no diretório do Kippo, com:

# export KIPPODIR=/usr/local/src/kippo-0.8
# cd $KIPPODIR


Onde vamos verificar os seguintes diretórios e arquivos:
  • dl :: diretório onde ficam salvos os arquivos que o cracker baixa com Wget.
  • doc :: documentação.
  • honeyfs :: diretório do sistema de arquivos que será exibido ao cracker.
  • kippo.cfg :: arquivo de configuração do Kippo.
  • start.sh :: arquivo de inicialização do Kippo.
  • txtcmds :: pasta onde estão os protótipos dos comandos disponíveis no shell falso (em breve mostrarei como criar as falsas saídas).
  • utils :: diretório com utilitários que vamos utilizar agora:

    # cd $KIPPODIR/utils

Como o Kippo simula um Debian, agora vamos criar uma imagem do sistema de arquivos atual da máquina. Se você fez uma instalação full do seu sistema, você terá instalado o Apache, PHP, MySQL, o que irá passar veracidade ao seu honeypot. Sugiro subir esses serviços antes de criar a imagem do honeypot.

# ./createfs.py fs.pickle  #Esse aqui demora um pouco

Você pode também criar a saída de qualquer comando para exibir ao cracker. Neste exemplo, vou criar o comando uname e as informações de memória e CPU. Quanto mais plausível for o seu honeypot, melhor.

# cd $KIPPODIR
# uname -a > txtcmds/bin/uname
# cat /proc/meminfo > honeyfs/proc/meminfo
# cat /proc/cpuinfo > honeyfs/proc/cpuinfo


Agora vamos alterar outros parâmetros do sistema do honeypot, para dar mais veracidade:

# cd $KIPPODIR/honeyfs/etc

# nano issue

Coloque o que quiser, mas deve parecer plausível. O default é assim:

Debian GNU/Linux 7.0 \n \l


# nano passwd  #Altere como quiser
# nano shadow  #Altere correspondente ao passwd

E agora, vamos editar o arquivo de configuração do Kippo, localizado no diretório base kippo-08:

# cd $KIPPODIR
# nano kippo.cfg


Edite ao seu gosto, o conteúdo pode ser assim:

Obs.: não colocar para escutar na porta 22, pois é necessário root para isso. Deixe na 2222, e depois redirecionaremos com IPtables.

[honeypot]
ssh_port = 2222
hostname = darkstar
log_path = log
download_path = dl
contents_path = honeyfs
filesystem_file = fs.pickle
public_key = public.key
private_key = private.key


Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Dependências / Instalação e configuração
   3. Utilização
Outros artigos deste autor

Wake-on-LAN (WOL) utilizando Netcat - Dissecando o protocolo

i3 - Tilling Window Manager

ZFS no GNU/Linux

Leitura recomendada

Recuperação do arquivo sudoers - comandos su e sudo não funcionam mais [Resolvido]

Política de Segurança para Dispositivos Móveis

Segurança da Informação no Brasil, qual é nossa realidade?

Incron - supervisionando sistemas de arquivos

OpenVPN se comportando como PPTP

  
Comentários
[1] Comentário enviado por ovudo em 23/04/2013 - 04:17h

cara. parabéns pelo artigo

nessa semana irei começar a implementação!

eu ja havia ouvido falar dessa ferramenta mas nunca tinha encontrado alguem q conseguisse explica-la de forma tão clara!

parabéns!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts