02_FourandSix2.01-doas下less命令+vi编辑器提权-7z文件解密

发布时间 2023-03-26 00:34:03作者: Ben_JM

本文档只做技术交流,切勿进行违法犯罪操作,请做一个好人,不要给别人添麻烦

整体思路流程

可以参考以下思路进行尝试:
首先有nmap进行信息收集,然后发现开放的22端口ssh服务,另外检收集到nfs文件共享,查看文件共享的信息,发现为everyone所有人可看,利用文件挂载将靶机中的文件挂载到本机,发现问价是一个.7z的压缩包,尝试解压但是压缩文件有密码,根据密码输入错误的解压结果来看发现里面有10个文件,其中八张图片还有一组公私钥,公私钥中可能存在着密码信息,破解压缩包,利用john进行压缩包破解,破解成功后分析文件信息,图片没有有用的信息,公钥中有一个用户名,尝试ssh登录但是需要输入密码,于是对私钥进行破解还是使用john,破解出密码进行ssh登录,登录成功后查看用户有哪些特权文件的时候发现doas文件,当前操作系统为OpenDBS这个文件可以用来提权,文件的默认配置文件是/etc/doas.conf,打开后发现有一个配置是不需要输入密码可以执行less命令的,接着利用less去读取后面参数的配置文件,此时打开的是vi编辑器,doas是一个高权限的命令可以被当前用户所执行,目标是如何将这个权限引导到shell上,在vi编辑器中输入vi可以出发编辑模式,输入:!可以执行shell命令,在测试中使用:!sh直接提权,提权后切换到root目录下查看flag文件,至此结束。

一、信息收集

