日常渗透刷洞的一些小工具
2022-11-10 08:10:7 Author: 系统安全运维(查看原文) 阅读量:60 收藏

项目地址
https://github.com/givemefivw/SecurityServiceBox
一个Windows平台下既可以满足安服仔日常渗透工作也可以批量刷洞的工具盒子。集合了常见的域名收集、目录扫描、ip扫描、指纹扫描、PoC验证等常用工具,方便安服仔快速展开渗透测试
更新·题外话—终端选取
在盒子的tools当中,很多工具运行都是带有颜色标识的,例如nuclei, vulmap,原生的cmd终端虽然方便快捷,但因为平台环境的不同导致运行时颜色选项显示成一堆杂乱的字符,十分影响观感。所以说下题外话供参考。
自从微软更新了Windows Terminal之后,将其替换默认cmd都是最好的选择,但是很可惜替换默认的功能仅适用于Win11和Win10的特定版本,而不满足的版本无法通过Terminal的设置替换默认cmd。
所以只能退而求其次,选用cmder工具。
通过管理员设置Cmder.exe /REGISTER ALL注册,可以达到右键打开的功能,如下:
替换后的效果:
此时运行只需要在Cmder对话框切换,不需要再使用Windows的任务栏一个一个打开看。
当然,终端cmd仅是为了美化,看起来好看一些,除Cmder之外还有很多更好用的代替工具,娱乐之余,仅供参考。

前言

作为一个安服仔,日常渗透中,不同阶段所使用的工具是不同的,除开自动化一条龙的脚本之外,很多时候是需要反复的进入不同的文件夹运行不同的命令,每次使用工具的时候命令可能也是一样的,那么是否有种方式将常用的工具,常用的命令集成在一起,渗透的时候仅需给定目标,就可以调用工具自动执行命令。
之前流行过的GUI_Tools是一个,有了图形化页面,点击即可运行,但是一个是在Windows环境下界面实在不敢恭维,一个是无法更好的交互(或者也许我没找到交互的方式)。
后来无意间发现了阿浪师傅写的一个自用的命令行调用工具,也就是Wanli的初始版本。
最初的设定是“把常用的工具给做了一个调用整合到一个程序内,功能拓展比较方便,目前是根据自己的一些习惯写的,比如目录扫描、子域名爆破+验证、漏洞扫描”。
就相当于一个快捷启动工具,与GUI_Tools不同的是,Wanli可以更好的交互,执行自定义的命令。当然,并无比较的意思,两个师傅的工具都有在用(手动狗头 :)。
Wanli的项目地址:https://github.com/ExpLangcn/WanLi‣
与最初的版本不同,最新的Wanli定位发生了变化,由自用的调度工具变为了偏向红队的收集漏扫一体化工具,效果同样顶呱呱。本篇文章依据Wanli的初始版本。

运行截图

运行主界面:
基于Win环境下运行cmd /k 即可新开cmd窗口,除collect_subdomain之外,其余工具均可无需等待当前命令执行结束直接执行下一条命令。且支持TAB键关键字自动补全。
动态截图:
命令执行结束后,在results文件夹下可查看输出的报告(Finger扫描的结果在tools/collect/finger/output文件夹内)

 集合

目前为止,工具集合了常见的域名收集、目录扫描、ip扫描、指纹扫描、PoC验证等常用工具,具体如下:
域名收集:
  • subfinder:subfinder(github.com)
  • ksubdomain:knownsec/ksubdomain: 无状态子域名爆破工具 (github.com)
指纹扫描:
  • Finger:EASY233/Finger: 一款红队在大量的资产中存活探测与重点攻击系统指纹探测工具 (github.com)
ip扫描:
  • smap:s0md3v/Smap: a drop-in replacement for Nmap powered by shodan.io (github.com)
  • fscan:shadow1ng/fscan: 一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。(github.com)
  • goon: (github.com)
目录扫描:
  • dirsearch:maurosoria/dirsearch: Web path scanner (github.com)
  • ffuf:ffuf/ffuf: Fast web fuzzer written in Go (github.com)
PoC扫描:
  • afrog:zan8in/afrog: 一个挖洞工具 - A tool for finding vulnerabilities (github.com)
  • autoxray:内置,xray basic爬虫模式自动批量扫描
  • nuclei:projectdiscovery/nuclei: Fast and customizable vulnerability scanner based on simple YAML based DSL. (github.com)
  • pocsearch:内置,搜索CVE编号漏洞的poc/exp在Github的地址
  • rad:chaitin/rad (github.com)
  • vulmap:zhzyker/vulmap: Vulmap 是一款 web 漏洞扫描和验证工具, 可对 webapps 进行漏洞扫描, 并且具备漏洞验证功能 (github.com)
  • xrad:内置,xray和rad联动扫描
