忠告 & 基础

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

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

谨记。


专业术语介绍

  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

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

忠告 & 基础_第1张图片
msf-console-finish.png

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

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

在终端直接执行 MSF 命令

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

使用示例:

忠告 & 基础_第2张图片
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 基础结束,下一篇介绍情报收集的基础知识。

你可能感兴趣的:(忠告 & 基础)