网络攻防技术--第四次作业

一、 Unicode漏洞攻击的基本原理是什么?

  1. Unicode定义
    Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码, 是为了解决传统的字符编码方案的局限而产生的统一编码方案。Unicode为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
  2. 针对IIS的Unicdoe漏洞攻击
    在IIS4.0和5.0版本中,当IIS收到的文件名中包含某些特殊编码(例如%c1%hh)时,首先会将其转化为十六进制符号(如0xc10xhh),并尝试着打开这个文件。在ASCII码中,’/’和’\’两个字符的ASCII值分别为5c和2f。因此,利用Unicode编码%c1%1c和%c0%2f,或%c1%9c和%c1%af可以分别构造出’/’和’\’两个字符。上述http请求就绕开了IIS对’…/…’的检查,成功的实现了在http中执行CMD命令的执行,并且可以更进一步的行使其他更危险的命令。
  3. 针对BIDI的Unicode漏洞攻击
    bidi 算法是用于处理不同语言的文字排序问题,如在从左往右的英文句子中加入从右往左的阿拉伯语单词。大多数编程语言都允许开发者将 bidi 字符放在字符串文字和注释里边,因此bidi漏洞被称为是危及所有软件的“超级漏洞”。
    对于一段代码,若使用 Bidi 算法多层 LRI 和 RLI 相互嵌入,就可以实现对其中字符串的任意组合和重新排序,甚至可以重新生成一份符合语法规范的代码。

二、除了课堂上介绍的方法外,还有什么方法可以进行DNS劫持?

  1. 利用DNS服务器进行DDOS攻击
    正常的DNS服务器递归询问过程可能被利用成DDOS攻击。假设攻击者已知被攻击机器IP地址,然后攻击者使用该地址作为发送解析命令的源地址。这样当使用DNS服务器递归查询后,DNS服务器响应给最初用户,而这个用户正是被攻击者。那么如果攻击者控制了足够多的肉鸡,反复的进行如上操作,那么被攻击者就会受到来自于DNS服务器的响应信息DDOS攻击。
  2. DNS信息劫持
    原则上TCP/IP体系通过序列号等多种方式避免仿冒数据的插入,但入侵者如果通过监听客户端和DNS服务器的对话,就可以猜测服务器响应给客户端的DNS查询ID。
    每个DNS报文包括一个相关联的16位ID号,DNS服务器根据这个ID号获取请求源位置。
    攻击者在DNS服务器之前将虚假的响应交给用户,从而欺骗客户端去访问恶意的网站。假设当提交给某个域名服务器的域名解析请求的数据包被截获,然后按截获者的意图将一个虚假的IP地址作为应答信息返回给请求者。这时,原始请求者就会把这个虚假的IP地址作为它所要请求的域名而进行连接,显然它被欺骗到了别处而根本连接不上自己想要连接的那个域名。
  3. DNS重定向
    攻击者如果将DNS名称查询重定向到恶意DNS服务器。那么被劫持域名的解析就完全置于攻击者的控制之下。
  4. ARP欺骗
    ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
    ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP木马的系统将会试图通过"ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。ARP欺骗通常是在用户局网中,造成用户访问域名的错误指向,但在IDC机房被入侵后,则也可能出现攻击者采用ARP包压制正常主机、或者压制DNS服务器,而李代桃僵,以使访问导向错误指向的情况。

三、电子邮件欺骗有哪几种基本形式?

  1. 基本欺骗形式
     使用相似的电子邮件地址
    发信人使用被假冒者的名字注册一个账号,然后给目标发送一封正常的信
     修改邮件客户软件的账号配置
    邮件帐户配置–姓名(Name)属性,会出现在“From”和“Reply-To”字段中,显示在“发件人”信息中–电子邮件地址,会出现在“From”字段中–回复地址,会出现在“Reply-To”字段中,可以不填。发送服务器设置使用与接受邮件服务器相同的设置。
     直接连到smtp服务器上发信
    通过命令行直接连接smtp服务器的25端口,发送命令。常见命令为:Helo(or EHLO),Mail from,Rcpt to,Data,Quit。
  2. 防范方法
    数字签名
    邮件服务器的验证
    审计制度,所有的邮件都有记录

