只开了一台靶机。这里我以本地的环境为例简单讲一些重要的指令和过程

外网打点

image-20250314101136085

除了回环地址和我的物理机外,设备有两台,.80.201

用fscan扫一下

image-20250314101540070

只能扫到.80,应该是.201有防火墙,那就从这台开始入手

image-20250314101729955

重点放在服务上,会发现7001端口开了http。这个端口一般是weblogic,所以直接上工具(shack2/javaserializetools

image-20250314101925791

检查发现存在CVE2017,换个工具(sp4zcmd/WeblogicExploit-GUI)直接上冰蝎马

先确保能执行

image-20250314102104096

然后直接上马。建议上完内存马再上一个webshell,因为实测起来内存马容易连不上

image-20250314104801469

image-20250314105218797

这里要注意冰蝎启动前先换到11或17,否则会出现连不上的情况(没有的话可以用apt install openjdk-17-dev安装)

image-20250314105412389

这里我连webshell

image-20250314105256700

成功上线

image-20250314105434511

上来后选择虚拟终端先再命令执行页面执行whoami查看权限

image-20250314105524096

目的是查看权限和确保马能正常使用。接着为了方便内网信息搜集,所以要上CS或者msf。这里我选择CS,但是如果直接上Beacon会被杀软干掉,所以我们要想办法绕过。一种办法是做免杀马,但比较麻烦,所以我们选择用CS的Web Drive-by绕

首先监听器是必须的,就不演示了

image-20250314110042699

接着选择Attack->Web Drive-by->script web delivcery

image-20250314110335555

点击Launch后会给你一段powershell的马,直接再冰蝎运行即可,等待十五秒左右就能上线

image-20250314112318074

接着修改sleep,然后进行提权和内网信息搜集。

不过如果你想用msf内置的CVE拿meterpreter也是可以,只不过后面提权msf会遇到问题,还是得转到CS。如果你用的是msf,想转到CS,可以用下面的方法来

首先还是在CS弄好监听器,

接着将meterpreter放到background,接着按下面的步骤来设置

img

就能成功上线CS

内网横向

先提权,SVC即可

image-20250314113505174

image-20250314113521817

接着关防火墙,开3389

netsh firewall set opmode disable

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

接着扫目标,可以用portscan也可以用net view(查看域存活主机)。当然要是你想上fscan也可以,只不过有360所以被干掉的概率比较大

image-20250314113559773

就能看到10段的内网靶机列表。不知道怎么进入这个列表去看第一场wp

image-20250314113710076

当然,如果你想看是否有360,只需要点击下port scan下面的process list就可以看到

image-20250314174142123

提权后理论上是可以直接杀掉的

.10是域控,我们试试能不能直接拿。首先看开了哪些端口。右键scan,用默认值即可。监听选system权限的

image-20250314173943533

image-20250314174213838

会发现开着445,那么我们就直接打psexec的smb横向。和第一场一样,先跑mimikatz和hash dump,让CS探测到有利用价值的信息

用户1:Admin

image-20250314174419160

用户2:mssql

image-20250314174426819

用户3:WEB$(但是没有明文密码,利用价值不高)

image-20250314174513557

hashdump只能拉出这三个用户

image-20250314174551221

来到psexec就会发现用户名和密码(hash)

image-20250314174707497

用hash或者明文都可以,这里我就直接拿Admin去登录试试。记得看域名,不要选错了

image-20250314174747100

不过在攻击前,一定要记得先创建smb listener,不然用http是收不到反弹的

image-20250314175040634

等待几秒后成功上线

image-20250314175113838

这样我们就拿下了域控和外网跳板机,也就还剩一台.201的PC。一样,先扫端口,不过这次我们的session选用刚被拿下的域控,扫到有价值的信息应该会更多一点

image-20250314180633670

开的端口并不多,不过有135和139也足矣。并且我们可以拿着Admin用户和另外一个mssql用户尝试登陆。记得listener一定要选smb的

image-20250314181156274

会发现mssql用户不行,只能用Admin用户。不过因为我们选择的是system,所以拿到的也是system,大功告成,至此3台机器已全部拿下

image-20250314181346349

还没完

不过这里有几个点要注意,就是psexec有时候碰到杀软可能会失效,所以我们要用psexec_psh。原因如下

image-20250314181444928

并且呢,在一些特殊的题目场景种可能还需要我们构造黄金票据,因为之前没讲过,所以就顺带讲一下。

黄金票据主要是用来维持权限,也就是当你连接域控不稳定或者无法拿到shell的情况下,就需要快速制作黄金票据,这样你就可以在没有shell的情况下依然能任意读取域内所有机器的文件。而制作黄金票据其实就是创建了一个有这种功能的万金油用户。

构造方法也很简单,在域控机还没下线时,先跑出dump hash和mimikatz,然后点击这里

image-20250314181937737

其中User任意,Domain填域名,SID可以用mimikatz跑出来一个和域名一样的用户名的SID。或者不行的话,也可以rdesktop到DC上,执行这段命令获取

image-20250314184125174

krbttgt hash一栏填我蓝标出来这一截

image-20250314182100490

然后就可以伪造票据

image-20250314184431826

这样就伪造成功了,来看看效果

这是伪造前

image-20250314184458544

这是伪造后

image-20250314184512497

最后再顺便记录一点msf的内网信息搜集命令,因为有些功能还是只在msf上有

网段搜集

img

靶机信息搜集

img

查看补丁信息

img

查看安装的程序

img

查看进程

在CS里可以用process list代替

img

进程迁移

img

msf提权

img

uca提权

img