freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

实战打靶之Timelapse
pony686 2022-12-05 11:50:21 261855
所属地 北京

主机发现

端口扫描

通过nmap进行端口端侧,发现存在18个开放端口。

1670211610_638d681a8496bad218a33.png!small?1670211610792

发现存在(Kerberos + LDAP + DNS + SMB)这种端口组合。说明可能dc01.timelapse.htb是域控制器。

1670211621_638d682568f371cf3cd46.png!small?1670211621761

并且系统为windows系统。

1670211630_638d682e0b09f8850109f.png!small?1670211630044

漏洞利用

爆破SMB

使用crackmapexec对其进行爆破。

1670211638_638d6836d16c0d3c186ba.png!small?1670211638671

发现没有找到可利用信息。

1670211649_638d6841990f2e2bf1a59.png!small?1670211649533

接着使用smbclient来进行连接。(-L列出共享和-N空身份验证)

其中$是所有 Windows 系统上的默认共享,其余几个可能是新建出来的。

1670211658_638d684a75c751d4f871c.png!small?1670211658575

接着使用crackmapexec来进行获取信息,-u输入任意账户。-p'' 里面必须为空。如果其中是一些字符的话,可能会报错。

1670211667_638d685394d92f3ed39e3.png!small?1670211667701

发现存在shares共享目录,然后使用smbclient进行读取文件。

1670211676_638d685ca8ec6e369f8f2.png!small?1670211676566

发现在其目录下存在一个压缩包。

1670211686_638d68666f97f72bd8647.png!small?1670211686346

使用get将其下载到本地,进行分析。

1670211694_638d686e3d6ab3d7f9567.png!small?1670211694143

分析文件

在HelpDesk有几个文件,都是关于 LAPS 的:

本地管理员密码解决方案 (LAPS) 是一种通过域管理本地管理员帐户密码的方法。如果没有圈数,支持团队很难管理为每个系统保留唯一的本地管理员密码。这会导致共享凭据,这意味着当攻击者在系统上获得提升的权限时,他们可以转储共享凭据并使用它来访问其他系统。

LAPS 还轮换管理员密码,定期更改它们,这样如果它们被攻击者捕获,它们会在一段时间后失效。

1670211702_638d6876be5104a88b2b4.png!small?1670211702882

爆破压缩包密码

使用unzip -l进行查看压缩包里面的内容。

1670211711_638d687f37dc38cb2497e.png!small?1670211711100

使用unzip进行解压,发现其存在密码验证。

1670211721_638d68890d58ac6b1613e.png!small?1670211720917

用zip2john用来生成一个可以被暴力破解的hash。

1670211735_638d68973cba7caf9a8e1.png!small?1670211735679

接着使用john对压缩包生成的hash进行爆破。

1670211744_638d68a006a4cb5ded0f6.png!small?1670211744054

接着找到了密码,对压缩包进行解压。

1670211752_638d68a88a0cf92c4f125.png!small?1670211752346

提取密钥

获取到了里面的.pfx文件,访问这个文件需要密钥验证。

我们需要从openssl中提取私钥和证书(公钥)。

1.使用pfx2john.py生成一个文件的hash。

1670211762_638d68b2bba15ad49d293.png!small?1670211763023

继续使用john进行爆破hash。

1670211769_638d68b9e40b2a27b1c8e.png!small?1670211770244

使用密码,可以提取密钥和证书。提取密钥时,它会要求输入密码(输入“thuglegacy”),然后是输出.pem文件的密码。

1670211778_638d68c25c16c13188784.png!small?1670211778437

我都是使用它的原来密码来进行操作,主要是为了好记。哈哈哈!

接着来转存证书。

1670211788_638d68cc5b6865eb16a65.png!small?1670211788218

现在密钥和证书都有了,我们就可以连接主机了。

第一次远程连接

evil-winrm是从 Linux 主机连接到 WinRM 的工具。-h会提示它的用法。

1670211808_638d68e0b60fb62e62010.png!small?1670211808849

