VulnHub靶机入门篇--Kioptrix4

1.环境配置

下载地址: https://download.vulnhub.com/kioptrix/Kioptrix4_vmware.rar

下载完解压之后是一个vdmk文件,我们需要先创建一个新的虚拟机,将vdmk文件导入就行了

先移除原先硬盘,然后再进行添加,网络连接为Nat模式,靶机就是这个了

攻击机:kali(192.168.26.128)-Nat模式

2.渗透测试

信息收集
主机收集
​​​​​​​nmap -sP 192.168.26.0/24

可以得知:靶机ip地址:192.168.26.134

扫描端口
nmap -sV -p- 192.168.26.134

得知开放了22、80、139、445端口,分别查询一下它们的服务

22端口:  ssh 服务,传统的网络服务程序​​​​​​​

80端口:  HTTP(HyperText Transport Protocol,超文本传输协议)

139、445端口:提供Windows文件和打印机共享以及Unix中的Samba服务

查看更详细的信息: 

nmap -nvv -Pn -sSV -p- --version-intensity 9 -A 192.168.26.134
 漏洞收集

由于靶机开放了80端口,因此我们可以在网站上直接进行访问,出现一个登录框

登录框出现的漏洞一般都是sql注入或者弱口令或者爆破

弱口令爆破不出来,我们用工具扫描看看出现什么漏洞

nikto -h 192.168.26.134

漏洞利用

成功查找到sql注入漏洞,抓包查看,直接用sqlmap一把梭

先把数据包放到1.txt文件中,再进行post注入

payload:

python sqlmap.py -r 1.txt --level 3 --risk 3 --dbs --batch

扫描结束,从结果看,并没有可以注入的地方,但是前面有一条可疑信息:

这边有一个提示,参数mypassword可能存在注入,数据库类型为MySQL。

接下来就对这个参数进行一些注入测试:

sqlmap -u "http://192.168.26.134/checklogin.php" --data="mypassword=root"
sqlmap -u "http://192.168.26.134/checklogin.php" --data="mypassword=' or '1'='1"

这边用第二条命令检测出了存在注入:

可以看到注入类型为布尔盲注。

接下来在sqlmap命令中加上 --dbs 跑出数据库名:我自己跑不出来【汗流】,看了下别人的库名为members

sqlmap -u "http://192.168.26.134/checklogin.php" --data="mypassword=1" --dbs --batch

看到有个members的数据库,接下来-D members --dump 跑出数据库中的内容:

sqlmap -u "http://192.168.26.134/checklogin.php" --data="mypassword=1" -D members -dump --batch

可以看见有两个用户,这边用第一个用户进行登录

尝试进行登录,登录成功

 可以看见就是一个成员控制面板,也不像之前的靶场有命令执行的输入框。但是我们这边已经拿到了用户名和密码

获得webshell

通过--os-shell选项直接获得webshell

这里获取失败了

这是成功获取shell的图片

 获得普通用户shell

外尝试使用获得的用户名和密码通过ssh进行登录也成功获得普通用户shell,如图:

哎,这里又又又失败了,连接不上

找到解决办法了,细看此文:ssh 报错 no matching host key type found — 春之禾苗 (sysant.github.io) 

ssh -o HostkeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa username@xx.xx.xx.xx

突破SHELL限制并提权

给大家介绍一个突破shell限制的命令:echo os.system('/bin/bash')

echo是一个把字符串输出到终端上的命令。 本来是被限制了的shell,如果运行别的命令,就会不予执行。本来你关在牢房里,活动空间不过几平米。然而运行这条命令,就相当于把锁打开。echo相当于我们的中间人,它返回了bash shell。当然这条命令能够逃逸限制,也得益于该Lshell是由python所写,且可用调用python中os模块的system方法来执行系统命令导致的。

然后sudo su 输入john用户的密码MyNameIsJohn:未能获取到root权限,换个方法

查看内核版本,如图

 显然可以使用脏牛提权,尝试上传文件发现无法外连80端口,但是可以外连443端口,且该shell无法执行二进制文件,不存在gcc,因此无法通过内核提权。查看/etc/passwd文件发现john和robert用户默认使用kshell,如图:

cat /etc/passwd

另外还存在一个普通用户loneferret用户。查看开启的端口发现有3306,如图:

netstat -anl

很自然想到的MySQL UDF提权,从前面SQL注入中获取到的信息发现数据库版本是5.0.12,但是在上传动态链接库后导出时出错。然而,在查看mysql数据库时很幸运发现已经存在func表,且表中含有执行命令的函数,如图:

尝试执行id命令,但返回信息为NULL,如图:

开启443端口监听,尝试使用函数执行命令访问443端口,如图:

                    

说明命令执行成功。然后使用msfvenom生成反弹shell 的程序,上传到目标主机并执行,成功获取root权限。

总结

前面的知识点都跟之前题目差不多,后面出现了sql注入的利用,sqlmap工具的使用,以及获得webshell,在获得webshell之后的提权(数据库提权),以及一些linux的常用命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/51536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EV代码签名证书具体申请流程

EV(扩展验证)代码签名证书是一种用于对代码进行数字签名的安全证书,它可以帮助用户验证软件发布者的身份,并确保软件未被篡改。对于Windows硬件开发者来说,这种证书尤其重要,因为它可以用来注册Windows硬件…

