拿下靶机ColddWorld: Immersion

  • 拿下靶机ColddWorld: Immersion已关闭评论
  • 11 views
  • A+

一、渗透环境

靶机名称:ColddWorld: Immersion来自vulnhub,下载地址为https://download.vulnhub.com/colddworld/Immersion_Machine.ova

靶机IP地址为192.168.17.145

kali的IP地址为:192.168.17.131

靶机的难度较为容易,适合初学者食用。

二、信息收集

```
nmap -sC -sV -p- 192.168.17.145

```

wKg0C2CGKjGAZHd7AAEqe9Omjng408.png

| 端口 | 服务 | 版本 |
| ------ | ------ | -------------- |
| 80 | http | Apache2.4.18 |
| 3042 | ssh | OpenSSH7.2 |

我们可以先80端口开始入手查找线索,这里需要注意的是,SSH服务使用的端口是3042,在使用ssh远程连接的时候需要指定3042端口进行访问。

使用gobuster工具以及kali自带的字典扫描网站目录以及页面中txt,php,html,sql类型的文件。Gobuster是一款基于Go开发的目录文件、DNS、VHost爆破的工具,可爆破的对象包括:

  1. 目标站点的URI(目录或文件,)
  2. DNS子域名(支持通配符)
  3. 目标Web服务器的虚拟主机名(VHost)

其中-u 指定URL -w 指定字典 -x指定文件的类型

```
gobuster dir -u http://192.168.17.145 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,txt,php,sql

```

wKg0C2CGK8yAPG3AAEuZSTbMOQ817.png

三、进攻

我们从gobuster工具爆破出的目录来看,这个网站含有login页面,我们可以进去看一下。

wKg0C2CGLFAUMBFAACVhZahJ8Y096.png

发现这是一个登录界面,需要输入账号和密码,使用几个admin此类弱密码尝试登录一下,并没有登录成功,我们查看一些页面源代码看一下能不能发现一些线索。

wKg0C2CGLNyAcV5HAADLzPcBB9E185.png

在源代码中发现,有一个用户名为carls在/var目录下有一个carls.txt文件,这里面可能会有这个用户的密码。发现页面里面php文件,可能含有LFI漏洞,我们使用burpsuite来抓包检查account.php中是否有LFI漏洞。

wKg0C2CGMI2ARvXEAACfLGb7ft8238.png

wKg0C2CGMUuADtOkAACUw6mAT8A161.png

我们顺利找到这个页面存在的LFI漏洞

访问http://192.168.17.145/login/account.php?page=../../../../var/carls.txt

wKg0C2CGMpGAOFhsAABGVnEoQe0669.png

我们找到了carls用户的密码,我们使用base64解密一下。密码为carlos

wKg0C2CGMuGANTIHAAAa4mVVD4831.png

我们使用ssh访问此用户,需要注意的第一点是这里ssh服务使用的端口是3042

wKg0C2CGMyAFHISAADN51FLjwo048.png

四、提权

此时我们已经拿到了calrs用户的权限,使用sudo -l查看当前用户的权限。

wKg0C2CGNBCARt2RAACQOzsf0987.png

```
sudo -u c0ldd /bin/bash

```

我们可以拿到c0lld用户权限的shell

wKg0C2CGNIeARlE3AAA4KqPnOSA809.png

再次使用命令sudo -l查看c0ldd用户的权限。

wKg0C2CGNNGAKc2gAAB7oWR9QE4662.png

我们可看到DoNotRun.py是使用root权限执行的。我们看一下当前用户对DoNotRun.py的权限

wKg0C2CGO76ALZeaAADUBP0PZQ878.png

虽然我们对文文件只有读的权限,没法对DoNotRun.py进行更改,但是我们可以把它删除然后创建一个同样名字的文件,这里要注意名字不要出错。同时我们在新建的DoNotRun.py文件中写入

import os;os.system("/bin/bash")

wKg0C2CGPJmAe25AABZSoAHiw415.png

sudo /usr/bin/python3 /home/c0ldd/DoNotRun.py

wKg0C2CGco2APkxDAABUlFcOCoc381.png

再次进行提权后我们成功拿到root权限并且拿到flag,渗透测试完成!

五、渗透思路

拿到靶机首先使用nmap扫描靶机打开的服务和端口,然后使用gobuster扫描网站的目录。登录login界面后发现是一个登录框,查看源代码后发现线索,找到用户名以及密码存放的位置。利用LFI漏洞顺利拿到密码。接着使用ssh登录carls用户。提权到c0ldd用户,接着借助DoNotRun.py再次提权获得root权限。其中需要注意的一点是,靶机开通SSH服务使用的是3042端口,在进行ssh远程连接的时候,要注意指定端口进行连接。

相关推荐: Chunk extend Overlapping

漏洞简介 chunk extend overlapping在堆中是一种比较常见的利用手段,其主要原理就是因为某些意外情况我们可以去修改一些已经申请或在空闲状态的堆块的大小,从而造成堆块重叠的情况,而这也就引发了一系列安全隐患。 本文涉及相关实验:高级栈溢出技术…