红队|针对大规模资产的渗透测试思路

admin 2024年8月6日14:23:49评论42 views字数 4572阅读15分14秒阅读模式

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」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://mzzdtot.github.io/2023/07/20/0710redteam/

原文始发于微信公众号(云息信安):红队|针对大规模资产的渗透测试思路

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月6日14:23:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   红队|针对大规模资产的渗透测试思路https://cn-sec.com/archives/2009343.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息