freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

    如何使用Mole识别和利用带外应用程序漏洞
    2021-03-25 22:25:02

    HW期间,为防范钓鱼,即日起FreeBuf将取消投稿文章的一切外部链接。给您带来的不便,敬请谅解~

    关于Mole

    Mole是一款专门用于识别和利用带外(OOB)应用程序漏洞的框架。

    安装&配置

    Mole安装

    注意:该工具的运行要求主机安装并配置好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配置

    除此之外,你还需要配置DNS记录并指向我们的Mole服务器。你至少需要配置一个A记录指向域名服务器,以及一个NS记录。

    我们还可以配置并托管其他的配置选项。

    Mailgun(可选)

    Mailgun需要使用DNS实体来启用服务

    TLS

    当前版本的Mole并不支持原生TLS。为了实现TLS,我们需要使用类似Ngnix之类的反向代理来终止TLS连接并将流量转发至Mole服务器。

    Burp Suite扩展

    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”,如果一切顺利,加载界面将不会报错:

    Mole配置

    令牌

    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;

    参考资料

    https://help.mailgun.com/hc/en-us/articles/203637190-How-Do-I-Add-or-Delete-a-Domain-

    https://www.sqlalchemy.org/

    https://docs.sqlalchemy.org/en/13/core/engines.html

    https://www.mailgun.com/

    本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
    被以下专辑收录,发现更多精彩内容
    + 收入我的专辑
    + 加入我的收藏
    相关推荐
    • 0 文章数
    • 0 关注者
    文章目录