认识Metasploit框架
Metasploit基础
认识Metaspliot框架
Metaspliot(MSF)渗透测试框架,提供众多的接口、选项、变量、模块以供渗透工作人员使用它完成一系列的渗透攻击。
渗透攻击(Exploit)
渗透攻击是指攻击者利用一个系统、应用或服务件的安全漏洞,进行攻击行为;往往会造成开发者所没有预期到的一种特殊结果。常见的渗透攻击技术包括缓冲区溢出、Web应用程序漏洞攻击(SQL注入、XSS、文件漏洞等)以及服务件的配置错误。
攻击载荷(Payload)
攻击载荷是我们期望目标在被攻击后去执行的代码。在Metaspliot框架中可以自由的选择、传送和植入。例如反弹式Shell是一种从目标主机到攻击主机之间创建一个网络连接,并提供命令行Shell的攻击载荷,而bind shell攻击载荷则在目标主机上将命令行shell绑定到一个打开的监听端口,攻击者可以丽娜姐这些端口来取得shell交互;攻击载荷可以是简单的在目标操作系统上简单的执行一些命令,如添加用户。
Shell Code
shell code是在攻击时作为攻击载荷运行的一组机器指令;shellcode通常用汇编语言编写,在大多数的情况下,目标系统执行了shell code这一组指令之后,才会提供一个命令行shell或者Meterpreter Shell。
模块(Module)
模块指的是Metasploit框架中使用的一段软件代码组件;在某些时候可能会使用到一个渗透攻击模块(Exploit Module),也就是用于实际发起渗透测试的攻击的软件代码组件,而在其它时候,则可能使用一个辅助模块,用来执行一些类似扫描或系统端点的攻击动作;模块的健全是Metasploit框架强大的核心。
监听器(Listener)
监听器是Metasploit框架中用来等待接入网络连接的组件,举例来说,在目标主机被渗透测试攻击之后,它会通过互联网回连攻击主机上,而监听器组件则在攻击主机上等待被渗透攻击的系统来连接,并负责处理这些网络连接。
Metasploit用户接口
Metasploit框架,有很多的用户接口,包括终端、命令行、图形化界面等;除此之外,功能程序则提供了对Metasploit框架中内部功能的直接访问。
MSF 终端
MSF终端(msfconsole)是目前Metasploit框架中最流行的用户接口(打开方式),MSF终端提供了最为灵活的的操作方式。
启动MSF终端: 直接使用msfconsole命令是最快启动msf终端的方法
root > msfconsole

上图则是在Kali下启动MSF终端后的界面内容
使用help则可以查看msf的帮助文档,而help connect命令则可以通过搜索的方式查看帮助文档。
msf5 > help connect

