如何用 Pytbull 测试 suricata?

34 篇文章 0 订阅
7 篇文章 0 订阅

如何用 Pytbull 测试 suricata?

 

        在你安装完 IDS/IPS 并且能运行的时候,你可能想知道它是否能正常的记录日志或者丢弃恶意的数据包。那么,我们就可以使用一个基于灵活得 IDS/IPS 测试框架的 python 脚本 --- Pytbull,它附带 300 多个测试,9个模块,涵盖了大范围的攻击(clientSideAttacks, testRules, badTraffic, fragmentedPackets, multipleFailedLogins, evasionTechniques, shellCodes, denialOfService, pcapReplay)。

 

        使用 Pytbull 测试 IDS/IPS 将会节省你很多时间!

 

        我们先假设我们有一台 IP 地址为 192.168.1.25 的 Ubuntu Linux 测试机 A 和一台 IP 地址为 192.168.1.1 的安装了 Smooth-Sec 的机器 B。

 

        在测试机 A 192.168.1.25上安装所有需要的软件包和依赖包。

#apt-get install python python-scapy nmap hping3 nikto tcpreplay python-iniparse

 

        下载 Pytbull:

#wget https://downloads.sourceforge.net/project/pytbull/pytbull-1.3.tar.bz2
#bzip2 -cd pytbull-1.3.tar.bz2 | tar xf -
#cd pytbull

 

        接下来就是修改配置文件了:

#vi config.cfg

 

#Pytbull config file
[CLIENT]
ipaddr                  = 192.168.1.1 #ip address of the IDS to test.
iface                   = eth0
 
[PATHS]
report                  = report.html
sudo                    = /usr/bin/sudo
nmap                    = /usr/bin/nmap
nikto                   = /usr/bin/nikto
niktoconf               = /root/pytbull/nikto.conf
hping3                  = /usr/sbin/hping3
tcpreplay               = /usr/bin/tcpreplay
urlpdf                  = http://droid-protector.com/borrar_ya/md5
alertsfile              = /var/log/suricata/fast.log
 
[CREDENTIALS]
ftpuser                 = pytbull
ftppasswd               = pytbull

 

       然后创建一个 nikto 配置文件,并添加以下内容:

#start nikto configuration file
SKIPPORTS=21 111
USERAGENT=Mozilla/4.75 (Nikto/@VERSION) (Evasions:@EVASIONS) (Test:@TESTID)
RFIURL=http://cirt.net/rfiinc.txt?
NIKTODTD=docs/nikto.dtd
DEFAULTHTTPVER=1.0
UPDATES=yes
MAX_WARN=20
CIRT=174.142.17.165
CHECKMETHODS=HEAD GET
@@MUTATE=dictionary;subdomain
@@DEFAULT=@@ALL;-@@MUTATE;tests(report:500)
#end nikto configuration file

 

       然后拷贝 Pytbull 服务端的脚本(reverse shel)用于客户端向 Smooth-Sec 机器 192.168.1.1 攻击:

#scp server/pytbull-server.py root@192.168.1.1:

 

        定义你想要对 suricata 运行的测试种类,请参考 Pytbull 配置文件(config.cfg)尾部。

0 = 关闭

1 = 开启

 

[TESTS]
clientSideAttacks = 1
testRules = 1
badTraffic = 1
fragmentedPackets = 1
multipleFailedLogins = 1
evasionTechniques = 1
shellCodes = 1
denialOfService = 1
pcapReplay = 1


       在 Smooth-Sec 机器 192.68.1.1 上:

 

#apt-get install vsftpd apache2
#adduser –home /var/log/suricata –shell /bin/bash pytbull
#usermod -G suricata pytbull

 

        在 Smooth-sec 机器 192.168.1.1 上启动 reverse shell 脚本:

#python pytbull-server.py  --port 34567
 
                                 _   _           _ _
                     _ __  _   _| |_| |__  _   _| | |
                    | '_ \| | | | __| '_ \| | | | | |
                    | |_) | |_| | |_| |_) | |_| | | |
                    | .__/ \__, |\__|_.__/ \__,_|_|_|
                    |_|    |___/
                       Sebastien Damaye, aldeid.com
 
Checking root privileges......................................... [   OK   ]
Checking port to use............................................. [   OK   ]
 
Server started on port: 34567
Listening...


 

       在 192.168.1.25 上运行测试脚本,指定目的 IP 为 192.168.1.1:

#python pytbull.py -t 192.168.1.1
 
                     _ __  _   _| |_| |__  _   _| | |
                    | '_ \| | | | __| '_ \| | | | | |
                    | |_) | |_| | |_| |_) | |_| | | |
                    | .__/ \__, |\__|_.__/ \__,_|_|_|
                    |_|    |___/
                       Sebastien Damaye, aldeid.com
 
BASIC CHECKS
------------
Checking root privileges......................................... [   OK   ]
Checking remote port 21/tcp (FTP)................................ [   OK   ]
Checking remote port 22/tcp (SSH)................................ [   OK   ]
Checking remote port 80/tcp (HTTP)............................... [   OK   ]
Checking path for sudo........................................... [   OK   ]
Checking path for nmap........................................... [   OK   ]
Checking path for nikto.......................................... [   OK   ]
Checking path for niktoconf...................................... [   OK   ]
Checking path for hping3......................................... [   OK   ]
Checking path for tcpreplay...................................... [   OK   ]
Removing temporary file.......................................... [   OK   ]
 
TESTS
------------
Client Side Attacks.............................................. [   yes  ]
Test Rules....................................................... [   yes  ]
Bad Traffic...................................................... [   yes  ]
Fragmented Packets............................................... [   yes  ]
Multiple Failed Logins........................................... [   yes  ]
Evasion Techniques............................................... [   yes  ]
ShellCodes....................................................... [   yes  ]
Denial of Service................................................ [   yes  ]
Pcap Replay...................................................... [   yes  ]
 
-----------------------
DONE. Check the report.
-----------------------



        报表视图:

在测试机器 192.168.1.25 上:

#cp report.html /var/www/

 

在浏览器中打开 http://192.168.1.25/report.html ,就可以看到具体的测试报告。

 

有不足之处,望大家提出来,共同交流。谢谢~

 

参考:

http://bailey.st/blog/2011/09/12/test-suricata-with-pytbull/


 


 博主所有文章已转自私人博客 Joe 的个人博客,谢谢关注!

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值