掌握信息搜集的最基础技能与常用工具的使用方法:
(1)各种搜索技巧的应用
(2)DNS IP注册信息的查询
(3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
(4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
使用metasploit
的 brute_dirs
,dir_listing
,dir_scanner
等辅助模块,用来探测网站的目录结构,便于查找漏洞点。
首先进入msfconsole
use auxiliary/scanner/http/dir_scanner set THREADS 218 set RHOST www.baidu.com exploit
use auxiliary/scanner/http/dir_listing set THREADS 50 set RHOST www.baidu.com exploit
use auxiliary/scanner/http/brute_dirs set THREADS 50 set RHOST www.baidu.com exploit
通过扫描,我们可以看到百度的一些隐藏目录
返回代码200表示成功处理了请求
返回代码302表示服务器重定向
返回代码404表示服务器找不到请求的网页
在开始前,先学习一下搜索引擎的一些查询小技巧:十分钟教你有效运用15种百度检索式:小敏学长
1、“+”加号 —— 强制包含关键词 2、“-”非——消除无关性 3、“|”或——并行搜索 4、(“”)双引号——精确匹配 5、“《》”书名号——精确匹配/电影或小说 6、“『』”——查找论坛版块 7、“文本方式”——查找论坛内容 8、利用后缀名来搜索电子书 9、中英文混合搜索 10、“开始连接”、“正在连接”——搜索电影 11、“site”——在特定网站或域中搜索 12、“inurl”——把搜索范围限定在url链接中 13、“intitle”——把搜索范围限定在网页标题中 14、“filetype:”——特定格式的文档检索 15、“intitle:bookmarks”——查询别人的收藏夹
Windows 使用 tracert 命令进行路由侦查
其中,
linux下使用traceroute
命令进行路由侦查
得到的结构和windows的结果差不多,只是第二到第四列的结果和第五列的结果交换了一下。
whois
就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商),使用时要去掉www
等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois
数据库中可能查询不到
可以得到DNS解析服务器保存的Cache的结果(有可能出现错误)。
dig可以从官方DNS服务器上查询精确的结果。
+[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。 +[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。 +[no]identify:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。 +[no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
maxmind可以通过ip地址查询地理位置。
shodan可以进行反域名查询
通过PING发现
通过域名可以发现主机的ip。
metasploit中的arp_sweep模块
use auxiliary/scanner/discovery/udp_sweep show options set RHOSTS 192.168.174.128/24 set THREADS 50 run
- arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机
bash use auxiliary/scanner/discovery/arp_sweep show options set RHOSTS 192.168.174.128/24 set THREADS 50 run
发现需要提权
-sS:TCP SYN扫描,可以穿透防火墙; -sA:TCP ACK扫描。有时候由于防火墙会导致返回过滤/未过滤端口; -sP:发送ICMP echo探测; -sT:TCP connect扫描,最准确,但是很容易被IDS检测到,不推荐; -sF/-sX/-sN:扫描特殊的标志位以避开设备或软件的监测; -O:启用TCP/IP协议栈的指纹特征信息扫描以获取远程主机的操作系统信息; -sV:获取开放服务的版本信息; -PU:对UDP端口进行探测。
use auxiliary/scanner/portscan/tcp set RHOSTS 192.168.174.128/24 set THREADS 50 run
输入 sudo nmap -O 192.168.174.141
,指定nmap进行OS探测
use auxiliary/scanner/telnet/telnet_version set RHOSTS 192.168.174.128/24 set THREADS 50 run
use auxiliary/scanner/ssh/ssh_version set RHOSTS 192.168.174.141/24 set THREADS 50 run
use auxiliary/scanner/oracle/tnslsnr_version set RHOSTS 192.168.174.128/24 set THREADS 50 run
其他同学多次失败尝试后建议我直接下载gsm虚拟机,否则直接安装会比较麻烦。于是本次实验我尝试直接在gsm虚拟机上操作,按照OpenVAS_gsm_4.3.14的下载和在虚拟机VMware的安装一步一步进行安装,安装完成后,第一次登录会显示该虚拟机的IP
IP为192.168.1.113
尝试在主机上访问
登录成功
选择导航栏的Scans,点击左上角的第二个图标,选择Task Wizard,再输入主机的ip地址,开始运行。
运行一段时间后,得到结果
选择Last Report展开
我们选择导航栏上不同的选项查看详细信息。(这里以Posts为例)
我们可以发现135端口确实开放了
查看CVE
全球根服务器均由美国政府授权的Internet Corporation for Assigned Names and Numbers (ICANN)统一管理,负责全球域名根服务器。地址支持组织(ASO)负责IP地址系统的管理,域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理。全球一共有5个地区性注册机构:
扫描结果的准确性是较为准确的,但是存在的问题是随着版本迭代更新,目前大部分漏洞其实都已经被修复了,扫描出来的漏洞利用价值有限。同时,还存在部分没有扫描出来的漏洞。
这次实验由于是信息收集和漏洞扫描,实际上所需要的专业知识并不是很多,做起来也相对轻松一点,但是难点和消耗的时间主要在于漏洞扫描工具gvm的安装上。以前这个工具叫做openvas,现在在新版本的kali中已经改名为gvm。安装的时候需要联网下载,然后输入指令安装。在输入指令安装时,需要解压大量的数据,在这段时间内如果进行了其他操作,包括下载,息屏等,都会导致安装不完全。最后在check的时候报错,没有完全安装。
通过进行本次实验,我对信息收集和漏洞扫描又学会了新的姿势,信息收集和漏洞扫描是网络攻击的前提,如果扫不出漏洞,攻击就无从谈起。本次实验,受益匪浅。