从零开始的网安学习之路——爆破Vulnhub靶场(二)

三、Kioptrix_Level_1

1、初步探索

现在正式来到我们的第一个靶场!Kioptrix Level 1 是一个很经典的入门靶机,虽然时间比较久了,但是非常适合作为我们的第一个练手的对象。

我们的目标是什么?正如我们在引言中所说的,我们爆破这些靶场的核心目标就是获取它们的root权限,而一旦有了这个权限,无论要进一步实现什么目标都绝不是难事了。

在开始爆破之前,我们需要额外做一些配置——Kioptrix靶机实在是太老了,用的网络适配器默认是桥接模式,就算在VMware中修改也是没用的(我也是吃了好多苦头才发现问题的)。找到这个靶机的vmx源文件,用记事本打开它:

接下来利用替换功能,做两处替换:首先把ethernet0.networkName = "Bridged”改成ethernet0.networkName = "NAT” ,然后再把ethernet0.connectionType = "bridged” 改为ethernet0.connectionType = "nat” ,保存文件。

之后,在VMware中重启靶机,记得把网络适配器配置再改成NAT模式!

然后再启动kali linux,直接开始吧!

首先打开kali linux的终端,后续我们的所有操作都要在这个终端上完成:

在输入具体的命令之前,我们心里要大概对自己要做的事情有一点基本的方向:首先,是信息收集,我们需要知道目标在哪里,长什么样子——在网络世界里,这个“哪里”指的就是“IP地址”,这个长什么样子,就是开放了什么端口,运行着什么服务;其次,是漏洞利用,也就是从哪里给这个靶机“撕开一个口子”,怎么打入这个靶机内部——通过漏洞利用,我们一般都需要先在靶机中获取一个普通的账号;最后,是账号提权,也就是把这个普通账号提升为管理员账号,而由于靶机基本都是linux系统,这里就是需要获取root账号。而有了root账号,一切都不会是问题,甚至于删库跑路都是“顺理成章”的~

因此,我们首先就需要通过kali自带的扫描工具,先看看当前局域网中能不能找到目标靶机的地址。当然,在开始之前,我们要先看一下kali处于哪个网段,在终端输入命令:

ip a

看到了!让我们把信息摘录下来:

└─$ ip a             1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host noprefixroute        valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000    link/ether 00:0c:29:41:0d:5a brd ff:ff:ff:ff:ff:ff    inet 192.168.88.128/24 brd 192.168.88.255 scope global dynamic noprefixroute eth0       valid_lft 960sec preferred_lft 960sec    inet6 fe80::20c:29ff:fe41:d5a/64 scope link noprefixroute        valid_lft forever preferred_lft forever


这里看起来信息很复杂,但是有用的信息其实不多——关注第二段信息eth0中的这行数据:

inet 192.168.88.128/24

这行数据告诉我们这台kali虚拟机的ip地址是192.168.88.128/24 ,那么其所在的网段就是192.168.88.0/24 。而由于我们之前创建虚拟机时,选择的网络适配器模式都是NAT模式,也就是说这些虚拟机同处于一个局域网下,因此靶机同样处于这个网段。那么,接下来我们就需要在这个网段中进行扫描,看看能不能发现一点线索。

这里扫描网段推荐使用nmap工具,结合刚才我们获取的网段信息,命令为:

sudo nmap -sn 192.168.88.0/24

注意,这行命令中使用了sudo,这是管理员权限的命令,因此需要提供kali的密码。这个密码就是你创建虚拟机时设置的密码,直接输入即可(不会显示密码)。

扫描完成后如下图所示:

把信息摘录一下吧:

