以前学过一点基本操作,但是时间一长忘记了很多,这次打算重新打打metasploit的基础,好好学习一下。
说起metasploit,真是一个很强大的存在,其本身可以调用nmap进行强大的扫描功能,也可以和其他强大的工具进行结合使用,2003年面世以来在万网络安全领域独领风骚,使渗透操作变得很简单,甚至有的地方介绍说有了metasploit,人人皆黑客。
作为这么一个强大好用的开源框架,还免费面向用户(虽然说有付费版的),真是良心之作。
metasploit中包含了很多的漏洞poc以及exp,还有很多的扫描模块,对很多的已知漏洞可以很方便的进行渗透测试,下面介绍msf的安装教程、目录结构及模块结构。
kali Linux、BT5这些专门为渗透测试打造的linux系统上均自带msf,无需下载,使用命令msfconsole可以直接打开msf
没有msf的Linux系统安装方法,一次执行命令:
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
chmod 777 msfinstall
./msfinstall
Metasploit内置了对PostgreSQL数据库系统的支持,可以对msf进行数据库连接:
因为已经配置过数据库了,所以上面提示的已经配置过。
msf5下载地址:https://windows.metasploit.com/metasploitframework-latest.msi
下载完成之后直接安装即可。
需要注意的是环境变量,我安装的时候是装上之后环境变量自动设置好了,如果没有设置好可以在Path中手动设置:
然后执行命令msfconsole就可打开msf:
kali上现在是msf5,在一些博客上看到进入/usr/share/metasploit-framework/文件夹下可以看到msf的文件夹,然而我的是这样:
这看不出目录结构,然后又在ubuntu上是用上面的方法下载了一个msf,然而是这样的:
然而在别人博客上看到的是这样的:
msf就是以这么个文件结构来工作的,那么这些文件也一定可以找到
root@kali:/opt/metasploit-framework/bin# find / -name auxiliary
/opt/metasploit-framework/embedded/framework/test/modules/auxiliary
/opt/metasploit-framework/embedded/framework/spec/lib/msf/core/auxiliary
/opt/metasploit-framework/embedded/framework/spec/file_fixtures/modules/auxiliary
/opt/metasploit-framework/embedded/framework/documentation/modules/auxiliary
/opt/metasploit-framework/embedded/framework/modules/auxiliary
/opt/metasploit-framework/embedded/framework/lib/msf/core/auxiliary
/usr/share/clusterd/src/platform/tomcat/auxiliary
/usr/share/clusterd/src/platform/jboss/auxiliary
/usr/share/clusterd/src/platform/axis2/auxiliary
/usr/share/clusterd/src/platform/weblogic/auxiliary
/usr/share/clusterd/src/platform/glassfish/auxiliary
/usr/share/clusterd/src/platform/coldfusion/auxiliary
/usr/share/clusterd/src/platform/railo/auxiliary
/usr/include/boost/spirit/home/karma/auxiliary
/usr/include/boost/spirit/home/qi/auxiliary
/usr/include/boost/spirit/home/x3/auxiliary
/usr/include/boost/spirit/home/support/auxiliary
/usr/include/boost/fusion/algorithm/auxiliary
root@kali:/opt/metasploit-framework/bin# cd /opt/metasploit-framework/
root@kali:/opt/metasploit-framework# ls
bin embedded LICENSE LICENSES version-manifest.json version-manifest.txt
root@kali:/opt/metasploit-framework# cd embedded/
root@kali:/opt/metasploit-framework/embedded# ls
bin framework include lib share ssl
root@kali:/opt/metasploit-framework/embedded# cd framework/
root@kali:/opt/metasploit-framework/embedded/framework# ls
app Gemfile msfrpcd
CODE_OF_CONDUCT.md Gemfile.local.example msfupdate
config Gemfile.lock msfvenom
CONTRIBUTING.md lib msf-ws.ru
COPYING LICENSE plugins
CURRENT.md LICENSE_GEMS Rakefile
data metasploit-framework.gemspec README.md
db modules script
docker msfconsole scripts
docker-compose.override.yml msfd spec
docker-compose.yml msfdb test
Dockerfile msfdb-kali tools
documentation msf-json-rpc.ru Vagrantfile
external msfrpc version.yml
root@kali:/opt/metasploit-framework/embedded/framework# cd modules/
root@kali:/opt/metasploit-framework/embedded/framework/modules# ls
auxiliary encoders evasion exploits nops payloads post
看,这样就找到了。
现在来介绍主要结构,主要目录如下
存放meterpreter,exploits,wordlists等。
meterpreter是msf的攻击载荷,使用于后渗透阶段,使用meterperter可以在漏洞攻击之后给我们返回一个控制通道,可以进行更加深入的渗透。
exploits里面则存放了许多的cve漏洞利用代码
wordlists里面放的是字典文件
这时一个metasploit的核心目录了,存放着各个攻击模块,下面会单独讲解。
存放一些msf用到的脚本文件,有这几个meterpreter,ps,resource,shell
存放各种可使用的工具
存放msf的各种插件
模块存在于modules目录中,包含以下这些
通过对目标的扫描及漏洞证明等,探测出目标的漏洞或配置问题,然后利用exploit模块对目标机进行攻击。
主动渗透攻击:利用模块中的exp对目标发送数据,利用其已知漏洞
被动渗透攻击:利用木马病毒文件,诱导目标运行文件
msfconsole中用show exploits可以看到msf支持的攻击模块:
这里显示的是有1900个exploit
这个是我们对目标机进行攻击后想让目标机执行的代码,比如反弹shell、bind shell等。后面会进行详细的介绍。
使用show payloads可以查看
不影响程序运行的空指令或无关指令,用于填充。
使用show nops可以查看
避免"坏字符"的出现,以及免杀处理
使用show encoders可以查看
用以在已经拿到控制权的目标上进行更深层次的渗透。
使用show post可以查看
存放各种各样的辅助工具,包括扫描、嗅探、模糊检测等。