Vulnhub实战-JIS-CTF_VulnUpload靶机

下载地址:http://www.vulnhub.com/entry/jis-ctf-vulnupload,228/

你可以从上面地址获取靶机镜像,然后导入VM中开启就行。即刻开干!!😏

1.获取靶机ip,以及开启了哪些服务

我们在VM中导入靶机开启之后,就不用管了,在kali里面进行主机探测,端口扫描,服务发现

我们首先进行主机发现:

因为我的局域网内虚拟机开得比较多,如果你也有这种情况,你可以通过MAC地址找到对应的IP地址,VM里面MAC地址在设置里面查看。我们发现192.168.33.117就是那台靶机。接下来进行端口扫描,服务探测!🙃

 nmap -sn 192.168.33.0/24

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

2.端口扫描,服务发现

nmap -sV -p- -O 192.168.33.117

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

我们可以看到开启了22,80端口,证明开启了SSH,web服务,还发现了操作系统是ubuntu,这三个信息将是下面进行渗透的关键。

3.系统漏洞分析

针对 SSH 服务,我习惯从弱口令和系统漏洞两方面进行攻击。弱口令方面,我用常见用户名和常见密码进行暴破,虽然几率不大:

  1. 我们可以用kali自带的hydra工具进行SSH的账号密码爆破,字典自备噢!🧐

    https://lecloud.lenovo.com/share/4iPvrb3BgyoW4aMwu(密码:k9zu)
    你也可以用这个字典!不要问我为啥不分享百度网盘,因为我没有会员!😭
    
    payload: hydra -L '/root/fuzzDicts-master/userNameDict/user.txt' -P '/root/fuzzDicts-master/passwordDict/top6000.txt' -e sr -f -V -t 30 -I 192.168.33.117 ssh
    

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

这个得等他扫一会,我们等会再来看看,大概率是扫不出来的!😂比较耗时间!

SSH 服务的系统漏洞查找方面,我推荐 searchsploit 工具。精确搜索 OpenSSH 7.2p2(这个是我们上面发现的版本!):

searchsploit OpenSSH 7.2p2

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

我们发现存在一个用户名枚举漏洞,刚好,要能找到有效用户名,将有助于暴破 SSH 口令。但是这个py文件我的机器少了一些模块,跑不起来。不过大概率应该跟上面差不多😂!我们也可以看看apache版本apache httpd 2.4.18存在什么漏洞,让我来瞅瞅!🙄

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

先前服务探测时找到的准确版本为 apache httpd 2.4.18,那么只有一个漏洞内存泄漏的漏洞,没多大价值。

这个阶段系统漏洞只能分析到这个程度,虽然知道发行套件为 ubuntu,但不知道具体版本、系统架构,很难准确的找到可用的操作系统漏洞,所以,没必要继续在系统漏洞层面耗时,后续如果能拿到 webshell,提权时再来深入分析,现在移步 web 应用层面。

4.Web应用分析

  1. 访问之前找到的 web 端口自动重定向到 http://192.168.56.6/login.php:

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

看了下 html 源码,没啥有价值的信息;枚举用户名也不能;或许可以暴破下弱口令,刚才的 SSH 暴破还没完呢,web 登录暴破还是先放一放,看看有无其他页面。

大概 2015 年之前,扫 web 端口 – 找 web 后台 – 弱口令登后台 – 上传一句话,是常见的高成功率的攻击手法,其中,能否找到后台地址,是成功的关键。换言之,我需要发现更多 web 内容。具体而言,我希望找到更多文件、页面、子目录,最好能找到源码打包的敏感文件、后台运维的管理页面、存放业务逻辑的子目录,以拓展攻击面。通常,我习惯结合枚举和爬虫两种方式来发现 web 内容。

枚举之前,借助 firefox 插件 wappalyzer 确认后端语言为 php:

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

因为确定了该靶机的后端语言是用PHP写的,所以我们通过dirsearch目录扫描工具扫描一下php的目录:

python3 dirsearch.py -u 'http://192.168.33.117' -e php -i 200

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

我们发现扫出来了几个目录,凭我CTF的直觉,robots.txt里面可能有好东西,让我来瞅瞅!的👀

网页打开robots.txt,我们发现如下页面

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

1.第一个flag

我们打开/flag文件获得第一个flag

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

2.第二个flag

接着我们依次查看剩余各个目录,我们发现其他的都打不开,只有/admin_area/,/uploaded_files这两个页面能够打开,我们通过uploaded页面猜测应该存在上传点,打开/admin源码之后发现第二个flag,还有一对用户名密码。

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

3.第三个flag

我们通过这个用户名密码登录之后发现果然有一个上传点。🙄心机之蛙,一直摸你肚子!果然不出所料

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

接下来我猜你们应该也能想到,上传一句话木马直接连蚁剑干!!!👻

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

一句话木马我相信在做的各位都会上传,这里并没有做任何限制!😂,然后我们进入蚁剑就是一顿看,发现有一个flag.txt和一个hint.txt,我们在hint.txt发现第三个flag,然后还有一句话,提示让我们找到用户technawi的密码去读这个flag.txt,果然这个flag.txt不能直接打开🧐

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

4.第四个flag

刚刚上面看到了,我们接下来需要通过去找到technawi用户的密码,我们通过linux的命令去搜寻technawi用户有关的文件!直接在蚁剑的虚拟终端执行即可!

find / -user technawi -type f 2>/dev/null
//还是吃了linux命令不熟的亏呀😭,这个2>/dev/null一开始并不知道啥意思,百度一下才知道这是将标准出错都丢入到linux的黑洞文件了,看不见了,终端就不会有那么多冗余信息,详细细节请自行百度!😉

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

接下来我们挨个打开看看,发现在/etc/mysql/conf.d/credentials.txt文件内存在technawi用户的密码哦,并且还有第四个flag。

不要忘了这里还有应该.sudo_as_admin_successful文件,后面会用到噢!🧐

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

5.第五个flag

拿到这个用户名密码之后我们应该干嘛呢,还记得刚开始扫描端口发现了22端口开启了SSH服务嘛,连接SSH去查看最后一个flag.txt文件,应该最后一个flag在那里面了。

 ssh technawi@192.168.33.117

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

发现成功连接,直接去/var/www/html目录下面去读取flag.txt,成功获取第五个flag!!!😎

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

5.提权

不要忘了刚刚说到的.sudo_as_admin_successful文件,说明technawi用户能够用自己的密码登录root用户

Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

最后成功获得5个flag!提权成功!!!★,°:.☆( ̄▽ ̄)/$:.°★


Vulnhub实战-JIS-CTF_VulnUpload靶机👻-LMLPHP

10-10 07:48