首先进行靶机ip的确认,如何确认靶机的IP
在靶机未开前将靶机对内网进行扫描,然后将靶机开启再次进行扫描,对比两次扫描的结果即可[在线文本比对工具]
(https://www.jq22.com/textDifference "在线文本比对工具")

针对靶机的ip进行端口的扫描
nmap --min-rate 10000 -p- 192.168.20.20
image

根据扫描出的端口进行端口所开放的具体服务进行扫描,扫描结果可以看到开放的服务ssh7.9,rpc,nfs(网络文件,文件共享)
nmap -sT -sC -sV -O -p22,111,947,2049 192.168.20.20
T是tcp C是使用默认脚本 V是探测各服务版本信息 O是系统信息
image

进行udp服务的扫描,可以看到111端口和2019端口文件共享是开放状态
nmap -sU -p22,111,947,2049 192.168.20.20
image
继续使用nmap的默认脚本的漏洞的扫描,虽然不一定会有结果但是探测的过程不能没有,扫描结果显示有一个漏洞但是是DOS攻击没什么用,因为在渗透测试的过程中也基本不会允许使用DOS攻击
nmap --script=vuln -p22,111,947,2049 192.168.20.20
image

二、对上一步信息进行进一步处理

在上面有开放的nfs(文件共享)所以应该想到这个共享的文件都有什么呢,里面会不会存在一些文件泄露呢
showmount -e 192.168.20.20 //-e扫描靶机的出口信息
//showmount是针对目标靶机开放的文件进行扫描,这里可以了解一下,使用-h可以查看介绍
image

image
查看扫描的结果,显示有一个共享文件夹
image
尝试将文件夹的内容访问,将文件夹的内容映射到自己的攻击机里面,参数不懂的可以 -h这里的-t是将靶机路径的文件映射到我们的攻击机上面,在攻击机上创建一个文件夹用于存放接下来的文件
mount -t nfs 192.168.20.20:/home/user/storage everyone 可以看到文件已经在我们的攻击主机上
image

文件的后缀名是.7z,是一个压缩包,尝试查看文件会不会有什么隐藏信息,尝试解压文件
用file命令查看文件就只是一个标准的压缩包,尝试解压的时候发现需要输入密码
image

工具安装

密码尝试输入错误,只能进行暴力破解对压缩包的密码,使用开膛手john进行破解,在这里没有可能会提示没有环境的问题所以要安装一下这个工具安装命令是
cpan -i Compress::Raw::Lzma //i后面的内容找报错信息里面与之类似的进行安装,这个过程会有些卡顿,需要等待
当安装完成后可能会报红色的错 fatal error: zlib.h & lzma.h : No such file or directory
执行下面两个命令进行安装报错需要的软件
apt-cache search "liblzma" //下载
apt-get install liblzma-dev //配置安装编译需要的环境

继续

接下来使用该工具的时候我们要先将压缩包转成hash,这里再次提示一下,如果安装成功后使用mount进行挂载的时候提示文件目录不存在,换一个目录创建就可以了,可以看图中目录路径的变化
7z2john backup.7z > backup_hash //将压缩包转成hash
可以看到提示信息可能有敏感文件
image
查看一下文件目录是否成功可以看到文件已经生成了
image
接下来对生成的hash文件进行暴力破解,执行命令
john --format=7z --wordlist=/usr/share/wordlists/rockyou.txt backup_hash
这里使用的命令和第一期的一样,首先是文件的类型,然后是使用rockyou.txt脚本,最后是需要暴力破解的文件名,不一样的地方就是这里需要安装新的环境,上面已经说过了
可以看到文件的密码已经破解成功,而且速度也很快,当然也可以尝试使用其他可以工具去破解比如rarcrack,但是速度会让你怀疑人生,在破解.7z压缩包的时候知道怎么做了吧
image
接下再次尝试解压压缩包
7z x backup.7z
可以看到文件已经解压并且压缩包中的文件也都出来了
image

查看文件夹,可以看到八张图片都是hellokity的
image

接下来查看这些文件有没有隐藏信息,批量查看文件名大致相同的问价,但是文件都没有什么
file hello*.*
image

继续查看文件有没有捆绑的信息,可以看到每个文件都有md5这样一个内容,但似乎没有捆绑
binwalk hello*.*
image

继续查看文件的注释内容,但是也没有得到有用的信息(比如一些文件里面的特殊字符,插入代码等等都是可疑的)
exiftool hello*.*
image

接下来继续查看另外的两个文件,公私钥
image

可以看到
1.都是openssh的密钥 file id_rsa id_rsa.pub
2.私钥没有有用的信息 cat id_rsa
3.里面有一个用户名 cat id_rsa.pub
image

靶机炸了。。。...
image

重启了一下靶机,IP地址变成192.168.20.6(我所处的环境的网络DHCP分配存在问题)然后重新挂在了文件,下面继续,只是路径换了
image

刚刚公钥当中拿到的用户的名字尝试进行ssh的登录,发现需要输入密码
ssh -i id_rsa user@192.168.20.6
image

尝试破解私钥

首先将私钥用john转成hash,然后再用john去破解
ssh2john -- id_rsa > id_rsa_hash
cat id_rsa_hash //查看是否生成,生成了不用管报错信息
image

用john去查看里面的关进信息
john --list=formats
image

可以看到上面的文件中有很多的关键字,但是我们所想要利用的是ssh的所以进行一下过滤
john --list=formats | grep ssh
image

过滤以后还是有很多,直接交给john让他去跑
john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa_hash
image

看到密码结果尝试登录
登录成功,破解完成
image

三、提权

查看当前用户的权限,和当前用户所拥有的文件信息
image

查看系统信息与当前用户信息,IP
image
image

查看当前用户组都有哪些文件
find / -group user -type f 2>/dev/null
image

查看当前用户有哪些特权
find / -perm -u=s -type f 2>/dev/null
find / -perm -u=s(看s类型) -type f(只看文件)/dev/null(丢掉报错信息)
image

知识点:在Debian,Ubuntu,OpenBSD,FreeBSD系统当中doas文件经常被拿来提权
image

分析其中的文件
cat /etc/doas.conf
/etc/doas.conf (默认配置文件存放路径)
permit(允许的权限) nopass(不需要密码) keepenv(保持当前环境) user(当前用户) as(作为) root(root用户) cmd(执行命令) /usr/bin/less(执行less命令) args(后面接的参数(位置)不写args) /var/log/authlog
image

执行命令doas /usr/bin/less /var/log/authlog //以less命令去读取日志

1.doas大多数不做特别配置的时候就是系统的权限,高权限,利用高权限启动一个shell,将这个权限引导到shell上
2.上面出现的less有一个命令v可以打开文本编辑器,当输入vi的时候这个日志文件就可以进行编辑,进行编辑想如何执行shell命令
3.而vi编辑器是doas的权限vi可以使用:!去执行shell命令
image
可以看到权限已经变了
image
然后查查看用户的身份,查找flag
image
到此完成此靶场的演习。