napping-1.0.1-vulnhub靶场

环境信息

靶机:192.168.124.147
攻击机:192.168.124.129

打靶过程

nmap 扫描端口及服务

image

发现开放 22,80 端口

目录扫描

image

访问 /config.php 是一个空白页

image

访问 80 端口是一个登录页面,发现可以注册

image

注册一个 test 用户并登录,提示让输入一个链接地址,管理员将审核

image

输入“https://baidu.com”并点击提交,发现出现了 a 标签链接可点击

image
image

点击后打开一个新的标签页就是输入的链接地址

image

这里使用 a 标签,并且 target=_blank,没有使用 rel="noopener/noreferrer" 属性,这样跳转很容易受到 tap nabbing 钓鱼攻击;同时使用 window.open 方法也存在该漏洞。

tap nabbing 钓鱼攻击

创建两个页面 a.html,b.html
a.html 为正常页面,b.html 为恶意页面

image

攻击机在该目录下开启 http 服务,并监听 7777 端口

image

在页面中输入恶意页面地址并提交

image

等待一会儿后,果然管理员上钩了,监听返回了数据包,包含了账号密码:daniel/C%40ughtm3napping123

image

其中的 %40 是 url 编码,解码为 @ 符号

image

ssh 登录

最终账号密码为 daniel/C@ughtm3napping123
ssh 登录该用户

image

查找用户组可执行的程序

发现该用户也在 administrators 用户组下
那么查找一下 administrators 组可以运行的程序

find / -group administrators 2>/dev/null

#如果在 Linux 执行 find 命令时弹出大量内容到终端,可以追加 2>/dev/null 在命令末尾,表示:把错误输出到 “黑洞”
Linux系统预留可三个文件描述符:0、1、2,意义如下:
0——标准输入(stdin)
1——标准输出(stdout)即输入到终端
2——标准错误(stderr)

image

发现定时执行程序

发现该 query.py 脚本是一个检查网站状态的脚本,并且在对 site_status.txt 进行写入操作

image

查看 site_status.txt 文件,发现每两分钟写入一次,说明 query.py 每两分钟执行一次

image

反弹 shell

既然 administrators 组用户对该脚本有写权限,我就可以在脚本里加入执行反弹 shell

image

先生产一个 python 脚本的 shell

image

稍加改动后,加入 query.py 脚本中:

image

稍等 2 分钟后,成功反弹 shell
当然,这里也可以在外面创建一个 shell.sh 脚本,在 query.py 中添加执行 shell.sh 脚本的命令也可反弹

image

在用户家目录下查看,发现似乎离得到 flag 还差一点

image

vim 提权

使用命令 sudo -l,发现可以以 sudo 权限执行 vim

image

查询发现 vim 命令可提权

image

那么直接提权

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

image

成功获取 flag

image

总结

1.tap nabbing 钓鱼:这里使用 a 标签,并且 target=_blank,没有使用 rel="noopener/noreferrer" 属性,这样跳转很容易受到 tap nabbing 钓鱼攻击;同时使用 window.open 方法也存在该漏洞。
2.用户组权限:find / -group administrators 2>/dev/null 查看administrators用户组可执行的程序
3.vim 提权:vim 被允许以 root 权限运行,可维持该权限

posted @ 2022-08-10 11:28  r0ure  阅读(158)  评论(0编辑  收藏  举报