metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二

在metasploit中使用数据库
使用情况:在执行一项复杂的渗透测试工作,有大量的测试目标,需要记录大量的扫描结果。
metasploit支持MySQL,PostgreSQL,SQLite3数据库。
例子:使用PostgreSQL数据库(metasploit默认的数据库)
1.在Linux终端,利用集成在Linux中的init.d脚本启动数据库在这里插入图片描述
2.进入msf终端,将metasploit框架连接数据库,用户名(默认postgres):口令(toor)@运行数据库系统的主机名/要用的数据库名
在这里插入图片描述
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第1张图片
3.msf终端键入help查看和数据库有关的命令
在这里插入图片描述
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第2张图片4.db_status确认数据是否连接正确
在这里插入图片描述
5.将nmap的输出结果导入metasploit
nmap -Pn -sS -A -oX Subnet.xml www.baidu.com
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第3张图片
将nmap生成的xml报告文件导入到metasploit框架中,在绝对路径下。
接下来进入msf终端查看数据库连接状态,成功继续进行
db_status
在这里插入图片描述
在msf终端将报告文件导入
db_import /home/output/Subnet.xml
在这里插入图片描述
操作完毕,查看结果。
hosts -c address
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第4张图片
2.高级nmap扫描技巧:TCP空闲扫描
能让我们冒充网络上另一台主机的IP地址,对目标进行更加隐秘的扫描
步骤:
扫描前,需要在网络上定位一台使用递增IP帧标识机制的空闲(指在一段时间内不向网络发送数据包)主机
这样的主机的IP帧的标识是可以预测的
当我们冒充这台空闲主机IP地址对目标主机的某个端口进行探测后,如果该空闲主机的实际IP帧标识与预测得出的IP帧标识发生断档,那么意味着这个端口可能是开放的
了解更多此模块和IP帧标识
http://www.metasploit.com/modules/auxiliary/scanner/ip/ipidseq/

metasploit寻找满足TCP空闲扫描条件的主机
利用metasploit框架的scanner/ip/ipidseq模块
use auxiliary/scanner/ip/ipidseq
在这里插入图片描述
show options显示ipidseq扫描需要的所有参数
注意 required项为yes的 必须设置值
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第5张图片
参数RHOSTS:IP地址段,CIDR地址块,使用逗号分隔的多个CIDR地址块,每行包含一个IP地址的列表文本文件(file:/tmp/hostlist.txt)。
参数THREADS:设置扫描的线程数,参数值高扫描速度快,参数值低减少网上流量。Windows16,Unix128.
set 参数 值
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第6张图片在这里插入图片描述
此标识标识递增序列,可以使用
在这里插入图片描述
查看扫描结果即可

3.在msf终端运行nmap,将metasploit和nmap结合起来

先将数据库和metasploit联系起来
在这里插入图片描述
在msf终端运行nmap,并自动将结果保存在数据库中
db_nmap 参数 目标主机(也可以是网段)
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第7张图片
用services命令查看数据库中的关于系统上运行服务的扫描结果
services -u
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第8张图片
使用metasploit进行端口扫描
不仅可以使用第三方扫描器,其辅助模块也包含了几款内建的端口扫描器
**search portscan **查看metasploit框架提供的端口扫描工具
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第9张图片
进入SYN端口扫描模块
use auxiliary/scanner/portscan/syn
查看需要配置的参数
show options
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第10张图片
配置参数,目标主机,线程。
在这里插入图片描述
从结果看出,开放的端口(部分,时间太长)
在这里插入图片描述
4.针对性扫描
不为寻找捷径而羞愧
针对性扫描是指寻找目标网络中存在的已知可利用漏洞或能够轻松获得后门的特定操作系统、服务、软件及配置缺陷
就是扫描特定的漏洞,而不是扫描后再攻击

进行针对性扫描的前提是掌握关于协议和端口的一些基础知识,才能弄明白如何对一个系统进行成功的渗透攻击

服务器消息块协议扫描:
metasploit可以利用他的smb_version模块来遍历一个网络,并获取Windows系统的版本号
SMB一个通用的文件共享协议–服务器消息块协议
SMB(ServerMessageBlock)协议是一种局域网文件共享传输协议,可以为局域网用户提供相关的功能和机制,来保证传输的可靠性。常被用来作为共享文件安全传输研究的平台,SMB协议中采用控制文件安全传输的机制是使用客户身份验证的方式,该方式通过客户端向服务器端发送验证密码来获取文件传输的权限。针对该机制的网络攻击相对严重,攻击程序通过对验证密码的截获来窃取文件的访问权限。SMB依赖于操作系统等底层的架构(DOS),所以对于文件的传输等过程的控制和性能提升等操作可以通过它所依赖的底层系统来进行修改,进而达到对文件传输过程的控制和优化。

