0.蜜罐分類:
低交互:模擬服務和漏洞以便收集信息和惡意軟件,但是攻擊者無法和該系統進行交互;
中等交互:在一個特有的控制環境中模擬一個生產服務,允許攻擊者的部分交互;
高交互:攻擊者可以幾乎自由的訪問系統資源直至系統重新清除恢復。
1.cowrie簡介
它是一個具有中等交互的SSH蜜罐,安裝在Linux中,它可以獲取攻擊者用於暴力破解的字典、輸入的命令以及上傳或下載的惡意文件。攻擊者在上傳惡意文件后,執行惡意文件的操作均會失敗,所以對蜜罐本身來說比較安全。
2.cowrie安裝部署
以下步驟均為root權限執行
l 添加非root用戶
adduser cowrie –p *******(設置密碼,一路回車即可)
l 安裝各種python相關包
apt-get install python-twistedpython-crypto python-pyasn1 python-gmpy2 python-mysqldb python-zope.interface
l 安裝virtualenv
apt-get install virtualenv
l 下載cowire
cd /optgit clone http://github.com/micheloosterhof/cowrie
l 配置python虛擬環境
cd /opt/cowrie-master(cowrie-master就是我cowrie蜜罐的目錄,如果目錄不一致,重命名即可)virtualenv cowrie-envsource cowrie-env/bin/activate(cowrie-env) $ pip install twistedcryptography pyopenssl gmpy2
l 改變/opt/cowrie-master的擁有者
chown -R cowrie:cowrie /opt/cowrie-master
l 建立cowrie配置文件
cp cowrie.cfg.dist cowrie.cfg
l 修改日志的umask為0022(默認為0077)
cd /opt/cowrie-mastervi start.sh
l 修改蜜罐的SSH端口(默認為2222)
cd /opt/cowrie-mastervi cowrie.cfg
將linsten_port改為62223即可(最好大於60000,以防止被nmap默認掃描到)
l 將公網訪問服務器22端口的請求做端口轉發,轉發到蜜罐的端口中
iptables -t nat -A PREROUTING -p tcp--dport 22 -j REDIRECT --to-port 62223
l 將真正的(非蜜罐)SSH管理端口改為65522
vi /etc/ssh/sshd_config
(備注:在第一次改SSH端口時,在前期測試時強烈建議同時保留22與65522,以防止修改保存后出現故障無法連接65522)
此處切換為cowrie用戶操作
啟動蜜罐
cd /opt/cowrie-master./start.sh
3. 數據庫安裝部署
cowrie中產生的日志雜亂無章,即使放到日志分析工具中也很難制定規則去篩選。然而cowrie具備將攻擊IP、時間、歷史執行命令等記錄直接存在數據庫中,下面將說明如何配置數據庫。
需要root權限或者sudo
l 安裝mysql基礎環境
apt-get install libmysqlclient-devpython-dev pip install mysql-python apt-get install mysql-server python-mysqldb
l 配置數據庫與表
使用root用戶建立名為cowrie的數據庫並將該庫中的所有表授權給cowrie
mysql -u root -pEnter password: ******* mysql>CREATE DATABASE cowrie;mysql> GRANT ALL ON cowrie.* TOcowrie@localhost IDENTIFIED BY 'your_password';mysql>exit
此時進入cowrie安裝目錄中,使用cowrie用戶登錄數據庫,進入cowrie庫中,將/opt/cowrie/ doc/sql/mysql.sql作為數據源即可制成多個表。
cd /opt/cowrie-master mysql -u cowrie –pEnter password: ******* mysql>USE cowrie;mysql>source ./doc/sql/mysql.sqlmysql>exit
停止cowrie,修改配置文件中的數據庫配置,使配置文件中的密碼與cowrie數據庫用戶密碼一致。
./stop.shvi cowrie.cfg
保存后退出,並su到cowrie用戶重啟蜜罐
./start.sh
cowrie庫中的數據表如下:
4. 配置文件說明
data/userdb.txt——設置外部連接蜜罐時的密碼,可以設置稍微復雜但是在攻擊字典里,誘使攻擊者進行暴力破解並獲取其行為。
log/cowrie.json與 log/cowrie.log——均為日志
txtcmds/*——均為假的命令,其實打開就會發現完全就是txt
dl/*——攻擊者上傳的文件均會復制到這里
honeyfs/etc/motd——自定義歡迎/警告banner
5. 階段成果
如果想查詢蜜罐中是否有攻擊者的痕跡,SSH登錄服務器后進入數據庫,使用cowrie庫,查詢auth、sessions、input等表即可。
公網惡意IP可以從sessions表中去重獲取,算是少量的威脅情報了,部分惡意IP如下。
記錄攻擊者操作如下:
由上圖可以看到攻擊者在暴力破解成功后執行的命令,獲取到這些惡意文件后進行分析,其大多數均為用於ddos的惡意程序,例如:
在長期收集蜜罐中的攻擊者信息后,可以制定惡意IP列表直接在防火牆做阻斷