–作者:CV

本文主要讲metasploit的入门用法,还有一些渗透细节和思路,有不足的,欢迎互相学习研究。本人区别于书籍的特点是:书籍以模块为划分,我是以连续的步骤进行书写,更突出一次渗透的思路,同时我会通过强调步骤的细节技巧,用以拓展相关类容。

由于我现在对metasploit的深入度并不足,只能使用metasploit做一些初级入门的系统测试,一下是常规步骤和方法:

1、 使用nmap进行端口扫描
2、 使用search命令查找相关模块
3、 使用use调度模块
4、 使用info查看模块信息
5、 选择payload作为攻击
6、 设置攻击参数
7、 渗透攻击
如果第二次看我文章,建议通过以上七个步骤回忆操作,实在记不住再看后面步骤详解,以达到掌握的效果。

详解:
首先是安装metasploit和nmap(后期也会出一个这个工具的学习笔记),至于安装方法,请根据您使用的系统来百度。百度是初学者必备,如果深入建议使用Google。我们这次渗透的靶机,是metasploitable2。

1. 使用nmap进行端口扫描,

由于本人技术初级阶段,所以只能检测系统漏洞。检查系统漏洞的关键,就是检测端口的开放,这个也是metasploit种exploit模块经常要设置参数的原因,所以nmap很好的解决了这个需求,通常使用:nmap –sV IP(或者域名),如果机器设置有防火墙禁ping,可以使用nmap -P0(或者-Pn) –sV IP(或者域名),通过这两个命令可以查看主机的开放情况:

如图,可以看到靶机开放的端口,开放状态,服务类型,和版本号,其中渗透最重要的两个参数是开放状态和版本号。如果端口是关闭的,那就不可能渗透了,一般是防火墙过滤了,但如果是过滤的话,还是可以尝试攻击(我没成功过,应该有一定可能成功);版本号也就是系统扫描中,在开发安全扫描件里经常提及的漏洞指纹,因为大部分漏洞的产生就是某一版本的问题。
我们此次攻击的139端口,如图中,可以看到服务的指纹信息,主要就是服务名称和版本号,是叫samba的服务,处于3.X-4.X版本。

此步强调:

a、 nmap的参数居多,但是可以通过英语简写记,比如:-sV :s 技术scan ,V就是version。(我英语不好,也不知道是不是对的)
b、 通过nmap主要是知道端口开放情况(STATE)和指纹信息(服务名称和版本号),然后可以根据指纹信息百度,该版本是否存在漏洞,然后按百度操作证明。

2.使用search命令查找相关模块

就刚才我们锁定的139端口的版本信息,我们可以通过search命令查找相关的扫描脚本。命令格式:search Name。本例就是:search samba

如图,加班也有很多属性,其中最重要的就是他的等级,一般有限选择excellent和great两种等级,因为稳定且效果明显,其次重要的就是后面的描述是否和我们攻击的服务有关,最后记住需要的模块,在后面攻击是使用。

此步强调:

a、 攻击模块的等级很重要,依次选择excellent和great,其他模块并不是很好或者效果不明显。(后期我可能出一个metasploit二次开发的编程,使用脚本,可以简单快速的进行渗透,并且解决低等级模块多,手工慢的特点。)
b、 英语非常重要,但是要求也不高,能把提示看懂就行,这个对渗透帮助巨大,因为大部分好的开源工具都是英文提示。
c、 还有图中第二行没有标明的一个问题,说我没有建立数据库,建议大家在使用metasploit以前,打开postgresql数据库,有很多难度姿势需要依赖,在此我就不举例了。

3.使用use调度模块

找到了我们需要攻击的目标模块,我们就使用它,通过命令:use ExploitName 。该例就是:use exploit/multi/samba/usermap_script。

如图,出现第二行,就是说明模块加载成功。
技巧:如果是知道使用哪个模块,可以输入每个 / 后的前2-4个字母使用table补齐,或者直接复制刚才找到模块。(建议大家都使用Linux操作系统,只需要命令就能解决很多问题,而且本人偏开发,在开发的时候,Linux使用也会比Windows多些优势)

