前言
metasploit架构
metasploit模块和位置
你与metasploit大部分的交互都是通过一些模块进行的,它们分布在两个地方。基础的模块在
/usr/share/metasploit-framework/modules/
,自定义的模块存储在你的home目录
~/.msf4/modules/.
root@kali:~# ls /usr/share/metasploit-framework/modules/
auxiliary encoders exploits nops payloads post
所有metasploit模块都根据它们的目的,被组织成独立的模块,各种类型的Metasploit模块的基本概述如下所示。
Exploits
在metasploit框架中,exploit模块被定义为使用payload的模块
root@kali:~# ls /usr/share/metasploit-framework/modules/exploits/
aix bsdi firefox irix multi solaris
android dialup freebsd linux netware unix
apple_ios example.rb hpux mainframe osx windows
Auxiliary
Auxiliary模块包含后渗透用的扫描器,fuzzer,嗅探器以及其他东西。
root@kali:~# ls /usr/share/metasploit-framework/modules/auxiliary/
admin client dos gather scanner spoof vsploit
analyze crawler example.rb parser server sqli
bnat docx fuzzers pdf sniffer voip
Payloads, Encoders, Nops
payloads由远程执行的代码组成,而encoders确保payloads完好无损地到达目标主机。 Nops使有效负载大小在每次漏洞利用中保持一致。
root@kali:~# ls /usr/share/metasploit-framework/modules/payloads/
singles stagers stages
root@kali:~# ls /usr/share/metasploit-framework/modules/encoders/
cmd generic mipsbe mipsle php ppc ruby sparc x64 x86
root@kali:~# ls /usr/share/metasploit-framework/modules/nops/
aarch64 armle mipsbe php ppc sparc tty x64 x86
加载其他模块tree
Metasploit为您提供了在运行时或msfconsole已经启动后加载模块的选项。 在运行msfconsole时加上-m选项以在运行时加载其他模块:
root@kali:~# msfconsole -m ~/secret-modules/
如果你需要从msfconsole中加载额外的模块,使用loadpath命令
msf > loadpath
Usage: loadpath
Loads modules from the given directory which should contain subdirectories for
module types, e.g. /path/to/modules/exploits
msf > loadpath /usr/share/metasploit-framework/modules/
Loaded 399 modules:
399 payloads
```