APP下载

基于metasploit和armitage整合的图形化扫描渗透技术实现

2016-07-13吴淑泉杨泽辉

山西电子技术 2016年3期
关键词:渗透测试

吴淑泉,杨泽辉

(1.山西省财政税务专科学校实训中心,山西 太原 030024;



基于metasploit和armitage整合的图形化扫描渗透技术实现

吴淑泉1,杨泽辉2

(1.山西省财政税务专科学校实训中心,山西 太原 030024;

2.山西省财政税务专科学校信息系,山西 太原 030024)

摘要:在Kali Linux2.0平台的基础上,实现了metasploit和armitage的无缝连接。通过在Armitage中调用Metasploit框架所装载的许多模块,将原来metasploit复杂的命令行扫描渗透模式转换为图形化模式,且在armitage扫描完成后可根据扫描结果自动匹配相应模块进行渗透,提高了执行效率,极大的简化了渗透过程。此外不但可以实现图形界面与命令行界面同步显示,而且可以实现Tabs区多个console实例随意切换。

关键词:metasploit armitage;扫描;渗透;测试

随着信息化建设创新速度的不断加快,面向网络设备和应用服务器的安全扫描及渗透测试的需求不断增加,通过渗透测试,可以了解设备的薄弱环节并加以巩固和修正。从使用者的角度来看,作为安全人员来使用,各种安全团队可以利用扫描渗透 协同工作并在最终的安全报表中将结果汇总,它提供了真正的安全风险信息和有效的安全防护评估,有助预防数据泄露;作为黑客来使用,可以实现网络扫描及渗透并控制网络设备和计算机。因此开源的扫描渗透测试特别是图形化界面的开发应用在国内具有良好的前景及市场。

1Metasploit框架介绍及整体架构

Metasploit是一款免费的开源渗透测试软件,由于其在漏洞扫描、管理以及渗透测试、评估等众多功能的发挥和使用,极大的减轻了安全人员的工作量。Metasploit在世界black hat会议上对该项目的公布及渗透演示,更是众多安全人员甚至黑客的关注和使用。

Metasploit的整体框架结构采用了模块化的设计,主要分为基础库文件、接口、模块及插件四大部分。基础库文件包括Ruby extension、framework-core和framework-base[1]三部分,主要提供了核心框架和一些基础功能的支持;接口主要包括msfconsole、msfcli、msfgui等接口;模块通过框架所装载调用并提供核心的渗透测试功能;插件不但能够扩充框架的功能,还可以调用外部安全工具,如OpenVAS、Nessus、nexpose等漏洞扫描器来提高扫描效率。

实验中我们已将metasploit升级到了2016年1月4日的新版,共包含1 517个exploit溢出漏洞、 875个auxiliary辅助模块 257post后渗透攻击模块[2]等,执行db_status可以看到数据库msf已连接成功,所有这些模块都可以在armitage中调用,实现了数据模块共享。

图1 metasploit framework整体架构

图2 metasploit启动及数据库状态检测

2Metasploit与Armitage整合技术实现

Metasploit也有自己的GUI界面,但是功能比较简单且部分功能主要提供给metasploit pro专业付费版用户使用,因此msfconsole模式成为其最常用的接口[3],可是由于其命令繁多而且参数复杂对部分人的使用带来一定困难。

Armitage是针对metaspolit而开发的一款可视化图形工具,让其使用上更加直观便利且自动渗透功能强大。调用Armitage需要具备下列条件:Metasploit Framework、Postgresql数据库、Nmap以及Oracle的java 1.7版本。为了实现快速调用Armitage,建议使用基于渗透测试的linux发行版本如Kali Linux或Pentoo Linux,因为这样的发行版本在系统安装

好后已经集成了调用Armitage所具备的条件,这极大的简化了安装及配置的步骤,可以让使用者用更少的时间安装和配置系统,而可以有更多的时间来扫描和渗透测试并最终提高网络安全。本文所做研究都在基于Kali Linux2.0的平台上实现。

在kali 2.0中启动Metasploit和armitage(支持数据库调用)过程:

# /etc/init.d/postgresql start//启动postgresql数据库

# update-rc.d postgresql enable//增加开机自动启动

# msfconsole//运行msf的console模式

# msfdb init[4]//初始化MSF数据库

# db_status//在msf中查看数据库连接状态

#msfrpcd -U msf -P test -f -S -a 127.0.0.1//启动msfrpcd服务并在55553端口监听

# armitage//启动armitage

Armitage启动时要确保msfrpcd服务首先启动并在55553端口监听,同时会连接到Metasploit 数据库并自动查找其数据库配置,该文件定位于/usr/share/metasploit-framework/config/database.yml。

图3 基于metasploit和armitage整合的整体框架图

3基于Metasploit的console模式渗透测试

实验中以ip为192.168.119.51的windows xp为靶机,192.168.119.50的 Kali Linux2.0为攻击机作为测试,console模式的好处是可以一步一步输入命令并观察执行效果,但是操作比较复杂。

# /usr/share/metasploit-framework/msfconsole//启动console模式

# db_namp -sT -sU -O -A 192.168.119.51//对靶机进行nmap扫描

# search ms08-067//搜索ms08_067漏洞模块装载位置

# use exploit/windows/smb/ms08_067_netapi//调用ms08_067溢出模块

# show options//查看设置选项

# set RHOST 192.168.119.51//设置目标主机ip

图4 基于Metasploit的console模式渗透测试截图

# set LHOST 192.168.119.50//设置本地主机ip

# set LPORT 443//设置本地监听端口

# show targets//查看攻击目标系统类型

# set target 10//设定目标机器为windows xp simplified

# exploit//执行渗透

# shell//获取目标机shell权限

总体来说,metasploit分为扫描-查找漏洞-调用模块-渗透溢出-取得权限五个步骤来实现目标渗透。

4基于Armitage和Metasploit整合的GUI图形化模式渗透测试

由下图看出,该模式将渗透过程简化为了扫描-自动渗透-取得权限三个步骤来实现,首先选择Hosts选项执行扫描,执行完扫描后目标主机会自动添加到targets区域,然后

图5 Armitage图形化界面及渗透测试捕获主机截图

选中目标机后执行Attacks-Find attacks就会启动自动扫描程序找出目标机的漏洞,最后执行exploit即可,图中带抓手图标的即为已渗透成功的目标机。同时在下方Tabs区会同步显示命令行执行效果。此外hosts主机选项还支持以 Burp Session XML、Nessus XML (v1 and v2)、NeXpose XML Report、Nmap XML、Retina XML等格式的文件导入[5]。

5两种模式的实验比较及差异对比

首先它可视化你的攻击目标,其次它的操作者围绕着Metasploit控制台展开,它通过标签tabs来管理最终命令行的执行效果,由于支持多标签操作,因此也可以同时执行多个Msfconsle和session进程会话,此外它结合Metasploit已知的exploit来针对存在的漏洞进行自动化攻击。使用直观的Armitage图形界面,无需复杂的命令行即可调用和执行各种复杂的渗透测试。同时安全人员还可在很短的时间内改变被渗透测试的目标及范围,并即时将其反映到所有测试中。

Armitage的最大好处是可以运行模块对多主机进行渗透测试,不但可以直观的在target区以图形界面显示结果,而且可以在tabs区以多个tab标签显示每个命令的运行效果,既有图形效果,还有命令运行提示且能够集中到一个整体界面中并随意切换,这是Metasploit做不到的。

6结束语

通过Metasploit和Armitage两种免费开源软件的整合,实现了由复杂命令行的通用console模式向操作简单的图形化GUI模式转变,同时结合Modules、Targets、Tabs区域的组合,还可以实现图形和命令的同步显示,此外还可以执行多个console实例,通过两种模式的实验将渗透测试过程由原来的五个步骤简化为了三个步骤。本文中我们只是使用exploit模块下的ms08_067_netapi漏洞作为实验,后续还有auxiliay、payload、post[6]等多个模块下的多个实例需要我们去进一步的研究和实验。

参考文献

[1]孟江桥,李爱平.基于Metasploit加载Nessus的漏洞扫描技术实现[J].信息网络安全,2012(8):185-187.

[2]赵北庚.Metasploit渗透测试基本流程研究[J].信息系统工程,2015(4):122.

[3]严俊龙.基于Metasploit框架自动化渗透测试研究[J].信息网络安全,2013(2):53-56.

[4]Aharoni M.Using Kali Linux/Metasploit Framework[EB/OL].http://docs.kali.org/general-use/starting-metasploit-framework-in-kali,2016-01-26.

[5]Mudge R.Importing Hosts[EB/OL].http://www.fastandeasyhacking.com/manual,2016-01-26.

[6]魏占祯,高骏涛,刘倩,等.基于Metasploit下的浏览器渗透攻击[J].北京电子科技学院学报,2015(6):16-21.

The Implementation of Graphical Scanning and Penetration Technology Based on the Integration of Metasploit and Armitage

Wu Shuquan1, Yang Zehui2

(1.TrainingCenter,ShanxiFinance&TaxationCollege,TaiyuanShanxi030024,China;2.InformationDepartment,ShanxiFinance&TaxationCollege,TaiyuanShanxi030024,China)

Abstract:Based on the Kali Linux2.0 platform, the article achieves a seamless connection between metasploit and armitage. By using most of the metasploit framework modules in armitage, it changes the original metasploit’s complex command-line mode to the graphical mode which can automatically match the appropriate modules for penetration according to the scan results. Finally the paper improves the efficiency and greatly simplifies the penetration process. Furthermore, the synchronized display between the graphical interface and the command-line interface can be archived, and the optionally switching between the multiple consoles of the tabs can be archived, too.

Key words:metasploit; armitage; scan; penetration; test

收稿日期:2016-03-07

作者简介:吴淑泉(1978- ),男,山西人,工程师,大学本科,研究方向:电教实验、计算机网络。

文章编号:1674- 4578(2016)03- 0058- 03

中图分类号:TP393.08

文献标识码:A

猜你喜欢

渗透测试
幽默大测试
幽默大测试
幽默大测试
“摄问”测试
“摄问”测试
“摄问”测试
职高体育教学中的“教学做合一”研究
语文教学中情感教育的渗透研究
浅谈语文课堂的情感教育渗透
在印度佛教大会感受日本“渗透”