服务器信息块(SMB)协议是一种IBM协议,用于在计算机间共享文件、打印机、串口等。SMB 协议可以用在因特网的TCP/IP协议之上,也可以用在其它网络协议如IPX和NetBEUI 之上。
SMB 一种客户机/服务器、请求/响应协议。通过 SMB 协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。此外通过 SMB 协议,应用程序可以访问远程服务器端的文件、以及打印机、邮件槽(mailslot)、命名管道(named pipe)等资源。
在 TCP/IP 环境下,客户机通过 NetBIOS over TCP/IP(或 NetBEUI/TCP 或 SPX/IPX)连接服务器。一旦连接成功,客户机可发送 SMB 命令到服务器上,从而客户机能够访问共享目录、打开文件、读写文件,以及一切在文件系统上能做的所有事情。

use auxiliary/scanner/smb/smb_version
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第11张图片run 运行查看结果即可
使用 hosts -u -c address,os_name,vulns,workspace 查看数据库中保存的结果
渗透工作需要避免流量过大引起对方的警觉,可以这么使用,快速安全定位

搜寻配置不当的Microsoft SQL Server
配置不当的MS SQL通常是进入目标系统的第一个后门。MS SQL通常作为其他常用软件安装的先决条件被自动的安装到系统上。这些情况下安装的MS SQL没用实际的用处,也很少安装补丁程序,很少配置。
MS SQL安装后,默认监听在TCP1433端口上或者使用随机的动态TCP端口。如果是使用随机的动态TCP端口,需要用UDP端口1434进行查询,以便获得这个随机的TCP端口号。
mssql_ping可以这样做
mssql_ping使用UDP协议,对大规模的子网进行扫描时他的速度很慢,因为要处理超时的问题。
但是在局域网中,设置线程数255将极大提高扫描速度。发现MS SQL的时候将会显示出关于服务器所有的信息。
use auxiliary/scanner/mssql/mssql_ping
在这里插入图片描述
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第12张图片
设置相应的参数即可 run 运行 因为我是拿自己的真实机器做的 就不显示结果了 上面没结果的 也是这样的情况
扫描器能够定位服务器的名称,ms sql的实例名 服务器版本号 和ms SQL监听的端口号
使用这种方法的速度比nmap对主机的所有端口都扫描一遍快得多,在拥有很多主机的子网中。

SSH服务器扫描
发现有SSH服务器的运行就应该对他进行一次扫描
使用metasploit框架的ssh_version模块来识别目标服务器上运行的ssh版本
use auxiliary/scanner/ssh/ssh_version
在这里插入图片描述
结果会告诉我们,不同的服务器会安装不同的补丁等级的版本 想要攻击特定版本的OpenSSH,这些扫描结果可能会很有用
7.FTP扫描
FTP协议经常是进入一个网络最便捷的途径,是一种复杂且不安全的应用层协议。在渗透工作中我们应该总是对FTP进行扫描,识别和查点。
使用metasploit的ftp_version来进行扫描。
在这里插入图片描述
查看选项设置相应的参数即可。
use auxiliary/scanner/ftp/anonymous模块检查这台FTP服务器是否允许匿名用户登录

简单网管协议扫描
简单网管协议(SNMP)经常用于网络设备中,用来报告带宽利用率,冲突率以及其他信息。一些操作系统中也包含SNMP服务器软件,主要用来提供类似CPU利用率,空间内存以及其他系统状态信息。
注意:可访问的SNMP服务器可以能够泄露关于某特定系统相当多的信息,甚至会导致设备被远程攻陷。
例如:如果你能得到具有可读可写权限的Ciso路由器SNMP团体字符串,便可下载整个路由器的配置,对其进行修改,并把它传回路由器中。
如果能够获得RO、RW权限的团体字符串(团体字符串基本上等同于查询设备信息或写入设备配置参数时所需口令),将对你从设备中提取信息发挥重要作用。基于Windows操作系统的设备中,如果配置了SNMP,通常可以使用RO或RW权限的团体字符串,提取目标的补丁级别,运行的服务,用户名,持续的时间,路由及其他信息,这些信息很有价值。
猜解出团体字符串之后,SNMP(并非所有版本)可以允许你做其管理范围内的任何事情,可能会导致大量的信息泄露或整个系统被攻陷。为了获得一台交换机的权限,首先你需要找到他的SNMP团体字符串。
利用scanner/snmp/snmp_login模块来对IP或IP段使用字典来猜解SNMP团体字符串
metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二_第13张图片管理员有时候粗心大意,所以尽一切可能做一些事情
最后:编写自己的扫描器,加油!

你可能感兴趣的:(metasploit渗透测试指南--第三章--主动信息搜集--学习笔记二)