0x00 前言
某一天,Szrzvdny表哥在群里分享了基于ThinkPHP的cms后台getshell的姿势,然后实际中真碰到一个用jymusic cms搭建的网站,就测试了一波,后来没空提权,就问了我。那我就练练手,平常也没提权过。下面用本地环境模拟测试过程,因为实战忘记截图了,不想再搞一次,毕竟只是检测。
0x01 UDF提权
默认账号:admin密码admin登录后台(是的,就是弱口令)。登陆后,就插PHP一句话木马吧,至于原理什么的,我在之前的文章中已经浅浅的分析了下:基于ThinkPHP的2个cms后台getshell利用
插完一句话,看一下有没成功
可以成功执行,那我们就上菜刀
打开菜刀虚拟终端,执行命令看看,下面是本地执行命令的结果。实际上,那个网站上装了防护软件,由于我们权限不够,不管执行什么命令,都不会返回命令执行结果
是时候上传UDF大马了
浏览器访问我们的udf大马
导出dll文件即可执行提权,执行命令也会有回显
现在来查看一下远程桌面的端口是哪个,有时候管理员会修改默认的3389端口,可以使用一下命令进行确定远程桌面服务的端口
使用tasklist /svc | findstr TermService查看远程桌面程序的PID
使用netstat -nao | findstr 1396查看远程桌面程序运行的端口号
由于我比较懒,不想直接添加远程登录账号,而且我又有administrator用户权限,干脆直接留后门好了,使用以下命令直接替换粘滞键程序:copy C:\WINDOWS\system32\cmd.exe C:\WINDOWS\system32\sethc.exe /Y 如果你对这个不熟悉,可以看我以前写的文章:一次渗透实战记录
远程连接该主机,按5下shift键直接调用后门cmd程序,可以看到权限为system
接下来不需要添加账户,直接使用远程桌面会话劫持技术
0x 02 general_log获取webshell
上面其实已经完成了整个渗透过程,但是在交流的过程中,发现还可以通过修改利用mysql的genera配置文件来实现获取webshell,这里做个记录。
最后查看是否写入成功,是否可用
具体分析可以参考这篇文章:Mysql root账号general_log_file方法获取webshell
0x03 遇到的问题
在自己搭建的环境中,发现那个dll文件无法导出
原因及解决方法如下
0x 04总结
每次学习,我都会做一次总结,由于实战经验不足,导致每次好多东西要边Google边操作,还是是要多练练。最后,附上Szrzvdny表哥的blog地址:http://www.inksec.cn/