1-6信息收集


####信息收集

作用
  • 了解安全架构
  • 缩小攻击范围
  • 描绘拓扑网络
  • 建立脆弱点数据库
分类

  • 主动信息搜集:与目标主机进行直接交互,缺点是会记录自己的操作信息
  • 被动信息搜集:不与目标主机进行直接交互,间接获取
模型

黑客攻击模型:踩点—定位—入侵—留后门—抹痕迹
1-6信息收集

思路

1-6信息收集

域名信息
  • whois协议:查询某网站是否被注册以及注册的数据库信息

    [域名查询]:https://whois.chinaz.com/ https://whois.domain.cn/

  • 子域名:*域名的下一级

    工具:子域名挖掘机

旁站C段
  • 查询旁站:某服务器的同IP所有域名,即是和目标网站在同一台服务器上的其它的网站,http://www.webscan.cc/
  • 查询C段:某服务器IP所在C段的所有域名
征信查询

针对企业信息

备案号查询

根据备案号(网站是否合法注册)查询备案号下的所有合法网站

DNS查询

获取域名或IP地址并进行反向查找同一服务器承载的其他域

IP查询

根据ip地址查询同一IP地址的其他信息

密码收集

GitHub.com(账号tys123,密码[email protected])是全球最大的面向开源且私有软件的托管平台

Google hacking
  • 搜索引擎:bing.com、baidu.com、google.com
  • 语法
    • intitle:关键字:在标题里面搜索关键字。例:intitle:公司
    • inurl:关键字:在url里面搜索关键字。例:url:.php?id= intitle:公司(联合使用)
    • intext:关键字:网页正文含的关键字
    • site:关键字:搜索特定的网站或网站域名
    • filetype:搜索特定文档格式
网络架构
  • 操作系统类型:可以通过修改url的大小写来区分是windows还是linux
  • 数据库类型:sql server、mysql、mariadb、oracle、access等
  • web中间件:nginx、apache、jboss、tomcat、iis、weblogic等
  • 网站开发语言:php、asp、aspx、jsp、py等
指纹识别
  • 开源cms:开源内容的管理系统
  • 探测网站是否使用开源cms
  • 开源cms有:
  • 指纹识别网站有 :BugScaner、云悉指纹、WhatWeb
信息收集技术----端口扫描
  • 通常使用端口扫描工具详细手机开放的端口服务、应用版本、操作系统、活跃主机等信息
  • 流程:存活判断(ping、tcp、udp)----->端口扫描(tcp、udp)----->服务识别(基于端口(准确率低,效率高)、banner(准确率中、效率高)、指纹(不同系统不同服务具有的不同协议栈,准确率高、效率低))
  • 端口扫描器:
    • 主流方式:TCP connect scan(三次握手)、TCP SYN Scan(半开放,即三次握手中没有最后一步确认)、UDP Scan
Nmap端口扫描器—诸神之眼
  • Network Mapper,具备主机探测、服务版本检测、操作系统检测、网络路由跟踪、Nmap脚本引擎功能

  • 命令格式:nmap [参数] IP/ip段/主机名。例:nmap -v -sS -O 10.2.2.2

    1. TCP端口扫描选项
      • -sT:使用TCP连接扫描,建立成功则端口开放
      • -sS:半开连接(SYN stealth)扫描,收到SYN/ACK则开放,收到RST/ACK则关闭
      • -sA:使用ACK标志位数据包,若回复RST则目标端口未被过滤
      • -sN:TCP null扫描不设置标志位,若回复RST则目标端口关闭,否则打开或过滤
      • -sF:只设置FIN标志位,若回复RST则目标端口关闭
      • -sX:TCP只设置FIN、PSH、URG,若回复RST则目标端口关闭
      • -sM:使用FIN/ACK标志位,若端口打开会丢弃数据包,否则回复RST
      • -sW:窗口扫描,若返回的RST数据包中窗口字段是正值则端口开放,回复字为0则关闭
      • -sI:TCP Idle扫描,通过僵尸主机发送数据宝宝与主机通信
      • -sV:打开系统版本检测
      • -O:尝试识别远程操作系统
      • -A:同时打开操作系统直问和版本检测,综合扫描
      • -v:详细输出扫描情况
    2. UDP端口扫描选项
      • -sU:使用UDP扫描,回复UDP则开放
    3. 目标端口选项
      • -p:扫描指定端口
      • -F:快速扫描常用的100个端口
      • -r:按从小到大的顺序扫描
    4. 输出选项
      • -oN:输出标准nmap文件
      • -oX:输出XML格式文件
      • -oG:输出标准gnmap文件
      • -oA:同时输出以上三种格式的文件
    5. 常用命令
      • 获取远程主机的系统类型和开放端口:nmap -sS -P0 -sN -O 《target》
      • 流出开放指定端口的主机列表:nmap -sT -p 80 《target网段》| grep open
      • 在网络寻找所有在线主机:nmap -sP 《target网段》
      • PING指定范围内的IP地址:nmap -sP 192.168.1.1-255
  • 图形化--------zenmap

    • 输入目标主机和ip地址和域名
    • 选择扫描方式
    • 根据扫描结果更改配置参数再次扫描
    • 分析结果
  • 扫描的六种端口状态

    • Open:开放状态
    • Closed:关闭状态
    • Filtered:过滤的,指收到不可达报文,发送的报文由于防火墙、路由规则等未到达指定的端口
    • unfiltered:未被过滤,指发送报文到达了指定的端口,但是不能确定端口是开放的
    • Open|filtered:nmap无法区别端口处于open还是Filtered状态,只会出现在open端口对保温不作回应
    • Closed|filtered:nmap无法区别端口处于close还是unFiltered状态,只会出现在IP ID idle scan
masscan端口扫描器-----最快扫描器
  • 异步传输方式,无状态扫描,即不需要三次握手
  • 原理:不完整tcp连接,客户端收到SYN,ACK后回复RST在断开
  • 基本使用:
    • 单端口扫描:扫描网段,例,masscan 10.11.0.0./16 -p443
    • 多端口扫描:masscan 10.11.0.0./16 -p80,443
    • 扫描一系列端口:masscan 10.11.0.0./16 -p20-25
    • 快速扫描:masscan 10.11.0.0./16 --port 20-25 --rate 100000
    • 扫描十大端口的网络:masscan 10.11.0.0./16 --p0-65535 --rate 100000
    • 排除目标:masscan 10.11.0.0./16 --port 20-25 --excludefile a.txt
      • 结果保存:masscan 10.11.0.0./16 --port 20-25 > b.txt

.11.0.0./16 --p0-65535 --rate 100000

  • 排除目标:masscan 10.11.0.0./16 --port 20-25 --excludefile a.txt
    • 结果保存:masscan 10.11.0.0./16 --port 20-25 > b.txt