前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vuln靶机渗透之二:HackInOS

vuln靶机渗透之二:HackInOS

作者头像
光明SAMA
发布2019-07-25 16:48:07
1K0
发布2019-07-25 16:48:07
举报
文章被收录于专栏:吾生也有涯IT也无涯

今天选择的靶机是vuln的入门级CTF靶机,介绍如下:

HackinOS is a beginner level CTF style vulnerable machine. I created this VM for my university’s cyber security community and all cyber security enthusiasts.

废话不多说,开整。

祭出nmap对主机进行扫描,收获不少,不只找出了ssh和8000的http,还发现了upload.php页面和uploads目录,看来这就是入口点了,大体思路就是上传webshell然后想办法提权。

打开upload.php上传个gif试试,看出图片被上传到了uploads目录下

浏览器输入路径和文件名,发现没有找到这个文件,应该是上传后被修改了文件名,这样的话直接拿shell就有点费劲儿了,先试试能不能上传webshell吧。

在upload页面上传一个非图片的文件,页面给出了一个笑脸,看来这应该是上传失败了

打开浏览器的开发者模式,重新上传一次,在返回页面中有一行注释了的线索,给了一个github的链接,看来应该可以找到相关的代码。

打开链接看一看吧,给出的是upload.php的源码,从php代码来看,文件上传之后文件名被加了个1到100之间的随机整数,然后进行了md5。另外对上传的文件进行了判断,非png和gif的文件不能上传。

待解决的问题有两个,1是要遍历出被改的文件名,2是要躲过文件的检测。既然已经有了源码那么可以写一个脚本来把100个文件名遍历一遍,再用dirb去暴力跑一遍就OK啦,先用图片来验证,代码如下。

上传index.gif,然后用dirb进行扫描。

得到了正确的文件名,打开看看。

文件名的问题解决了,接下来看一下怎么骗过文件检测,php不熟,求助于baidu,得知这种检测只看文件头是否含有特定关键字,这就好办了,接下来用weevely生成webshell

在生成的php第一行加上GIF98这个关键字就可以跳过检测了。

修改之前的脚本猜测新的文件名,然后weevely获取shell。

新版本的weevely shell可以升级成为meterpreter shell,命令不在本文中介绍

在拿webshell的时候,发现上传的文件很快会被删除掉,所以这里在获取了一个shell后,又重新上传文件到非uploads的目录,在shell下ps,发现作者写了了一个定时执行删除命令的脚本,反正也换目录了,不去管它

在meterpreter 下,输入shell可以开启一个sh的shell,拿到shell后先不着急提权,先看看有没有什么可以利用的东西,根据上一次的经验,找到拥有root uid的程序提权将会很简单。所有用find命令搜索uid=0的程序

作者明显在这里给留下了线索,/usr/bin下有一个tail可以使用,用tail读取/etc/passwd或者/etc/shadow将直接可以拿到hash后的密码

使用john对拿到的hash进行破解,得到root的密码为john

用su切换到root,发现不可以执行

不知道如何解决,google之,找到解决方法,需要用python脚本

将这个脚本上传到靶机并运行,得到tty shell,可以执行su了

在/root下找到了flag,life consists of details..貌似还没完

在ifconfig中发现主机IP并不是我访问的IP,那看来这是个虚拟机或者docker

利用metasploit提供的脚本检测一下,发现这是个docker

看来作者给我开了个玩笑。继续挖掘,在wordpress的配置文件里找到了数据库的用户名和密码,还有数据库主机名为db,用ping来测试一下db的IP地址,IP为172.18.0.2

登陆数据库,发现里面有一个表叫host_ssh_cred,看来是ssh的用户名和密码了,dump出来看看吧

用户名hummingbirdscyber密码像是一个md5值,找个网站破解一下,得到了明文为123456

ssh成功登陆到靶机

查看docker情况,有三个容器在运行,先从ubuntu这个下手

docker exec发现ubuntu这个容器命令行无响应,google找到了另一个方法,利用ubuntu这个镜像重新创建一个docker并运行,在这个容器中找到了flag,看起来应该是成功了

这次渗透的关键点:

1,上传文件文件名和后台校验

2,检查所得到的shell主机是否是vm或docker

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 吾生也有涯IT也无涯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档