本次连接主要-用到了-S、-c、-k、-i等参数。

  • -S- 启用 SSL,因为我连接到 5986;
  • -c legacyy_dev_auth.crt- 提供公钥证书
  • -k legacyy_dev_auth.key- 提供私钥
  • -i timelapse.htb- 要连接的主机

1670211818_638d68ea96c1dda1ebadc.png!small?1670211818558

成功连接,连接之后就找Desktop下的文件。发现有user.txt,第一个flag已经找到了。

获取user.txt

1670211830_638d68f636efdf7a25f55.png!small?1670211830241

使用net use 查看用户权限。

1670211838_638d68fe114e8c99ae84a.png!small?1670211838145

使用whmai /priv 查看用户所属的组。

1670211845_638d6905ba80a5e7a021b.png!small?1670211845746

权限提升

检查PowerShell历史文件

查看PowerShell 历史文件。

这个在应急响应中,检查windows主机,可以查看一下这个目录。

C:\Users\legacyy\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine

1670211854_638d690e941aace1e2101.png!small?1670211854620

目录下存在一些历史记录,包含了一些用户的远程连接记录。

发现存在用户名和密码。

1670211863_638d69177805340531186.png!small?1670211863550

第二次远程连接

接着继续新开一个winrm,使用新的用户名和密码进行连接。

使用whoami /priv查看用户分组。

1670211872_638d692054b93f7a57e01.png!small?1670211872347

使用net user 查看用户权限。

LAPS_Readers这个分组似乎在说明 svc_deploy 有权从 LAPS进行 读取。

1670211880_638d6928a8322a3c0bf34.png!small?1670211881153

使用 LAPS,DC 管理域中计算机的本地管理员密码。通常创建一组用户并授予他们读取这些密码的权限,从而允许受信任的管理员访问所有本地管理员密码。

读取密码

要读取 LAPS 密码,我只需要使用Get-ADComputer并专门请求该ms-mcs-admpwd属性

使用Get-ADComputerDC01-property'ms-mcs-admpwd',进行读取密码。

1670211887_638d692fe1ef5202a9041.png!small?1670211887957

成功读到了密码:-c.I3I#+7Z},b;h01c$8D05r。

接着使用administrator和新获取到的密码。进行登录。

第三次远程连接

1670211897_638d693922741e62d9601.png!small?1670211897265

寻找root.txt

接着和往常一样,进入Desktop目录下找root.txt文件,发现在Desktop下文件是空的。

1670211904_638d69409e27fae5758c3.png!small?1670211905051接下来去翻user目录,发现存在一个TRX目录。

1670211913_638d6949005d86d76eaef.png!small?1670211913285

获取root.txt

然后进行TRX目录,找到了root.txt文件。

1670211923_638d695364a7e34001e10.png!small?1670211923320

总结:

靶机主要nmap端口扫描开始,然后发现域控制器ip。对其端口开放的服务进行分析,使用**crackmapexec**进行爆破,**smbclient**获取到smb服务下的目录。然后使用smbclient进行读取目录下的文件。使用get命令下载到本地。然后对其目录下的文件进行分析,接着使用**zip2john**工具生成文件hash,使用john进行hash碰撞。使用**pfx2john.py**脚本提取openssl处的私钥和证书。然后爆破密码并进行提取密钥和证书。使用**evil-winrm**进行远程连接,检查**powershell**历史文件,发现密钥,读laps密码。最后再次进行连接。找到root.txt

# 渗透测试 # web安全 # 系统安全 # 数据安全 # 网络安全技术
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 pony686 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
红队攻防演练
pony686 LV.6
公众号:亿人安全
  • 64 文章数
  • 427 关注者
Java安全红队面试详解 | servlet 内存马原理分析和POC编写和查杀
2025-03-25
记一次域内渗透实战之Cragty
2025-03-10
JAVA安全——红队面试常问问题之Shrio漏洞详解
2025-03-06
文章目录