一、什么是Armitage?
Armitage 是一款由 Raphael Mudge 开发并维护的免费开源图形化用户界面(GUI)工具,其核心使命是显著提升 Metasploit 渗透测试框架的易用性和操作效率。作为 Metasploit 的“可视化外壳”,Armitage 并非一个独立的漏洞扫描或攻击工具,而是深度集成并驱动 Metasploit 的强大前端。
想象一下 Metasploit 是一个功能无比强大但操作复杂的引擎(需要大量命令行输入),Armitage 则为这个引擎安装了一个直观、现代化的仪表盘和控制面板。它通过网络拓扑可视化将目标网络清晰地呈现在用户眼前,提供集中的漏洞利用管理和自动化执行功能,并内置了团队协作机制,允许多个渗透测试人员实时共享信息、协调攻击动作。
Armitage 的价值在于它极大地降低了 Metasploit 的学习曲线和使用门槛,使网络安全初学者能够更快地理解渗透测试流程和 Metasploit 的运作方式,同时为经验丰富的渗透测试专家提供了强大的任务编排、态势感知和团队协同作战能力,让专家们能更专注于策略制定和结果分析,而非繁琐的命令输入和管理。
二、什么是Metasploit?
Metasploit 是网络安全领域最著名、应用最广泛的开源渗透测试框架,由 H.D. Moore 于 2003 年创建,目前由 Rapid7 公司维护和开发。它本质上是一个“渗透测试工具包” 或 “漏洞研究与利用平台”,为安全研究人员、渗透测试人员(白帽黑客)和红队成员提供了一个标准化、模块化的环境,用于开发、测试和执行针对计算机系统的安全漏洞利用(Exploits)。
简单来说,Metasploit 就像是一个网络攻击的“瑞士军刀”或“军火库”,将攻击过程中所需的各种工具、代码和知识整合在一个统一的平台中。
三、Armitage 的主要特点
图形化界面:提供直观的可视化操作界面,大幅简化了渗透测试流程。
团队协作支持:支持多用户同时操作,有效促进团队在渗透测试项目中的协作。
自动化渗透测试功能:集成多种自动化脚本和攻击模块,可快速进行漏洞扫描、识别与利用。
实时事件监控:提供实时的事件视图,清晰展示攻击进度、结果和系统响应。
深度 Metasploit 集成:无缝整合 Metasploit 框架,全面支持其所有模块(如漏洞利用、辅助模块、载荷等)和核心功能。
跨平台兼容性:支持在 Windows、Linux 和 macOS 等多种主流操作系统上运行。
四、实际操作
1.1安装Armitage
在kali中打开终端,在连接到互联网的情况下输入命令开始安装
apt install armitage
1.2 启动Armitage
1.Armitage启动前的初始化
sudo /etc/init.d/postgresql start
2.Armitage启动的三种方法
(1)菜单
(2)工具栏
(3)命令行
armitage
1.3 使用 Armitage 生成被控端和主控段
1.Armitage的工作界面
(1)区域一:任务栏
(2)区域二:工作区
(3)区域三:控制台
2.使用Armitage生成生成一个攻击载荷payload
(1)输出(output)选择exe,生成payload
(2)输出(output)选择multi/handler,则生成控制端
I:复制文件到网站主目录
cp /root/payload.exe /var/www/html/
II:启动apache2并检查
systemctl start apache2 #启动apache2服务
systemctl status apache2 #验证apache2服务是否启动
III:在目标靶机下载被控端文件
IV:运行文件
V:返回控制端查看是否获取会话
1.4 使用Armitage扫描网络
在Armitage使用nmap扫描工具。
使用图形化的nmap扫描本地网段,网段号 192.168.107.0/24 。
1.选择“Hosts/Nmap Scan/Quick Scan(OS detest) ”菜单
(相当于命令:nmap --min-hostgroup 96 -sV -n -T4 -O -F --version-light 192.168.152.0/24)
选择快速扫描方式
2.输入扫描的网段
3.扫描到的目标
1.5 使用Armitage针对漏洞进行攻击
1.利用XP系统ms08_067漏洞对XP系统进行渗透
目标靶机:英文版XP,IP 192.168.107.32
(1)通过输入关键字(ms08_067)选择攻击模块,双击模块名称,在弹出的窗口中输入目标靶机的IP地址,勾选“Use a reverse connection”(反向连接)。
(2)单击“Launch”按钮,攻击完成,是否建立会话?
注意:必须先停止apache,因为apache使用445端口,与该命令也使用445端口发生冲突!
2.利用win7系统ms17_010漏洞对Win7系统进行渗透
目标靶机:永恒之蓝靶机,IP 192.168.107.29
(1)通过输入关键字(ms17_010)选择攻击模块,双击模块名称,在弹出的窗口中输入目标靶机的IP地址,勾选“Use a reverse connection”(反向连接)。
(2)单击“Launch”按钮,攻击完成,是否建立会话?
1.6 使用Armitage完成渗透之后的后续工作
1.利用meterpreter可完成的五类任务
(1)Access:跟系统权限有关,如查看系统哈希值、盗取令牌、提升权限等。
(2)Interact:打开一个用于远程控制的命令,如系统命令行、Meterpreter命令等。
(3)Explore:渗透,如浏览系统文件、显示进程、监视键盘、截图、控制摄像头等。
(4)Pivoting:将主机设置成为跳板。
(5)ARP Scan:利用目标主机对目标网络进行扫描。
2.案例一
利用 Meterpreter 1/Access/Dump Hashes 菜单,盗取目标主机(英文版XP)的系统密码哈希值。
3.案例二
利用 Meterpreter 1/Explore/Browse Files 菜单,浏览目标主机上的文件。
4.案例三
利用 Meterpreter 1/Explore/Log Keystrokes 菜单,记录目标用户敲击键盘的动作。
I:启动键盘监听器
II:启动后弹出的窗口
III:目标靶机运行输入打开记事本
IV:在记事本中打点内容用于测试
V:返回控制端可以看到所打内容已被监听
五、补充说明:Armitage 的主要特点(深入解析)
革命性的图形化界面:
直观展示:使用节点和连线清晰地将扫描发现的主机、服务、漏洞及其关联关系可视化在一个画布上。不同颜色和图标直观地表示主机状态(如在线、离线)、操作系统、已获取权限级别等关键信息。
简化操作:用户通过右键点击目标主机或服务,即可轻松访问所有可用的 Metasploit 模块(漏洞利用、扫描器、后渗透模块、Payload 生成器等),无需记忆复杂命令。
集中管理: 在一个界面中查看所有活动会话、任务状态、扫描结果和攻击日志,避免了命令行下切换多个终端窗口的麻烦。
强大的团队协作支持:
实时共享:团队成员连接到同一个 Armitage 团队服务器(Team Server)后,所有事件(主机发现、漏洞扫描结果、攻击成功、会话建立、后渗透操作、笔记等)都会实时同步给所有在线成员。这提供了无与伦比的共同态势感知。
协调攻击:团队成员可以查看彼此打开的会话,并在必要时进行协作(例如,利用一个成员的会话来协助另一个成员的攻击路径)。
共享笔记:团队成员可以针对特定主机添加共享笔记,记录发现、凭证、关键配置信息等,方便团队知识积累和任务交接。这依赖于底层的 Metasploit 的 msgrpc 服务和 Armitage 的协作协议。
高效的自动化渗透测试功能:
一键式攻击:最著名的自动化功能是 Hail Mary(万福玛丽),它可以对选中的所有目标主机,自动尝试匹配并运行所有相关的漏洞利用模块,极大地加速了对大型网络的初步攻击测试。
脚本化流程:支持使用 Cortana 脚本语言编写自定义自动化脚本,实现复杂的攻击链自动化(如:扫描 -> 利用 -> 提权 -> 信息收集 -> 内网扩散)。这允许测试人员将重复性、模式化的攻击流程固化下来。
模块快速调用:图形界面使得查找、配置和启动 Metasploit 的扫描器、辅助模块、漏洞利用模块变得异常快捷,显著提升了手动测试的效率。
全面的实时事件监控:
集中事件流:所有关键活动(主机上线/下线、服务识别、漏洞扫描结果、攻击尝试成功/失败、Meterpreter 会话打开/关闭、后渗透命令执行结果等)都以清晰的时间线形式在 “Console” 或 “Events” 标签页 中实时滚动显示
状态可视化:网络拓扑图上的主机图标状态会实时更新(例如,成功获取权限的主机会改变颜色或显示一个“小帽子”图标),攻击者可以一目了然地掌握整个攻击面的当前状态和进展。
攻击反馈: 实时显示攻击模块的输出和错误信息,便于快速诊断问题或确认攻击是否成功。
深度无缝的 Metasploit 集成:
完整模块支持:Armitage 并非阉割版,它原生支持并可直接调用 Metasploit Framework 的几乎全部功能,包括:
漏洞利用模块
辅助模块(扫描器、信息收集、Fuzzers 等)
Payloads(生成、编码、处理)
后渗透模块(提权、信息窃取、持久化、横向移动等)
Encoders, NOPs
透明后端:Armitage 通过 Metasploit 的 Remote Procedure Call (RPC) 接口(通常是 msgrpc)与后台运行的 Metasploit 实例(msfrpcd)通信。用户的操作最终都转化为对 Metasploit 的 RPC 调用执行。
会话管理:对 Metasploit 建立的 Meterpreter 或其他 Shell 会话进行集中管理和交互。
广泛的跨平台兼容性:
核心依赖:由于 Armitage 是 Java 编写的,并且依赖 Metasploit Framework(Ruby),因此它可以运行在任何安装了 Java 运行时环境(JRE) 和 Metasploit Framework 的平台上。
主流系统支持:这自然包括了 Windows, Linux (各种发行版如 Kali Linux, Ubuntu 等),以及 macOS。在 Kali Linux 等渗透测试专用发行版中,Armitage 通常作为预装工具提供。
部署灵活:Armitage 客户端和 Team Server 可以部署在同一台机器上,也可以分开部署(客户端连接远程的 Team Server 和 Metasploit 实例)。
总结来说,Armitage 是将 Metasploit 从命令行黑匣子转变为可视化作战指挥中心的关键工具。它通过直观的图形界面、强大的自动化脚本、实时的团队协作和全面的状态监控,让渗透测试过程更高效、更可控、更易于团队协作,是学习 Metasploit 和进行专业渗透测试项目的得力助手。
六、总结
Armitage 是 Metasploit 框架的一个强大且用户友好的图形化界面,显著降低了渗透测试的入门难度,并提升了团队协作和态势感知的效率。
它通过可视化网络拓扑、简化攻击执行和会话管理,使安全专业人员(尤其是初学者和团队)能够更直观、更快速地进行漏洞发现、利用和后期渗透活动。
然而,使用者必须清楚认识到它是对 Metasploit 的封装,其自动化功能需谨慎使用,并始终牢记法律和道德规范。
掌握 Armitage 是提升渗透测试效率和协作能力的有效途径,但扎实的安全基础知识和手动测试技能仍是核心。