靶机地址:https://www.vulnhub.com/entry/w1r3s-101,220/
靶机难度:中等(CTF)
靶机描述:你被雇来对W1R3S做渗透测试。公司个人服务器并报告所有发现。他们要求您获得root权限并找到标志(位于/root目录中)。
目标:得到root权限&找到flag.txt
作者:嗯嗯呐
信息收集
Nmap ip扫描,确认靶机IP地址
Namp 端口扫描
21 FTP协议(可以匿名访问)
22 SSH
80 http
3306 mysql
先访问FTP,匿名访问不需要密码,content目录
content目录三个文件
1.txt中获得提示,新的FTP服务器为W1R3S.inc(但是没懂什么意思)在看看
2.txt 获得一个MD5加密,一个base64机密,没有什么有用信息
3.txt 无有用信息
在docs目录下worktodo文件未获得有用信息
在new-employees目录下employee-name文件中获得员工信息,以后可能会用到
FTP上暂时没有什么有用的信息了
访问80端口,一个apache默认页面,没看到什么有用信息
dirb爆破一下目录
发现了几个比较有意思的目录
/administrator/、/wordpress/等
在administrator目录下,发现靶机使用的是CMS系统
LFI漏洞利用
查一下漏洞,发现了一个本地文件包含漏洞
复制出来看看
文件中描述说,/alerts/alertConfigField.php文件urlConfig参数存在LFI漏洞,可以利用特殊的url,查看本地文件
web界面上尝试看看
没有保存,但是没有返回结果的界面,用curl试试
curl -s -data-urlencode urlConfig=../../../../../../../../../etc/passwd http://192.168.16.139/administrator/alerts/alertConfigField.php
Linux中curl是一个利用URL规则在命令行下工作的文件传输工具
-s 静音模式。不输出任何东西
-data-urlencode 先对数据进行URL编码,在发送给HTTP服务器,即对表单中的字段中进行URL编码后在发送。在此处意思是对‘…/…/…/…/…/…/…/…/…/etc/passwd ’字符串进行URL编码
再此我们获得了靶机的passwd文件内容
在文件中发下可以登录的用户不多,root、w1r3s等仅几个用户
再用同样的方法获得存密码的shadow文件试试
curl -s --data-urlencode urlConfig=../../../../../../../../../etc/shadow http://192.168.16.139/administrator/alerts/alertConfigField.php
john密码破解
因为都是加密存储的。需要使用john,进行密码破解
上面查询到的用户密码存在一个文件里
john开始破解
打印破解出来的信息
获得两个账号密码
www-data/www-data(/usr/sbin/noglogin 不能登陆)
w1r3s/computer
提权
ssh登陆看一下,w1r3s用户
id查用户信息是发现,用户可以使用sudo
Sudo -l
查一下具体的信息
根据提示可以在任何地方执行任何名称文件获取root权限
随便写一个sh文件,并赋权
使用sudo命令执行文件,获得root权限
在/root目录下找到flag.txt
完成!!!
总结
这个靶机还是比较简单的,我主要使用cms的本地文件包含漏洞和john破解密码,此靶机存在很多渗透方法,上面只是一种思路,仅供参考。本章渗透思路如下图: