其实这种方式的扫描器思路早早被公开了,只是没有人愿意把自己写好的项目开源,那么这种类型扫描器好处在于你点着点着就出漏洞了,不需要什么样的操作而且扫描器还可以做到去重、自己加入喜欢的插件在里面!

先看一下项目地址:https://github.com/brianwrf/NagaScan

这款扫描器是由:http://avfisher.win/archives/676

这篇文章博主开发的,具体关于该款扫描器思路请见阅读原文~

由于我自己在部署的时候遇到了重重困难,想顺便给大家讲解下!

这个扫描器的README是英文版,不懂英文的看起来或许困难,今天就手把收给大家讲讲吧!

首先说一下这款扫描器能干些什么?它目前可以支持扫描一些常见的web应用程序漏洞、xss(包括存储)、文件包含~

在搭建该款扫描的时候你必须必须需要的是要准备ubuntu的操作系统这才更大的减少环境错误,因为开发者在开发的时候部署的正是这操作系统!

现在你需要

git clone https://github.com/brianwrf/NagaScan.git

紧接着

sudo pip install mysql-connector
sudo pip install jinja2
sudo pip install bleach
sudo apt-get install python-pip python-dev libmysqlclient-dev
sudo pip install requests
sudo pip install MySQL-python
sudo pip install -U selenium
sudo apt-get install libfontconfig
sudo apt-get install python-pip python-dev libmysqlclient-dev
sudo pip install MySQL-python

安装完这一大堆鬼东西之后你就可以进行安装跟配置它了,你需要安装mysql之后如果在内网可以不需要更改原始密码,如果安装在外网,你需要赋予mysql远程链接权限及修改弱口令,否则被扫到了恭喜你的服务器成为别人的了!

进入mysql环境后你需要新建nagascan的库,之后source schema.sql把数据库信息导入,导入后要值得注意的是里面默认的登陆账号密码([email protected]/Naga5c@n)要更换成自己的~

然后下面所有操作都要在Nagascan目录下操作,进入www/config_override.py对文件进行修改配置信息

sudo python www/wsgiapp.py

如果执行那条命令提示这样的情况,可以执行

netstat -ntlp | grep 80

这条命令看看不是80端口被占用了!

官方文档中这里提到需要安装PhantomJs,因为扫描xss他采用了这个框架了

安装好之后你需要对

scanner/lib/hack_requests.py

这个文件进行Phantomjs跟路径配置。配置完成运行

python scanner/scan_fi.py to scan File Inclusionpython scanner/scan_xss.py to scan XSSpython scanner/scan_sqli.py to scan SQL injection

他们就会在后台对你的urls进行扫描了。

出现这个红色报错的就是提示Phantomjs路径没有设置好,得需要重新设置。

这里还需要把sqlmap安装好,然后进入sqlmap目录下使用

python sqlmapapi.py -s -H 0.0.0.0

这时再结合scan_sqli.py才起到作用。

那么既然说到代理式扫描器肯定是少不了代理程序的,在新的服务器或者虚拟机当中再次执行

git clone https://github.com/brianwrf/NagaScan.git

在不同环境下安装不同的东西,那么最好还是ubuntu了~

然后你需要在/tmp/新建logs.txt文件,让它写入数据包。

为啥需要在新的服务器或者虚拟机当中部署这个代理,很简单,你已经在A服务器上部署了扫描功能了,那么你肯定是能一台服务器做多种事情,服务器肯定扛不住的(除非你有钱买配置好的)

但不管你采用什么都需要对

parser/lib/db_operation.py

这个文件进行修改

然后你要在两个新对终端上执行

这个是代理

mitmdump -p 443 -s "proxy/proxy_mitmproxy.py /tmp/logs.txt"

这个是解释器

python parser/parser_mitmproxy.py /tmp/logs.txt

这时候才真正的把扫描器搭建起来了。

补充下的是,在本机代理之后需要打开http://mitm.it/这个网站选择自己的操作系统下载证书,才能对https进行抓取。macos的需要对进行进行信任

如果代理了之后出现

访问不到网站的话可以重启mitmproxy,还有一个可能就是开启了解释器没有开启代理导致的情况!

再利用上chrome的一个插件

随时随地自由切换代理~挖洞看片两不误!

最后告诉大家的就是,你可以买一台高配置一点的台式机放在家里,然后部署多个虚拟机,再买一台低配置的服务器进行外网的端口转发,这样就可以省钱买服务器的一大笔钱了!还有不要奢求它这么快扫出漏洞,需要时间的~

源链接

Hacking more

...