红队 | 针对大规模资产的攻击思路
发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
1、背景 最近参加了一次攻防演练,因为准备不够充分导致结果差强人意,事实证明,没有一个清晰的思路在这个拼手速的时代是干不过人家的,事后重新梳理总结一下。 其实也没什么新东西,总体大概就是尽可能全面的搜集资产,然后全方位扫描,最后搭配手工扩大战果。 2、收集资产 根据IP收集url 使用棱洞魔改版:https://github.com/lemonlove7/EHole_magic .ehole.exe fofaext -l ip.txt ip.txt的话格式最好是xxx.xxx.xxx.xxx:xxx afrog会自动识别扫描 61.*.*.*:909061.*.*.*:338961.*.*.*:5361.*.*.*:900061.*.*.*:754761.*.*.*:143361.*.*.*:200061.*.*.*:829161.*.*.*:55461.*.*.*:9090 goby全端口扫描 测绘平台收集url https://hunter.qianxin.com/ https://fofa.info/ https://quake.360.cn/ 多语法搜索 不同的语法进行资产搜集,搜集的资产会更全面 以 fofa 为例 domain="xxxx.com" host="xxxx.com" header="xxxx.com" cert="xxxx.com" 其他手段 google语法 查找文本内容:site:*.edu.cn intext: vpn | 用户名 | 密码 | 帐号 | 默认密码查找后台地址:site:域名 inurl:login|admin|manage|member|admin_login|login_admin|system|login|user|main|cms查找可注入点:site:域名 inurl:aspx|jsp|php|asp查找上传漏洞:site:域名 inurl:file|load|editor|Files找eweb编辑器:site:域名 inurl:ewebeditor|editor|uploadfile|eweb|edit存在的数据库:site:域名 filetype:mdb|asp|#查看脚本类型:site:域名 filetype:asp/aspx/php/jsp迂回策略入侵:inurl:cms/data/templates/images/index/ 各种敏感数据收集: filetyle:xls inurl:gov username passwordinurl:phpmyadmin/main.php intitle:phpmyadminfiletype:inc inurl:config.inc hostfiletype:sql cdb_members inurl:forumdatafiletype:txt inurl:"新建文本文档.txt"密码inurl:phpinfo.php intitle:"phpinfo()""PHP Version"+"Server API"filetype:log inurl:log mdb github *.edu.cn password 3、漏洞扫描 awvs 这里我用的是docker,直接运行下边的命令 docker run -it -d -p 13443:3443 xiaomimi8/docker-awvs-14.7.220401065 这里还要搭配另一个工具来批量添加任务https://github.com/test502git/awvs14-scan 使用前先在config.ini修把url和apikey修改为自己的 nuclei 工具下载地址https://github.com/projectdiscovery/nuclei nuclei -list urls.txt xray 下载高级版https://www.iculture.cc/ 被动代理就不说了,这里说下另一种批量主动的方法 # coding:utf-8 import reimport osimport sysimport time def scan(): file = open("urls.txt") urls = [] for line in file: lines = line.strip('n') urls.append(lines) file.close() for url in urls: name = url.replace('https://', '').replace('http://', '').replace('/', '').replace('n', '').replace(':', '-') try: os.mkdir('scan_report') except: pass cmd = 'xray.exe webscan --basic-crawler {0}/ --html-output {1}.html'.format(url.replace('n', ''), './scan_report/' + name) os.system(cmd.replace('n', '')) time.sleep(0.2) if __name__ == "__main__": scan() 代码保存为urlscan.py 很简单,url放urls.txt里,urls.txt放xray.exe根目录 接下来还要稍微改下xray配置config.yaml 把过滤gov什么的删了或者注释掉 python urlscan.py 结束后会自动生成scan_report目录,结果都保存在里面 afrog 下载地址https://github.com/zan8in/afrog 常用方法,只要中危及以上的漏洞 .afrog.exe -T url.txt -S medium, high, critical api扫描 urlfind 工具下载地址https://github.com/pingc0y/URLFinder 项目中有详细的使用说明,这里写下我比较常用的 .URLFinder-windows-amd64.exe -s 200 -m 3 -u http://124.71.137.81:8081 -o . Packer-Fuzzer 工具地址https://github.com/rtcatc/Packer-Fuzzer 4、手工测试 web逻辑漏洞 任意用户注册可爆破用户名爆破用户名,密码用户名注入万能密码用户名Xss修改返回包信息,登入他人账户修改cookie中的参数,如user,adminid等HTML源码、JS等查看信息搜集后台登录参数修改为注册参数/reg、/register、/sign等密码重置1.重置一个账户,不发送验证码,设置验证码为空发送请求。2.发送验证码,查看相应包3.验证码生存期的爆破4.修改相应包为成功的相应包5.手工直接跳转到校验成功的界面6.两个账户,重置别人密码时,替换验证码为自己正确的验证码7.重置别人密码时,替换为自己的手机号8.重置自己的成功时,同意浏览器重置别人的,不发验证码9.替换用户名,ID,cookie,token参数等验证身份的参数10.通过越权修改他人的找回信息如手机/邮箱来重置 RCE漏洞 1.url参数,不仅仅可能存在ssrf漏洞,也有很大概率存在命令执行,可能调用系统命令如curl 示例: index.php?id=2;}phpinfo();/*http://www.xxx.com/cmd.php?cmd=whoamihttp://xxx.cn/AdminPage/conf/runCmd?cmd=id 2.变量/提交的数据 常见在post包中exec、shell、path等参数 测试payload: & 不管前后命令是否执行成功都会执行前后命令&& 具有短路效果。前面的命令执行成功才能执行后面的命令| 管道符, 上一条命令的输出,作为下一条命令参数(输入) 。在拼接时,无论左边是false还是true,右边都会执行|| 具有短路效果。 前面的命令执行不成功才能执行后面的命令 各种框架、cms通用nday https://github.com/MzzdToT/HAC_Bored_Writing 5、横向思路 fscan工具 https://github.com/shadow1ng/fscan/releases/tag/1.8.2 各数据库弱口令扫描 手工测试 通过命令行快速收集服务器网络拓扑、密码等重要文件。 dir /a /s /b "D:*.txt"dir /a /s /b "D:*pass*"dir /a /s /b "D:*login* dir /a /s /b "D:*user* dir /a /s /b D:\password.txt dir /a /s /b "D:*.conf" "D:*.ini" "D:*.inc" "D:*.config"dir /a /s /b "C:*.txt" "C:*.xls*" "C:*.xlsx*" "C:*.docx" | findstr "拓扑"/C 参数来指定要查找的字符串 但是有双引号的话加不加/C感觉区别不大dir /a /s /b "C:*.conf" "C:*.ini*" "C:*.inc*" "C:*.config" | findstr /C:"运维"dir /a /s /b "D:*.txt" "D:*.xls*" "D:*.xlsx*" "D:*.docx" | findstr /C:"密码" 部分命令执行结果 编写成一键式bat @echo off set "drive=D:"dir /a /s /b "%drive%*.txt" >>result.txtdir /a /s /b "%drive%*pass*" >>result.txtdir /a /s /b "%drive%*login* >>result.txtdir /a /s /b "%drive%*user* >>result.txtdir /a /s /b "%drive%password.txt" >>result.txtdir /a /s /b "%drive%*.conf" "%drive%*.ini" "%drive%*.inc" "%drive%*.config" >>result.txtdir /a /s /b "%drive%*.txt" "%drive%*.xls*" "%drive%*.xlsx*" "%drive%*.docx" | findstr "拓扑" >>result.txtdir /a /s /b "%drive%*.conf" "%drive%*.ini*" "%drive%*.inc*" "%drive%*.config" | findstr /C:"运维" >>result.txtdir /a /s /b "%drive%*.txt" "%drive%*.xls*" "%drive%*.xlsx*" "%drive%*.docx" | findstr /C:"密码" >>result.txtecho "find success" 保存为23.bat直接运行即可,最后在result.txt中查看运行结果 作者:when原文:https://mzzdtot.github.io/2023/07/20/0710redteam/ 黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担! 如侵权请私聊我们删文 END
- 上一篇:webpack下加密方法提取思路
- 下一篇:一次艰难的省HVV外网打点