今天给大家介绍的是一款名叫NagaScan的针对Web应用程序的分布式被动漏洞扫描器,NagaScan目前支持包括XSS、SQL注入、以及文件包含等漏洞。

NagaScan:针对Web应用的分布式被动扫描器

NagaScan的运行机制

首先NagaScan会设置一个代理,例如Web浏览器代理或移动Wi-Fi代理。随后目标Web应用的网络流量副本会被传到NagaScan的中央数据库中进行解析处理,接下分布式扫描器便会自动分配NagaScan来扫描常见的Web应用安全漏洞。

工具及组件要求

Web控制台

sudo pip install mysql-connector
sudo pip install jinja2
sudo pip install bleach

扫描器

sudo apt-get install python-pip python-devlibmysqlclient-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-devlibmysqlclient-dev
sudo pip install MySQL-python 

安装与配置

数据库

1.      安装MySQL,创建一个数据库用户名,并设置密码,例如root/toor;

2.      为NagaScan创建一个数据库,使用命令:source schema.sql

Web控制台

1.      使用我们自己的数据库配置信息修改Web控制台的配置文件www/config_override.py:

configs = {
    'db': {
        'host':'127.0.0.1',
        'user':'root',
        'password':'toor'     }
}

2.      运行下列命令开启Web控制台:

sudo python www/wsgiapp.py

扫描器

1.      用我们自己的数据库配置信息修改扫描器的配置文件scanner/lib/db_operation.py:

def db_conn():     try:
        user ="root"         pwd ="toor"         hostname ="127.0.0.1"

2.      安装PhantomJS

Linux 64位:

wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
tar -jxvfphantomjs-2.1.1-linux-x86_64.tar.bz2

Linux 32位:

wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-i686.tar.bz2
tar -jxvf phantomjs-2.1.1-linux-i686.tar.bz2

3.      按照下列代码修改scanner/lib/hack_requests.py的第28行代码:

self.executable_path='[Your Own Phantomjs Binary Path]' #e.g. /home/ubuntu/phantomjs-2.1.1-linux-x86_64/bin/phantomjs

4.      运行下列命令启动扫描器:

扫描文件包含漏洞

python scanner/scan_fi.py

扫描XSS漏洞

python scanner/scan_xss.py

扫描SQL注入漏洞

python scanner/scan_sqli.py

代理&解析器

1.      安装MitmProxy

Ubuntu 16.04(首选):

sudo apt-get install python3-dev python3-pip libffi-devlibssl-dev
sudo pip3 install mitmproxy

Ubuntu 14.04:

sudo apt-get install python-pip python-dev libffi-devlibssl-dev libxml2-dev libxslt1-dev libjpeg8-dev zlib1g-dev
sudo pip install "mitmproxy==0.18.2"

MacOS:

brew install python3
brew install mitmproxy

2.      运行下列命令开启代理

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

3.      用我们自己的数据库配置信息修改解析器的配置文件parser/lib/db_operation.py:

def db_conn():     try:
        user ="root"         pwd ="toor"         hostname ="127.0.0.1"

4.      运行下列命令开启解析器:

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

工具的使用

使用默认的用户名和密码(nagascan@example.com/Naga5c@n)访问Web控制台,完成一些基本的配置并增加SQLMAP服务器:

NagaScan:针对Web应用的分布式被动扫描器NagaScan:针对Web应用的分布式被动扫描器NagaScan:针对Web应用的分布式被动扫描器针对Web应用的分布式被动扫描器

操作步骤

1.      为浏览器或移动设备安装MitmProxy证书【证书安装教程

2.      添加一个代理(Web浏览器或移动Wi-Fi)

3.      使用浏览器访问目标网站,或在移动设备上使用待测试的App

4.      祝大家好运!

* 参考来源:NagaScan, FB小编Alpha_h4ck编译