Metasploit渗透测试指南学习笔记【02】

0x02 情报搜集

情报搜集是渗透测试流程中的第二个步骤,目的是获取渗透测试目标的准确信息,已了解目标组织的运作方式,确定最佳攻击路线。情报搜集工作需要周密的计划、调研,尽可能多地去搜集各类信息。开始情报搜集之前,你应当考虑如何将每一步操作和得到的结果记录下来,以便其他人根据记录复现渗透流程。

1、被动信息搜集

被动信息搜集可以在不接触目标系统的情况下挖掘目标信息,确定网络边界和运维人员。

1.1 whois查询

whois可以查询目标网站的域名服务器
在这里插入图片描述

1.2 Netcraft

Netcraft(http://searchdns.netcraft.com)是一个网页界面工具,用来查询承载某个网站的服务器IP地址
在这里插入图片描述
查明testfire.net的IP地址是65.61.137.117后,我们再做一次针对这个IP地址的whois查询。
在这里插入图片描述
能ping通,但是网络不可达,可能是whois信息受到保护

1.3 nslookup

在这里插入图片描述
邮件服务器指向hostmaster.akamai.com,很明显这些邮件服务器是由第三方运维的,不在渗透范围。

1.4 Google Hacking

谷歌搜索的一些语法,包括insite,intitle,intext,inurl等,不做展开,反正只有翻墙后才能用,百度就可以了。

2、主动信息搜集

与目标系统进行交互,探寻开启的端口、服务,但是不够小心会被发现。

2.1 Nmap

推荐参数:

  1. -sS:执行一次隐秘的TCP扫描
  2. -Pn:不使用ping预先判断主机是否存活(Internet上不予许ICMP报文通行,内网可不用此参数)
  3. -A :深入的服务枚举和旗标获取
    在这里插入图片描述在这里插入图片描述

2.2 在Metasploit中使用数据库

Metasploit支持MySQL、PostgreSQL和SQLite3数据库,默认数据库是PostgreSQL

  1. 启动数据库
root@kali:~# /etc/init.d/postgresql start
  1. 连接数据库
    用户名:postgres
    口令:toor
    数据库:msf
msf> db_connect postgres:toor@127.0.0.1/msf
  1. 确认连接
msf> db_status

返回connect to msf说明连接正常

2.2.1 将nmap输出的结果导入Metasploit

在使用nmap进行扫描时,可以利用-oX选项生成XML报告,然后利用db_import命令将文件导入到msf数据库中,可以使用hosts命令核实导入的结果
首先针对虚拟机进行扫描,生成Subnet1.xml文件
在这里插入图片描述
导入并核实:
在这里插入图片描述

2.2.2 nmap扫描高级技巧:TCP空闲扫描

在扫描前,我们需要在网络上定位一台使用递增IP帧标识(IP ID:用于跟踪IP包的次序的一种技术)机制的空闲主机。
利用可预测到的IP帧标识,计算出它下一帧的标识,当我们利用冒充的这台空闲主机的IP地址对目标主机的某个端口进行探测后,发现空闲主机实际IP帧标识与预测的IP帧标识发生断档,那么意味着该端口可能是开放的。了解更多访问http://www.metasploit.com/modules/auxiliary/scanner/ip/ipidseq/

使用Metasploit框架的scanner/ip/ipidseq模块,来寻找满足TCP空闲扫描要求的空闲主机。
在这里插入图片描述
Rhosts参数可以使用:

  1. ip地址段(如:192.168.1.100-192.168.1.200)
  2. CIDR(无类型域间选路)地址块
  3. 每行包含一个IP地址的列表文本文件(如file:/tmp/hostlist.txt)

Threads设置线程数,所有模块默认为1,增加线程可提高扫描速度,降低线程可减少网络上的数据流量。一般来说,在windows上运行Metasploit最好不要超过16,在linux上不要超过128
在这里插入图片描述
在nmap中利用-sI选项指定上面获取的其中一个ip地址为空闲主机(假设为192.168.1.132),对目标主机(192.168.1.201)进行扫描

msf auxiliary(ipidseq) > nmap -PN -sI 192.168.1.132 192.168.1.201
2.2.3 在MSF终端直接使用nmap

在Metasploit中可以直接使用nmap进行扫描,首先连接数据库

msf > db_connect postgres:toor@127.0.0.1/msf

连接成功后,利用db_nmap进行扫描,结果会自动保存到msf数据库中。
在这里插入图片描述

利用services -u 命令可以查看数据库中的关于系统上运行服务的扫描结果
在这里插入图片描述

2.2.4 使用Metasploit进行端口扫描

除了使用第三方扫描器外,Metasploit辅助模块中也包含了几款内建的端口扫描器。
输入如下命令查看端口扫描工具

msf > search portscan

使用metasploit的SYN端口扫描器对单个主机进行一次简单的扫描。首先输入use scanner/portscan/syn,然后设定RHOSTS参数为目标ip,设定线程数50,run执行扫描
在这里插入图片描述

2.3 针对性扫描

针对性扫描是指寻找目标网络中存在的已知可利用漏洞或能够轻松获取后门的特定操作系统、软件以及配置缺陷。

2.3.1 服务器消息块协议扫描

Metasploit可以利用它的smb_version模块来遍历一个网络,并获取Windows系统的版本号。
在这里插入图片描述
可以使用hosts -u -c address,os_name,svcs,vulns,workspace命令查看保存的结果。

2.3.2 搜索配置不当的Microsoft SQL Sever

MS SQL安装后,它默认监听在TCP端口1433上或使用随机的动态TCP端口。如果在随机的TCP端口上进行MS SQL监听,只需要简单地对UDP端口1434进行查询,便能获取这个随机的TCP端口号。
Metasploit中可以利用mssql_ping这个模块来做这件事。
在这里插入图片描述

2.3.3 SSH扫描器扫描

SSH是一种安全的协议,但这里的安全仅只数据传输的加密。
Metasploit框架中的ssh_version模块可以识别目标服务器上运行的SSH版本。
在这里插入图片描述

2.3.4 FTP扫描

FTP是一种复杂且缺乏安全性的应用层协议。
使用ftp_version模块进行扫描
在这里插入图片描述
扫描完可以利用auxiliary/scanner/ftp/anonymous模块检查这台FTP服务器是否允许匿名登录
在这里插入图片描述

2.3.5 简单网管协议扫描

简单网管协议(SNMP)通常用于网络设备中,用来报告宽带利用率、冲突率、以及其他信息。然而,一些操作系统也包含SNMP服务器软件,主要用来提供类似CPU利用率、空闲内存以及其他系统状态信息。
可访问的SNMP服务器能够泄露某特定系统相当多的信息,甚至会导致设备被远程攻陷。例如,如果得到具有读写权限的Cisco路由器SNMP团体字符串,就可以下载整个路由器的配置,对其进行修改,并将它传回到路由器中。

  • 辅助模块scanner/snmp/snmp_enum
    在这里插入图片描述
  • 利用scanner/snmp/snmp_enum模块,尝试对一个IP或一段IP使用字典来猜解SNMP团体字符串。

2.4 编写自己的扫描器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值