忠告 & 基础

作者: 椋鸟 | 来源:发表于2015-03-11 16:09 被阅读0次

    从第一篇之后接下来就要正式开始渗透测试的部分了,首先引用《指南》中的几点忠告:

    • 不要进行恶意的攻击
    • 不要做傻事
    • 在没有获得书面授权时,不要攻击任何目标
    • 考虑你的行为将会带来的后果
    • 如果你干了些非法的是事情,天网恢恢疏而不漏,你总会被抓到牢里的

    谨记。


    专业术语介绍

    1. 渗透攻击(Exploit)
      渗透攻击是指由攻击者或渗透测试者利用一个系统、 应用服务中的安全漏洞, 所进行的攻击行为。 攻击者使用渗透攻击去入侵系统时,往往会造成开发者所没有预期的一种特殊结果。 流行的渗透攻击技术包括缓冲区溢出、Web应用程序漏洞攻击 (比如 SQL 注入), 以及利用配置错误等。
    1. 攻击载荷(Payload)
      攻击载荷是我们期望日标系统在被渗透攻击之后去执行的代码。 在 Metasploit 框架中可以自由地选择、传送和植入。例如, 反弹式Shell是一种从目标主机到攻击主机创建网络连接, 并 提供命令行shell的攻击载荷。而Bind Shell攻击载荷则在目标上将命令行Shell绑定至一个打开的监听端口,攻击者可以连接这些端口来取得Shell交互。 攻击载荷也可能是简单的在目标操作系统上执行 一些命令, 如添加用户账号等。
    1. Shellcode
      Shellcode 是在渗透攻击时作为攻击载荷运行的一组机器指令。Shellcode 通常用汇编语言编写。在大多数倩况下, 目标系统执行了 Shellcode 这一组指令之后. 才会提供一个命令行 Shell 或者 Meterpreter Shell, 这也是 Shellcode 名称的由来。
    1. 模块(Module)
      在本书的上下文环境中, 一个模块是指 Metasploit 框架中所使用的一段软件代码组件. 在 某些时候, 你可能会使更用一个渗透攻击模块(exploit module)。也就是用于实际发起渗透攻击的软件代码组件。而在其他时候,则可能使用一个辅助模块(auxiliary module), 用来执行一些诸如扫描或系统查点的攻击动作. 这些在不断变化和发展中的模块才是使 Metasploit 框架如此强大的核心所在。
    1. 监昕器(Listener)
      监听器是 Metasploit 中用来等待连入网络连接的组件. 举例来说,在目标主机被渗透攻击之后, 它可能会通过互联网画连至回攻击主机上, 而监听器组件在攻击主机上等待披渗透攻击的系统来连接,并负责处理这些连接。

    使用MSF的几种方式

    MSF 终端

    使用 MSF 最常用的方式就是通过 MSF 终端。

    在启动了postgresql 数据库服务和 metasploit 服务后,在终端输入msfconsole即可打开 MSF 终端,见下图

    msf-console-cmd.png

    经过一堆输出后,最终显示大概如下:

    msf-console-finish.png

    输入 help 命令可以查看简单的描述信息。

    对 MSF 终端将在后文详细介绍,现在先来看看另一种使用 MSF 的方法。

    在终端直接执行 MSF 命令

    使用msfcli后家命令的方式能在终端直接执行 MSF 提供的命令。

    使用示例:

    msfcli-example.png

    现在看不懂具体的输出没关系,这个示例只是让你有个初步的印象。

    在这里使用了
    msfcli windows/smb/ms08_067_netapi O
    这行命令,其中windows/smb/ms08_067_netapi是一个模块,末尾的O参数表示options,意为查看模块的选项参数。

    如果末尾为P表示Payload,意为查看可以附加上的攻击载荷。

    如果设置好了Options,然后末尾加上E参数的话可以执行(Execute)模块,样例代码为

    msfcli windows/smb/ms_08_067_netapi RHOST=192.168.1.3 PAYLOAD=windows/shell/bind_tcp E

    没有示例截图。

    PS:

    现在执行msfcli会出现「msfcli 工具已经被弃用,请使用msfconsole -r 或 -x 来代替」
    代替方法:
    msfcli windows/smb/ms08_067_netapi O
    基本等价于
    msfconsole -x "use exploit/windows/smb/ms08_067_netapi;show options"

    图形界面……

    《指南》里还稍微介绍了一下图形界面,我从来不用……就算了吧。

    MSF 功能程序

    msfpayload 和 msfencode

    《指南》里介绍的msfpayloadmsfencode两个命令,被整合成了msfvenom工具,就不做笔记了,详情请看这里

    Nasm Shell

    将汇编命令转换为opcode的工具。

    《指南》里说在/opt/framework/msf3/tools目录中,但是 Kali Linux 里并没有这个目录,用locate nasm_shell.rb查找之后发现在
    /usr/share/metasploit-framework/tools/nasm_shell.rb

    运行实例:

    nasm_shell-example.png

    PS

    如果出现错误提示,请按错误提示处理。
    我的折腾过程:首先提示找不到gem包,要运行:
    bundle install
    第一次中断在pg包上,要运行:
    gem install pg
    然后提示缺少 libqp-dev,运行:
    apt-get install libpq-dev
    然后重新运行 gem install pg && bundle install,中断在:
    Metasploit - InstallError: metasploit_data_models requires Ruby version >= 2.1
    然后安装rvm,
    gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
    curl -sSL https://get.rvm.io | bash
    按提示初始化后运行rvm install 2.1.0
    继续返回bundle install,成功了
    执行./nasm_shel.rb 正常。


    MSF 基础结束,下一篇介绍情报收集的基础知识。

    相关文章

      网友评论

        本文标题:忠告 & 基础

        本文链接:https://www.haomeiwen.com/subject/vhfbxttx.html