Honeypot SSH/Telnet. Сowrie
Ссылки
https://github.com/cowrie/cowrie
Установка
Зависимости
yum install git python36-virtualenv openssl-devel libffi-devel python3-devel python3
yum groupinstall 'Development Tools'
Cowrie
cd /opt/
git clone http://github.com/cowrie/cowrie
Добавляем пользователя и права
adduser cowrie
chown -R cowrie:cowrie /opt/cowrie
Разрешаем порты <1024 (22,23) для непривилегированных приложений (python)
yum localinstall -y https://s3.amazonaws.com/aaronsilber/public/authbind-2.1.1-0.1.x86_64.rpm
touch /etc/authbind/byport/22
chown cowrie:cowrie /etc/authbind/byport/22
chmod 770 /etc/authbind/byport/22
touch /etc/authbind/byport/23
chown cowrie:cowrie /etc/authbind/byport/23
chmod 770 /etc/authbind/byport/23
nano /opt/cowrie/etc/cowrie.cfg
[honeypot] hostname = server01 ...
nano /opt/cowrie/etc/userdb.txt
root:x:* tomcat:x:* oracle:x:* admin:x:*
Ручной запуск cowrie для тестов
su - cowrie
cd /opt/cowrie
Изменение портов службы
nano /opt/cowrie/etc/cowrie.cfg
... [telnet] enabled = true listen_endpoints = tcp:23:interface=0.0.0.0 [ssh] listen_endpoints = tcp:22:interface=0.0.0.0
Создание virtialenv
virtualenv-3 --python=python3 cowrie-env
Запуск virtenv
source cowrie-env/bin/activate
Установка python зависимостей
(cowrie-env) $ pip install --upgrade pip
(cowrie-env) $ pip install --upgrade -r requirements.txt
Запуск honeypot app
bin/cowrie start
Запуск cowrie в качестве службы
nano /opt/cowrie/etc/cowrie.cfg
... [ssh] listen_endpoints = systemd:domain=INET6:index=0 [telnet] enabled = true listen_endpoints = systemd:domain=INET6:index=1
nano /etc/systemd/system/cowrie.socket
[Unit] Description=Cowrie SSH and Telnet honeypot socket PartOf=cowrie.service [Socket] ListenStream=22 ListenStream=23 [Install] WantedBy=sockets.target
nano /etc/systemd/system/cowrie.service
[Unit] Description=A SSH and Telnet honeypot service After=network.target After=rsyslog.service Requires=cowrie.socket [Service] User=cowrie Group=cowrie Restart=always RestartSec=5 Environment=PYTHONPATH=/opt/cowrie/src WorkingDirectory=/opt/cowrie ExecStart=/opt/cowrie/cowrie-env/bin/python /opt/cowrie/cowrie-env/bin/twistd --umask 0022 --nodaemon --logger cowrie.python.logfile.logger --pidfile= -l - cowrie StandardOutput=syslog StandardError=syslog SyslogIdentifier=cowrie [Install] WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable cowrie
systemctl start cowrie
Проверка
На сервере Honeypot
netstat -luptn
... tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 18737/python3 tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 18737/python3 ...
На любой другой машине в сети
ssh root@<honeypot_host>
На сервере Honeypot
Логи
nano /opt/cowrie/var/log/cowrie/cowrie.log
nano /opt/cowrie/var/log/cowrie/cowrie.json
Проиграть записанную сессию (COOL!)
ID сессии можно посмотреть в логах
python3.6 /opt/cowrie/bin/playlog /opt/cowrie/var/lib/cowrie/tty/e37915d299d57dd525db26f1af1a22b5450885d98408d9922a8d084f6e12b131