四、Web欺骗有哪几种基本形式?

  1. 基本欺骗形式
     使用相似的域名
    注册一个与目标公司或组织相似的域名,建立一个欺骗网站,骗取该公司的用户的信任,以便得到这些用户的信息,对于从事商业活动的用户。
    例如,针对ABC公司,用abc.net来混淆abc.com
    如果客户提供了敏感信息,那么这种欺骗可能会造成进一步的危害,例如:
    用户在假冒的网站上订购了一些商品,然后出示支付信息。
    假冒的网站把这些信息记录下来(并分配一个cookie),并以诸如网络故障等的名义,要求用户重新输入。然后提示:现在网站出现故障,请重试一次。
    当用户重试的时候,假冒网站发现这个用户带有cookie,就把它的请求转到真正的网站上。用这种方法,假冒网站可以收集到用户的敏感信息。
     中间人攻击
    这个攻击的意思是,目标主机A向客户端B发送一个请求,这个请求一开始就被我截获了,截获之后我可以查看请求的内容,请求也是可以篡改的,但是本次实验不涉及这方面。
    我查看了请求之后,把它发给了客户端B,客户端B接收到请求之后,发送一个回复,回复依旧没有直接到到目标主机A,而是到了我这里,我篡改回复包的内容(比如,改了个标题),改完之后,将这个回复包,再发给目标主机A,目标主机A处显示的就是我篡改过的内容。
     改写URL
    一个HTTP页面从Web服务器到浏览器的传输过程中,如果其中的内容被修改了的话,则欺骗就会发生,其中最重要的是URL改写。
    URL改写可以把用户带到不该去的地方,例如: Welcom to Hollywood-Moviesite.
    有一些更为隐蔽的做法直接指向一些恶意的代码把url定向放到script代码中,难以发现。
    改写页面的做法
    – 入侵Web服务器,修改页面
    – 设置中间http代理
    – 在传输路径上截获页面并改写
    – 在客户端装载后门程序
  2. 防范方法
    使用类似的域名
    改写URL

五、简述会话劫持原理

  1. 会话劫持原理
    会话劫持是结合了嗅探和欺骗技术在内的攻击手段。例如,在一次正常的会话过程当中,攻击者作为第三方参与到其中,既可以在正常数据包中插入恶意数据,也可以在双方的会话当中进行监听,甚至可以是代替某一方主机接管会话。
  2. 会话劫持的两种类型
    被动劫持:监听网络会话流量,以发现密码或者其他敏感信息。
    主动劫持:找到当前活动的会话,并且把会话接管过来。迫使一方下线,由劫持者取而代之。攻击者接管了一个合法会话后,可以做更多危害性更大的事情。
  3. 会话劫持的防范
    (1)尽可能使用交换式网络,虽然像Hunt这样的工具可以在交换环境中实现会话劫持,但交换式网络还是可以防范最基本的嗅探攻击。
    (2)防范ARP欺骗等。实现中间人攻击的前提是ARP欺骗,如能阻止攻击者进行ARP欺骗,中间人攻击将难以进行。其次,监视网络流量,如发现网络中出现大量的ACK包,则有可能已被会话劫持攻击。
    (3)最根本的解决办法是采用加密通讯,使用SSH代替Telnet、使用SSL代替HTTP,或者干脆使用IPSec/VPN,这样会话劫持就无用武之地了。

六、什么是ACK风暴?

根据TCP/IP的规定,使用TCP协议进行通讯需要提供两段序列号,TCP协议使用这两段序列号确保连接同步以及安全通讯,系统的TCP/IP协议栈依据时间或线性的产生这些值。
在通讯过程中,双方的序列号相互依赖,如果攻击者直接进行会话劫持,结果肯定失败。因为会话双方“不认识”攻击者,攻击者不能提供合法的序列号。所以,会话劫持的关键是预测正确的序列号,攻击者可以采取嗅探技术获得这些信息。
当会话双方接收到一个不期望的数据包后,就会用自己期望的序列号返回ACK包;而在另一端,这个数据包也不是所期望的,就会再次以自己期望的序列号返回ACK包……于是,就这样来回往返,形成了恶性循环,最终导致ACK风暴。
比较好的解决办法是先进行ARP欺骗,使双方的数据包“正常”的发送到攻击者这里,然后设置包转发,最后就可以进行会话劫持了,而且不必担心会有ACK风暴出现。

