Metasploit渗透测试指南学习笔记-创新互联

阅读《Metasploit渗透测试指南》学习笔记
1. 渗透测试基础 1.1 渗透测试步骤

前期交互:确定攻击目标和范围

目前成都创新互联已为成百上千家的企业提供了网站建设、域名、虚拟主机网站托管、企业网站设计、吴中网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

情报搜集:收集能收集到的所有信息

威胁建模:分析系统可能存在的弱点

漏洞分析:分析可行的攻击途径

渗透攻击:实施攻击

后渗透攻击:找到对客户有价值的信息这资产,并能够演示出攻击途径

报告:做了哪些,如何做的,如何修复

1.2 渗透测试分类

白盒测试:拥有所有内部知识,不用担心攻击被阻断

黑盒测试:完全模拟攻击者

灰盒测试:黑盒+白盒,最理想的渗透测试方法

2. Metasploit基础 2.1 专业用语

Exploit(渗透攻击):利用软件中的安全漏洞进行攻击的行为

payload(攻击载荷):实际执行的攻击代码

shellcode:不知道干啥的

module(模块):msf中提供的功能组件

listener(监听器):监听被攻击者的回连请求

2.2 用户接口
  1. msf终端

  2. msf命令行(不知道和终端有啥区别

  3. 图形界面(armitage

3. 情报收集 3.1 被动情报收集(通过公开信息收集)

不接触到目标系统的情况下收集信息,例如利用公开信息。

  • whois查询:得到域名相关的一些信息,包括DNS的地址

  • Netcraft:可以发现承载某个特定网站的服务器的ip地址

  • Nslookup:查询DNS记录,包括查询域名对应的ip,域名的CNAME,权威服务器和邮件服务器

  • google hacking: 直接在谷歌上搜索可以获得很多意向不到的信息

3.2 主动信息收集

通过与目标系统直接交互来进一步收集信息

  • 使用nmap进行端口扫描:获取目标ip开放的端口及端口绑定的服务

    • -sS:确定特定的端口TCP端口是否开启

    • -Pn:默认所有主机都是存活状态,不预先使用ping来判断是否存活,因为Internet上大多数网络都禁止了ping使用的ICMP报文的通行,但是如果在内网中进行扫描可以忽略这个选项

    • -A:查看更多细节

  • 在metasploit中使用数据库

    • 将nmap结果倒入到metasploit的数据库中

      • 手动导入:nmap结果存储为xml后,导入database

      • 自动存储:dn_nmap,在MSF终端中运行nmap,并自动将结果存储到database

    • tcp空闲扫描(这个没看明白):大概就是利用空闲的ip对目标主机进行探测

  • metasploit自带的一些扫描工具

3.3 针对性扫描

寻找目标网络中是否存在xxx漏洞可以直接利用

  • 服务器消息块协议扫描:快速获取windows系统的版本号

  • 搜寻配置不当的Microsoft SQL Server:获取sql的配置信息

  • SSH服务器扫描:获取SSH的版本

  • FTP扫描:FTP复杂且缺乏安全性

  • 简单网管协议扫描:本用于提供类似cpu利用率的系统状态信息,但被攻陷后可以泄漏很多信息

4 漏洞扫描

通过向目标系统发送数据,并将反馈数据与自带的漏洞特征库进行匹配,进而列举出目标系统上存在的漏洞

4.1 基本的漏洞扫描

通过http请求中的userAgent判断被请求的主机系统版本

4.2 使用Nexpose进行扫描

利用Nexpose工具完成更复杂的漏洞扫描,并自动生成漏洞报告

4.3 使用Nessus进行扫描

利用Nessus完成扫描

4.4 专用漏洞扫描器

介绍了几个Metasploit中包含的针对某个特定漏洞的扫描器

4.4.1 验证SMB登陆

对大量主机的用户名和密码进行爆破

4.4.2 扫描开放的VNC空口令

VNC(虚拟网络计算)提供了图形化的远程系统访问方式,类似于微软的远程桌面。很多时候VNC都是为了解决问题临时安装的,使用完之后有些管理员会忘记删除,其中可能存在空口令的VNC服务器。

4.4.3 扫描开放的x11服务器

X11服务器允许用户无需认证身份信息即可连接

4.5 利用扫描结果进行自动化攻击

Metasploit Pro商业化版本的自动化攻击能力,可以根据扫描结果进行Autopwn。最后汇总成报告,其中展示本次扫描中发现的活跃主机,开放的网络服务,安全漏洞,以及渗透攻击获得的控制会话、登陆凭证等信息。

5. 渗透攻击之旅

熟悉Metasploit框架中的各种攻击命令,方便后续介绍如何开发自己的工具。

5.1 渗透攻击基础

show操作,用来列出模块信息

5.1.1 msf->show exploits

显示所有可用的渗透攻击模块

5.1.2 msf->show auxiliary

显示所有的辅助模块以及他们的用途,辅助模块包括扫描器、拒绝服务攻击工具、fuzz测试器,以及其他类型的工具

5.1.3 msf->show options

显示运行的参数设置。如果当前选中了一个模块,则显示这个模块相关的参数。如果当前没有选择任何的参数,则列出全局参数。

其中:

  • use:加载模块并进入

  • search:搜索相关模块

  • back:回到上一个状态

5.1.4 msf->show payloads

显示与当前模块兼容的攻击载荷

set payload xxx:选中指定的攻击载荷

5.1.5 msf->show targets

显示所有收到漏洞影响的目标系统的类型。其中包括Automatic Targeting选项,但是这个选项容易触发错误的攻击行为,所以最好依赖目标操作系统的指纹信息手动指定版本

5.1.6 info

info + 模块名:显示模块的详细信息、参数说明以及所有可用的目标系统,如果已经选择的模块,直接输入info就好

5.1.7 set和unset

Metasploit中所有的参数只有两个状态:set和unset。对于必填项,需要使用set参数 参数值来设置,也可以使用unset来禁用,可以用show options来查看哪些参数是必填

5.1.8 setg和unsetg

对全局参数进行设置或清除,适用于那些经常使用又很少会变得参数,例如LHOST

5.1.1 save
  • 在使用setg对全局参数进行设置之后,可以使用save进行保存,这样下次启动MSF终端依然可以使用

  • 在任何时候输入都可以保存当前的状态,默认存储在/root/.msf3/config

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网页标题:Metasploit渗透测试指南学习笔记-创新互联
转载来源:http://myzitong.com/article/ddcscj.html