中间件检测利用:
  • Shiro: https://github.com/j1anFen/shiro_attack
  • Struts2
  • ThinkPHP
  • Weblogic:https://github.com/21superman/weblogic_exploit
  • 通达OA
socks5代理:
  • RotateProxy:akkuman/rotateproxy: 利用fofa搜索socks5开放代理进行代理池轮切的工具 (github.com)
其他工具:
  • AppInfoScanner:https://github.com/kelvinBen/AppInfoScanner
  • frida-skeleton:https://github.com/Margular/frida-skeleton
  • Packer-Fuzzer:https://github.com/rtcatc/Packer-Fuzzer

定位

如前言中所说,此框架仅仅是把渗透的常用工具集成进来,作为一个快速启动,并将输出统一到同一项目文件夹下,方便安全测试人员快速高效展开渗透测试。所以定位就是渗透盒子,辅助工具。但通过将subfinder、ksubdomain、finger整合,通过一条命令也可做到资产收集验证指纹扫描,结合PoC扫描验证也可进行批量刷洞。
安装

拉取项目

依赖于Py3.6以上版本
git clone https://github.com/givemefivw/SecurityServiceBox.git
cd SecurityServiceBox
pip install -r requirements.txt
python main.py

下载工具

考虑到安全性,项目里面未存放tools,需自行将工具下载至本地
增删改查
得益于阿浪师傅的框架,仅需四步即可实现工具的增删改查:
Step 1 下载所需工具
将工具下载至项目的tools文件夹下,可根据工具的功能进行分类,例如以下pocScan文件夹下存放的是nuclei、vulmap等poc扫描工具:
Step 2 添加config参数
修改config/config.py中,将新增的工具的路径添加进去,除python环境的绝对路径之外,其余工具推荐使用相对路径,由于是Win环境,在添加exe工具时,需要使用\\\\符号防止转义:
Step 3 注册参数
例如想添加pocscan_nuclei扫描,那么我们只需在main.py里面添加如下代码:
pocscan_nuclei_parser = Cmd2ArgumentParser() pocscan_nuclei_parser.add_argument("-u", nargs='?', help="扫描单个目标") pocscan_nuclei_parser.add_argument("-f", nargs='?', help="指定文本进行批量漏洞扫描") pocscan_nuclei_parser.add_argument("-p", nargs='?', help="设置socks代理进行批量漏洞扫描") @cmd2.with_argparser(pocscan_nuclei_parser)
此时即可完成参数的注册及帮助信息。
Step 4 添加命令
lib/cmd/wanli.py文件中,定义预期执行的命令,例如添加nuclei批量扫描,通过system函数,调用config文件中定义的路径中的工具,执行拼接好的完整命令,增加或修改如下代码:
@staticmethod def nuclei_file(file): system(config.config.pocscan_nuclei + " -ut && " + config.config.pocscan_nuclei + " -update") system(r"start cmd /k " + config.config.pocscan_nuclei + r" -l " + file + " -s medium,high,critical -rate-limit 100 -bulk-size 25 " "-concurrency 25 -stats -si 300 -retries 3")
此时就完成了一个工具执行的添加
Step 5 引用命令
最后一步,在main.py函数里面,添加调用:
def do_pocscan_nuclei(self, args): '''nuclei进行漏洞扫描''' if args.u: url = args.u lib.cmd.wanli.PocScan.nuclei_single(url) if args.f: file = args.f lib.cmd.wanli.PocScan.nuclei_file(file) if args.p: proxy = args.p lib.cmd.wanli.PocScan.nuclei_proxy(proxy)
至此,新的集合添加完毕,只需运行main.py,在控制台输入pocscan_nuclei -f url.txt接着回车,就可以调用nuclei执行完整的命令。
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权

如有侵权,请联系删除

好文推荐

红队打点评估工具推荐
干货|红队项目日常渗透笔记
实战|后台getshell+提权一把梭
一款漏洞查找器(挖漏洞的有力工具)
神兵利器 | 附下载 · 红队信息搜集扫描打点利器
神兵利器 | 分享 直接上手就用的内存马(附下载)
推荐一款自动向hackerone发送漏洞报告的扫描器
欢迎关注 系统安全运维

文章来源: http://mp.weixin.qq.com/s?__biz=Mzk0NjE0NDc5OQ==&mid=2247511902&idx=1&sn=e7c029f9871358270bc3f9551c74a1a2&chksm=c3087c2ef47ff53838809f5bbc91cf2085dcabfcc9a712113a02d43e551aadf6e43475178deb#rd
如有侵权请联系:admin#unsafe.sh