【Vulnhub通关Kioptrix: Level 1.1

2023年 10月 4日 32.1k 0

准备工作

靶机基本信息

靶机名称:Kioptrix Level 1.1(#2)
操作系统:Linux
虚拟机软件:VMware Workstation
网络连接方式:桥接至物理网络
渗透测试目标:获取靶机root权限和交互式Shell
下载地址: Kioptrix: Level 1.1 (#2) ~ VulnHub

下载

  • 打开下载链接,将RAR格式的压缩包解压至指定目录。
  • 点击VMware Workstation中的 File -> Scan for Virtual Machines 按钮,在弹出的对话框中选择正确的目录,扫描虚拟机添加即可。

信息收集

主机发现

由于靶机的网络类型为桥接至物理网络,所以将攻击机也置于物理网络下,网段为:192.168.2.0/24,攻击机IP地址为192.168.2.104。使用netdiscover工具进行网络扫描:

# netdiscover带上-r参数可以只在指定的网段中扫描
netdiscover -r 192.168.2.0/24

其中MAC Vendor/Hostname这一项为VMware, Inc.的就是靶机。(IP:192.168.2.114)

目标扫描

目标IP地址已经锁定,接下来可以扫描靶机的开放端口。先进行ICMP连通性测试:

# Ping四次靶机
ping -c 4 192.168.2.114

ping连通性测试.jpg

很好,看来目标靶机大概率没有ICMP防火墙之类的东西。接下来使用nmap探测靶机开放端口:

nmap开放端口扫描.jpg

可以看到目标靶机开放了6个TCP端口:22801114436313306。加上其它参数对其进行详细扫描:

# -sC    使用默认脚本探测目标所有TCP端口
# -A     探测目标操作系统和软件版本
nmap -sC -A 192.168.2.114

可以详细的看到主机开放端口信息:

端口号 传输层协议 应用层协议 详细信息

22

TCP

SSH

OpenSSH 3.9p1 (protocol 1.99)

80

TCP

HTTP

Apache httpd 2.0.52 (CentOS)

111

TCP

RPC

2 (RPC #100000)

443

TCP

HTTPS

Apache httpd 2.0.52 (CentOS)

631

TCP

IPP

CUPS 1.1

3306

TCP

mysql

MySQL (unauthorized)

同时确定靶机操作系统为CentOS Linux,内核版本在2.6.9至2.6.30之间。

服务探测

互联网打印服务(631)

首先使用BurpSuite访问一下该服务端口,发现提示拒绝访问:

于是尝试修改请求包中的X-Forwarded-ForHost字段数据:

GET / HTTP/1.1
Host: 127.0.0.1:631
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,en-US;q=0.5
Accept-Encoding: gzip, deflate
X-Forwarded-For: 127.0.0.1

HTTP字段解释:

  • Host          ---- 用于区分客户端请求哪个站点;
  • X-Forward-For        ----  用于识别客户端的“真实”IP地址。
  • 如果服务端基于这两个字段的内容编写检测代码(即如果XFF头或Host头不为本地环回地址,则拒绝访问),那么将上述两项字段修改为127.0.0.1即可。

    但非常明显这不奏效:

    已经知道CUPS打印服务器的版本为1.1,无法正常访问服务,对631号端口服务的初步探测结束。

    MySQL服务(3306)

    使用nc工具向MySQL服务器发送数据包以获取banner信息:

    nc 192.168.2.114 3306
    

    返回以下信息:

    看来靶机的MySQL服务不允许用户远程登录。尝试使用nmap对MySQL服务进行脚本扫描:

    由于MySQL禁止远程登录,扫描失败。对MySQL服务的初步探测结束。

    SSH服务(22)

    首先使用nc工具探测一下端口的banner信息:

    nc 192.168.2.114 22
    

    返回了SSH服务的版本信息:SSH-1.99-OpenSSH_3.9p1

    探测结束。

    HTTP/S服务(80、443)

    首先访问HTTP服务,在浏览器中输入网址——http://192.168.2.114/,浏览主页信息:

    主页上是一个网页登录框,标题上的英文意思为“远程系统管理界面登录”,查看页面HTML源代码,发现以下敏感信息:

    • 网站的开发语言为PHP;
    • 用户名的正确值貌似为Administrator

    使用dirsearch工具进行目录扫描,发现4个可访问点:

    • /index.php(网站主页)
    • /index.php/login/(登录框,和主页一样)
    • /manual -> http://192.168.2.114/manual/(301跳转)
    • /manual/index.html(Apache软件帮助文档,忽略)

    探测结束。

    渗透攻击

    Web应用程序渗透

    既然靶机的Web应用程序只有主页登录框可以作为攻击点,那么只能在登录框处做手脚,尝试进行SQL注入。
    爆破密码什么的是不可能的,一辈子都不可能的 ( ᗜ ‸ ᗜ )

    首先在登录页面随便输入一串用户名和密码,打开BurpSuite抓取HTTP请求包,确认网页路由信息。

    从中可以看到三个关键参数:

    • uname    => 用户名信息;
    • psw     => 登录密码信息;
    • btnLogin => 判断用户是否点击登录按钮。

    大致猜测后端SQL查询语句如下:

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论