目录
一、测试环境
1、系统环境
渗透机:kali2021.1(192.168.202.134)
靶 机:Linux DC-2 3.16.0-4-586
2、使用工具/软件
Kali: arp-scan(主机探测)、nmap(端口和服务扫描)、gobuster(目录遍历)、cewl(生成密码字典)、burp suite(进行用户名爆破和账号密码爆破)、ssh(远程登录)
靶机:vi编辑器(rbash逃逸)、git(sudo提权)
测试网址:http://dc-2/
二、测试目的
渗透到wp的三个账号后,根据flag1提示,获取到密码字典;得到两个密码可用;
根据flag2提示,另想办法,尝试ssh成功登录到一个账户的后台,进行rbash逃逸;
根据flag3提示,进行su切换账户,最后进行git的sudo提权。
获取所有5个flag,提权root。
三、操作过程
1、信息搜集
主机探测
arp-scan -l
得到靶机的IP为:192.168.202.151
扫描主机的端口和服务信息
nmap -A -sS -p- -T4 192.168.202.151
得到两个服务:ssh和web 分别在7744和80端口,ssh的端口不是默认端口
网页被重定向到了 http://dc-2/
访问网页发现访问不了,因为重定向到dc-2,无法访问
需要修改hosts文件
修改hosts文件
hosts 文件用于将主机名映射到 IP 地址。这可以用来覆盖 DNS 解析
给hosts文件添加一个dc-2到IP地址192.168.202.151的映射即可
hosts文件路径:
Windows:C:\Windows\System32\drivers\etc\hosts
Linux:/etc/hosts
修改内容:
添加 192.168.202.151 dc-2
修改后即可访问了
扫描web的目录,寻找网页资源
gobuster dir -u http://192.168.202.151 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,txt,html,jsp
可以看出这是wordpress的网页资源
2、Getshell
flag1
主页面中有一个flag,提示可以用cewl生成字典
bp爆破用户名和密码
WP(wordpress)的找回密码页面可以爆破用户名
爆破出三个用户名admin/tom/jerry
根据提示,使用cewl生成字典
cewl http://dc-2/ -w dic.txt
尝试爆破wp账号的对应密码
选择cluster bomb模式
第一个payload是三个用户名
第二个将生成的字典文件dic.txt加载进去
得到两个用户密码
jerry/adipiscing
tom/parturient
flag2
尝试登录寻找信息
Tom用户没什么信息
jerry中找到flag2,提示说寻找其他方法,有用户名和密码,可以尝试用户ssh登录(如果说他使用的用户名和密码都是相通的)
ssh登录
Jerry用户ssh登录失败(权限不够,可能没开ssh),tom用户登录成功
ssh tom@192.168.202.151 -p 7744
-p指定端口号
rbash逃逸
登录tom用户,发现很多命令无法使用
提示是-rbash权限
rbash是Restricted bash缩写,即受限制的bash。 管理员可通过指定普通用户的bash为rbash,以此来限制相关操作。简单来说,区别于一般的shell,它会限制一些行为,让一些命令无法执行。
Ls命令可以使用,查找环境变量,发现只有四个命令可以使用
可以使用vi编辑器,获取shell
进入vi编辑界面,写入命令:
:set shell=/bin/bash
:shell
加入后回车,看见退出了vi编辑器就说明成功
还需要添加环境变量,/bin文件夹没有环境变量
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/
添加环境变量后,bash命令就可以使用了
flag3
查看flag3,提示su命令,su-->jerry 应该是切换到jerry用户的意思
Su jerry
成功切换到jerry用户(密码是WP中herry用户的密码)
flag4
查看flag4,提示是没有提示。。后面让自己完成,那行吧。
3、提权
进行sudo权限查找,发现了git命令,正好可以用来提权
原理是进入到git配置的帮助文档,执行!/bin/bash命令即可提权
sudo git help config
进入到如下页面
执行命令:
!/bin/bash
final-flag
成功提权,得到final-flag
四、结论
这个靶机还是比较基础的,有利于培养渗透思路。
打ctf靶机特点是乐趣足够,通过找寻flag不断突破,同时也设置了相应的提示方向,融合了一些渗透思路技巧。缺点是不确定性变少了,没有了自己渗透靶机的感觉felling。
Rbash是一种限制权限的措施,可以进行绕过获取普通bash。
渗透时,获取的信息要灵活运用,一个账户的密码,可能在别处也是这个密码。通过另类方法getshell。