Metasploit渗透测试指南学习笔记【01】

mac2025-12-25  8

写在前面

2019年7月份初次接触Metasploit,给我的感觉是一个高大上的渗透工具,里面有着前辈们写好的攻击代码,我们可以直接利用。由于当时是为了完成某项任务,匆匆学了几招,打算后来找时间踏踏实实的学习一下Metasploit,正好最近时间充足,恰巧在图书馆遇见了《Metasploit渗透测试指南》这本书,为了不虚度光阴,决定搞事情了。望自己能够坚持到底,玩转Metasploit。本人小白一个,可能会有理解不当的地方,欢迎各路大神指点。

0x01 Metasploit基础

1、专业术语

【1】渗透攻击(Exploit)

渗透攻击是指攻击者利用系统、应用或服务的漏洞,对目标实施攻击的行为

【2】攻击载荷(Payload)

攻击载荷是我们在成功渗透目标系统后,希望在目标系统中去执行的一段代码。

【3】shellcode

shellcode是在渗透攻击时作为攻击载荷运行的一组机器指令,用于获得shell或cmd

【4】模块(Module)

Metasploit框架中的各项功能的集合,详见Metasploit框架图。

【5】监听器(Listener)

等待连入网络连接的组件,多在端口进行监听,负责处理目标靶机对主机的回连响应。

【6】其他

Exploit模块 expolit可以理解为方法,即攻击的步骤,像是菜谱一样,什么时候该做什么,大大提高了渗透效率。Payload模块 payload即攻击载荷,是攻击时真正起作用的代码,通常被传输到靶机的特定内存地址,通过调用达到指定的目的。反弹shell Metasploit中提供了一些可以直接获得反弹shell的exploit或payload,例如exploit/windows/shell/reverse_tcp,linux/shell/reverse_tcp等

2、Metasploit用户接口

用户接口包括终端、命令行和图形化界面等。除了这些,功能程序(utilities)则提供了对Metasploit框架中内部功能的直接访问。

2.1 MSF终端

目前最流行的用户接口,灵活、简洁、方便。

2.2 MSF命令行

早期版本中,msfcli命令行工具和MSF终端为Metasploit框架访问提供了两种不同的途径,现行版本中,msfcli命令行已被淘汰,所以不再展开。

2.3 Armitage

Metasploit框架中的Armitage组件是一个完全交互式的图形化用户接口,由Raphael Mudge开发。

3、Metasploit功能程序

3.1 MSF攻击载荷生成器

攻击载荷生成器允许你生成shellcode、可执行代码和其他更多的东西,它们在框架软件之外的渗透代码中使用。 shellcode可以生成C、Javascript、甚至应用程序中的Visual Basic脚本在内的多种格式,每种输出格式在不同的场景使用。比如

python语言编写渗透攻击的概念验证码(POC)——> C语言浏览器渗透攻击代码 ——> javascript

早起版本使用msfpayload命令,现行版本使用msfvenom命令

3.2 MSF编码器

攻击载荷生成器产生的shellcode是完全可以运行的,但是其中包含了一些空字符,在一些程序进行解析时,会被认为是字符串的结束,也就是说,\x00和\xff字符会破坏攻击载荷。 另外,明文传输的shellcode容易被检测出来,为了逃避查杀,利用编码器进行编码。 现行版本中编码器被集成在了msfvenom中

3.3 Nasm shell

Nasm_shell.rb功能是了解汇编代码含义的工具,可以找出特定汇编命令对应的opcode操作码。

最新回复(0)