在kali中使用metasploit,需要先开启PostgreSQL数据库服务和metasploit服务,然后就可以完整的利用msf数据库查询exploit和记录了。这一点比bt5要方便很多,所以现在就放弃了bt5。

4 ]3 f. Q5 F5 [

具体命令与截图

  1. service postgresql start
  2. service metasploit start

复制代码

如果不想每次开机都这样,还可以配置随系统启动。

  1. update-rc.d postgresql enable3 Q$ C+ _- H# n. P! }
  2. update-rc.d metasploit enable

复制代码

<ignore_js_op>

( I1 U1 H: o# ]. v8 i9 x7 ?9 ]
' a' s1 H! n. }& S. p% B

0 w" e. a/ F* w( y9 D8 k
0x02 metasploit目录结构

之所以会讲到这,是因为我认为框架代码是用来学习的一个非常好的来源。并且metasploit是用ruby脚本语言编写,所以阅读起来非常方便。 在渗透,exploit编写过程前理解框架的优势以及大致内容则能够快速构建出自己的工具或者找到已知可用的工具。这样不仅有利于得到结果,也提高了效 率。

这里只介绍几个目录,也希望读者能把modules下auxiliary的模块大致都看一遍。这样有个印象也便于快速查找。

对于工具的使用,没有会不会的。只是有没有发现而已。目录大概看一遍,这个问题就差不多了吧!

* h4 x: ^+ j2 H2 `. g" L

<ignore_js_op>

7 ~/ j6 e* x* W/ R+ L

Kali中msf的路径为/usr/share/metasploit-framework

modules

首先看modules目录:

<ignore_js_op>

& x4 Q% L- Q: n* S8 l

这里

Auxiliary:辅助模块,

encoders:供msfencode编码工具使用,具体可以使用 msfencode –l

exploits:攻击模块 每个介绍msf的文章都会提到那个ms08_067_netapi,它就在这个目录下。

nops:NOP (No Operation or Next Operation) sled,由于IDS/IPS会检查数据包中不规则的数 据,所以在某些场合下(比如针对溢出攻击),某些特殊的滑行字符串(NOPS x90x90...)则会因为被拦截而导致攻击失效,所以此时需要修改 exploit中的NOPs.nops文件夹下的东西会在payload生成时用到(后面会有介绍)。比如我们打开php的NOPS生成脚本,就会发现它 只是返回了指定长度的空格而已。

<ignore_js_op>

, r0 i8 G# s, Q2 i( ?

& p! T5 J1 i7 i* Y9 N5 G

payloads:这里面列出的是攻击载荷,也就是攻击成功后执行的代码。

比如我们常设置的windows/meterpreter/reverse_tcp就在这个文件夹下。

Post:后渗透阶段模块,在获得meterpreter的shell之后可以使用的攻击代码。

比如常用的hashdump、arp_scanner就在这里。

data

其次是data目录:

这里存放的是metasploit的脚本引用文件,重点介绍几个文件

<ignore_js_op>

]# Q! [7 ?. E7 t

+ ?* i$ U1 n& q5 }! p+ [
0 K0 J* L  W* F; T6 }5 Q

第一个是data下js文件夹下的detect,这里面存放的是metasploit的探针文件。如果看过metasploit浏览器攻击脚本的代 码,就会发现调用了一个js库,然后检查当前请求是否符合被攻击环境。如果符合则发送攻击代码,否则中断。Memory中主要是一些堆喷射代码。在大部分 浏览器漏洞利用过程,堆喷射是一个不可或缺的过程(当然不是绝对的!)。并且不同的浏览器及版本间,堆喷射代码都有所不同。所以这里给出的探针代码和堆喷 射代码是不是一个非常好的学习资源呢? script

最后是msf下script目录中的resource目录:

/ F$ m$ _2 @- B6 u8 u0 H

<ignore_js_op>

6 m, s( W9 I& ?/ f5 X6 k4 y* k

这里的rc脚本相当于windows下的批处理脚本,在某些情况下会有一定便捷性。比如Veil在生成免杀payload的同时也会生成一个rc脚 本,此时使用msfconsole –r xx.rc便可以快速的建立一个和payload对应的handler,亦或在攻过程中需要你反复的 set exploit,那么就可以使用这个批处理脚本了,而这个目录下则是一些给定的rc脚本,虽然你可能不习惯这样使用,但作为改写自己的rc脚本的 资源也不错。

0x03 metasploit基本命令( a. U' X% q6 r$ ^( t$ T9 K

列一些其他文章中不常提到的命令或者是我经常碰到或使用的方法。

Msfpayload

<ignore_js_op>

! F) p. X* Z- K+ H7 Q$ \

这是我最常用的一个命令,用来生成payload或者shellcode。

在不知道payload名称又不想开msfconsole搜索的时候可以用msfpayload –l |grep “windows”这样的命令查询。

-o 选项可以列出payload所需的参数。

msfencode

<ignore_js_op>

4 g5 c7 @: y; B+ Z

msf中的编码器,早期为了编码绕过AV,现在我常用msfpayload与它编码exploit的坏字符串。

msfconsole

开启metasploit的console,有个重要的参数 –r,加载resources脚本

数据库有关命令

hosts

<ignore_js_op>

, u2 w/ f' P. v6 W

( V2 d: R# l6 ?3 C: m1 `% i

这里可以使用hosts查询指定字段的内容,可用的字段下面有列出。或者也可以使用hosts –S “keyword” 进行搜索。

Creds

<ignore_js_op>

8 O5 e0 J, s2 Z

1 ]0 `" Z' ]3 @+ y, }$ Y) s! z( \

Creds命令可以列出成功获取到的信息,比如用户名密码,数据库密码,开放端口及服务等。

Console中有关命令search

<ignore_js_op>

/ n4 `2 W, W0 Z& v* |! I% |4 z& E

