第五章 网络攻防技术

5.1 网路信息收集技术--网络踩点

  • 黑客入侵系统之前,需要了解目标系统可能存在的:

    • 管理上的安全缺陷和漏洞
    • 网络协议安全缺陷与漏洞
    • 系统安全缺陷与漏洞
  • 黑客实施入侵过程中,需要掌握:
    • 目标网络的内部拓扑结构
    • 目标系统与外部网络的连接方式与链路路径
    • 防火墙的端口过滤与访问控制配置
    • 使用的身份认证与访问控制机制
  • 网络踩点:
    • 通过有计划的信息收集,了解攻击目标的隐私信息、网络环境和信息安全状况
    • 根据踩点结果,攻击者寻找出攻击目标可能存在的薄弱环节,为进一步的攻击提供指引
  • 网络踩点常用手段
    • Google Hacking

      • 通过网络搜索引擎查找特点安全漏洞或是私密信息

      • 常用的搜索引擎:

        • www.ZoomEye.org
        • www.google.com
        • www.altavista.com
        • www.dogpile.com
      • Google Hacking客户端软件:Athena,Wikto,SiteDigger

      • 能否利用搜索引擎在WEB中找到所需信息,关键在于能否合理提取搜索关键字

      • 防范Google Hacking

        • 将敏感信息从公共媒体上删除
        • 发现存在非预期泄露的敏感信息后,应采取行动进行清楚
        • 发表信息时,尽量不要出现真实个人信息
        • 做为网络管理者,不要轻易在讨论组或技术论坛发布求助技术贴,防止将单位内部网络拓扑结构或路由器配置泄露给他人
        • 关注中国国家漏洞库CNNVD等安全漏洞信息库发布的技术信息,及时更新软件或操作系统补丁
    • WhoIs查询
      • DNS注册信息WhoIs查询:查询特定域名的3R详细注册信息

        • 3R:

          • 已注册域名的注册人(Registrant)信息,包括域名登记人信息、联系方式、域名注册时间和更新时间、权威DNS IP地址等。
          • 注册商(Registrar)信息
          • 官方注册局(Registry)信息
        • 官方注册局一般会提供注册商和Referral URL信息,具体注册信息则位于注册商数据库中
        • DNS WhoIs查询思路
          • ICANN:因特网技术协调机构,负责协调以下因特网标识符的分配工作:

            • 域名、IP地址、网络通信协议的参数指标和端口号
            • 位于DNS/IP层次化管理结构的顶层,因此是手动WHOIS查询的最佳入口点
          • 一般思路
            • 在www.iana.org 得到某个提供whois查询服务的机构
            • 进一步查询域名注册商
            • 在域名注册商上查询注册信息
      • IP WhoIs查询:查询特定的IP地址的详细注册信息
        • ICANN的地址管理组织ASO总体负责IP地址分配工作
        • 具体IP网段分配记录和注册者信息都储存于各个洲际互联网管理局RIR的数据库中
        • 有时需要到国家/地区互联网注册局NIR(中国为CNNIC)或ISP查询更细致信息
        • 查询过程
          • ARIN的Whois Web服务,告知这段IP由AONIC管辖
          • APNIC的Whois Web服务,给出该网段其他详细信息
      • whois查询安全防范
        • 及时更新管理性事务联系人的信息
        • 尝试使用虚拟的人名来作为管理性事务联系人
        • 使用域名注册商提供的私密注册服务,确保敏感信息不被公开
    • DNS查询
      • DNS:一个提供域名到IP地址的映射或者将IP地址映射成域名的分布式数据库系统
      • DNS区域传送:
        • 辅助DNS服务器使用来自主服务器的数据刷新自己的ZONE数据库
        • 为运行中的DNS服务提供一定的冗余度,防止因主服务器故障而导致域名解析器服务不可用
        • DNS区域传送一般仅限于辅助DNS服务器才能向主服务器发起请求
      • DNS服务:允许不受信任的因特网用户执行DNS区域传送请求,是严重的配置错误
        • 在错误配置时DNS服务器会接受任何一个主机的DNS区域传送请求
        • 如果没有使用公用/私用DNS机制分割外部公用DNS信息和内部私用DNS信息,任何攻击者都可以得到机构的所有内部主机和IP地址
      • 解决方案:对外的DNS服务器配置为禁止DNS区域传送,且该服务器不能包含内部网络相关主机的敏感信息

        5.2网路信息收集技术--网络扫描

  • 网络扫描:攻击者通过扫描技术找到目标可能的入侵漏洞

  • 类型

    • 主机扫描:向目标系统发出特定的数据包,并分析目标系统返回的相应结果的行为

      • 使用ICMP协议
      • 常见扫描技术
        • ICMP Ping扫描
        • 端口扫描
      • 防范
        • 使用例如Snort入侵扫描检测系统,或者McAfee桌面防火墙工具,来检测主机扫描活动
        • 根据业务要求,仔细考虑允许哪些类型的ICMP通信进入网络
          • 使用访问控制列表机制ACL
          • 只允许制定的ICMP数据包到达特定主机
    • 端口扫描:攻击者通过连接到目标系统的TCP/UDP端口,已确定有哪些服务正处于监听状态
      • 常见端口扫描技术

        • TCP端口扫描
        • TCP SYN扫描
        • TCP FIN扫描
        • TCP圣诞树扫描
        • TCP空扫描
        • TCP ACK扫描
        • TCP窗口扫描
        • TCP RPC扫描
        • UDP扫描
    • 防范措施
      • 端口扫描监测

        • 网络入侵系统如Snort
      • 端口扫描的预防
        • 开启防火墙
        • 禁用所有不必要的服务
        • 类UNIX:/etc/inetd.conf文件中注释掉不必要的服务,修改系统、使用脚本,禁用此类服务
        • win32:在“控制面板/服务”中关闭服务
    • 操作系统/网络服务辨识
      • 操作系统类型探测技术:TCP/IP协议栈指纹分析

        • 不同的操作系统在实现TCP/IP协议栈时都存在着差异
        • RFC中没有对TCP/IP协议实现给予精确的定义
        • 不同的操作系统产生商,在实现TCP/IP协议栈时,也没有完全按照RFC所定义的标准来实现
      • 不同的网络服务在实现应用层协议时也存在差异
      • 防范措施
        • 使用端口扫描检测工具,发现对操作系统的探查活动
        • 部署安全的防火墙以保护目标主机
    • 漏洞扫描
      • 安全漏洞:通常指硬件、软件或策略上存在的安全缺陷,利用这些安全缺陷,攻击者能够在未授权的情况下访问、控制、甚至破坏目标系统
      • 目的:探测目标网络的特定操作系统、网络服务、应用程序中是否存在已公布安全漏洞
      • 防范措施
        • 在黑客之前扫描漏洞
        • 补丁自动更新和分发,修补漏洞
        • 保证所安装软件的来源安全
        • 开启操作系统和应用软件的自动更新机制

          5.3网路信息收集技术--网络查点

  • 查点:对选择好的攻击目标,发起主动的连接和查询,针对性的收集发起实际攻击所需的具体信息内容
  • 网络服务旗标抓取:利用客户端工具连接至远程网络服务并观察输出以搜集关键信息的技术手段
    • 通用网络服务查点

      • 通用网络服务
  • Windows平台网络服务查点:利用Windows平台特有的网络服务协议
    • NETBIOS名字服务查询
    • SMB会话查询
    • 目录查询
    • MSRPC查点
    • 防范措施:
      • 关闭不必要的服务及窗口
      • 关闭打印与共享服务(SMB)
      • 不要让主机名暴露使用者身份
      • 关闭不必要共享,特别是可写共享
      • 关闭默认共享限制IPC$默认共享的匿名空连接等

        5.4Windows系统渗透基础

  • 控制注入攻击:

    • 现代计算机系统遵循冯诺依曼体系结构,没有在内存中严格区分计算机程序的数据和指令,使得程序外部的指令数据有可能被当作指令代码执行。
    • 攻击者目标:劫持应用程序控制流来执行目标系统上的任意代码,最终达到远程控制目标系统的目的
    • 劫持攻击技术:
      • 缓冲区溢出:

        • 栈溢出

          • 利用方式:符改函数返回地址
        • 堆溢出
      • 格式化字符串漏洞
      • 整数溢出
      • 指针释放后再次被使用
  • Windows系统主要的网络服务程序:

    • NetBIOS网络服务
    • SMB网络服务
    • MSRPC网络服务
    • RDP远程桌面服务

  • 远程渗透Windows系统的途径

    • 缓冲区溢出攻击
    • 认证欺骗
    • 客户端软件漏洞利用
    • 设备驱动漏洞利用
  • 针对系统渗透攻击的常见防范措施

    • 及时更新应用软件、操作系统、硬件设备驱动程序的安全补丁
    • 禁用不必要的网络服务
    • 使用防火墙来限制可能存在漏洞的服务的访问
    • 强制用户使用强口令,并定期更换口令
    • 审计与日治
    • 使用扫描软件主动发现系统是否存在已知安全漏洞,安装入侵检测/防御系统
    • 客户端应用程序尽量使用受限权限,而非管理员或同等级权限的用户登录因特网
    • 运行并及时更新防病毒软件
    • 禁用以受攻击的硬件设备

      5.5Internet协议安全问题

  • 终端设备、路由器以及其他因特网连接设备,都要运行一系列协议,这些协议控制因特网中信息的接受和发送,因特网的主要协议成为TCP/IP协议

  • 网络安全五大属性(CIA)

    • 机密性
    • 完整性
    • 可用性
    • 真实性
    • 不可抵赖性
  • 网络攻击基本模式

    • 被动威胁

      • 截获(窃听)(破坏机密性)

        • 嗅探
        • 监听
    • 主动威胁
      • 篡改(破坏完整性)

        • 数据包篡改
      • 中断(破坏可用性)
        • 拒绝服务
      • 伪造(破坏真实性)
        • 欺骗

  • 因特网协议栈层次结构

    • 网络层基础协议:IP协议、ARP地址协议解析协议、BGP边界网关协议等动态路由协议

      • IP源地址欺骗攻击:路由器只根据目标IP地址进行路由转发,不对源IP地址做验证,常被利用于发起匿名Dos攻击
    • 传输层协议:UDP和TCP协议









    • 基于TCP协议安全缺陷引发的TCP RST攻击(伪造TCP重置报文攻击)

    • TCP会话劫持攻击

    • 应用层协议:目前流行的应用层协议如HTTP、FTP、SMTP/POP3、DNS等均缺乏合理的身份验证机制,加上大多采用铭文传输通信数据,因此普遍存在被嗅探、欺骗、中间人攻击等风险。

      • DNS协议





    - 拒绝式服务攻击(DoS):用超出目标处理能力的海量数据包消耗可用系统资源、宽带资源等,或造成程序缓冲区溢出错误,导致其无法处理合法用户的正常请求,最终致使网络服务瘫痪,甚至系统死机。
