欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Metasploit基础(MSF)

程序员文章站 2024-03-19 14:18:46
...

专业术语:

1.渗透攻击(Exploit)

        指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为。流行的渗透攻击技术包括:缓冲区溢出、Web应用程序漏洞攻击、利用配置错误等

2.攻击载荷(Payload)

        是期望目标系统在被渗透攻击之后去执行的代码,也可能是简单的在目标系统上执行一些命令。

3.Shellcode

        在渗透攻击时作为攻击载荷运行的一组机器指令,通常由汇编语言编写

4.模块(Module)

        一个模块是指Metasploit框架中所使用的一段软件代码组件

5.监听器(Listener)

        Metasploit中用来等待连入网络连接的组件

Metasploit用户接口:

        Metasploit提供了多个用户接口,包括终端、命令行(msfcli已废弃)、图形化界面

1.MSF终端

        以一种友好的模式提供交互方式,用于访问软件所有的功能特性

msfconsole   启动MSF终端

2.Armitage

        完全交互式的图形化用户接口,须安装jdk

Metasploit功能程序:

1.MSF攻击载荷生成器(msfpayload)

        能够生成shellcode、可执行代码和其他东西,可以在框架软件之外的渗透代码中使用。

        Shellcode可以生成包括C、JavaScript等格式

        (msfpayload已移除,可使用msfvenom,集成了msfpayload和msfencode功能)

2.MSF编码器(msfencode)

        由MSF攻击载荷生成器产生的shellcode是完全可行的,但在其中包含了一些空字符,在一些程序进行解析时,空字符会被认为是字符串的结束,从而使得代码在完整执行之前被截断而终止运行

        MSF编码器可以通过对原始攻击载荷进行编码的方式,来避免坏字符,以及逃避杀毒软件和IDS的检测

3.Nasm Shell

nasm_shell.rb功能程序在尝试了解汇编代码含义是有用,可以对给定的汇编命令找出其opcode操作码

(该程序位于 metasploit安装目录/tools/exploit 中)

Msfvenom用法:

-l <type>        列出指定类型的所有模块,类型包括:payloads、encoders、nops、platforms、archs、all

-p <payload>        指定需要使用的payload(可通过-l payloads的到payload列表)

-f <format>        指定输出格式(-l formats 列出所有格式)

-e <encoder>        要使用的编码(-l encoders 列出所有编码)用于编码加密

-a <arch>        指定payload的目标CPU架构(-l archs列出所有CPU架构)

-o <path>        将payload保存到文件

-b <list>        指定不使用的字符集

-n <length>        在payload上添加指定长度的nop指令

-s <length>        设定payload的最大长度,即生成文件大小

-i <count>        对payload进行编码的次数

-c <path>        指定一个自己的win32 shellcode文件

-x <path>        指定一个可执行程序,将payload捆绑其中

-k        针对-x的捆绑程序,将创建新线程执行payload,同-x一起使用

-v <value>        指定用于某些输出格式的自定义变量名称

-t <second>        从STDIN读取有效负载时等待的次数(默认30,0为禁用)

        

相关标签: metasploit