/ Y+ {+ w& h" X

搜索一切可以use的模块,常用的方法是search 直接加关键词,比如search 08_067,但是我们也可以根据cve编号查找。通常用nessus扫到的漏洞都有cve信息,这里我们就可以这样搜索了。* Y, ~& d& W; M1 E7 |" ^* l

<ignore_js_op>

) {9 x6 L& s$ a/ \& K+ d) t
& J8 U3 u3 ~2 N" h, q

将屏幕输出重定向到某个文件中,在使用HTTP弱口令破解、,内网http目录等不会记录在creds中的内容时你怎样解决查询成功结果的?反正这 个问题我快要疯了。 要不就改写exploit,不成功不打印,要不就重定向之后自己再grep吧。如果有好的方法,一定要分享啊!

show advanced

<ignore_js_op>

<ignore_js_op>

+ @9 e7 ]# G8 m
8 v0 t0 x- t: e% h

将屏幕输出重定向到某个文件中,在使用HTTP弱口令破解、,内网http目录等不会记录在creds中的内容时你怎样解决查询成功结果的?反正这 个问题我快要疯了。 要不就改写exploit,不成功不打印,要不就重定向之后自己再grep吧。如果有好的方法,一定要分享啊!

show advanced

<ignore_js_op>

. V/ t( I% a. _: U

; e% k, i1 v# V! N/ \+ w3 a

在选定一个module(exploit,payload …)之后,使用show advanced命令可以显示关于此module的高级选项,具体内容会在后面”metasploit tricks and tips”中分享。

0x04 攻击示例

同样我还是选择ms08_067这个漏洞,并且随便输入一个ip,演示下最基本的攻击过程(为了让基础篇看起来更完整点)结束基础篇的分享。说明:

<ignore_js_op>

# j: u* L. ]; q  c) V

从图中也可以看出一次基本的攻击过程大概是这样的:

    • 选择exploit (use exploit/windows/smb/ms08_067_netapi)
    • 选择payload
    • 设置参数 (set RHOST,set LPORT …)
    • 执行攻击) v-

metaspolit 基础的更多相关文章

  1. Metaspolit工具----基础

    Metasploit框架(Metasploit Framework,MSF)是一个开源工具,旨在方便渗透测试,他是有Ruby程序语言编写的模板化框架,具有很好的扩展性,便于渗透测试人员开发.使用定制的 ...

  2. 20145320 《网络渗透》MSF基础应用

    20145320 <网络渗透>MSF基础应用 1.实验后回答问题 exploit 攻击模块,利用发现的安全漏洞或配置弱点对远程目标系统进行攻击.主要分为主动攻击和被动攻击.像我们这次做的实 ...

  3. Metaspolit

    Metaspolit介绍 Metasploit是一款开源的安全漏洞检测工具,安全工作人员常用 Metasploit工具来检测系统的安全性.Metasploit Framework (MSF) 在200 ...

  4. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  5. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  6. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  7. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  8. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  9. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

随机推荐

  1. nagios 自定义插件demo

    #!/bin/bash loadavg=$( uptime | awk -F: '{print $4}' | xargs ) load1int=$( ) load5int=$( ) load15int ...

  2. Uva10082 WERTYU -S.B.S.

    A common typing error is to place the hands on the keyboard one row to the right of the correct posi ...

  3. 《EXO指数型组织》阅读脑图

    书籍:<EXO指数型组织:打造独角兽公司的11个最强属性> 预览链接:https://www.processon.com/view/link/57ce8279e4b08cbf6ca8f85 ...

  4. 边工作边刷题:70天一遍leetcode: day 79

    3Sum Smaller 要点:类似的题还有lintcode的triangle count:https://github.com/delbao/onlineJudge/blob/master/lint ...

  5. HDU 4082 Hou Yi's secret --枚举

    题意: 给n个点,问最多有多少个相似三角形(三个角对应相等). 解法: O(n^3)枚举点,形成三角形,然后记录三个角,最后按三个角度依次排个序,算一下最多有多少个连续相等的三元组就可以了. 注意:在 ...

  6. 第24章 SEH结构化异常处理_异常处理及软件异常

    24.1  程序的结构 (1)try/except框架 __try{ //被保护的代码块 …… } __except(except fileter/*异常过滤程序*/){ //异常处理程序 } (2) ...

  7. 获取元素在浏览器中的绝对位置(从jquery1.8中抠出来)

    <style> html,body{margin:0;padding:0;} .d1{margin-left:40px;background:red;width:2000px;height ...

  8. 运维工作中sed常规操作命令梳理

    sed是一个流编辑器(stream editor),一个非交互式的行编辑器.它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间",接着用sed命令处理缓冲 ...

  9. 部署Zipkin分布式性能追踪日志系统的操作记录

    Zipkin是Twitter的一个开源项目,是一个致力于收集Twitter所有服务的监控数据的分布式跟踪系统,它提供了收集数据,和查询数据两大接口服务. 部署Zipkin环境的操作记录:部署Zipki ...

  10. UIVisualEffectView为视图添加特殊效果

    在iOS 8后,苹果开放了不少创建特效的接口,其中就包括创建毛玻璃(blur)的接口. 通常要想创建一个特殊效果(如blur效果),可以创建一个UIVisualEffectView视图对象,这个对象提 ...