Mole是一款专门用于识别和利用带外(OOB)应用程序漏洞的框架。
注意:该工具的运行要求主机安装并配置好Python >= 3.6环境。
接下来,在虚拟环境中运行下列命令安装Mole:
git clone https://github.com/ztgrace/mole.git
virtualenv -p /usr/bin/python3 venv
source venv/bin/activate
./venv/bin/pip3 install -r requirements.txt
git submodule update --init --recursive
安装完成中,我们需要在config.yml文件中配置客户端和服务器端的API密钥,这两个密钥必须相同。
除此之外,你还需要配置DNS记录并指向我们的Mole服务器。你至少需要配置一个A记录指向域名服务器,以及一个NS记录。
我们还可以配置并托管其他的配置选项。
Mailgun需要使用DNS实体来启用服务
当前版本的Mole并不支持原生TLS。为了实现TLS,我们需要使用类似Ngnix之类的反向代理来终止TLS连接并将流量转发至Mole服务器。
Burp Suite扩展需要一个单独的Python 2.7虚拟环境,因为最新版本的Jython仅支持2.7环境。接下来,我们可以按照下列步骤设置虚拟环境并配置扩展。
1、针对Burp/Jython创建一个新的Python 2.7虚拟环境:
virtualenv -p /usr/bin/python2.7 burp_venv
2、加载虚拟环境:
source ./burp_venv/bin/activate
3、安装所需的依赖包:
./burp_venv/bin/pip -r requirements
4、下载并选择jython-standalone.jar配置Python环境。
5、在“Folder for loading modules”选项中配置burp_venv/lib/python2.7/site-packages(第1-3步中创建的)的完整路径。
6、点击“Add”:
7、将扩展类型设置为“Python”,并从Mole项目目录下选择“mole_burp_extension.py”文件:
8、点击“Next”,如果一切顺利,加载界面将不会报错:
domain:你的自定义域名;
length:令牌长度(默认为5);
令牌中的字符集为ASCII(支持大写字母、小写字母和数字),我们可以修改令牌长度以满足特殊Payload的情况。令牌的每个长度数字表示如下:
1 - 62
2 - 3844
3 - 238328
4 - 14776336
5 - 916132832
ssl:配置针对https和http的Payload;
server:Mole令牌服务器的域名或IP;
default_tags:添加至所有令牌的默认标签;
api_key:用于认证Mole API请求的API密钥;
dns_addr:用于响应DNS查询请求的IP地址;
db_conn:SQLAlchemy数据库URL地址。默认为项目主目录下的SQLite数据库sqlite:///mole.db;
static_responses:DNS静态响应键值对列表;
web_port:配置监听的Web端口;
dns_port:配置监听的DNS端口;
所有的通知项都有一个“enabled”标签来判断是否在事件触发时给用户发送通知,每一个通知插件都有其各自的配置项。
mailgun:配置domain、to、from和api_key来启用mailgun邮件通知功能;
slack:令牌和信道;
Webhook:通用POST Webhook;