1. 程式人生 > >Cowrie蜜罐部署教程

Cowrie蜜罐部署教程

轉發 dir top 外部 漏洞 數據庫配置 base 出現 sel

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列表直接在防火墻做阻斷

Cowrie蜜罐部署教程