主动信息收集--主机发现

主动信息收集

  • 直接与目标系统交互通信

  • 无法避免留下访问痕迹

  • 使用受控的第三方电脑进行探测

    • 使用代理或已经被控制的主机
    • 做好被封杀的准备
    • 使用噪声迷惑目标,淹没真实的探测流量
  • 扫描

    • 发送不同的探测,根据返回结果判断目标状态

发现

  • 识别活着的主机
    • 潜在的被攻击目标
  • 输出一个IP地址列表
  • 2、3、4层发现

二层发现

  • 优点:扫描速度快,可靠。

  • 缺点:不可路由

  • Arp协议

    • 抓包
  • arping

  • arping 1.1.1.1 -c 1

    • 编写一个扫描本网段的脚本
    • 编写一个扫描指定ip列表的脚本
  • nmap -sn(nmap还发了一个反向域名解析请求)

    • nmap -sn -iL
  • Netdiscover

    • 专用于二层发现
    • 可用于无线和交换网络
    • 主动和被动探测
      • 主动:
        • netdiscover -i eth0 -r 1.1.1.0/24
        • netdiscover -l iplist.txt
      • 被动:
        • netdiscover -p
  • Scapy

    • Python库
    • 也可作为单独的工具使用
    • 抓包、分析、创建、修改、注入网络流量
  • apt-get install python3-gnuplot

  • Scapy

    • ARP().display()
    • sr1()
    • Python脚本
  • 在不同的环境下可使用的工具不确定。

三层发现

  • 优点

    • 可路由
    • 速度比较快
  • 缺点

    • 速度比二层慢
    • 经常被边界防火墙过滤
  • IP、ICMP协议

  • ping

  • traceroute(发的UDP,IP段的TTL=0后会返回ICMP),每一跳是路由器的内侧网口

  • ping -R返回的是外侧网口 点这里了解更多关于ping -R

    • 编写ping扫描网段脚本
  • Scapy

    • 分别用shell和python编写ping扫描网段脚本
      • 读取文件扫描ip列表
  • nmap -sn

    • 如果ip是本网段的就是二层扫描,否则是三层扫描。
    • 发送了2个ICMP请求,type是8和13.发送了两个TCP消息,一个443 SYN,一个80 ACK。
    • 对于每个消息如果目标没有响应就会再发一遍。两遍都没有响应就判定host is down.
  • fping

    • fping支持地址段扫描
    • fping -g 192.168.1.100 192.168.1.200 -c 1
  • Hping

    • 能够发送激活任意TCP/IP包
    • 功能强大但每次只能扫描一个目标

四层发现

  • 优点

    • 可路由且结果可靠
    • 不太可能被防火墙过滤
    • 甚至可以返现所有端口都被过滤的主机
  • 缺点

    • 基于状态过滤的防火墙可能过滤扫描
    • 全端口扫描速度慢
  • TCP

    • 未经请求的ACK——RST
    • SYN——SYN/ACK、RST
  • UDP

    • ICMP端口不可达、一去不复返
  • ACK——TCP Port——RST

    • Scapy
    • Python脚本
  • nmap - x.x.x.x -PU53333 -sn UDP扫描53333端口

  • nmap - x.x.x.x -PA53333 -sn ACK扫描53333端口 (PS PA PU PY(SCTP))

  • hping3 –udp xxx -c 1

其他命令

  • |egrep -v “xxx”
    • 除符合xxx的字段