您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 网络攻防复习第二章攻击
1第二章攻击攻击的五个步骤:侦查、检测、入侵(获得访问权限)、维持访问、清除访问和隐藏。一、侦查(Reconnaissance):利用公开信息调查目标类型:社会工程、物理上接近、垃圾搜寻、低技术侦察,访问“正常”网站,域名查询数据库(数据库的Whois),DNS侦查和通用侦查工具①社会工程:通过对受害者的心理弱点、本能反应、好奇心、信任、贪婪等实施心理陷阱的诸如欺骗、伤害等危害手段取得自身利益。防御:难以抵御(植根于人性;“社会工程学”用很多合法的用途(警察和销售人员经常使用)对用户教育很有用(不要轻易泄露敏感信息(密码);不要相信来电显示等)防护措施(具体):不要轻易泄露敏感信息(密码)、监控进出、指纹、虹膜检测手段、加密硬件设备、彻底销毁硬盘等含有信息介质。--------------------------------------------------------------------------------------------------------------------------------②物理接近:如果有人获得物理访问(可能会发现登录计算机,留有密码的便利贴;可能会安装后门、按键记录器、接入点LAN;偷走USB驱动器,笔记本电脑,电脑,CD等)物理接近的防御:进入时要求证明;进入时用生物识别技术;监控什么人进出;锁住文件柜;用密码自动保护屏幕;加密硬盘--------------------------------------------------------------------------------------------------------------------------------③垃圾箱(防御):丢弃前销毁硬盘驱动器;破坏介质(消磁是不够的);撕碎纸张④访问“正常”网站(防御):限制网站上的信息,不敏感信息可以放;限制关于产品的信息、配置。⑤域名查询数据库:互联网“whitepages”目录(-域名,联系信息,IP地址-.COM,.NET,.ORG,.edu)ICANN(互联网名称与数字地址分配机构)负责注册流程(数以百计的实际注册商)IP地址分配:ARIN(互联网美国注册号)域名查询数据库的防御:没有真正的防御;匿名注册服务(更好地打击社会工程培训)---------------------------------------------------------------------------------------------------------------------------------⑥DNS:-分层分布式数据库;-像(分层分布式)电话目录;-将人方便理解的名称转换成IP地址DNS的例子:递归和迭代搜索;在本地解决;很多高速缓存DNS询问:攻击者决定DNS服务器(-从注册商的Whois数据库)使用nslookup来查询域名服务器(-区域传输(关于域名的所有信息)从文本中获取(IP地址,邮件服务器名称等。)2DNS侦查的防御:删除OS类型的信息限制区域传输(-小学和中学域名服务器)拆分DNS内部DNS服务器充当代理(把请求转发给外部DNS;内部用户可以解决内部和外部)---------------------------------------------------------------------------------------------------------------------------------⑦其他通用侦察工具:ActiveWhoisBrowser;NetScanToolsPro;iNetTools总结:攻击者可以从下面来源来获取各种有用的信息(社会工程和自动化的工具)、实用信息可能包括(联系信息,IP地址,域名,可能系统的详细信息,使用的技术)、建立障碍来阻拦实际的攻击。二、检测(扫描):寻找系统中的潜在漏洞(像盗贼一样去尝试各种门窗)扫描技术分类:1、WarDriving(无线接入点探测):①扫描无线接入点;必须是在100米左右内来可靠地发送/接收WLAN;探测者想寻找WLAN的ESSID(无线局域网的“名”、ESSID在明文形式发送)②三种基础技术:-主动扫描;-被动扫描;-强制反认证③NetStumbler(无线网卡信号侦测软件):主动扫描工具工主动802.11扫描工具(发送带有“ANY”SSID“探针”包;范围内的接入点可能响应)具可选择使用GPS定位接入点④Wellenreiter(基于GTK/Perl的无线网络查找和审核工具):被动扫描工具⑤驾驶攻击的防御:设置含糊不清的ESSID名称(1234insteadofBankOfAmerica)不要广播ESSID要求认证(类似于需要输入密码)2、WarDialing(电话探测系统):①定义:一种利用重复拨号的方法来搜索调制解调器和其他的完整的网络接入点的攻击手段②拨号探测的防御:调制解调器策略(如果可能的话,使用VPN)只允许拨出(别人就发现不了你)对自己拨号攻击(在攻击者前面发现寻找调制解调器)3、网络映射:①现在开始分析目标网络(寻找潜在目标;关键主机,路由器,防火墙)②映射工具可帮助攻击者达到任何地方③路由跟踪:Tracert(跟踪路由)是路由跟踪实用程序,用于确定IP数据报访问目标所采取的路径。Tracert命令用IP生存时间(TTL)字段和ICMP错误消息来确定从一个主机到网络上其他主机的路由。tracert(路由跟踪实用程序)3④防御:阻止传入的ICMP数据包(除了那些你希望进来的)阻止传出ICMP超时(除了特定地址)注:ICMP是(InternetControlMessageProtocol)Internet控制报文协议。用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。4、端口扫描:①定义:使用一些工具,如:Nmap,来扫描子网,以确定哪些端口是开放的、关闭的以及过滤掉的和在网络中是可以使用的。②TCPConnectScan(ACK扫描):这是最基本的TCP扫描。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术的一个最大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度。但这种方法的缺点是很容易被发觉,并且被过滤掉。③FIN扫描:TCPFIN扫描使用的是FIN标志,如果发送一个FIN标志的TCP报文到一个关闭的端口,那么应该返回一个RST报文;如果发送到一个开放的端口,那么应该没有任何反应。如果收到端口不可达的ICMP错误数据包,则不能确认是否开放或者关闭,把它称为状态未知端口。补充:SYN扫描:“半开放”扫描,扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样。一个SYN|ACK的返回信息表示端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机上留下记录。但一个缺点是,必须要有root权限才能建立自己的SYN数据包④圣诞树和空扫描:圣诞树扫描:所有标志位设置:URG,ACK,PSH,RST,SYN,FIN,全部置1空扫描:发送未设置任何标志位的数据包这两种违反协议⑤FTP弹跳扫描:转发功能⑥防御:加强系统(关闭不用的端口、最小化服务或工具、检查使用中的端口)用Nmap扫描自己(但易出问题)使用更智能的防火墙(用状态数据包过滤器或代理来代替数据包过滤器)5、漏洞扫描:①漏洞类型:认证错误、默认认证弱点、经典漏洞②漏洞扫描工具扫描哪里:漏洞数据库、用户配置、扫描引擎、当前扫描的已知库、结果/报告/存储库③Nessus:最流行的免费漏洞扫描工具(可以编写自己的漏洞检查)Nessus体系结构:客户端-服务器架构④防御:关闭未使用的端口、安装最新的补丁⑤漏洞扫描工具的局限性:只能检测已知的漏洞、只给一个即时快照4三、入侵(获得访问权限)分类:应用和os攻击;网络和DDos攻击应用/操作系统攻击①缓冲区溢出:计算机对接收的输入数据没有进行有效的检测(理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符),向缓冲区内填充数据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之外的内存空间,使得溢出的数据覆盖了其他内存空间的数据,造成了缓冲区溢出。(插入两张图)通过计算返回地址内存区域相对于buffer的偏移,并在对应位置构造新的地址指向buffer内部二进制代码的其实位置,便能执行用户的自定义代码!这段既是代码又是数据的二进制数据被称为shellcode,因为攻击者希望通过这段代码打开系统的shell,以执行任意的操作系统命令——比如下载病毒,安装木马,开放端口,格式化磁盘等恶意操作。堆栈是一块保存数据的连续内存。一个名为堆栈指针(SP)的寄存器指向堆栈的顶部。堆栈的底部在一个固定的地址。堆栈的大小在运行时由内核动态地调整。SP指向堆栈的最后地址5没有进行便边界检查,如果strncpy用来代替strcpy,不可以填充超过缓冲区大小的数据防御:正确编写代码、使堆栈和其它数据区不可执行、进行数组边界检查、程序指针完整性检查。注:Return-to-libc攻击:是一种特殊的缓冲区溢出攻击,通常用于攻击有“栈不可执行”保护措施的目标系统。安全异常处理地址空间随机化②TOCTTOU(TimeofCheckToTimeofUse):是竞态条件的一种,检查与使用时间缺陷竞争条件:多个线程或者进程在读写一个共享数据时结果依赖于它们执行的相对时间,这种情形叫做竞争。竞争条件发生在当多个进程或者线程在读写数据时,其最终的的结果依赖于多个进程的指令执行顺序。简述竞争条件攻击并给出简单的防护措施?在多任务系统中,当两个连续的操作作用在同一个文件时,系统会按照竞争条件的原则作出决定。此时,这两个连续操作之间存在一定的时间间隔。黑客可以利用这个时间间隔对文件进行更改。例如:TOCTTOU例子setuid。6防护措施:①不要使用access(2)来判定您是否可以做某件事情;通常攻击者会在调用access(2)后改变该情形。所以,通过调用access(2)获得的任何数据都可能不再是可信任的。将程序的特权设置得恰好是想要的特权,然后调用open(2)直接打开或创建您需要的文件。②当创建一个新文件时,使用O_CREAT|O_EXCL模式打开它。最初只授与非常有限的权限,至少禁止任意的用户修改它。③应尽量避免使用获取文件名的操作,而是使用获取文件描述符的操作。网络攻击网络结构:①Sniffing:嗅探器,是一种基于被动侦听原理的网络分析方式。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击,将网络上传输的源源不断的信息截获。免费软件嗅探器包括:WinDump的---tcpdump的端口Snort---sniffer/IDSWireshark---能够解码大量协议sniffit---流行的攻击dsniff---也许是最强大的7被动嗅探:snort:开源的,基于UNIX的IDSSniffit:基于UNIX的流行的,可跟踪单个会话????????????????是不是被动?????Wireshark:可以在许多平台////可能比较容易使用////很好的UI设计////是一个“协议天才”////解码每一个比特包////“遵循TCP流”功能////选择一个TCP数据包,查看整个连接主动嗅探=ARP欺骗+抓包Dsniff:dsniff解码很多应用层协议:FTP,TELNET,POP,...,Napster、pcAnywhere注:arp欺骗攻击,通过伪造arp报文,欺骗相关的主机,将第三方接入到通讯双方的会话中去,dsniff就是基于这个原理。Sniffing的防御:使用安全协议不
本文标题:网络攻防复习第二章攻击
链接地址:https://www.777doc.com/doc-2071811 .html