- 弱点攻击
- 洪泛攻击



  • TCP/IP网络协议栈攻击防范措施

    • 网络接口层,检测和防御网络威胁,对网关路由器等关键网络节点设备进行安全防护,优化网络结构,增强链路层加密强度
    • 网络层,采用多种过滤和检测技术来发现和阻断网络中欺骗攻击,增强防火墙、路由器和网关设备的安全策略,关键服务器使用静态绑定IP-MAC映射表、使用IPsec协议加密通讯等预防机制
    • 传输层加密传输和安全控制机制,包括身份认证和访问
    • 应用层加密,用户级身份认证,数字签名技术,授权和访问控制技术以及审计、入侵检测

5.6基本的web安全

  • 跨站脚本攻击(XSS):攻击者利用网页开发时留下的漏洞,通过巧妙的方式注入恶意代码到网页,使用户加载网页时会运行攻击者恶意制造的代码,脚本可以是JavaScript、VBSvript、ActiveX、Flash、HTML。攻击成功后,攻击者会得到敏感信息,以获取更高用户权限,以被攻击者身份执行操作

    • 反射型XSS



- 储存型XSS
- DOM-XSS

- 防范XSS攻击
- 在浏览器设置中关闭JavaScript,关闭cookie或设置为为只读,提高浏览器的安全等级设置,尽量使用非IE的安全浏览器来降低风险
- 只信任值得信任的站点或内容,不要轻易点击不明链接
  • SQL注入:利用web应用程序输入验证不完善的漏洞,将一段精心构造的SQL命令注入到后台数据库引擎执行

    • SQL注入的危害

      • 数据库中的用户隐私信息被泄露
      • 对特定网页进行篡改
      • 通过修改数据库一些字段的值,嵌入木马链接,进行挂马攻击
      • 数据库的系统管理员账户被修改
      • 服务器被黑客安装后门进行远程控制
      • 破坏硬盘数据,瘫痪全系统



    • SQL注入的主要原因是web应用程序没有对用户输入进行严格的转义字符过滤和类型检查

      • 防范:

        • 使用类型安全的参数编码机制
        • 对来自程序外部的用户输入,必须进行完备检查
        • 将动态SQL语句替换为存储过程,预编译SQL或ADO命令对象
        • 加强SQL数据库服务器的配置与连接,以最小权限配置原则配置web应用程序连接数据库的操作权限,避免将敏感数据明文存放于数据库中
        • 跨站请求伪造(CSRF)

    • csrf实际上是利用了web身份验证的漏洞:基于cookies的身份验证只能保证请求发自用户的浏览器,却不能保证请求时用户自愿发出的

