在 freeBSD 中使用 metasploit

来源:互联网 发布:淘宝客鹊桥pid 编辑:程序博客网 时间:2024/05/17 08:04

在 freeBSD 中使用 metasploit

metasploit是什么在这里我想就不用多介绍了吧, 能查到这篇文章的人肯定已经很熟悉了吧. 下面主要介绍如何在 freeBSD中安装使用metasploit这个神器.

一开始的时候, 我先用 whereis metasploit 命令查看ports中是否有metasploit, 一看竟然还真有, freeBSD果真足够强大. 用ports 或是 pkg_add 的方式都可以安装, 但这样安装的metasploit并不是最新的, 并且安装之后, 我没有找到一个很好的更新方法(应该是有的, 只是我没有深入研究一下, 如果有朋友知道, 可以在下面留言给我, 万分感谢.), 而使用metasploit的人应该知道时刻保持自己的metasploit是最新的是多么重要吧, 所以下面介绍的方法的特点就是在任何平台下更新metasploit都很方便.

首先我是看到了官网的这个说明, 发现用svn的方法更新果真是再好不过的了, 看到这里的朋友也可以先按照官网上的说明试一试, 如果能够一次性成功当然是最好的, 而且你可以不用再往下看了, 但是如果在checkout的时候失败了, 并且提示的错误类似这样 svn: REPORT of '/svn/!svn/vcc/default': Could not read response body: Secure connection truncated (https://www.metasploit.com), 那请你接着往下看.

针对上面的问题我曾经还给msf的工作人员发了一封求助邮件, 因为我尝试了很多遍都是同样的问题, 因此我本能的认为可能是他们的svn服务器有什么问题. msf的工作人员第二天就给我回邮件了, 大意是: 你在checkout的时候svn断开了, 将之前checkout下来的所有东西清空再尝试一遍. 这种方法我已经尝试了n遍, 显然是没有用的, 但他这样给我回邮件, 至少证明他能肯定他们的svn服务器是没有问题的, 看来我只有换个思路了.

还有什么原因能够导致svn没有响应呢? 我突然想到之前在用php写一个向其他服务器发送http请求的程序时, 也遇到了类似的问题, 当时原因是因为请求回来的数据太大, 下载的时间太长, 导致连接时间超过了设置的最大时间. 难道这次也是因为这个原因? 只有试一试了, 可是怎样才能减少连接时间呢? 一次只checkout下来一部分, 这样应该就可以了吧.

于是我用 svn help co 命令查看了 checkout 的参数, 发现可以通过参数来控制checkout的目录深度, 这样我们就可以先将第一层和第二次目录checkout下来, 接着再对每一个第二层目录进行checkout, 最后在第一层目录下使用 svn update 命令保证每个目录的版本的相同的, 下面就是具体的步骤了.


1. 先将第一层和第二次目录更新下来:

svn co --depth immediates https://www.metasploit.com/svn/framework3/trunk/ metasploit/

其中 metasploit/ 是你事先创建好的一个空目录. 这个命令执行完了以后, 你在metasploit目录下应该可以看到一些文件和目录, 其中目录里面应该是空的, 或是有一个.svn/ 目录, 如果有.svn/ 目录, 请将 .svn/ 目录删除.

2. 依次更新所有的第二层目录, 这里我以 data/ 目录为例:

cd metasploit 这个命令是进入你之前创建的 metasploit/ 目录
svn co --depth infinity https://www.metasploit.com/svn/framework3/trunk/data/ data/

这样 data/ 目录下的所有内容就被更新下来了, 依次更新与 data/ 目录在同一级的目录.

3. 最后在metasploit/ 目录下使用 svn updata 命令来保证所有更新下来的内容在同一版本:

svn update

这样, 以后每天使用metasploit之前都可以先 svn update 一下, 保证自己的metasploit是最新的 :)



还有一点题外话, 除了以上的操作, 你可能还是无法将metasploit运行起来, 你还需要安装运行metasploit需要的环境, 那就是rubygem-activerecord, rubygem-activerecord可以通过pkg_add的方式直接安装.

现在运行msfconsole应该没问题了, 但可能你会看到 ini.rb:144: command not found: infocmp -C 这样的warning, 解决这个warning的方法是安装 ncurses, 因为安装ncurses的过程中会安装infocmp. 安装ncurses也可以通过pkg_add的方式直接安装. 至于这两个东西是干嘛用的, 我也不太清楚 :)

原创粉丝点击