BounceBack:一款针对红队操作的安全性增强重定向工具
2024-6-7 14:22:47 Author: www.freebuf.com(查看原文) 阅读量:8 收藏

freeBuf

主站

分类

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

特色

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

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

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

FreeBuf+小程序

FreeBuf+小程序

关于BounceBack

BounceBack是一款针对红队人员操作的安全性增强工具,该工具功能非常强大,且提供了高度可定制和可配置的具备WAF功能的反向代理,可以帮助红队研究人员隐藏C2、沙箱和扫描工具等红队基础设施。


BounceBack支持通过各种过滤器及过滤器组合,配合实时流量分析来隐藏安全分析行为,以防止被非法访问者检测到。

工具发布的项目库中包含了预配置的屏蔽关键词列表以及阻止/允许的IP地址列表。

规则

BounceBack需要基于规则来匹配流量,当前版本的BounceBack支持下列规则类型:

1、基于布尔(和、或、非)的规则组合;

2、IP和子网分析;

3、IP Geolocation字段检查;

4、反向查询域名探针;

5、原始数据包正则表达式匹配;

6、可扩展的C2配置流量验证;

下面给出的是一个规则配置样例:

rules:

  - name: default_ip_banlist

    type: ip

    params:

      list: data/banned_ips.txt




  - *another rule*

参数解析如下:

1、name:唯一规则名称,管道中需要通过名称来使用规则;

2、type:规则类型,例如ip或not::ip;

3、params:传递给基础规则的参数,每一个基础规则都有唯一的参数;

代理

代理部分可以用于配置监听和代理的流量,协议部分用于串联规则以过滤流量,当前版本的BounceBack支持下列协议:

1、HTTPS(Web基础设施);

2、DNS(DNS隧道);

3、原始TCP(带或不带TLS)和UDP(自定义协议);

下面给出的是一个代理配置样例:

proxies:

  - name: example http proxy

    type: http

    listen: 0.0.0.0:80

    target: http://127.0.0.1:5002

    timeout: 10s

    # tls:

    #   - cert: test/testdata/tls/cert_bounceback_test.pem

    #     key: test/testdata/tls/key_bounceback_test.pem

    #   - cert: test/testdata/tls/cert_example_com.pem

    #     key: test/testdata/tls/key_example_com.pem

    #   - cert: test/testdata/tls/cert_example_com.pem

    #     key: test/testdata/tls/key_example_com.pem

    #     domain: "*.example.org"

    filter_settings:

      reject_action: redirect

      reject_url: https://www.youtube.com/watch?v=dQw4w9WgXcQ

      reject_threshold: 5

      noreject_threshold: 5

    filters:

      - rule: default_ip_acceptlist

        action: accept

      - rule: default_ip_banlist

        action: reject

      # - rule: default_ip_allowlist

      #   action: reject

      - rule: default_geo_rule

        action: reject

      - rule: default_lookup_rule

        action: reject

      # - rule: example_not_time_rule

      #   action: reject

      - rule: default_regexp_rule

        action: reject

      # - rule: example_malleable_rule

      #   action: reject




  - *another proxy config*

工具安装

广大研究人员可以直接访问该项目的【Releases页面】下载最新版本的预编译BounceBack,下载完成后解压项目代码,编辑好配置文件即可开始使用。

除此之外,我们还可以将该项目源码克隆至本地:

git clone https://github.com/D00Movenok/BounceBack.git

然后安装goreleaser并手动构建项目代码即可:

goreleaser release --clean --snapshot

工具使用

首先,使用下列命令更新banned_ips.txt文件:

bash scripts/collect_banned_ips.sh > data/banned_ips.txt

然后根据实际情况修改config.yml,配置规则以匹配流量,配置代理并使用规则分析流量。

最后,运行BounceBack即可:

./bounceback

工具参数选项

-c, --config:YAML格式配置文件的路径地址,默认为“config.yml”;

-l, --log:日志文件路径地址,默认为“bounceback.log”;

-v, --verbose:开启Verbose模式日志(0 = info,1=debug,2+=trace);

工具运行截图


许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

BounceBack:【GitHub传送门

参考资料

https://git-lfs.com/

https://goreleaser.com/install/

本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022


文章来源: https://www.freebuf.com/sectool/403011.html
如有侵权请联系:admin#unsafe.sh