扫描器开发系列之敏感信息提取

admin 2024年7月15日14:35:02评论18 views字数 2070阅读6分54秒阅读模式

0x01 写在前面

整体思路:在扫描器的上层代理(使用proxify)做流量镜像储存到es,通过kb做可视化,方便做扫描器整体的流量回溯,敏感信息识别等(使用trufflehog)

  1. 1. 这是剥离出来,通用的方案。如果自己的扫描器需要缝合proxify和trufflehog的话,还有非常多的bug fix的活得干,当然也可以选择将结果输出至自己的系统即可。

  2. 2. 该方案一行代码也不需要写(bash不算.)

0x02 方案介绍

ES部署

密码根据自己的需求设置,版本需要选择7.x是因为proxify用的依赖也是7.x的版本,如果需要用更高版本的需要自己修改并重新编译下proxify

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 
  -e "discovery.type=single-node" 
  -e "xpack.security.enabled=true" 
  -e "ELASTIC_PASSWORD=jjfujj" 
  docker.elastic.co/elasticsearch/elasticsearch:7.17.10

proxify配置

选择0.0.13版本,新版本bug挺多,选新版本需要自己fix下。

https://github.com/projectdiscovery/proxify/releases/tag/v0.0.13

配置proxify流量储存到es

❯ cat ~/.config/proxify/export-config.yaml
kafka:
  addr:""
  topic:""
elastic:
  addr:"127.0.0.1:9200"
  ssl:false
  ssl-verification:false
  username:"elastic"
  password:"jjfujj"
  index-name: "jj"

启动

./proxify -store-resposne=/tmp/proxify_logs/

trufflehog配置

下载最新版即可,他是支持直接扫描es的,支持的es是8.x,和上面冲突,且es扫描也有bug需要修,这也是上面为什么让proxify吐出来一份响应的原因。

https://github.com/trufflesecurity/truffleHog

敏感信息扫描以及通知

./trufflehog filesystem /tmp/proxify_logs/ --no-verification --json | jq -r -c '{rule_name:.DetectorName,data:.Raw,filepath:.SourceMetadata.Data.Filesystem.file}' | while read result; do curl -H "Content-Type: application/json" -d $'{"msgtype":"markdown", "markdown":{"content":"bingo:'"${result//"/\"}"'"}}' 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXXXXXX'; done

定时通知扫描并清理proxify日志

*/2 * * * * /path/to/trufflehog.sh
*/2 * * * * find /tmp/proxify_logs/ -type f -mmin +5 -exec rm -f {} ;

可视化

docker run -d -p 5601:5601 -e "ELASTICSEARCH_USERNAME=elastic" 
  -e "ELASTICSEARCH_PASSWORD=jjfujj" 
  --link elasticsearch:elasticsearch 
  docker.elastic.co/kibana/kibana:7.17.10

0x03 功能验证

trufflehog提供了非常多敏感信息验证代码

cd trufflehog/pkg/sources/

python3 -m http.server 8889

#测试浏览走proxify代理进行验证

curl -x 'http://127.0.0.1:8888' 'http://127.0.0.1:8889/git_test.go'

扫描器开发系列之敏感信息提取

扫描器开发系列之敏感信息提取

后续所有接口重放/漏洞扫描的流量走proxify的代理即可

0x04 写在后面

  • • 需要大量正则匹配(性能消耗)的工作放到端上做对日站的体验影响非常大,非常难受。

  • • 修别人的bug真难受,需求不复杂的话不如自己造轮子。

  • • 实际上开发/运维领域有很多现成的系统也可以完成该需求,不过对于这样一个小的需求来说,过于臃肿了,规则维护也比较麻烦。

原文始发于微信公众号(Medi0cr1ty):扫描器开发系列之敏感信息提取

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月15日14:35:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   扫描器开发系列之敏感信息提取https://cn-sec.com/archives/2924817.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息