- 对CSRF攻击的防御
- 服务端
- 客户端
- 设备端
- 预防措施
- 不要点击未知的链接或图片
- 及时退出已登录账户
- 为计算机系统安装安全防护软件,及时更新特征库和软件升级
- 安装浏览器插件扩展防护

5.7社会工程学攻击

  • 攻击形式

    • 信息收集
    • 心理诱导
    • 身份伪造
    • 施加影响
  • 希望获得的信息
    • 可能直接导致攻击对象的财产或身份被盗
    • 能力也这些信息获取目标组织的薄弱环节
    • 向攻击目标发动更有针对性的攻击
  • 防范
    • 了解熟悉社会工程学诈骗
    • 对自己的基础信息保持足够的警惕不要通过不安全的方式透露个人、家庭、公司一些看似无关紧要的信息
    • 涉及敏感信息,务必核实对方身份使用防火墙保护个人电脑,同时提高垃圾邮件过滤器的门槛!

最新文章

  1. 一分钟搞定AlloyTouch图片轮播组件
  2. VB6.0 和VB.NET 函数对比
  3. 渗透攻防工具篇-后渗透阶段的Meterpreter
  4. su root 和su - root 的区别
  5. [LeetCode] Wildcard Matching 字符串匹配,kmp,回溯,dp
  6. GCD的基本使用
  7. Troubleshooting JDK
  8. 【解决方案】: hyper-v 导入虚拟机报这个错误 32784
  9. 利用HibernateTools从数据库表生成带注解的POJO
  10. css扁平化博客学习总结(二)css样式重置
  11. Windows8.1 preview硬盘安装(图解)
  12. iOS一个开发系列中 - UIButton 使用摘要
  13. 我也谈 javascript 模块化 -AMD规范
  14. 软通动力C语言机试题
  15. 编写PHP代码总结
  16. SQLServer 理解copyonly备份操作
  17. 201521123099《java程序设计》第五周学习总结
  18. 201521123045 《JAVA程序设计》 第14周学习总结
  19. 掌握 Java 泛型类型(一)
  20. java并发包小结(一)

热门文章

  1. python函数名应用
  2. Python入门 —— 03GUI界面编程
  3. operator.attrgetter() 进行对象排序
  4. 支付宝PC端的支付(PHP)
  5. PHP获取当月天数,获取当月的每天的开始和结束的时间戳,获取当月每号
  6. Python-入门必备
  7. java 优化版 用接口实现(输入两个数选择实现加减乘除运算)
  8. HDU3394 点双连通分量
  9. react--基本用法
  10. struts2学习笔记二