七、简述DDOS攻击的原理

  1. DDOS简介
    分布式拒绝服务(Distributed Denial of Service,DDoS)指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。
    简单来说就是,黑客通过一些主机的漏洞,控制了大量的主机,这些主机被称作傀儡机,通过大量的傀儡机向受害者发出请求,受害者由于大量的数据无用的数据包而处于繁忙状态,导致正常用户无法享受正常的服务。
    DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式。单一的DoS攻击一般是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小等等各项性能指标不高时,它的效果是明显的。随着计算机的处理能力迅速增长,内存和网络带宽大大增加,这使得DoS攻击的困难程度加大了---- 目标对恶意攻击包的“消化能力”加强了不少, DoS攻击效果不明显。
  2. 被DDOS攻击的现象
    网络中充斥着大量的无用的数据包,源地址为假。
    制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯。
    受害主机无法及时处理所有正常请求。
    受害主机响应缓慢,严重时会造成系统死机。
  3. DDOS攻击类型:
    1、资源消耗型
    同时发动大量的攻击傀儡机向目标发送海量的数据包,以消耗目标的带宽资源和存储资源。因此也常常被称为蛮力攻击、洪水攻击等。在这类攻击中,为了不让目标轻易发现,常常会构造各种类型的数据包,使其与正常服务的数据包难以区分。攻击效果完全依赖于数据包的数量,只有当大量的数据包到达目标时,攻击方才有效。面对这种类型的DDOS攻击,即使拥有大量资源的网络也难以幸免。
    2、以巧取胜型
    这类DDOS攻击是利用协议本身或者其软件实现中的漏洞,通过一些非正常的(畸形的)数据包使得受害者系统在处理时出现异常,导致受害者系统崩溃。这类攻击主要是利用协议或软件漏洞进行攻击,也被称为漏洞攻击或协议攻击。如:Sockstress攻击、NTP放大攻击等。由于这类攻击甚至只需要发送一个数据包就可以制目标瘫痪,因此也被称为毒药攻击。
    3、混合型
    资源消耗型和以巧制胜型的混合体,吸收了前两种攻击类型的优点,攻击效果惊人,是目前最常见的DDOS攻击类型。

八、简述如何组织一次DDOS攻击

  1. 收集目标情况
    下列情况是DDOS能否成功的关键:
     被攻击目标主机数目、地址情况
     目标主机的配置、性能
     目标的带宽
  2. 占领傀儡机
    黑客最感兴趣的是有下列情况的主机:
     性能好的主机
     负载轻的主机
     安全管理水平差的主机
    黑客通过扫描,寻找互联网上那些有漏洞的机器,包括溢出漏洞、cgi、Unicode、ftp、数据库漏洞等等,并有针对性尝试入侵。入侵成功,即可成为傀儡机。从俘获的傀儡机中选择若干台做为控制傀儡机,其余的作为攻击傀儡机。利用ftp分别将DDoS攻击程序和控制程序传送到攻击傀儡机和控制傀儡机上,等待发出攻击指令。
  3. 实际攻击
    当条件成熟或时机到了,攻击者即会发动攻击。与搜集情报和占领傀儡机相比,发动DDOS攻击非常简单:
     攻击者登录到控制傀儡,并通过控制傀儡机向所有(或部分)攻击傀儡机发出命令;
     潜伏在攻击傀儡机中的DDoS攻击程序在收到控制傀儡机的攻击命令后即会向目标发送攻击报文。
     攻击者一边攻击,还会用各种手段来监视攻击的效果,在需要的时候进行一些调整。如:不断侦测攻击效果,如果效果不好则会随时调整攻击策略或增加更多攻击傀儡机加入攻击。

