Instalando as dependências
Requisitos para instalação:
- Sistema GNU/Linux. Qualquer um serve, aqui estou utilizando Slackware 14.
- Python 2.5+
- Twisted 8.0+
- PyCrypto
- 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