前言:Cowrie是基於kippo更改的中交互ssh蜜罐, 可以對暴力攻擊賬號密碼等記錄,並提供偽造的文件系統環境記錄黑客操作行為, 並保存通過wget/curl下載的文件以及通過SFTP、SCP上傳的文件。而此文主要對該蜜罐的監控效果做個簡單的測試,並在受到暴力破解攻擊的時候實現自動化郵件告警。
一、T-Pot平台cowrie 蜜罐ssh暴力破解探測
由下圖可知,cowrie的地址為172.17.0.4 (該地址可能會變動,測試時以實際分配IP為准)
首頁-》UI-For-Docker-》Containers
因T-Pot僅部署在測試虛擬機里而並未部署在網絡流量出入口,所以本地測試時遠程ssh連接cowrie的2222端口,使用以下命令嘗試登陸發現Dashboard里的Cowrie-Event Counter成功捕獲到了異常連接信息。
[tsec@ptarmiganantelope:~]$ ssh -p 2222 172.17.0.4
另外,將DashBoard設置為cowrie專用模板后展示的信息將會更加全面,將屏幕刷新時間設置為5s后即可配置SSH惡意連接狀況的實時動態展現。
二、cowrie配置實現自動化郵件告警
有報警信息就肯定有日志,cowrie的報警日志保存在了以下路徑。
/data/cowrie/log/cowrie.log
接下來就是制作監控腳本,所實現的功能是檢測該日志是否有新的登錄記錄產生,如果發現了新的登錄記錄立刻向管理員發送出告警郵件。 而該告警郵件中應包含攻擊者暴力破解時所使用的用戶名、密碼及攻擊者IP地址。另外,腳本最好不要保存在/data/cowrie/log目錄下,我這里放在了/root目錄下了。
腳本內容:/root/diff.sh
#! /bin/bash grep 'login attempt' /data/cowrie/log/cowrie.log > /data/cowrie/log/cowrieSSH.log.new diff /data/cowrie/log/cowrieSSH.log.new /data/cowrie/log/cowrieSSH.log.old > /data/cowrie/log/diff.txt if [ $? == "0" ] ; then echo "未探測到SSH異常連接!" else echo "SSH異常連接,正在發送確認郵件...!" mail -s '[T-POT] cowrie monitor warnning!!!' pentest@163.com < /data/cowrie/log/diff.txt cp /data/cowrie/log/cowrieSSH.log.new /data/cowrie/log/cowrieSSH.log.old echo "郵件發送成功!" fi
給監控腳本添加可執行權限
chmod u+x /root/diff.sh
給監控腳本添加計划任務,要求每分鍾執行一次(執行頻率可根據需要自行設置)。
# vim /etc/crontab 添加以下內容到crontab里
# Check cowrie HoneyPot
* * * * * root /root/diff.sh
重啟cron服務,使得修改過的cron服務立刻生效
/etc/init.d/cron restart
最后,SSH連接cowrie的IP(ssh -p 2222 172.17.0.4),嘗試輸入錯誤密碼888888后發現收到了異常告警郵件!
ps:
(1)整個流程實現略顯復雜,待后續研究優化。
(2)測試所用郵件服務是在ubuntu系統上安裝的sendmail。
(3)查看T-Pot平台各蜜罐服務狀態及設置開機自啟動
》systemctl status conpot/dionaea/elasticpot/emobility/glastopf/honeytrap
》systemcel enable conpot/dionaea/elasticpot/emobility/glastopf/honeytrap
(4)發送郵件到163或QQ郵箱的時候可能會被當作垃圾郵件處理,可以嘗試在hosts文件里添加發送源郵箱的域名(如以下紅體字部分)
[root@ptarmiganantelope:/data/cowrie/log]# vim /etc/hosts 127.0.0.1 localhost 127.0.1.1 ptarmiganantelope hbmapentest.ips.com
同時,觀察是否存在以下進程以確認sendmail是否正常工作
[root@ptarmiganantelope:/data/cowrie/log]# ps aux | grep sendmail root 975 0.0 0.1 106900 5436 ? Ss 10:16 0:00 sendmail: MTA: accepting connections root 11916 0.0 0.0 14224 1016 pts/0 S+ 10:36 0:00 grep --color=auto sendmail
