《metasploit渗透测试指南》学习笔记1
来源:互联网 发布:南京网博java培训费用 编辑:程序博客网 时间:2024/05/16 11:06
情报搜集
被动信息搜集(使用被动,间接的信息搜集技巧)
记一次被动信息搜集(secon.net "伪造的域名“)
1.使用whois查询secon.net的域名服务器DNS,若DNS不是由目标系统提供,则不能攻击(原因:未授权)
2.使用Netcraft查询secon.net的IP地址(Netcraft是一个网页界面工具 网址http://searchdns.netcraft.com/)
3.针对secon.net的IP地址再做一次whois查询
4.使用nslookup挖掘secon.net的更多信息
5.借助主动信息搜集技术对目标IP 进行更准确的信息探测
PS:被动搜集是一门技术,可参考PTES上的方法,拓展你的被动信息搜集工作
主动信息搜集
与目标系统直接交互,从而对其进行更深入的了解,可以执行端口扫描来确定目标系统开放了那些端口,运行了那些服务
在主动搜集过程中,可能会被入侵检测系统(IDS)或入侵防御系统(IPS)给逮住
1.使用Nmap进行端口扫描
通过被动信息搜集确定了目标的IP范围后,可以开始使用端口扫描获取目标开放的端口(实际上是逐个对远程主机的端口发起连接)
Nmap可以一次性扫描大量主机并确定每台主机上运行的服务其中每个服务都可能是一个进入系统的入口
nmap选项之一-sS,使用它来执行一次隐秘的TCP扫描,确定某个特定的TCP端口是否开放
-Pn,告诉nmap不要使用ping命令预先判断主机是否存活,默认所有主机都是存活状态(在Internet上大多数网络均不允许ping命令所使用的“Internet控制报文协议ICMP”通行)
-A,获得目标系统更多细节信息
-oX 文件名,生成基本XML报告文件
2.在Metasploit中使用数据库(记录)
a.启动postgresql数据库子系统 /etc/init.d/postgresql start(默认用户名postgres,口令toor)
b.让metasploit框架连接到这个数据库实例上 db_connect postgres:toor@127.0.0.1/msfbook(数据库名)
db_status 查看数据连接是否正确
c.将nmap输出的结果导入metasploit db_import 生成的XML报告文件名
db_hosts,核实导入的结果
3.高级nmap扫描技巧:TCP空闲扫描
冒充网络上的另一台主机的IP地址,对目标进行更为隐秘的扫描
在进行这种扫描之前,需要在网络上定位一台使用递增IP帧标识(IPID:用于跟踪IP包的次序的一种技术)机制的空闲主机(空闲
是指该主机在一段特定时间内不向网络发送数据包)
当冒充这台空闲主机的IP地址对目标主机的某个端口进行探测后,如果该空闲主机实际的IP帧标识与预测得出的IP帧标识发生断档那么意味着该端口可能是开放的
可以使用metasploit框架的scanner/ip/ipidseq模块寻找满足TCP空闲扫描要求的空闲主机
a.use auxiliary/scanner/ip/ipidseq
show options 显示执行ipidseq扫描所需的所有参数,其中RHOST参数是重点
RHOST参数,可以使用IP地址段(192.168.1.20-192.168.1.30),CIDR(无类型域间选路)地址块(192.168.1.0/24),使用逗号分隔的多个CIDR地址块(192.168.1.0/24,192.168.3.0/24),以及每行包括一个IP地址的IP列表文本文件(file:/tmp/hostlist.txt)
THREAD参数,设定扫描的线程数,增加数值以提高扫描速度,降低参数值减少网络上的数据流量(windows不超过16,类unix不超过128)
设置参数:set 参数名 数据 启动扫描:run
b.对扫描结果进行分析,在nmap中使用-sI 选项指定扫描获取的(假设为192.168.1.109)作为空闲主机对目标主机进行扫描
nmap -PN -sI 192.168.1.109 目标主机IP
4.在MSF终端中运行Nmap
a.将metasploit与postgresql数据库连接
b.输入db_nmap命令,使msfconsole能运行nmap,并自动将nmap结果存储在数据库中
c.执行db_services命令查看数据库中关于系统上运行服务的扫描结果
针对性扫描
寻找目标网络中存在的已知可利用漏洞或能够轻松获得后门的特定操作系统,服务,软件以及配置缺陷
例,在目标网络中快速扫描是否存在MS08-067(仍然是一个普遍存在的安全漏洞)可以很快获得SYSTEM访问权限
1.服务器消息块协议(SMB:通用的文件共享协议)扫描
metasploit利用smb_version模块遍历网络,获取windows系统的版本号
2.搜寻配置不当的Miscrosoft SQL Server
配置不当的MS SQL 通常是进入目标系统的第一个后门,MS SQL安装后,默认监听在TCP端口1433上或使用随机的动态TCP端口
只需要简单的对UDP端口1434进行查询或使用metasploit的mssql_ping模块,便能个获取这个随机的TCP端口号
3.SSH(安全协议)服务器扫描
使用metasploit框架的ssh_version模块识别目标服务器的ssh版本
4.FTP(复杂且缺乏安全性的应用层协议)扫描
a.使用ftp_version识别ftp服务器
b.使用scanner/ftp/anonymous模块查询这台服务器是否允许匿名登录
5.简单网管协议(SNMP)扫描
使用metasploit框架的scanner/snmp/snmp_enum扫描是否配置了SNMP
为了获取管理一台交换机的权限,首先找到SNMP团体字符串,利用scanner/snmp/snmp_login模块,尝试猜解SNMP团体字符串
相关文章
ICMP控制报文协议:http://www.2cto.com/net/201305/210290.html
- 《metasploit渗透测试指南》学习笔记1
- Metasploit渗透测试指南
- Metasploit渗透测试指南
- metasploit渗透测试学习笔记(一)
- metasploit渗透测试学习笔记(二)
- metasploit渗透测试笔记
- Metasploit渗透测试指南修订
- Metasploit渗透测试 学习路线
- 《metasploit渗透测试魔鬼训练营》学习笔记第四章—web应用渗透
- 《metasploit渗透测试魔鬼训练营》学习笔记第五章--网络服务渗透攻击
- 《metasploit渗透测试魔鬼训练营》学习笔记第六章--客户端渗透
- metasploit 渗透测试笔记(meterpreter篇)
- metasploit 渗透测试笔记(meterpreter篇)
- Metasploit 渗透测试笔记(Meterpreter篇)
- metasploit 渗透测试笔记(meterpreter篇)
- metasploit 渗透测试笔记(基础篇)
- 渗透测试之学习使用metasploit
- metasploit渗透测试笔记(内网渗透篇)
- Leetcode21: Merge Two Sorted Lists
- day4
- ubuntu没有inittab
- 144. Binary Tree Preorder Traversal
- 各种多媒体格式以及codec简析
- 《metasploit渗透测试指南》学习笔记1
- django导出csv文件的编码问题
- Reverse Integer【易】
- ViewStub 源码简解
- 重设、替换ViewPager中的Fragment
- 71. Simplify Path
- 看看React-router那些基本概念
- Android 侧栏A-Z的快速滑动搜索(三)
- NOIP 2016 签到记