4.使用info查看模块信息

这步最简单,就是在上步的基础上,输入info就行:

主要就是看图中标红的描述,确定是否针对漏洞(该步基本可省略,但是为了了解学习,还是建议看看)

5.选择payload作为攻击

选择payload,首先我们要看能使用哪些参数,通过命令:show payloads:

在选择攻击载荷的时候,建议选用和meterpreter和reverse相关的载荷,本次攻击就选用图中标红的。
通过使用命令:set payload PayloadName。该例为:set payload cmd/unix/reverse:

出现第二行,表示设置成功。
技巧:
a、 meterpreter在metasploit中有什么瑞士尖刀的称呼,可以很好的做到后渗透攻击以及内网渗透,可以参看meterpreter使用。
b、 reverse解释是反弹,由于你攻击的目标机可能处在内网里,所以你攻击的时候存在端口映射等方面的问题,所以如果使用反弹,这个可以更稳定。(我是这么理解的,建议百度反弹shell,玄魂的解释挺不错)

6.设置攻击参数

首先通过show options或者options,查看需要填写的参数:

其中标红处如果是yes,表示这行参数必须填写,如果是no,就是选填,其中有LHOST和RHOST是空,我们根据后面的描述,填上靶机和本地主机的信息。

RHOST 填写目标机IP,LHOST填写本机IP。
技巧:
a、 在真实的环境中,RPORT可能并不是默认的参数,由于一个服务是放在内网当中,他通过路由器转发,可能会出现端口的变化(端口映射),比如我们刚才扫描出该服务的端口可能就不是139,而是XXX,这个时候,我们就要设置RPORT为XXX,这点非常重要。
b、 exploit target也是非常重要的参数,在你确切的知道目标的系统的时候,可以通过show targets,查看目标系统有哪些:

查看目标的系统,可以使用:nmap –O IP,然后使用set target ID选择目标类型,主要用于增加成功率。
c、 由于本机的IP在内网,所以基本不会变,可以使用setg代替set,这样在手工的时候换攻击模块,少输入几个字母。

7.渗透攻击

上面参数填好后,应该是如下情况:

就是参数完整,然后使用exploit或者run就行了,对于部分攻击模块,可以使用check来判断:

图中的靶机ip由于我是通过虚拟机主机模式做的,所以ip和端口都是原生的,但如果是渗透到内网的某个主机,那显示的本地地址可能和你的攻击地址产生不同,这个时候就恭喜你的渗透到内网,你可以通过使用添加路由的方式,进行内网渗透(后面看情况出该章节)。
技巧:使用check判断,不会生成session,这样就不会暴露自己的ip地址,但是也就不能getshell。

8.后渗透攻击

这一部分主要是meterpreter模块的使用,以及部分提权,由于和这章关系不大,所以就没列入最前面的列表,后期会出一个相关学习笔记。

总结(非常重要):

a、 英语很重要,就算不学太多单词,在使用工具中出现的单词,建议查找记忆。
b、 在文章中没提出在计算机中用的最常见的一个参数 “-h”,就算help,很多操作都可以通过帮助来使用,所以再次说明英语重要。
c、 参数众多的情况下,就记住主要的参数,比如本文针对exploit模块,基本常用的命令(除了show advanced 和设置其中的参数)

关于metasploit方面推荐学习demon表哥的博客:www.ggsec.cn,视屏更多。
本人初学习渗透知识,文中可能有一定纰漏,如果有大表哥发现,麻烦请斧正,联系QQ:617088553。

推广:

一些好群推荐:
漏洞银行技术1群:477761459
漏洞银行新手特训营:435418650

CV,Ctrl+C、Ctrl+V;只做姿势的搬运工,希望对入门的朋友有所帮助。
文章欢迎转载,同时版权归本人所有,如商业用途,欢迎合作共赢。