MSF命令行
MSF命令行是MSF终端为Metasploit框架访问提供了两种截然不同的途径,终端以一种友好的模式提供交互方式,用于访问呢框架的所有功能,而命令行(msfcli)则是主要考虑脚本处理和与其他命令行工具的互操作性。
root > msfcli
root > msfcli -h
- 但是在新的msf3之后的4和5,不在使用msfcli命令了;但是并没有抛弃命令行模式,而可以使用“-x”标志来实现msfcli之前支持的操作。我们采用msfconsole -x来实现 使用 MS08_067模块。参考:https://blog.csdn.net/zesicus/article/details/49952279
root > msfconsole -x
Armitage界面
MSF图形界面交互式接口
root > armitage
Metaspoit功能程序
MSF攻击载荷生成器
MSF攻击载荷生成器可以生成shell code、可执行代码和其他更多的内容。ShellCode可以生成包括C、JavaScript、甚至Web应用中VB脚本在内的多种格式,每种输出格式在不同的场景中使用。比如,Python编写的的一个攻击验证代码【漏洞利用方法】(POC),那么C语言格式输出是最好的;如果编写一个浏览器攻击代码,那么JavaScript语言方式输出的ShellCode是最合适的,在选择输出的格式之后,可以简单的将这个攻击载荷直接加入到一个HTML文件中来触发渗透攻击。
2015年之后msfpayload命令也被移除了,所以被整合在msfvenom中了(msfpayload+msfencode = msfvenom)
root > msfvenom -h
MSF编码器
MSF攻击载荷生成器的shellcode完全是可以独立运行的,但是包含了一些NULL空字符,在进行解析的时候会出现一些小问题,空字符会认为是字符串的结束标志,从而使代码在完整的运行之前被截断而终止运行。
同时在网络中明文传输shellcode会被查杀或识别拦截,为此MSF体系下支持自主的编码器对shellcode内容进行编码,防止被查杀或识别拦截。
Msfvenom的使用:http://www.zerokeeper.com/tools/use-of-msfvenom.html
Msfvenom 在 2015 年 6 月 8 日已经替代了 msfpayload 与 msfenocde 命令,它是这两个命令的结合体。
认识Metasploit框架的更多相关文章
- 4.Metasploit框架更新
Metasploit 进阶第二讲 框架更新 EDB平台-互联网安全漏洞库 Exploit_DB是一个面向全世界安全工作人员的漏洞提交平台,是一份公开已知漏洞的存档,便于企业改善公司的安全情况 ...
- Metasploit框架问题
1.使用nmap 扫描SMB服务漏洞信息 nmap -P0 --script=smb-check-vulns 10.10.15.123 2.sql语句绕过后台 这部分我待会补充 只有尽可能的过滤,没有 ...
- (一)走进Metasploit渗透测试框架
渗透测试的流程 渗透测试是一种有目的性的,针对目标机构计算机系统安全的检测评估方法,渗透测试的主要目的是改善目标机构的安全性.渗透测试各个阶段的基本工作: 1.前期交互阶段 在这个阶段,渗透测试工程师 ...
- [Installing Metasploit Framework on CentOS_RHEL 6]在CentOS_RHEL 6上安装Metasploit的框架【翻译】
[Installing Metasploit Framework on CentOS_RHEL 6]在CentOS_RHEL 6上安装Metasploit的框架[翻译] 标记声明:蓝色汉子为翻译上段英 ...
- metasploit 一款开源的渗透测试框架
渗透神器漏洞利用框架metasploit from: https://zhuanlan.zhihu.com/p/30743401 metasploit是一款开源的渗透测试框架软件也是一个逐步发展与成熟 ...
- chapter1 渗透测试与metasploit
网络对抗技术课程学习 chapter1 渗透测试与metasploit 一.读书笔记 二.渗透测试 通过模拟恶意攻击者的技术与方法进行攻击,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响 ...
- CentOS 6.x安装Metasploit
现在开始安装Metasploit框架,前面的包安装成功之后,我们需要再安装一些Metasploit依赖的Ruby库,命令如下: gem install wirble pg sqlite3 msgpac ...
- KALI LINUX WEB 渗透测试视频教程—第十九课-METASPLOIT基础
原文链接:Kali Linux Web渗透测试视频教程—第十九课-metasploit基础 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第十九课-metasploit基础..... ...
- Metasploit基础命令
msf > show exploits 列Metasploip的所有可用的渗透测试框架.在MSF终端中可以针对渗透测试中发现的安全漏洞来实施相应的渗透攻击. msf > show auxi ...
随机推荐
- 基于STM32F429的内存管理
1.内存管理介绍 内存管理,是指软件运行时对计算机内存资源的分配和使用的技术.其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源. 内存管理的实现方法有很多种,他们其实最终都是要 ...
- 【SDUT】【链表】2120 - 数据结构实验之链表五:单链表的拆分
Problem Description 输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数.两个子链表中数据的相对次序与原链表一致. ...
- 蓝色大气简约立体答辩ppt模板推荐
小编个人非常喜欢这个模版,大气深蓝色,具有科技感,非常适合学生的毕业答辩PPT模板. 模版来源:http://ppt.dede58.com/gongzuohuibao/26496.html
- JS简单数据类型
JS数据类型 在计算机中,不同的数据所需要占用的空间是不同的,为了便于把数据分析称所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型 简单数据类型 简单数据类型 说明 默认值 Numb ...
- 如何开发优质的 Flutter App:Flutter App 软件调试指南
本次博主带来的是<深入 Flutter 系列课程>第三讲,主要聊聊如何进行 Flutter App 代码的调试.本次课程将在GitChat平台上免费进行,通过本场 Chat,您将获得以下技 ...
- 搭建 Telegraf + InfluxDB + Grafana 监控遇到几个小问题
1:如果同一台服务器上安装有多个MongoDB实例,telegraf.conf 中关于 MongoDB 如何配置?配置数据在[INPUT PLUGINS的[[inputs.mongodb]]]部分. ...
- CUDA 编程相关;tensorflow GPU 编程;关键知识点记录;CUDA 编译过程;NVCC
本文章主要是记录,cuda 编程过程中遇到的相关概念,名字解释和问题:主要是是用来备忘: cuda PTX :并行线程执行(Parallel Thread eXecution,PTX)代码是编译后的G ...
- Re-DD-androideasy
题目地址 https://dn.jarvisoj.com/challengefiles/DDCTF-Easy.apk.64812266499cc050ac23e190e53b87f7 用JEB打开 返 ...
- BZOJ1391/LG4177 「CEOI2008」order 最大权闭合子图
问题描述 BZOJ1391 LG4177 题解 最大权闭合子图,本质是最小割 在任务和机器中间的边之前权值设为INF,代表不可违背这条规则 本题的租借就相当于允许付出一定代价,违背某个规则,只需要把中 ...
- Linux服务器下配置Java环境、JDK
前言 可以解决问题有/etc/profile与~/.bashrc环境文件区别 文件权限问题,只读readonly Java环境搭建 一.下载JDK包 地址:jdk1.8提取码:gx0b 把文件放到Li ...
