0x11-HackTheBox-Beep

目录

历史命令

masscan
nmap
searchsploit
nc
Burp Suite
python
sudo -l
sudo nmap --interactive -> !sh

目标

目标 Beep 在 10.10.10.7

能学到什么?

什么是 LFI(Local File Inclusion)?

LFI (Local File Inclusion)是代码中的一种漏洞表现形式。不是语言本身的问题,而是程序员在开发的过程中,对于语言的特性理解不够,给攻击者留下了可趁之机。

可以说是“臭名昭著”的两个 PHP 方法,includerequire,使用不当的情况下,就会造成 LFI 的存在。

LFI 可以让攻击者在网页端访问目标服务器上的任意有读权限的文件。造成信息泄露,更加严重的情况下,造成目标机器被攻破,对企业内网造成巨大威胁。

因此,为了一定程度上消除 LFI 的威胁,必须对用户输入做安全校验

LFI 的原理

用 PHP 举例。

<?php
if (isset($_GET['language'])) {
    include($_GET['language'] . '.php');
}
?>

开发者的本意是想在请求中,带上一个 language 参数,例如 language=english,然后 PHP 代码将 english.php 包含到运行时。

但是,没有对用户输入做校验的后果是攻击者可以构造如下请求:

# 使用 %00 null byte 去掉程序中的默认 php 扩展名 (PHP 5.3 之前可用)
http://example.com/index.php?language=../../../../../../../../../etc/password%00

那么,/etc/passwd 文件的内容就泄露了。

详见 Wiki 对于 LFI 的说明

如何利用 LFI 漏洞?

详见 Wiki 对于 LFI 的说明

Elastix FreePBX 远程代码执行漏洞

Elastix FreePBX 是有远程代码执行漏洞的,漏洞链接在这里

仔细阅读了一下 这篇原理分析,是利用了 recordings/misc/callme_page.php 页面中的 $to 参数没有做安全校验造成的。根据下图的解释,只需要知道目标上有什么插件,那么就可以利用这个插件在 VoIP 服务器上远程执行任意代码。

在这里插入图片描述

ShellShock

Click the Link!

Click Another Link!

如何利用目标机器的漏洞?

masscannmap 运行之后,发现了 80 端口开放。

看一下 Web 提供的服务。

第一次连接报了证书不受信。

在这里插入图片描述

不管上面的警告继续连接,主页是这样的。

在这里插入图片描述

这是一个很具体的应用,elastix,做一下搜索看有什么漏洞可以利用。

在这里插入图片描述

虽然不知道目标上的 Elastix 是什么版本,但是总要试一下。

到 Exploit-DB 下载代码,查看一下。

按需修改一下参数。这里有个 extension,后面需要对这个参数做调整。

在这里插入图片描述

将 url 丢到 Burp Decoder,也就是注入了 reverse shell 的命令。

在这里插入图片描述

本地监听 443 端口,然后运行。

报错。

在这里插入图片描述

跟上面那个证书不受信的报错有关。

根据 ippsec 的方法,用本机做代理,然后用 Burp Suite 将请求转发到目标机器,就不用代码去做 SSL Handshake 了。

首先将 rhost 改成 localhost,将协议改成 http

在这里插入图片描述

然后到 Burp 的 Proxy 一栏,增加一个 80 端口监听,

在这里插入图片描述

Request Handling 修改成如下所示

在这里插入图片描述

现在所有到本机 80 端口的流量都会被转发到目标机器。

再次运行脚本,没有报错,但是也没有 shell。

在这里插入图片描述

查看一下 Burp 中服务端的返回

在这里插入图片描述

现在就是 extension id 不对的问题。

前文说到了 kali 的工具 svwar,可以帮助我们扫描 SIP 系统,找到活跃的插件 id。

# 安装 sip 工具包
apt install sipvicious

在这里插入图片描述

在这里插入图片描述

INVITE 方式是通讯的起始步骤。这里使用 INVITE 方式发送请求,只为了判断目标插件是否在线,类似于 TCP 中的 SYN 扫描。

svwar -m INVITE -e100-1000 10.10.10.7

这里有关于 VoIP Phone Hacking 的详细好文,有兴趣的读者可以参考。

在这里插入图片描述

233 是目标 id,修改脚本,再次运行。

成功获取到 shell。

在这里插入图片描述

提权就十分简单了,之前的系列文章都说过,获取到 linux shell,前几个命令一定是 whoami/id/sudo -l

在这里插入图片描述

nmap 在列,看一下版本

在这里插入图片描述

记得是 4.12 之前的版本都有 interactive mode。提权到 root。

在这里插入图片描述
I'm in...

除了这一种进入目标的方式,强烈建议 看 IPPSEC 用其他三种方式进入目标机器。能学到包括 LFI,Shellshock 在内的以吨计的东西。


参考链接: