T-Pot平台Honeytrap蜜罐TCP/UDP服務攻擊探測及實現自動化郵件告警


T-pot平台的Honeytrap可觀察針對TCP或UDP服務的攻擊,作為一個守護程序模擬一些知名的服務,並能夠分析攻擊字符串,執行相應的下載文件指令,當不產生TCP或者UDP協議的時候Honeytrap捕獲不到任何信息,但有攻擊者試圖使用一些安全工具進行掃描的時候,Honeytrap即可捕獲到連接信息。將Dashboard更換到Honeytrap模式,如下圖所示

Honeytrap的日志記錄保存在/data/honeytrap/log/attacker.log中

[root@ptarmiganantelope:/data/honeytrap/log]# ll
total 384
-rw-r--r-- 1 root root  31748 Jun 26 15:59 attacker.log
-rw-r--r-- 1 root root 203810 Jun 26 15:59 attackers.json -rw-r--r-- 1 root root 106442 Jun 26 15:59 honeytrap.log

 在編寫自動告警郵件的腳本前需要注意一個事,因為attacker.log中會產生很多從127.0.0.1到127.0.0.1的流量,此類流量推測是虛擬出來偽裝流量,如果要探測是否存在攻擊應該過濾到此類流量。如:

[2017-06-26 07:44:17:458433 GMT] tcp 127.0.0.1:43102 -> 127.0.0.1:8888 e61f0d10f73c114cc88d551b1ef5c83f 2a45a0b18df52f8d446d0ad5329d3f71a05debf7298a133ba6b593806928ca9c8a1c1d7606557d6ba938579ee3e1576a89c17a2976b7115fbe6bc8b1423241bd (127 bytes)

 自動告警郵件的腳本內容:

[root@ptarmiganantelope:~]# cat /root/honeytrapScri.sh 
#!/bin/bash

grep -v "127.0.0.1" /data/honeytrap/log/attacker.log > /data/honeytrap/log/attacker.newlog.txt  #過濾掉127.0.0.1的流量
if [ ! -e /data/honeytrap/log/attacker.oldlog.txt ] ; then
  touch /data/honeytrap/log/attacker.oldlog.txt
fi

diff /data/honeytrap/log/attacker.newlog.txt /data/honeytrap/log/attacker.oldlog.txt > /data/honeytrap/log/honeytrap.sendmail.txt
if [ $? == "0" ] ; then
  echo ‘safety!else 
  if [ -s /data/honeytrap/log/honeytrap.sendmail.txt ] ; then
    mail -s '[T-POT] Honeytrap monitor warnning!!!' pentest@163.com < /data/honeytrap/log/honeytrap.sendmail.txt
    echo 'mail send success.'
    cp /data/honeytrap/log/attacker.newlog.txt /data/honeytrap/log/attacker.oldlog.txt
  else 
    echo 'mail is empyt! no propleam'
  fi
fi

給腳本添加可執行權限,chmod a+x /root/honeytrapScri.sh 

以上觸發自動告警郵件的腳本就已經編寫好了,但是考慮到攻擊者如果使用安全工具進行掃描的話,短時間內就會收到大量的流量信息而使用計划任務則會稍有延遲,所以使用while循環設置腳本執行間隔為幾秒鍾效果會更好一些。以下實例設置為7s,具體情況可根據實際需要而定。

[root@ptarmiganantelope:/etc/init.d]# cat honeytrapWhile.sh 
#!/bin/sh
### BEGIN INIT INFO
# Provides: OSSEC HIDS
# Required-Start: $network $remote_fs $syslog $time
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OSSEC HIDS
### END INIT INFO

while [ 10 ]
do
sleep 7s
/root/honeytrapScri.sh 
done

需要注意的是,該腳本的執行最好配置開機自啟動,否則下次開機仍然要手動啟動腳本然后進入后台去執行,實在是麻煩。所以,將該腳本honeytrapWhile.sh放置在/etc/init.d目錄下面,然后配置啟動優先級。

mv honeytrapWhile.sh /etc/init.d/
cd /etc/init.d/
update-rc.d new_honeytrapWhile.sh defaults 90

接下來,重新啟動機器后確認該腳本進程是否存在

[root@ptarmiganantelope:~]# ps aux | grep honeytrapWhile.sh 
root        766  0.0  0.0   6556  1776 ?        Ss   16:17   0:00 /bin/sh /etc/init.d/honeytrapWhile.sh start
root        915  0.0  0.0   6556  1716 ?        S    16:17   0:00 /bin/sh /root/honeytrapWhile.sh
root       3577  0.0  0.0  16404  1088 pts/0    S+   16:18   0:00 grep --color=auto honeytrapWhile.sh

最后嘗試使用安全工具對honeytrap進行掃描(模擬TCP/UDP流量攻擊)

 

 經確認已收到告警郵件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM