如何搭建一個開源的蜜罐環境
0x00 前言
本文記錄一下搭建開源蜜罐環境的過程,文章內容為翻譯並且對其中的技術細節以及坑點進行復現。
0x01 MHN簡介
MHN是用於蜜罐管理和數據收集的集中式伺服器。MHN允許您快速部署感測器並立即收集數據,並通過Web端實現可視化。蜜罐部署腳本包括幾種常見的蜜罐技術,包括[Snort]、[Cowrie]、[Dionaea]和[glastopf]等。
0x02 功能介紹
MHN是一個Flask應用程序,它公開了一個HTTP API,蜜罐可以用來:
·下載部署腳本
·鏈接並且註冊
·下載snort規則
·發送入侵檢測日誌
它還允許系統管理員執行如下操作:
·查看新攻擊列表
·管理snort規則:啟用、禁用、下載
0x03 安裝方法
·MHN支持在Ubuntu 14.04、Ubuntu 16.04和Centos 6.9上安裝和部署。
·其他版本的Linux可能有效,但是通常沒有經過測試或者後續的支持。
注意:如果您在安裝過程中遇到問題,請查看Wiki上的[故障排除指南]。如果您只想在某些虛擬機上試用MHN,請查看wiki上的「[Getting up and Running with Vagrant]」指南。
step 1:安裝Git
# on Debian or Ubuntu
$ sudo apt-get install git -y
# on Centos or RHEL
$ sudo yum install -y git
step 2:安裝MHN
$ cd /opt/
$ sudo git clone https://github.com/threatstream/mhn.git
$ cd mhn/
$ ls -alth
![](/uploads/upload_bd1e866365a0377f937032b02a4b8a27.png)
![](/uploads/upload_fb98b31d730588d4f695737e2cf657f8.png)
step 3:運行安裝腳本
$ sudo ./install.sh
運行```install.sh```以完成安裝。運行此腳本時,系統將提示輸入一些配置選項。請參閱下文了解配置內容。
===========================================================
MHN Configuration
===========================================================
Do you wish to run in Debug mode?: y/n n
Superuser email: YOUR_EMAIL@YOURSITE.COM
Superuser password:
Server base url ["http://1.2.3.4"]:
Honeymap url ["http://1.2.3.4:3000"]:
Mail server address ["localhost"]:
Mail server port [25]:
Use TLS for email?: y/n n
Use SSL for email?: y/n n
Mail server username [""]:
Mail server password [""]:
Mail default sender [""]:
Path for log file ["mhn.log"]:
step 4:檢查運行狀態
事實上當執行完step 3時MHN就已經安裝成功了,step 4主要是用於檢查MHN依賴的服務是否均正常運行。
user@precise64:/opt/mhn/scripts$ sudo /etc/init.d/nginx status
* nginx is running
user@precise64:/opt/mhn/scripts$ sudo /etc/init.d/supervisor status
is running
user@precise64:/opt/mhn/scripts$ sudo supervisorctl status
geoloc RUNNING pid 31443, uptime 0:00:12
honeymap RUNNING pid 30826, uptime 0:08:54
hpfeeds-broker RUNNING pid 10089, uptime 0:36:42
mhn-celery-beat RUNNING pid 29909, uptime 0:18:41
mhn-celery-worker RUNNING pid 29910, uptime 0:18:41
mhn-collector RUNNING pid 7872, uptime 0:18:41
mhn-uwsgi RUNNING pid 29911, uptime 0:18:41
mnemosyne RUNNING pid 28173, uptime 0:30:08
others 1:在代理伺服器後面運行MHN
有關在Web代理後面運行MHN的說明,請按照[Wiki]中的說明進行操作。
others 2:通過HTTPS運行MHN
默認情況下,MHN將在沒有HTTPS的情況下運行,配置SSL證書方面的問題可以通過[Wiki]查看。
在docker中安裝MHN
docker run -p 10000:10000 -p 80:80 -p 3000:3000 -p 8089:8089 --name mhn -t -i ubuntu:14.04.2 /bin/bash
進入容器後,編輯並執行運行如下shell腳本
vi install.sh
bash install.sh
#!/bin/bash
set -x
apt-get update
apt-get upgrade -y
apt-get install git wget gcc supervisor -y
cd /opt/
git clone https://github.com/threatstream/mhn.git
cd mhn
cat > /etc/supervisor/conf.d/mhntodocker.conf
[program:mongod]
command=/usr/bin/mongod
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stderr_logfile=/var/log/supervisor/%(program_name)s.log
autorestart=true
autostart=true
[program:nginx]
command=/usr/sbin/nginx
stdout_events_enabled=true
stderr_events_enabled=true
autostart=true
autorestart=true
EOF
mkdir -p /data/db /var/log/mhn /var/log/supervisor
supervisord &
#Starts the mongod service after installation
echo supervisorctl start mongod >> /opt/mhn/scripts/install_mongo.sh
./install.sh
supervisorctl restart all
0x04 部署蜜罐
MHN誕生的宗旨就是簡化蜜罐的可擴展部署。以下是使用MHN部署蜜罐的步驟:
1. 登錄MHN伺服器Web管理端
2. 單擊左上角的「Deploy(部署)」按鈕
3. 從下拉菜單中選擇一種蜜罐類型(例如「Ubuntu Dionaea」)
4. 複製部署命令
5. 登錄蜜罐伺服器並以root身份運行此命令
如果腳本部署成功完成,我們可以在部署的感測器(Sensor)列表下看到新的感測器。關於支持的感測器完整列表,可以在此處查看:[支持的感測器列表]。
0x05 支持的感測器(Sensor)列表
Amun Sensor
簡介
·支持的操作系統:Ubuntu 14.04/16.04
·項目倉庫:https://github.com/zeroq/amun
Amun是一個「基於python的低交互蜜罐,遵循豬籠草的概念,更複雜的模擬以及更容易維護」。
部署方法
可以使用MHN的Deploy頁面中的Ubuntu - Amun部署腳本部署此感測器。提供的腳本支持在Ubuntu 14.04和16.04系統上安裝。為避免安裝錯誤,強烈建議在運行部署腳本之前確保主機系統完全是最新的。
更多信息
Cowrie Sensor
簡介
·支持的操作系統:Ubuntu 16.04
·項目倉庫:http://www.micheloosterhof.com/cowrie/
[Cowrie]是一個「中等互動式SSH和Telnet蜜罐,用於記錄暴力攻擊和攻擊者執行的互動式shell。」
部署方法
可以使用MHN的Deploy頁面中的Ubuntu-Cowrie部署腳本部署此感測器。提供的腳本支持在Ubuntu 16.04系統上安裝。
Ubuntu 14.04目前無法使用提供的腳本進行安裝。 為避免安裝錯誤,強烈建議您在運行部署腳本之前確保主機系統完全是最新的。
更多信息
[https://github.com/micheloosterhof/cowrie]
Conpot Sensor
簡介
·支持的操作系統:Ubuntu 14.04/16.04
·項目倉庫:http://conpot.org/
[Conpot]是一款「低互動式伺服器端工業控制系統蜜罐,設計易於部署,修改和擴展。」
部署方法
可以使用MHN的Deploy頁面中的Ubuntu-Conpot部署腳本部署此感測器。 提供的腳本支持在Ubuntu 14.04和16.04系統上安裝。 為避免安裝錯誤,強烈建議您在運行部署腳本之前確保主機系統完全是最新的。
更多信息
[https://github.com/mushorg/conpot]
Dionaea Sensor
簡介
·支持的操作系統:Ubuntu 14.04, Centos 7, Raspberry Pi
·項目倉庫:https://dionaea.readthedocs.io/en/latest/
Dionaea「下一代豬籠草概念,將python作為腳本語言嵌入,使用libemu檢測shellcode,支持ipv6和tls。」
部署方法
可以使用Ubuntu 14.04 / Centos 7 - Dionaea部署腳本或MHN部署頁面中的Raspberry Pi - Dionaea部署此感測器。
提供的腳本僅支持在Ubuntu 14.04,Centos 7或Raspberry Pi系統上安裝。 這些腳本無法在Ubuntu 16.04和Centos 6.9上安裝。 為避免安裝錯誤,強烈建議您在運行部署腳本之前確保主機系統完全是最新的。
更多信息
[https://github.com/DinoTools/dionaea]
ElasticHoney Sensor
簡介
·支持的操作系統:Ubuntu 14.04/16.04
·項目倉庫:https://github.com/jordan-wright/elastichoney
ElasticHoney是一個「簡單的elasticsearch 蜜罐,旨在捕獲攻擊者利用elasticsearch 中的RCE漏洞。」
部署方法
可以使用MHN的Deploy頁面中的Ubuntu - ElasticHoney部署腳本部署此感測器。 提供的腳本支持在Ubuntu 14.04和16.04系統上安裝。 為避免安裝錯誤,強烈建議您在運行部署腳本之前確保主機系統完全是最新的。
更多信息
[Introducing elastichoney - an Elasticsearch Honeypot]
Glastopf Sensor
簡介
·支持的操作系統:Ubuntu 14.04/16.04
·項目倉庫:http://mushmush.org/
Glastopf是一個Python Web應用程序蜜罐。 根據開發人員的說法,它不再是積極開發的,而是「維護」的。 此後,SNARE / TANNER項目取得了成功,目前MHN尚未開箱即用。
0x06 如何與Splunk和ArcSight集成
hpfeeds-logger可用於將MHN與Splunk和ArcSight集成。
Splunk
cd /opt/mhn/scripts/
sudo ./install_hpfeeds-logger-splunk.sh
通過運行次命令,可以將事件已鍵值對的形式記錄到```/var/log/mhn-splunk.log```中,SplunkUniveralForwarder監控此日誌即可達到與MHN與Splunk集成的目的。
Arcsight
cd /opt/mhn/scripts/
sudo ./install_hpfeeds-logger-arcsight.sh
通過運行如上命令,可以將事件記錄為CEF並輸出到```/var/log/mhn-arcsight.log```文件中。
0x07 數據採集
注意:MHN伺服器會將匿名攻擊數據報告給Anomali, Inc.(原名為ThreatStream)。如果我們想查看這部分數據,可以在[Wiki]中獲取詳細信息。
如果我們不想通過匿名的形式上報攻擊數據,可以通過在MHN伺服器中運行```/opt/mhn/scripts/disable_collector.sh```來禁用此功能。
0x08 支持與聯繫
0x00 參考鏈接
https://github.com/threatstream/mhn
※iOS 應用程序重打包和簽名詳盡指南Part 2
※不斷演變的廣告軟體——PBot
TAG:嘶吼RoarTalk |