1. 实验环境描述
为了做漏洞利用的实验,前一片文章我已经介绍了Kioptrix靶机的安装和网络的配置。现在看一下虚拟机里必要的两个系统:Kioptrix虚拟机和Kali Linux虚拟机。前者为靶机,后者作为攻击机使用。网络拓扑如下图所示:
2. 列举服务
首先我们使用nmap命令对网络中的机器进行扫描,输入以下命令对192.168.50.0/24网段上所有的IP和TCP端口进行扫描。
nmap -f -n -P0 -T4 192.168.50.0/24
扫描结果如下:
现在,我们就可以知道机器是在线的,而且可以看到目标机器开放了TCP端口,分别为22、80、139、445。接下来,我们有多个方案可供选择,可以使用netcat或其他相似程序手动探查这些端口以获得更多的信息。
3. 利用nmap进行完全扫描
现在我们确定了目标系统,其IP地址为”192.168.50.102“,下面来进行有针对性的nmap扫描,观察扫描的信息。
nmap -n -sTUV -pT:22,80,139,443,U:111,137,53 192.168.50.102
-sTUV:表示扫描TCP和UDP的端口,确定端口的状态,并且输出相关软件的版本信息;
-P:表示指定扫描的范围,以及需要扫描的端口;
u: 指定端口为UDP;
下面为扫描结果:
从结果可以发现一些有价值的信息,比如host:KIOPTRIX4;OSs;开放的端口及版本信息等。为下一步寻找漏洞做准备。
注意OSs标签,是一种概率性表示,并不一定真实。OSs:linux, windows表示这可能是一台linux,或者windows。要根据所有输出结果来审查。
4. 使用netcat和ncat来获取旗标
netcat是一个强大的工具,可以再信息收集和漏洞利用阶段使用,更甚者可以用来创建后门和传输文件。
4.1 netcat获取旗标
使用以下命令,连接192.168.50.102的80端口。
nc 192.168.50.102 80
这将连接到Kioptrix的Web服务,我们需要用指令来获取返回的信息。输入:HEAD / HTTP 1.1
,然后连续按两次ENTER键,查看输出的结果:
这里输出的时HTTP头部的内容,上面的信息表明,目标机器上运行了Apache/2.2.8,系统为Ubuntu;PHP版本为PHP/5.2.4-2。
4.2 使用ncat获取旗标
这个过程和nc类似。 参考4.1内容即可。
4.3 使用smbclient获取旗标
TCP的139端口是一个很有趣的端口,利用smbclient工具可以获得这个服务的旗标。输入以下命令:
smbclient -L 192.168.50.102 -N
smbclient连接到192.168.50.102,然后显示服务信息。-N选项表示没有目标的root密码。
输出结果如下:
从结果上看,samba的版本为3.0.28a,我们可以利用这个信息来搜索针对这个服务器的可能存在的漏洞。