Metasploit入门用法(主动攻击)相关推荐

  1. Android ORMLite 框架的入门用法

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39121377 大家在Android项目中或多或少的都会使用数据库,为了提高我们的 ...

  2. Linux之Ansible入门用法(实验解析)

    Linux之Ansible入门用法(实验解析) 实验前提: 三台CentOS7和一台CentOS6,其中一台CentOS7当作Ansible堡垒机,其余三台主机当作被控主机.四台主机均为最小化安装,全 ...

  3. android ormlite框架,Android ORMLite 框架的入门用法

    大家在Android项目中或多或少的都会使用数据库,为了提高我们的开发效率,当然少不了数据库ORM框架了,尤其是某些数据库操作特别频繁的app:本篇博客将详细介绍ORMLite的简易用法. 下面开始介 ...

  4. ormlite android jar,Android ORMLite 框架的入门用法

    大家在Android项目中或多或少的都会使用数据库,为了提高我们的开发效率,当然少不了数据库ORM框架了,尤其是某些数据库操作特别频繁的app:本篇博客将详细介绍ORMLite的简易用法. 下面开始介 ...

  5. kotlin coroutines 协程教程-入门用法

    kotlin coroutines 协程教程-入门用法 Coroutine 协程,是kotlin 上的一个轻量级的线程库,对比 java 的 Executor,主要有以下特点: 更轻量级的 api 实 ...

  6. Metasploit入门到高级【第四章】

    来自公粽号:Kali与编程 预计更新 第一章:Metasploit 简介 Metasploit 是什么 Metasploit 的历史和发展 Metasploit 的组成部分 第二章:Kali Linu ...

  7. Metasploit入门

    Metasploit Windows哈希值检测命令 ​ certutil /? 查看帮助 渗透测试 ​ 黑盒测试:设计为模拟一个对客户组织一无所知的攻击者所进行的渗透攻击. ​ 白盒测试:在拥有客户组 ...

  8. maven学习(上)- 基本入门用法

    2019独角兽企业重金招聘Python工程师标准>>> 一.下载及安装 1.1 下载maven 3.1.1 先到官网http://maven.apache.org/download. ...

  9. RabbitMQ入门用法及消息模型案例

    消息中间件之RabbitMQ 核心概念 ​ JMS(JAVA Message Service,java消息服务)API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建.发送. ...

最新文章

  1. ENC28j60以太网芯片驱动程序简介
  2. linux添加磁盘后进入grub,从硬盘安装 Linux 和从 GRUB 命令行启动操作系统
  3. C语言指针和数组的天生姻缘
  4. 01_[pathlib]内置pathlib库的常用属性和方法
  5. Wix学习整理(2)——HelloWorld安装添加UI
  6. Flying框架思路与感想
  7. RStudio快捷键
  8. SAP HANA数据库的搜索执行原理
  9. MySQL中varchar最大长度是多少
  10. Python -bs4介绍
  11. 芭比扣了!Nacos中服务删除不了,肿么办?
  12. 6 大技巧帮助初学者快速掌握 JavaScript!
  13. 天使轮融资一个亿的AI公司创新奇智,与徐工信息达成战略合作
  14. 如何使用融云地图,文件等插件--融云 Android SDK 2.8.0+ Extension 开发文档
  15. 学java到底好在哪里你知道吗?(附低配版王者荣耀开发视频)
  16. 免费全球网络学习学院上线以支持妇女发展
  17. shell了解MySQL_MySQL Shell的简单介绍(r12笔记第95天)
  18. 蓝桥杯单片机(十一)PCF8591(A/D转换)
  19. 金融类APP上架经验分享
  20. 弟子规python编程游戏_弟子规入则孝_读后感

热门文章

  1. android tag定义快捷键,Android Studio快捷键生成TAG、Log.x日志输出介绍
  2. 蓝桥杯基础模块9:IO口扩展与存储器映射
  3. 查询阜阳2021高考成绩,2021年阜阳高考成绩排名及成绩公布时间什么时候出来
  4. .sh文件是什么语言_FastDFS分布式文件系统的搭建安装
  5. P2084 进制转换
  6. python网络聊天器多线程版
  7. dijkstra算法学习
  8. 手势相关-解决手势冲突
  9. Windows XP SP3支持多用户远程桌面连接
  10. [你必须知道的.NET] 第一回:恩怨情仇:is和as