目录
- 第五章 网络攻防技术
- 5.1:网络信息收集技术——网络踩点
- 信息收集的必要性及内容
- 网络信息收集技术
- 网络踩点(Footprinting)
- 网络踩点常用手段
- 5.2:网络信息收集技术 ——网络扫描
- 网络扫描(Scanning)
- 常见的网络扫描技术
- 主要网络扫描技术类型
- 5.3:网络信息收集技术 ——网络查点
- 网络服务旗标抓取
- 通用网络服务查点
- Windows平台网络服务查点
- 针对Windows系统网络查点的防范措施
- 5.4:Windows系统渗透基础
- 目标
- 典型的劫持攻击技术
- 关于缓冲区溢出
- 关于栈溢出
- 关于Windows渗透攻击
- 远程渗透Windows系统的途径
- 针对系统渗透攻击的一些常见防御措施
- 5.5:Internet 协议安全问题
- 因特网的基本结构
- 网络安全五大属性
- 网络攻击的基本模式
- 因特网协议层次结构及针对相应层次缺陷的攻击、防护
- 可基于多层的DoS攻击
- TCP/IP网络协议栈攻击防范措施
- 5.6:基本的Web安全
- web安全现状
- web安全攻击分类
- 跨站脚本攻击
- SQL注入
- 跨站请求伪造CSRF(Cross-site request forgery)
- 5.7:社会工程学攻击
- 定义
- 攻击形式
- 目的
- 1、搜集信息
- 2、心理诱导
- 3、身份伪造
- 4、施加影响(利用心理弱点或钓鱼攻击)
- 防范
- 5.1:网络信息收集技术——网络踩点
索引行
文章状态:已完成!
第五章 网络攻防技术
5.1:网络信息收集技术——网络踩点
信息收集的必要性及内容
攻防对抗(博弈)中:对敌方信息的掌握是关键。
在入侵一个目标系统之前,必须了解目标系统可能存在的:管理上的安全缺陷和漏洞、网络协议安全缺陷与漏洞、系统安全缺陷与漏洞;
在入侵实施过程中,还需要进一步掌握:目标网络的内部拓扑结构、目标系统与外部网络的连接方式与链路路径、防火墙的端口过滤与访问控制配置、使用的身份认证与访问控制机制。
网络信息收集技术
- 网络踩点
- 网络扫描
- 网络查点
网络踩点(Footprinting)
- 了解攻击目标的隐私信息、网络环境和信息安全状况
- 根据踩点结果,攻击者寻找出攻击目标可能存在的薄弱环节
网络踩点常用手段
- Google Hacking
- Whois服务
- DNS查询
1、WEB信息搜索-Google Hacking
Google Hacking:通过网络搜索引擎查找特定安全漏洞或私密信息的方法
较常利用的搜索引擎:
- www.ZoomEye.org
- www.google.com
- www.altavista.com
- www.dogpile.com
Google Hacking客户端软件: Athena, Wikto, SiteDigger
能否利用搜索引擎在WEB中找到所需要的信息,关键在于能否合理地提取搜索的关键字。
Google Hacking防范措施
- 将你不希望被别人搜索到敏感信息从论坛、微博、微信等公共媒体上删除干净。
- 发现存在非预期泄漏的敏感信息后,应采取行动进行清除。
- 发布信息时,尽量不要出现真实个人信息。
- 做为网络管理员,不要轻易在讨论组或技术论坛上发布求助技术帖,因为那样往往会将单位内部网络拓扑结构或路由器配置信息泄露给他人。
- 关注中国国家漏洞库CNNVD等安全漏洞信息库发布的技术信息,及时更新软件或操作系统补丁。
2、WhoIs查询
DNS和IP类似真实世界中的通信地址和电话号码,是互联网中联络特定组 ,织或个人所必须的关键信息, DNS和IP信息在互联网的公共数据库中进行维护,并允许公众查询。
- A、DNS注册信息WholS查询(查询特定域名的3R详细注册信息)
- 已注册域名的注册人(Registrant) (域名登记人信息、联系方式、域名注册时间和更新时间、权威DNS IP地址等)信息
- 注册商(Registrar)信息
- 官方注册局(Registry)信息
- 官方注册局一般会提供注册商和Referral URL信息,具体注册信息则位于注册商数据库中
- B、DNS WholS查询
- ICANN:因特网技术协调机构,负责协调以下因特网标识符的分配工作:域名、IP地址、网络通信协议的参数指标和端口号;位于DNS/IP层次化管理结构的顶层,因此是手动WHOIS查询的最佳入口点。
- DNS WholS查询一般思路:
- 1.在www.iana.org得到某个提供whois查询服务的机构
- 2.进一步查询得到baidu的域名注册商
- 3.在域名注册商www.markmonitor.com上查询得到百度的注册信息
【能提供WHOIS查询服务的其他机构:http://whois.iana.org、http://www.internic.net、http://www.allwhois.com、http://www.uwhois.com、http://www.internic.net/whois.htmlSamSpade,SuperScan等网络实用工具】
- C、IP Whois查询
(ICANN的地址管理组织ASO总体负责IP分配工作)
Whois查询安全防范措施
- 1.及时更新管理性事务联系人的信息;
- 2.尝试使用虚构的人名来作为管理性事务联系人"HoneyMan" :帮助发现和追查那些在电话或邮件中试图冒充虚构人名的“社公工程师";
- 3.使用域名注册商提供的私密注册服务,确保敏感信息如组织的实际物理地址,电话号码,电子邮箱等信息不被公开。
3、DNS查询
DNS查询能够造成信息泄露风险的原因
- 1、能够搜集到目标的重要信息;
- 2、能够作为跳板,攻击那些仅通过DNS传送才能够暴露的目标。
回到索引行
5.2:网络信息收集技术 ——网络扫描
网络扫描(Scanning)
攻击者通过扫描技术确定目标的操作系统、开放的网络应用服务的类型及版本信息,进而找到可能存在的入侵漏洞。
常见的网络扫描技术
- 主机扫描
- 端口扫描
- 操作系统/网络服务辨识
- 漏洞扫描
主要网络扫描技术类型
1、主机扫描
原理:向目标系统发出特定的数据包,并分析目标系统返回的响应结果(或者没有任何结果)的行为。
- 常见的扫描技术
2、端口扫描
端口扫描是指攻击者通过连接到 ,目标系统的TCP/UDP端口,以确定有哪些服务正处于监听状态。
3、操作系统类型探测——TCP/IP协议栈指纹分析
操作系统与网络服务辨识防范措施:
使用端口扫描监测工具,发现对操作系统的探查活动·部署安全的防火墙以保护目标主机。即使攻击者探测出了目标操作系统的类型,难以轻易获得目标操作系统的访问权限。
4、安全漏洞(主要手段)
安全漏洞:通常指硬件、软件或策略上存在的安全缺陷,利用这些安全缺陷,攻击者能够在未授权的情况下访问、控制、甚至破坏目标系统。
- 目的是探测目标网络的特定操作系统、网络服务、应用程序中是否存在已公布安全漏洞。
- 常用软件:Nessus等
- 漏洞挖掘大赛:Pwn2Own(最著名,奖金最丰厚,获奖者的安全研究水平属于世界领先水平)
5.3:网络信息收集技术 ——网络查点
查点(Enumeration):对已选择好的攻击目标,发起主动连接和查询,针对性的收集发起实际攻击所需的具体信息内容。如:目标系统上合法用户帐户、错误配置的共享资源、网络服务版本号等信息。
- 目标系统上合法用户账户:获得用户名后,攻击者可以使用猜测破解的方法获得用户口令,绕过系统身份验证;
- 错误配置的共享资源:会导致恶意程序上传;
- 老旧的服务版本:可能存在安全漏洞。
网络服务旗标抓取
利用客户端工具连接至远程网络服务并观察输出以搜集关键信息的技术手段
例如:
通用网络服务查点
通用网络服务
Windows平台网络服务查点
- 目录查点
- MSRPC查点
- NETBIOS名字服务查点(最常见)
NetBIOS网络查点由IBM开发,微软利用NetBIOS作为构建局域网的上层协议,支持三种服务。运行于UDP 137端口的名字服务,运行于TCP 139/445端口的会话服务和运行于UDP 138端口的数据报服务。- 使用net-view查点域
- 使用nltest工具查点域控制器
- 使用nbtstat工具查点主机上的NetBIOS名字表
- 主机中的NetBIOS名字表
- 计算机名、所在域、当前登录用户、当前运行服务和网卡硬件MAC地址
- SMB会话查点(影响力、流行度、风险都极高)
SMB(Server Message Block)是微软的文件与打印共享服务。SMB over NetBIOS是基于NetBIOS会话服务TCP 139;SMB over TCP/IP则是Direct Host,TCP 445。Windows在处理默认共享等方面的缺省配置不安全,远程主机通过AP访问SMB也可以获取相关Windows系统非常丰富的信息。- 查点流程:
- 第一步: net use \192.168.0.3 IPC$ "" /u:""
- 空口令字("")
- 内建的匿名用户(/u: "")
- “进程间通信”隐蔽共享卷(IPC$)
- 第二步:以未认证匿名用户进行各种会话查点,获取目标尽可能多的信息如网络信息、共享情况、用户、组、注册表健值等
- 第一步: net use \192.168.0.3 IPC$ "" /u:""
- 查点流程:
针对Windows系统网络查点的防范措施
- 1、关闭不必要的服务及端口
- 2、关闭打印和共享服务(SMB)
- 3、不要让主机名暴露使用者身份(计算机名)
- 4、关闭不必要共享,特别是可写共享
- 5、关闭默认共享(根盘符$,Admin$)
- 6、限制IPC$默认共享的匿名空连接
回到索引行
5.4:Windows系统渗透基础
目标
劫持应用程序控制流来执行目标系统上的任意代码,最终达到远程控制目标系统的目的。
典型的劫持攻击技术
- 1、缓冲区溢出
- 2、格式化字符申漏洞
- 3、整数溢出
- 4、指针释放后再次被使用
关于缓冲区溢出
- 缓冲区溢出缓冲区溢出攻击最早可以追溯到1988年的Morris蠕虫, Fingerd
- 缓冲区溢出是指当计算机程序向特定缓冲区填充数据时,缺乏严格的边界检查,导致数据外溢,覆盖了相邻内存空间的合法数据,进而改变了程序的合法执行流程
- 一般根据缓冲区溢出的内存位置不同,缓冲区溢出又可分为栈溢出和堆溢出
关于栈溢出
栈溢出定义:栈上的级冲区变量缺乏安全边界保护所遭受的溢出攻击
- 最常见的栈溢出利用方法:覆盖函数返回地址。在执行函数调用前,程序将要返回的下一条指令地址,与函数局部变量、函数调用参数等将同时保存在栈中。攻击者针对函数返回地址在栈中的存储位置,进行缓冲区溢出,从而改写函数返回地址,当函数调用返回时,程序将跳转到攻击者指定地址,执行恶意指令。
关于Windows渗透攻击
- Windows系统主要的网络服务程序
- NetBIOS网络服务
- SMB网络服务
- MSRPC网络服务
- RDP远程桌面服务
- Windows系统渗透攻击:网络服务渗透攻击——基于Metasploit渗透框架的 MS-08067漏洞利用
- MS08-067漏洞原理简析:(稍加了解即可)
远程渗透Windows系统的途径
(除了缓冲区溢出攻击,还有:)
- 1、认证欺骗:通过暴力和字典破解登入口令或发起中间人攻击,依旧是获取windows系统非授权访问权限的最轻松的途径之一;
- 2、客户端软件漏洞利用:安全漏洞越来越多出现在缺乏管理但是功能复杂的客户端软件中,而软件补丁更新速度没有服务端软件及时,成为下手的绝佳目标;
- 3、设备驱动漏洞利用:微软倡导的即插即用、支持用户使用的海量外部设备,一般涉及原始的底层硬件层面的命令交互,需要获得操作系统的高权限,使得受到黑客攻击的机会越来越多。
针对系统渗透攻击的一些常见防御措施
5.5:Internet 协议安全问题
因特网的基本结构
终端设备、路由器以及其他因特网连接设备,都要运行一系列协议,这些协议控制因特网中信息的接收和发送。
网络安全五大属性
- 网络安全CIA属性
- 机密性(Confidentiality)
- 完整性(Integrity)
- 可用性(Availability)
- 其他两个补充属性
网络攻击的基本模式
- 截获(窃听)
- 嗅探(sniffing)
- 监听(eavesdropping)
- 篡改
- 数据包篡改(tampering)
- 中断
- 拒绝服务(DoSing)
- 伪造
因特网协议层次结构及针对相应层次缺陷的攻击、防护
作为核心协议TCP/IP模型,采用了分层模型(每一层具有不同功能,具有不同的协议)。
因特网最初基于一群互相信任的用户连接到一个透明的网络这样一种设计模型的,并未考虑过通信的安全性。随着针对各层协议的各种缺陷的攻击方法被发明并被黑客掌握对网络安全构成严重危害,一些安全性被改进并作出一定的防护措施。
网络层:
网络层的基础协议包括IP协议、ARP地址解析协议、BGP边界网关协议等动态路由协议。
传输层:
传输层协议主要包括UDP和TCP协议。我们下面分析基于 TCP协议安全缺陷引发的TCP RST攻击和TCP会话劫持攻击。
- 创建TCP协议的过程——传输层协议安全分析:TCP三次握手
- 传输层协议安全分析——TCP报文首部格式
- 序号和确认号字段:是用来实现通信双方可靠数据传输服务的。
- RST、SYN、FIN标志位字段:则用于建立连接和拆除连接。
- ACK标志位:用于指示该报文段包括一个对已经被成功接收报文的确认。
- 缺陷:三次握手及随后的通信过程仅仅通过上述三种方式来完成身份确认,而且所有的内容均以明文传输,因此当攻击者和受害者都在同一个共享局域网内时,攻击者将非常容易发起TCP的RST攻击和TCP会话劫持攻击。
- 1.TCP RST攻击:(伪造TCP重置报文攻击)
- 2.会话劫持攻击:
应用层:
应用层协议非常多样化,目前流行的应用层协议如HTTP,FTP, SMTP/POP3, DNS等均缺乏合理的身份验证机制,加上大多采用明文传输通信数据,因此普遍存在被嗅探、欺骗、中间人攻击等风险。其中,**DNS协议**是网络通信中*最基本最重要*的网络协议之一。
DNS查询和回答报文,都具有相同的报文格式。
- Query ID:
- 16 bit随机数
- 应答与查询使用相同的QuerylD
- 客户端用特定标识Query ID向DNS服务器发起查询,DNS以同样的Query ID向客户端应答查询结果。(本地DNS服务器在此地址列表中选择其中一个权威DNS域名服务器,再次发起对该域名的查询)
- DNS欺骗:
DNS协议、客户端仅通过匹配查询ID,就可以认证应答包来自合法的域名服务器,缺乏有效的身份认证机制,因此如果攻击者和受害者的主机在同一个局域网内,就可以用DNS欺骗:
亦或者是拦截DNS服务器的应答数据包,并修改其内容,再返回给客户端获取查询ID,以达到恶意欺骗的目的。
可基于多层的DoS攻击
- DoS攻击
(在不同层次都会发生DoS攻击。) - DoS攻击分类:
- 弱点攻击:攻击者向目标主机上运行的存在安全漏洞的应用程序或者操作系统,发送精心设计的报文,最终使得服务器停止运行,甚至系统崩溃。
- 洪泛攻击:攻击者利用僵尸网络,向目标系统生成大量的洪泛分组,导致目标主机的接入链路发生拥塞,使得合法的分组无法到达服务器,或者使得目标主机资源耗尽,停止接受合法用户的连接请求。
- 典型拒绝服务攻击技术:
TCP/IP网络协议栈攻击防范措施
- 1、网络接口层,监测和防御网络威胁,对网关路由器等关键网络节点设备进行安全防护,优化网络设计,增强链路层加密强度。
- 2、在网络层,采用多种检测和过滤技术来发现和阻断网络中欺骗攻击,增强防火墙、路由器和网关设备的安全策略,关键服务器使用静态绑定 P-MAC映射表、使用IPsec协议加密通讯等预防机制。
- 3、传输层加密传输和安全控制机制,包括身份认证和访问。
- 4、应用层加密,用户级身份认证,数字签名技术,授权和访问控制技术以及审计、入侵检测。
回到索引行
5.6:基本的Web安全
web安全现状
对Web应用程序的渗透攻击已经超过了对操作系统和网络服务程序的漏洞攻击,成为攻击者最受青睐的目标。
web安全攻击分类
- 跨站脚本攻击(Cross-SiteScripting , XSS)
- SQL注入
- 跨站请求伪造(Cross-SiteRequest Forgey, CSRF)
跨站脚本攻击
维基百科定义:跨站脚本XSS通常是指攻击者利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载网页时会运行攻击者恶意制造的代码。
脚本:JavaScript、 VBScript、Activex、Flash、HTML
流程:得到敏感信息→获取更高用户权限→以被攻击者身份执行操作
跨站脚本XSS分为三种类型
防护措施:
- 应用安全国际组织OWASP给网站的建议:对所有来自外部的用户输入进行完备检查;对所有输出到响应页面的数据进行适当的编码,以防止任何已成功注入的脚本在客户浏览器端运行。
- 在浏览器设置中关闭JavaScript,关闭cookie或设置cookie为只读,提高浏览器的安全等级设置,尽量使用非IE的安浏览器来降低风险。
- xss攻击随着社会工程学的成功应用,个人用户还需要增强安全意识,只信任值得信任的站点或内容,不要轻易点击不明链接。
SQL注入
SQL注入是指利用Web应用程序输入验证不完善的漏洞,,将一段精心构造的SQL命令注入到后台数据库引擎执行。
危害(包括但不局限于)
漏洞形成:
在URL中可以进行正常的查询和恶意的查询(ASP)。若填入了恶意的动态查询请求,有时会产生漏洞。
SQL注入的主要原因:
Web应用程序没有对用户输入进行严格的转义字符过虑和类型检查。
防范SQL注入攻击需要注意:
- 1、使用类型安全的参数编码机制;
- 2、对来自程序外部的用户输入,必须进行完备检查;
- 3、将动态SQL语句替换为存储过程,预编译SQL或ADO命令对象;
- 4、加强SQL数据库服务器的配置与连接,以最小权限配置原则配置Web应用程序连接数据库的操作权限,避免将缴感数据明文存放于数据库中。
跨站请求伪造CSRF(Cross-site request forgery)
跨站脚本攻击的本质——利用web用户身份验证的漏洞:基于Cookies的身份验证只能保证请求发自用户的浏览器,却不能保证请求是用户自愿发出的。攻击者利用合法用户与服务器的已认证会话,诱骗用户发送恶意请求到服务器,攻击者就可以合法用户身份,在目标服务器进行非法操作。
关于Cookie:
持久cookie:可保持登入信息到用户与服务器到下一次会话。
利用cookie发起的CSRF:
当合法用户以用户名和口令登入服务器后,服务器会为用户分配包括SessionID
的cookie,并记住了用户的登入状态,服务器将使用该SessionID来识别该会话是否来自合法用户。
用户在未退出登入状态的情况下,访问了恶意网站,攻击者欺骗用户在毫无察觉的情况下,触发其内嵌的恶意代码,使用户浏览器向服务器发送http请求,由于请求发送至服务器,该浏览器会自动为该请求附上与服务器对应的受信任会话cookies里面的SessionID,服务器接受了该请求,并通过SessionID认为请求是来自该合法用户,就会执行一些恶意操作。
对CSRF攻击的防御分为三个层面
5.7:社会工程学攻击
定义
利用人的好奇心、轻信、疏忽、警惕性不高,使用诸如假冒、欺诈、引诱等多种手段,来操纵其执行预期的动作或泄漏机密信息的一门艺术与学问。
攻击形式
- 信息收集
- 心理诱导
- 身份伪造
- 施加影响
目的
- 首要目的:获得金钱收益
- 次要目的:竞争优势和打击报复
1、搜集信息
希望获得的信息:
- 可能直接导致攻击对象的财产或身份被盗;
- 能利用这些信息获取目标组织的薄弱环节;
- 向攻击目标发动更有针对性的攻击。
渠道:由于web搜索引擎是因特网上信息收集的利器,社交网络是社会工程学攻击者最喜欢的渠道。
- 社交网络是世界上最大的人类信息识别数据库:
- 黑客可通过微博或微信朋友圈等收集某个特定对象的个人信息。
- 黑客可通过分析收集的个人信息及社交媒体上的更新状态获得 为私密的信息。
非传统的信息收集方式:
- 1.接近目标公司的离职员工或新员工(寒暄套磁、窃听电话、克隆身份卡)
- 2.垃圾搜集
- 3.电话询问(对象:前台、秘书、服务生、客服人员)
- 4.其他:公司、酒店等企业的非法贩卖等
2、心理诱导
社会工程学攻击者最常用的诱导技巧
- 1、表现自信、控制谈话的主动权、不给对方太多思考的机会
- 2、抛出诱饵,以寻求更大回报
- 3、表达出共同兴趣、阿谀奉承,以迎合目标的自我感受
3、身份伪造
- 1.伪装成熟人:
- 获得信任
- 点击包含恶意软件的链接或附件
- 骗取金钱
- 2.伪装成社交网络上的好友
- 3.冒充某公司内部员工
4、施加影响(利用心理弱点或钓鱼攻击)
人类常见的心理弱点:
- 1、从众心理
社会工程学攻击者,通过提供数据证明数量众多的其他人,已经采取相同动作,进而激励目标执行攻击者预期行为。 - 2、饥饿感及权威的结合利用
- 饥饿感经常被应用于在迫使目标受害者决策时营造一种紧迫感,使得受害者没有太多的时间思考决策的合理性与否;
- 人们总是更愿意相信权威人士的指导和建议。
- 3、利用人类的报答意识
- 利用人类的这种下意识回报
- 预先给予小恩小惠
- 达到让受害者回应相同甚至更高价值的信息或金钱
网络钓鱼攻击:
防范
- 1、了解和熟悉社会工程学诈骗。
- 2、对自己的基础信息保持足够的警惕。
- 3、永远不要通过不安全的方式(电话、网上或者闲聊)透露个人、家庭、公司一些看似无关紧要的信息。
- 4、如果涉及到敏感信息,请务必核实对方的身份。
- 5、使用防火墙来保护个人电脑,及时更新杀毒软件,同时提高垃圾邮件过滤器的门槛。
回到索引行
(完结撒花!)