九、什么是缓冲区?什么是缓冲区溢出?如何进行缓冲区溢出攻击?

  1. 什么是缓冲区?
    缓冲区是指包含相同数据类型实例的一个连续的计算机内存块,是程序运行期间在内存中分配的一个连续的区域,用于保存包括字符数组在内的各种数据类型。
  2. 什么是缓冲区溢出?
    缓冲区溢出是若在向固定长度的缓冲区中写入数据规模超出其预先分配的长度时,超出部分的数据就会覆盖缓冲区周围的内存空间,从而带来不可预测的错误。
  3. 如何进行缓冲区溢出攻击
    根据溢出所覆盖的堆栈数据不同,可能会有产生以下情况:
    覆盖其他局部变量。如果被覆盖局部变量是条件变量,则可能会改变函数原本的执行流程,可用于破解简单的软件验证;覆盖EBP。修改了函数执行结束后要恢复的栈底指针,导致栈帧失衡;覆盖返回地址。栈溢出的核心所在,通过覆盖而修改函数的返回地址,从而执行“意外”的代码;覆盖参数。函数参数被修改后可能改变当前函数的执行结果和流程;覆盖上级函数栈帧。影响上级函数执行,条件是保证函数能正常返回。
    攻击者利用缓冲区溢出漏洞向程序的缓冲区写入超过预定长度的数据,从而破坏程序的堆栈,导致程序执行流程的改变,使程序执行特殊代码, 最终获取控制权。
    采用“跳板”的溢出方式:
    当函数执行完成后(即执行RET命令),ESP恢复到压入参数时的状态;将返回地址修改为某个“特殊地址”;在这个“特殊地址”中预先存储一条指令:JMP ESP。如能够精心设计导致溢出的输入串,使其中的shellcode的存储位置在ESP所指向的堆栈位置,即可使shellcode得到执行。

十、攻击者如何掩藏自己的踪迹?

攻击者取得Administrator账号权限后,不仅要尽快萌取目标系统的信息,还要做些善后工作,如安置后门,藏匿工具,禁止审计,清空事件日志和隐藏文件 。这些善后工作可以销赃匿迹,防止被受害者发觉,方便再次返回,或者将该机作为桥头堡,以备对其他系统发动攻击。

  1. 关闭审计功能
    利用Windows自带的auditpol工具可以自由的打开或关闭审计程序 Disable/ Enable。攻击者经常是入侵成功后立即关闭审计程序,以免攻击行为被记录和审计;在离开目标系统前再将审计打开,于是auditpol就保持不变,从而欺骗受害者。
  2. 清理事件日志
    在获得管理员权限的过程中 ,攻击者利用自己主机的事件查看器(Event Viewer)删除目标主机的Windows事件日志(Event Log)留下的踪迹,但同时会留下一条新的记录,说明事件日志已 被人侵者清袋 。这样,可能引起目标系统管理员的警觉 。攻击者也可以手动修改日志文件,只是抹去与入侵和攻击行为相关的记录,因为Windows 系统使用的日志语法比较复杂,而且记录的数量很大,这样的操作往往不会引起管理员的注意。
  3. 隐藏文件
    完成一次入侵后,攻击者常常会希望在目标系统上保留一个工具箱以供再次入侵时使用。但是,攻击者必须要考虑的是:如何将工具保留在目标系统上同时又不会被发现。一种非常容易的方法是将驻留在目标系统上的文件属性设置为隐藏。然而,只要在资源管理器中选择“显示所有的文件、文件夹和驱动器”选项,这些隐藏的文件就会原形毕露。
    另一种更加隐秘的方法是利用Windows的NTFS文件系统中的数据流机制。NTFS是Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的文件系统。NTFS比FAT文件系统更稳定,更安全,功能也更为强大。
  4. 创建后门
    在获得管理员权限后,攻击者通常会在目标系统上植入某种程序,为今后的进入和控制目标系统提供便利。被誉为“瑞士军刀”的netcat工具软件就是经常被选择工具软件之一。

猜你喜欢

转载自blog.csdn.net/qq_53517370/article/details/128856034