【Golang 面试 - 基础题】每日 5 题(八)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…

六、2 写PWM代码(函数介绍、呼吸灯代码)

目录 一、1、步骤 2、函数介绍 3、外设引脚和GPIO引脚的复用关系(引脚定义表) 二、1、呼吸灯 步骤 (1)初始化通道 1)输出比较模式 2)输出比较极性 (2)配置GPIO &#xff08…

肆[4],VisionMaster全局触发测试说明

1,环境 VisionMaster4.3 2,实现功能 2.1,全局触发进行流程控制执行。 2.2,取像完成,立即运动到下一个位置,同步进行图片处理。 2.3,发送结果的同时,还需要显示图像处理的痕迹。 …

H616设计时候存在的问题

1.存在大量孤铜的问题: 这种情况是绝对不允许的,但是GBA焊盘打大量的过孔会出现很多这样的孤铜: 解决办法: 像这种出现大量重复焊盘的,用导线连接起来,之后铺铜形成铜皮,再在这个小铜皮上面打…

全网首创!基于GaitSet的一种多人步态识别方法公示

有源代码V细聊,可商用/私用/毕设等:NzqDssm16 🍉1 绪论 经过相关研究确认,步态识别是足以达到应用级别的生物识别技术,在现代社会中自始至终都存在着广泛的应用前景。之所以迟迟没有普及,主要是实…

【Oracle 进阶之路】Oracle 简介

一、简述 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强&…

华为ensp中链路聚合两种(lacp-static)模式配置方法

作者主页:点击! ENSP专栏:点击! 创作时间:2024年4月26日11点54分 链路聚合(Link Aggregation),又称为端口聚合(Port Trunking),是一种将多条物理…

【编程工具使用技巧】VS如何显示行号

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《编程工具与技巧探索》 期待您的关注 目录 引言 一、VS编译器行号显示的基本步骤 1.打开VS与项目 2.进入选项设置 3.找到并…

【Linux】远程连接Linux虚拟机(MobaXterm)

【Linux】远程连接Linux虚拟机(MobaXterm) 零、原因 有时候我们在虚拟机中操作Linux不太方便,比如不能复制粘贴,不能传文件等等,我们在主机上使用远程连接软件远程连接Linux虚拟机后可以解决上面的问题。 壹、软件下…

成为git砖家(5): 理解 HEAD

文章目录 1. git rev-parse 命令2. 什么是 HEAD2.1 创建分支当并未切换, HEAD 不变2.2 切换分支,HEAD 改变2.3 再次切换分支, HEAD 再次改变 3. detached HEAD4. HEAD 表示分支、表示 detached HEAD 有什么区别?区别相同点 5. HEA…

现在有什么赛道可以干到退休?

最近,一则“90后无论男女都得65岁以后退休”的消息在多个网络平台流传,也不知道是真是假,好巧不巧今天刷热点的时候又看到一条这样的热点:现在有什么赛道可以干到退休? 点进去看了几条热评,第一条热评说的…

邮箱收不到验证码邮件,如何调整邮箱设置?

邮箱收不到验证码邮件的原因?邮箱被拦截的解决策略? 有时用户会遇到邮箱收不到验证码邮件的问题,这不仅影响用户体验,还可能带来安全隐患。AokSend将探讨为什么会出现邮箱收不到验证码邮件的问题,并提供调整邮箱设置的…

哪家培训机构PMP考试通过率高,PMP考试有原题吗?

PMP的官方通过率数据并未公布,培训机构公布的通过率仅供参考。通常情况下,培训机构宣传的通过率不会低于90%,但这并不意味着他们有内部的原题。PMI官方的题库是不公开的,因此机构也无法获取到原题。 然而,由于机构能够…

使用 WebSocket 实现实时聊天

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

PHP:连接钉钉接口-钉钉回调事件,本地测试数据

前置数据参考 数据说明:参见官方文档回调事件消息体加解密 - 钉钉开放平台 (dingtalk.com) URL后面带的参数: signature=5a65ceeef9aab2d149439f82dc191dd6c5cbe2c0&timestamp=1445827045067&nonce=nEXhMP4r Post参数: { "encrypt":"1a3NB…

猫咪食欲不振?快来看看开胃主食罐!

夏天到了,天气太热了,不仅我没什么胃口,家里的猫主子也食欲大降,真是把我愁坏了。 我家之前喂德罐为主,小李子、交响乐金罐都囤了不少。但德罐都是巨无霸包装,200g和400g规格的大罐头,开了一餐…

OCCT使用指南:Foundation Classes

1、介绍 本手册解释了如何使用Open CASCADE Technology (OCCT) Foundation Classes。它提供了关于基础类的基础文档。有关基础类及其应用的高级信息,请参阅我们的电子学习和培训产品。 基础类提供各种通用服务,如自动动态内存管理(通过句柄操…

python import:跨文件夹导入模块

python 中 import 语句可以往当前 py 文件中导入外部模块,从而使用外部模块中的函数与类。 如果想要导入 python 内置模块和 pip install 安装的模块,可以直接使用 “import …” 的形式导入。 如果想要导入自己本地定义的模块(即跨文件夹导入…

设置浏览器ie兼容模式

点击设置 设置IE模式