一、渗透环境
靶机名称: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
```
| 端口 | 服务 | 版本 |
| ------ | ------ | -------------- |
| 80 | http | Apache2.4.18 |
| 3042 | ssh | OpenSSH7.2 |
我们可以先80端口开始入手查找线索,这里需要注意的是,SSH服务使用的端口是3042,在使用ssh远程连接的时候需要指定3042端口进行访问。
使用gobuster工具以及kali自带的字典扫描网站目录以及页面中txt,php,html,sql类型的文件。Gobuster是一款基于Go开发的目录文件、DNS、VHost爆破的工具,可爆破的对象包括:
- 目标站点的URI(目录或文件,)
- DNS子域名(支持通配符)
- 目标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
```
三、进攻
我们从gobuster工具爆破出的目录来看,这个网站含有login页面,我们可以进去看一下。
发现这是一个登录界面,需要输入账号和密码,使用几个admin此类弱密码尝试登录一下,并没有登录成功,我们查看一些页面源代码看一下能不能发现一些线索。
在源代码中发现,有一个用户名为carls在/var目录下有一个carls.txt文件,这里面可能会有这个用户的密码。发现页面里面php文件,可能含有LFI漏洞,我们使用burpsuite来抓包检查account.php中是否有LFI漏洞。
我们顺利找到这个页面存在的LFI漏洞
访问http://192.168.17.145/login/account.php?page=../../../../var/carls.txt
我们找到了carls用户的密码,我们使用base64解密一下。密码为carlos
我们使用ssh访问此用户,需要注意的第一点是这里ssh服务使用的端口是3042
四、提权
此时我们已经拿到了calrs用户的权限,使用sudo -l查看当前用户的权限。
```
sudo -u c0ldd /bin/bash
```
我们可以拿到c0lld用户权限的shell
再次使用命令sudo -l查看c0ldd用户的权限。
我们可看到DoNotRun.py是使用root权限执行的。我们看一下当前用户对DoNotRun.py的权限
虽然我们对文文件只有读的权限,没法对DoNotRun.py进行更改,但是我们可以把它删除然后创建一个同样名字的文件,这里要注意名字不要出错。同时我们在新建的DoNotRun.py文件中写入
import os;os.system("/bin/bash")
sudo /usr/bin/python3 /home/c0ldd/DoNotRun.py
再次进行提权后我们成功拿到root权限并且拿到flag,渗透测试完成!
五、渗透思路
拿到靶机首先使用nmap扫描靶机打开的服务和端口,然后使用gobuster扫描网站的目录。登录login界面后发现是一个登录框,查看源代码后发现线索,找到用户名以及密码存放的位置。利用LFI漏洞顺利拿到密码。接着使用ssh登录carls用户。提权到c0ldd用户,接着借助DoNotRun.py再次提权获得root权限。其中需要注意的一点是,靶机开通SSH服务使用的是3042端口,在进行ssh远程连接的时候,要注意指定端口进行连接。
相关推荐: Chunk extend Overlapping
漏洞简介 chunk extend overlapping在堆中是一种比较常见的利用手段,其主要原理就是因为某些意外情况我们可以去修改一些已经申请或在空闲状态的堆块的大小,从而造成堆块重叠的情况,而这也就引发了一系列安全隐患。 本文涉及相关实验:高级栈溢出技术…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论