┌──(kali㉿kali)-[~]└─$ sudo nmap -sn 192.168.88.0/24[sudo] kali 的密码:Starting Nmap 7.95 ( <https://nmap.org> ) at 2026-04-27 15:47 CSTNmap scan report for 192.168.88.1Host is up (0.0016s latency).MAC Address: 00:50:56:C0:00:08 (VMware)Nmap scan report for 192.168.88.2Host is up (0.00049s latency).MAC Address: 00:50:56:FE:92:FC (VMware)Nmap scan report for 192.168.88.133Host is up (0.0010s latency).MAC Address: 00:0C:29:7C:3A:16 (VMware)Nmap scan report for 192.168.88.254Host is up (0.0032s latency).MAC Address: 00:50:56:E9:F1:E0 (VMware)Nmap scan report for 192.168.88.128Host is up.Nmap done: 256 IP addresses (5 hosts up) scanned in 2.10 seconds


注意看!这里一共扫描出了5个IP地址,那么哪一个才是我们的靶机呢?

最简单的方式,就是在没有启动靶机时扫描一次,然后启动靶机再扫描一次,多出来的那个就是目标靶机的IP。不过,其实在NAT模式下,IP的分布是有规律的:

IP 范围 作用 判断
x.x.x.1
VMware 虚拟网关
❌ 排除
x.x.x.2
VMware DHCP 服务器
❌ 排除
x.x.x.254
VMware NAT 网关
❌ 排除
x.x.x.128
Kali 自己
❌ 排除
其他 IP

(如 .133
只能是靶机
✅ 目标

换言之,我们把已知的这几个IP排除掉,剩下的那个就是我们的目标靶机!在这里,目标靶机的IP地址就是192.168.88.133 !

确定了目标地址,接下来我们就需要对这个IP地址进行端口扫描,看看这台靶机为了对外提供服务暴露了哪些端口。这里需要用到的工具还是nmap(没错,这就是伟大的开源工具),命令如下:

sudo nmap -sT -sV -O -p- 192.168.88.133

这个命令看起来多了很多奇奇怪怪的参数,咱们列个表格解释一下:

参数 含义 作用
sudo
管理员权限
某些扫描需要更高权限才能发送原始数据包
nmap
命令本身
Network Mapper,网络扫描工具
-sT
TCP 全连接扫描
完整完成 TCP 三次握手,最稳定但最不隐蔽
-sV
版本检测
识别服务具体的版本号(如 Apache 1.3.20)
-O
操作系统检测
尝试识别目标的操作系统(如 Linux 2.4.x)
-p-
所有端口
扫描 1-65535 全部端口,不局限常见端口
192.168.88.133
目标 IP
我们刚才确定的靶机地址

简单来说,这就是一个通用的端口扫描命令,后面我们也会经常用到的。当然,看到这里扫描的东西还挺多的,所以这一步时间也比较长,耐心等待即可。最后扫描结果如下图所示:

┌──(kali㉿kali)-[~]└─$ sudo nmap -sT -sV -O -p- 192.168.88.133                       Starting Nmap 7.95 ( <https://nmap.org> ) at 2026-04-27 15:53 CSTStats: 0:02:49 elapsed; 0 hosts completed (1 up), 1 undergoing Connect ScanConnect Scan Timing: About 56.66% done; ETC: 15:58 (0:02:08 remaining)Stats: 0:02:49 elapsed; 0 hosts completed (1 up), 1 undergoing Connect ScanConnect Scan Timing: About 56.67% done; ETC: 15:58 (0:02:08 remaining)Nmap scan report for 192.168.88.133Host is up (0.0015s latency).Not shown: 65529 closed tcp ports (conn-refused)PORT     STATE SERVICE     VERSION22/tcp   open  ssh         OpenSSH 2.9p2 (protocol 1.99)80/tcp   open  http        Apache httpd 1.3.20 ((Unix)  (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b)111/tcp  open  rpcbind     2 (RPC #100000)139/tcp  open  netbios-ssn Samba smbd (workgroup: MYGROUP)443/tcp  open  ssl/https   Apache/1.3.20 (Unix)  (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b1024/tcp open  status      1 (RPC #100024)MAC Address00:0C:29:7C:3A:16 (VMware)Device type: general purposeRunningLinux 2.4.XOS CPE: cpe:/o:linux:linux_kernel:2.4OS details: Linux 2.4.9 - 2.4.18 (likely embedded)Network Distance1 hopOS and Service detection performed. Please report any incorrect results at <https://nmap.org/submit/> .Nmap done: 1 IP address (1 host up) scanned in 390.66 seconds


嘶~还是让AI给我们分析一下吧:

端口 服务 版本 突破口潜力
22
SSH
OpenSSH 2.9p2
⭐⭐(老版本,有漏洞但不如Samba直接)
80
HTTP
Apache 1.3.20 + mod_ssl/2.8.4
⭐⭐⭐(OpenFuck漏洞)
111
RPC
rpcbind 2
⭐(信息收集用,非直接入口)
139
SMB
Samba 2.2.x
⭐⭐⭐⭐⭐ 最佳入口
443
HTTPS
Apache 同上
⭐⭐⭐(同80端口)
1024
RPC
status
⭐(辅助信息)

两条攻击路径分析

路径一:Samba 服务(139端口)—— 🏆 强烈推荐

版本:Samba 2.2.x

已知漏洞trans2open 缓冲区溢出(CVE-2002-0724)

优点

  • 可以直接获得 root 权限
  • 利用非常简单,Metasploit 一键搞定
  • 成功率接近 100%

攻击命令预览(在 Kali 中执行):

msfconsole
msf6 > use exploit/linux/samba/trans2open
msf6 > set RHOSTS 192.168.88.133

路径二:Web 服务(80/443端口)—— 练手用

版本:Apache 1.3.20 + mod_ssl 2.8.4

已知漏洞:OpenFuck 远程缓冲区溢出(CVE-2002-0082)

特点

  • 只能获得 普通用户权限(apache用户)
  • 需要自己编译 exploit,稍微麻烦一点
  • 提权可以利用内核漏洞


酷~这无非告诉我们一个简单的事实:这台靶机是一台来自2002年左右、充满漏洞的老旧Linux服务器,随便挑一个服务都能打进去。甚至于所有这些漏洞都是系统层面的公开漏洞,随便到网上一查就能找到这些漏洞利用的方法!

至于如何利用这些漏洞,我们就在下一节细细道来吧!

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容