【OSCP+】Kioptrix 提权靶机——level1(1)_2025-01-07
【OSCP+】Kioptrix 提权靶机——level1(1)
靶机 IP 确定
-
先找到自己虚拟机的 IP 地址:
命令:
ifconfig
找到自己虚拟机 IP 地址是因为等会需要探测靶机的 IP,因为部署的时候本机和靶场在同一网段下
-
开始探测靶场地址:
命令:
nmap -sP 192.168.222.0/24
这里通过 IP 地址可以看出来最后一个属于我们自己的本机地址,但是我如何知道哪一个才是我们的靶场地址呢?
这里提供两种方法供各位看官去采纳:
方法一:先不打开靶机,先扫一次网段,记下所有的 ip 地址,然后再打开靶机,再扫一次,那么多出来的 IP 便是我们的靶机地址
方法二:对比现在扫出来的 Mac 地址,找到一样的就是我们的靶机了
这里因为时间关系,我就直对照 Mac 地址了
这是靶机的 Mac 地址
这是扫描过后发现所有的网段地址,比对 Mac 后成功找到靶机!
开始靶机探测
-
扫描靶机的详细信息
命令:
nmap -sT -sV -sC -O 192.168.222.129
扫描的非常详细,那么接下来我们就一条一条来过,记录就是为了方便以后复习使用,所有尽可能的详细,方便和我一样的打靶新手学习。
命令解析
-sT
: TCP Connect 扫描- 使用完整的 TCP 连接扫描目标主机的端口。这种扫描方式通常用于没有管理员权限的情况下,因为它不需要直接操作原始套接字。
-sV
: 服务版本检测
- 尝试探测每个开放端口所运行的服务版本(如具体的 HTTP 服务器版本或 SSH 版本)。-sC
: 默认脚本扫描- 运行一组 Nmap 默认的脚本(
--script=default
),包括常见的服务发现、版本检测和漏洞信息收集。
- 运行一组 Nmap 默认的脚本(
-O
: 操作系统指纹检测- 尝试通过网络特征信息推测目标主机所运行的操作系统。
192.168.222.129
: 目标 IP 地址- 您扫描的目标主机位于本地网络(192.168.222.0/24 子网)中,IP 地址为
192.168.222.129
。
- 您扫描的目标主机位于本地网络(192.168.222.0/24 子网)中,IP 地址为
扫描结果逐步解析
1. 通用主机信息
Host is up (0.00060s latency).
- 主机状态:在线
目标主机192.168.222.129
是在线的,响应时间为 0.00060 秒(非常快速,说明可能在同一局域网内)。 - MAC 地址:00:0C:29:B8:BE:1C
显示目标主机的 MAC 地址属于 VMware 的虚拟网络设备,这表明此主机可能是运行在 VMware 虚拟机上的。
2. 扫描端口结果
Not shown: 994 closed tcp ports (conn-refused)
- 关闭的端口:994 个
目标主机有 994 个常见的 TCP 端口状态为“关闭”(closed
),这些端口都拒绝了连接请求(conn-refused
)。 - 开放的端口:6 个
目标主机有 6 个端口是开放的(open
),这些端口以及对应的服务信息如下:
3. 开放端口与服务分析
扫描发现的端口和服务如下:
-
端口 22/tcp (SSH)
22/tcp open ssh OpenSSH 2.9p2 (protocol 1.99)
- 服务: SSH (安全外壳协议)
- 版本: OpenSSH 2.9p2
- SSH 协议版本: 1.99(表示支持 SSHv1 和 SSHv2)
- 安全性警告
- SSHv1(版本 1)存在已知的安全漏洞,建议禁用 SSHv1,仅使用 SSHv2。
- 脚本输出: 提供了 1024 位的 RSA 和 DSA 公钥指纹。
-
端口 80/tcp (HTTP)
80/tcp open http Apache httpd 1.3.20 ((Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b) |_http-title: Test Page for the Apache Web Server on Red Hat Linux
- 服务: HTTP(网页服务)
- 版本: Apache 1.3.20
- 额外模块: mod_ssl/2.8.4, OpenSSL/0.9.6b
- 操作系统: Red Hat 系统上的 Apache
- 脚本检测
- 网页标题被识别为“Test Page for the Apache Web Server on Red Hat Linux”,表明该主机可能正在运行测试页面。
- HTTP 服务器头暴露了操作系统和模块信息。
-
端口 111/tcp (RPC)
111/tcp open rpcbind 2 (RPC #100000)
- 服务: RPC(远程过程调用)
- 版本: RPCbind 2
- 安全性警告
- RPC 服务可能被用于漏洞利用攻击(如远程代码执行等),建议检查是否需要对外开放。
-
端口 139/tcp (NetBIOS-SSN)
139/tcp open netbios-ssn Samba smbd (workgroup: MYGROUP)
- 服务: SMB(文件共享服务)
- 版本: Samba
- 工作组: MYGROUP
- 安全性警告
- 开放的 SMB 服务可能存在未经授权的访问风险,建议验证权限配置。
-
端口 443/tcp (HTTPS)
443/tcp open ssl/https Apache/1.3.20 (Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b
- 服务: HTTPS(加密的 HTTP 服务)
- 版本: Apache 1.3.20,支持 SSLv2 协议
- 安全性警告
- SSLv2(Secure Sockets Layer Version 2)已被废弃且不安全,存在已知漏洞。
- HTTPS 使用的 SSL 证书无效,签发时间为 2009 年,已过期。
-
端口 1024/tcp (RPC Status)
1024/tcp open status 1 (RPC #100024)
- 服务: RPC(远程过程调用)状态服务
- 版本: RPC Status 1
- 安全性警告
- 该服务可能会泄露系统运行状态或其他敏感信息。
4. 主机操作系统检测
Device type: general purpose
Running: Linux 2.4.X
OS CPE: cpe:/o:linux:linux_kernel:2.4
OS details: Linux 2.4.9 - 2.4.18 (likely embedded)
- 设备类型: 通用设备(general purpose)
- 操作系统: Linux 内核版本 2.4.x
- 版本范围: 2.4.9 至 2.4.18(可能是嵌入式 Linux 系统)
操作系统检测显示目标主机运行的内核版本较老,可能存在许多已知漏洞,建议进一步验证。
5. 网络特性
Network Distance: 1 hop
- 网络距离: 1 跳 目标主机与扫描设备在同一局域网中。
6. 额外脚本结果
- NetBIOS 信息
- NetBIOS 名称为
KIOPTRIX
,工作组为MYGROUP
。
- NetBIOS 名称为
- 时钟偏移
- 主机时间与扫描器时间相差
1 小时 1 分钟
。
- 主机时间与扫描器时间相差
总结
从扫描结果来看:
- 目标主机运行的是一台较老的虚拟机(Linux 2.4 内核,Red Hat Linux)。
- 存在多个潜在风险端口和服务:
- SSHv1(不安全)。
- SSLv2(废弃协议)。
- RPC 服务可能会被攻击者利用。
- 进一步验证 SMB 和 HTTP 测试页面,寻找潜在的漏洞(例如弱密码、未授权访问等)。
这是丢给 AI 解析的结果,当然我自己看的话就只看版本信息和端口信息等一些关键信息。
通过信息能够发现很多可以利用的漏洞信息,那这里我们选用的是阿帕奇的服务作为突破口
443/tcp open ssl/https Apache/1.3.20 (Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b
开始攻击
-
使用 searchsploit 查找目前这个的版本的历史漏洞
命令:
searchsploit Apache 1.3.20
-
这里如果直接利用 searchsploit 中的漏洞文件会失败,失败原因可能是因为 kali 下载的文件不完整。
-
下载漏洞文件
网站:https://www.exploit-db.com/
在搜索框搜素 Apache mod,然后找到对应的 exp 下载使用
-
下载完成后拖入到 kali 里面编译一下
命令:
gcc -o '/home/kali/Desktop/47080.c' -lcrypto
这里报错说是缺少 lcrypto 的库文件,所以我们要先给 kali 换源然后更新这个库
!
这里已经完成更新换源了,如果又不会操作的可以去搜素一下,有非常详细的教程。
-
继续编译和执行我们 c 语言版本的 exp
-
然后我们运行 exp
它会告诉你如何使用这个 exp
-
然后我们根据之前扫描出来的版本信息可知道是 1.3.20 的版本,接下来就继续筛选执行
-
开始利用
命令:
./470 0x6a 192.168.222.129 -c 40
遇到这种 goodbye 的说明就是利用失败了,那我们就继续尝试下一个
-
下一个
./470 0x6b 192.168.222.129 -c 50
这里显示已经成功的获得了 shell,连接上了模板靶机
提权
- 发现了几条历史命令,看到需要下载一个文件进行提权
-
这时候我们之间在这里手动提权试一下
提示失败
-
那我们就利用 kali 下载提权文件
-
下载完后我们需要通过 kali 把文件传到目标靶机上去
这时候我们需要开启 80 端口的 http 服务
python -m http.server 80
-
然后在靶机上去下载这个文件
ls 我们查看一下是否下载成功
已经下载成功,接下来只需要退出重新连接就行
到此已经全部完成了,这个远古靶机的可利用漏洞有很多,各位看官师傅有空可以自己尝试一下。