SkyTower-1
SkyTower-1
目标: attack a system using a multi-faceted approach and obtain the “flag”.
提示: You will most likely find that automated tools will not assist you.
¶环境配置
kali: 192.168.56.6
Linux: 192.168.56.101
¶信息收集
- 端口: 22, 80, 3128, 其中22端口有防火墙
- 中间件: Apache 2.2.22, Squid http proxy 3.1.20
- 系统: Linux 3.2-3.16
目录扫描没有任何的结果, 只能是从80下手了, 80也只有一个登录框
尝试sql注入, 发现输入'
的时候返回mysql的错误信息, 尝试注入:
1'|| 1=1 # |
任意一个为上即可, 发现账号密码john : hereisjohn
, 且可以得到我们必须通过那个代理(3128)才能访问22端口
¶getshell
需要代理, 请出我们的proxychains工具:
vim /etc/proxychains4.config |
proxychains ssh john@192.168.56.101
不成功的原因可能是登陆之后没有创建一个shell或者被干掉了, 直接退出了
我这里将会话转移到msf上了, 比较稳定, 就不放图了; 也可以用perl反弹shell
¶提权
- 权限: john, 无sudo权限
- 环境: gcc/cc/python均无
- 系统: Linux SkyTower 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux
- 用户: john, sara, william
- MySQL: root root
没法编译脚本, 脚本提权先放一边, 先看看还有什么漏了: 比如MySQL
MySQL账密可以从
/var/www/login.php
得到
show databases; |
明文存储密码; 正好对应三个用户, 试试ssh登录, sara可以登陆而william不行
sudo -l |
¶附录
¶sql注入
我是脚本小子, 我将告诉你用下面这个字典同时跑账号密码可以登录80端口
https://github.com/melbinkm/SQL-Injection-Payloads/blob/master/sqli_auth.list
¶proxytunnel
隧道代理, 可以映射到本地端口
使用条件: 防火墙禁止DNS和ICMP隧道,只允许代理服务器上网的情景
proxytunnel -p 192.168.56.101:3128 -d 127.0.0.1:22 -a 5566 |
抓一下.bashrc
, 该文件用于操作shell, 发现该文件当 $-
包含 i
时不执行任何操作,而在不包含 i
时退出函数, 也就是无论如何这个shell都是无用的
case $- in |
将其删除即可:
proxytunnel -p 192.168.56.101:3128 -d 127.0.0.1:22 -a 5566 rm .bashrc |