Active Directory 101-Resolute

前言

这一台机器相比较前几台机器 更加简单 难点主要在于最后提权那里。

信息收集

Nmap scan report for 10.10.10.169
Host is up (0.39s latency).
Not shown: 65476 closed ports, 36 filtered ports
PORT      STATE SERVICE      VERSION
53/tcp    open  domain?
| fingerprint-strings: 
|   DNSVersionBindReqTCP: 
|     version
|_    bind
88/tcp    open  kerberos-sec Microsoft Windows Kerberos (server time: 2022-10-12 08:19:11Z)
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: megabank.local, Site: Default-First-Site-Name)
445/tcp   open  microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds (workgroup: MEGABANK)
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: megabank.local, Site: Default-First-Site-Name)
3269/tcp  open  tcpwrapped
5985/tcp  open  http         Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
9389/tcp  open  mc-nmf       .NET Message Framing
47001/tcp open  http         Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
49664/tcp open  msrpc        Microsoft Windows RPC
49665/tcp open  msrpc        Microsoft Windows RPC
49666/tcp open  msrpc        Microsoft Windows RPC
49669/tcp open  msrpc        Microsoft Windows RPC
49670/tcp open  msrpc        Microsoft Windows RPC
49674/tcp open  ncacn_http   Microsoft Windows RPC over HTTP 1.0
49675/tcp open  msrpc        Microsoft Windows RPC
49680/tcp open  msrpc        Microsoft Windows RPC
49709/tcp open  msrpc        Microsoft Windows RPC
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port53-TCP:V=7.80%I=7%D=10/12%Time=634676E0%P=x86_64-pc-linux-gnu%r(DNS
SF:VersionBindReqTCP,20,"\0\x1e\0\x06\x81\x04\0\x01\0\0\0\0\0\0\x07version
SF:\x04bind\0\0\x10\0\x03");
Service Info: Host: RESOLUTE; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| smb2-security-mode: 
|   3.02: 
|_    Message signing enabled and required
|_smb2-time: Protocol negotiation failed (SMB2)

密码喷洒

使用控身份连接到RPC

image-20231211164027720
image-20231211164059793

得到一组账号密码 尝试进行登陆。

经过crackmapexec验证发现该用户不能登录,我们把前面发现的用户名都存入userlist.txt 然后使用crackmapexec进行密码喷洒

crackmapexec smb 10.10.10.169 -u userlist.txt -p 'Welcome123!' --continue-on-success
img

喷洒出可登录的用户 直接登录

evil-winrm -i 10.10.10.169 -P 5985 -u melanie -p 'Welcome123!'
image-20231211164322432
image-20231211164656637
image-20231211164902807

发现了一个存有ryan用户名和密码的txt文件

dnsadmin组实现权限提升

我们通过这个账号密码 尝试进行登录。

evil-winrm -i 10.10.10.169 -P 5985 -u ryan -p 'Serv3r4Admin4cc123!'
image-20231211165046789

成功进入。

我们在ryan用户的桌面发现了一个note.txt文件,内容如下:

due to change freeze, any system changes (apart from those to the administrator account) will be automatically reverted within 1 minute
翻译:由于更改冻结,任何系统更改(除了管理员帐户的更改)将在 1 分钟内自动恢复
image-20231211165209565

该组可以进行远程加载DLL 可通过构造恶意的DLL实现反弹shell

https://3gstudent.github.io/backup-3gstudent.github.io/%E5%9F%9F%E6%B8%97%E9%80%8F-%E5%88%A9%E7%94%A8dnscmd%E5%9C%A8DNS%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E5%AE%9E%E7%8E%B0%E8%BF%9C%E7%A8%8B%E5%8A%A0%E8%BD%BDDll/

image-20231211165405531

生成恶意的DLL马

image-20231211165554161

远程加载恶意DLL以及重启DNS服务操作。

注意:在实际的生产环境中重新DNS服务属于危险操作。

观察反弹端口端的情况

image-20231211165726735

成功反弹过一个高权限的shell 实现提权效果。

还可以将恶意dll的操作设置为重置管理员密码 然后使用新的密码 进行横向操作。

总结

这一台靶机相对比较轻松,最后提权那里对于DNSadmin不太熟悉,卡了一会。大概的思路就是 通过信息收集 和枚举通过空身份登录到RPC然后枚举出了一堆账号和一组密码 通过密码喷洒 得到一组可以登录的账号密码,成功登录上去。然后就是一顿翻,最后翻到隐藏文件中有一个txt写了ryan的账号密码 通过evil winrm成功登录上去后 发现该账号是DNS admin组的 该组可以实现远程调用DLL 然后使用MSF生成恶意的DLL 填好端口和IP信息 最后实现了反弹shell的效果 这个shell是一个高权限的shell 成功实现了反弹shell的操作