作为一位正在必火安全学习的准网络安全人员来发表一下自己的看法。
一名合格的渗透测试人员是不停的在学习在进步的,网络安全日新月异,昨天的风很可能变成今天的雨。建议基础学习内容:linux、kali linux以及系统漏洞和脚本安全的深入了解。
建议编程学习内容:PHP、python。渗透测试知识技术说多不多,学来学去就是那么多东西,说少也不少,各方面都要学习,重要的是思路的扩展升级。
强烈建议每一种漏洞在各种环境下反复试验增加记忆和熟练度。简单概括下来有:信息安全(建议深入学习社会工程学、密码学),系统安全,应用安全目前流行的是防火墙waf的绕过,内网安全的渗透与防御,CTF红蓝的练习,黑盒白盒测试环境的思路极为重要。
2020年了不再是一眼能看出的简单漏洞了,若是传统性的进行渗透测试,那么自身是提高不了多少的。网络上的课程大同小异教程里都是基本操作登不上大雅之堂,自己闷头苦学苦思只会落后,跟上时代的发展,多去找大佬学习交流,或者到知名培训机构修炼渡劫。
1、人性式攻击,比如钓鱼式攻击、社会工程学攻击,这些攻击方式,技术含量往往很低,针对就是人性。有点骗子攻击的味道。著名黑客菲特尼客,以这种攻击为特长。
2、中间人攻击,各式各样的网络攻击,合拢而来几乎都是中间人攻击,原因很简单,任何两方面的通讯,必然受到第三方攻击的威胁。比如sniffer嗅探攻击,这种攻击可以说是网络攻击中最常用的,以此衍生出来的,ARP欺骗、DNS欺骗,小到木马以DLL劫持等技术进行传播,几乎都在使用中间人攻击。
3、缺陷式攻击,世界上没有一件完美的东西,网络也是如此,譬如DDOS攻击,这本质上不是漏洞,而只是一个小小的缺陷,因为TCP协议必须经历三次握手。
4、漏洞式攻击,就是所谓的0day
Hacker攻击,这种攻击是最致命的,但凡黑客手中,必定有一些未公布的0day漏洞利用软件,可以瞬间完成攻击。
1、服务拒绝攻击 服务拒绝攻击企图通过使你的服务计算机崩溃或把它压跨来阻止你提供服务,服务拒绝攻击是最容易实施的攻击行为,主要包括: 死亡之ping (ping of death) 概览:由于在早期的阶段,路由器对包的最大尺寸都有限制,许多操作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区,当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方当机。
防御:现在所有的标准TCP/IP实现都已实现对付超大尺寸的包,并且大多数防火墙能够自动过滤这些攻击,包括:从windows98之后的windows,NT(service pack 3之后),linux、Solaris、和Mac OS都具有抵抗一般ping of death攻击的能力。此外,对防火墙进行配置,阻断ICMP以及任何未知协议,都讲防止此类攻击。
泪滴(teardrop) 概览:泪滴攻击利用那些在TCP/IP堆栈实现中信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。IP分段含有指示该分段所包含的是原包的哪一段的信息,某些TCP/IP(包括service pack 4以前的NT)在收到含有重叠偏移的伪造分段时将崩溃。
防御:服务器应用最新的服务包,或者在设置防火墙时对分段进行重组,而不是转发它们。 UDP洪水(UDP flood) 概览:各种各样的假冒攻击利用简单的TCP/IP服务,如Chargen和Echo来传送毫无用处的占满带宽的数据。
通过伪造与某一主机的Chargen服务之间的一次的UDP连接,回复地址指向开着Echo服务的一台主机,这样就生成在两台主机之间的足够多的无用数据流,如果足够多的数据流就会导致带宽的服务攻击。 防御:关掉不必要的TCP/IP服务,或者对防火墙进行配置阻断来自Internet的请求这些服务的UDP请求。
SYN洪水(SYN flood) 概览:一些TCP/IP栈的实现只能等待从有限数量的计算机发来的ACK消息,因为他们只有有限的内存缓冲区用于创建连接,如果这一缓冲区充满了虚假连接的初始信息,该服务器就会对接下来的连接停止响应,直到缓冲区里的连接企图超时。在一些创建连接不受限制的实现里,SYN洪水具有类似的影响。
防御:在防火墙上过滤来自同一主机的后续连接。 未来的SYN洪水令人担忧,由于释放洪水的并不寻求响应,所以无法从一个简单高容量的传输中鉴别出来。
Land攻击 概览:在Land攻击中,一个特别打造的SYN包它的原地址和目标地址都被设置成某一个服务器地址,此举将导致接受服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接,每一个这样的连接都将保留直到超时掉,对Land攻击反应不同,许多UNIX实现将崩溃,NT变的极其缓慢(大约持续五分钟)。 防御:打最新的补丁,或者在防火墙进行配置,将那些在外部接口上入站的含有内部源地址滤掉。
(包括 10域、127域、192.168域、172.16到172.31域) Smurf攻击 概览:一个简单的smurf攻击通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包来淹没受害主机的方式进行,最终导致该网络的所有主机都对此ICMP应答请求作出答复,导致网络阻塞,比ping of death洪水的流量高出一或两个数量级。更加复杂的Smurf将源地址改为第三方的受害者,最终导致第三方雪崩。
防御:为了防止黑客利用你的网络攻击他人,关闭外部路由器或防火墙的广播地址特性。为防止被攻击,在防火墙上设置规则,丢弃掉ICMP包。
Fraggle攻击 概览:Fraggle攻击对Smurf攻击作了简单的修改,使用的是UDP应答消息而非ICMP 防御:在防火墙上过滤掉UDP应答消息 电子邮件炸弹 概览:电子邮件炸弹是最古老的匿名攻击之一,通过设置一台机器不断的大量的向同一地址发送电子邮件,攻击者能够耗尽接受者网络的带宽。 防御:对邮件地址进行配置,自动删除来自同一主机的过量或重复的消息。
畸形消息攻击 概览:各类操作系统上的许多服务都存在此类问题,由于这些服务在处理信息之前没有进行适当正确的错误校验,在收到畸形的信息可能会崩溃。 防御:打最新的服务补丁。
2、利用型攻击 利用型攻击是一类试图直接对你的机器进行控制的攻击,最常见的有三种: 口令猜测 概览:一旦黑客识别了一台主机而且发现了基于NetBIOS、Telnet或NFS这样的服务的可利用的用户帐号,成功的口令猜测能提供对机器的控制。 防御:要选用难以猜测的口令,比如词和标点符号的组合。
确保像NFS、NetBIOS和Telnet这样可利用的服务不暴露在公共范围。如果该服务支持锁定策略,就进行锁定。
特洛伊木马 概览:特洛伊木马是一种或是直接由一个黑客,或是通过一个不令人起疑的用户秘密安装到目标系统的程序。一旦安装成功并取得管理员权限,安装此程序的人就可以直接远程控制目标系统。
最有效的一种叫做后门程序,恶意程序包括:NetBus、BackOrifice和BO2k,用于控制系统的良性程序如:netcat、VNC、pcAnywhere。理想的后门程序透明运行。
防御:避免下载可疑程序并拒绝执行,运用网络扫描软件定。
下载:/source/274376常见网络攻击原理 1.1 TCP SYN拒绝服务攻击 一般情况下,一个TCP连接的建立需要经过三次握手的过程,即: 1、建立发起者向目标计算机发送一个TCP SYN报文; 2、目标计算机收到这个SYN报文后,在内存中创建TCP连接控制块(TCB),然后向发起者回送一个TCP ACK报文,等待发起者的回应; 3、发起者收到TCP ACK报文后,再回应一个ACK报文,这样TCP连接就建立起来了。
利用这个过程,一些恶意的攻击者可以进行所谓的TCP SYN拒绝服务攻击: 1、攻击者向目标计算机发送一个TCP SYN报文; 2、目标计算机收到这个报文后,建立TCP连接控制结构(TCB),并回应一个ACK,等待发起者的回应; 3、而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一致处于等待状态。 可以看出,目标计算机如果接收到大量的TCP SYN报文,而没有收到发起者的第三次ACK回应,会一直等待,处于这样尴尬状态的半连接如果很多,则会把目标计算机的资源(TCB控制结构,TCB,一般情况下是有限的)耗尽,而不能响应正常的TCP连接请求。
1.2 ICMP洪水 正常情况下,为了对网络进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请求报文(ICMP ECHO),接收计算机接收到ICMP ECHO后,会回应一个ICMP ECHO Reply报文。而这个过程是需要CPU处理的,有的情况下还可能消耗掉大量的资源,比如处理分片的时候。
这样如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP洪水),则目标计算机会忙于处理这些ECHO报文,而无法继续处理其它的网络数据报文,这也是一种拒绝服务攻击(DOS)。 1.3 UDP洪水 原理与ICMP洪水类似,攻击者通过发送大量的UDP报文给目标计算机,导致目标计算机忙于处理这些UDP报文而无法继续处理正常的报文。
1.4 端口扫描 根据TCP协议规范,当一台计算机收到一个TCP连接建立请求报文(TCP SYN)的时候,做这样的处理: 1、如果请求的TCP端口是开放的,则回应一个TCP ACK报文,并建立TCP连接控制结构(TCB); 2、如果请求的TCP端口没有开放,则回应一个TCP RST(TCP头部中的RST标志设为1)报文,告诉发起计算机,该端口没有开放。 相应地,如果IP协议栈收到一个UDP报文,做如下处理: 1、如果该报文的目标端口开放,则把该UDP报文送上层协议(UDP)处理,不回应任何报文(上层协议根据处理结果而回应的报文例外); 2、如果该报文的目标端口没有开放,则向发起者回应一个ICMP不可达报文,告诉发起者计算机该UDP报文的端口不可达。
利用这个原理,攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TCP或UDP端口是开放的,过程如下: 1、发出端口号从0开始依次递增的TCP SYN或UDP报文(端口号是一个16比特的数字,这样最大为65535,数量很有限); 2、如果收到了针对这个TCP报文的RST报文,或针对这个UDP报文的ICMP不可达报文,则说明这个端口没有开放; 3、相反,如果收到了针对这个TCP SYN报文的ACK报文,或者没有接收到任何针对该UDP报文的ICMP报文,则说明该TCP端口是开放的,UDP端口可能开放(因为有的实现中可能不回应ICMP不可达报文,即使该UDP端口没有开放)。 这样继续下去,便可以很容易的判断出目标计算机开放了哪些TCP或UDP端口,然后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。
1.5 分片IP报文攻击 为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP分片报文组装起来。 目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等待后续的分片报文,这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构。
如果攻击者给目标计算机只发送一片分片报文,而不发送所有的分片报文,这样攻击者计算机便会一直等待(直到一个内部计时器到时),如果攻击者发送了大量的分片报文,就会消耗掉目标计算机的资源,而导致不能相应正常的IP报文,这也是一种DOS攻击。 1.6 SYN比特和FIN比特同时设置 在TCP报文的报头中,有几个标志字段: 1、SYN:连接建立标志,TCP SYN报文就是把这个标志设置为1,来请求建立连接; 2、ACK:回应标志,在一个TCP连接中,除了第一个报文(TCP SYN)外,所有报文都设置该字段,作为对上一个报文的相应; 3、FIN:结束标志,当一台计算机接收到一个设置了FIN标志的TCP报文后,会拆除这个TCP连接; 4、RST:复位标志,当IP协议栈接收到一个目标端口不存在的TCP报文的时候,会回应一个RST标志设置的报文; 5、PSH:通知协议栈尽快把TCP数据提交给上层程序处理。
正常情况下,SYN标志(连接请求标志)和FIN标志(连接拆除标志)是不能同时出现在一个TCP报文中的。而且RFC也没有规定IP协议栈如何处理这样的畸形报文,因此,各个操作系统的协议栈在收到这样的报文后的处理方式也。
也许你还遇到过其他的攻击方式,我们在这里不能一一列举,总而言之一句话:网络之路,步步凶险。
窃取口令 就我们所知,被用来窃取口令的服务包括FTP、TFTP、邮件系统、Finger和Telnet等等。换句话说,如果系统管理员在选择主机系统时不小心或不走运的话,攻击者要窃取口令文件就将易如反掌,所以防范的手段包括对软件的使用都要采取十分谨慎地态度,大家一定要记住:坏家伙只用成功一次就够了。
缺陷和后门 事实上没有完美无缺的代码,也许系统的某处正潜伏着重大的缺陷或者后门等待人们的发现,区别只是在于谁先发现它。只有本着怀疑一切的态度,从各个方面检查所输入信息的正确性,还是可以回避这些缺陷的。
比如说,如果程序有固定尺寸的缓冲区,无论是什么类型,一定要保证它不溢出;如果使用动态内存分配,一定要为内存或文件系统的耗尽做好准备,并且记住恢复策略可能也需要内存和磁盘空间。 鉴别失败 即使是一个完善的机制在某些特定的情况下也会被攻破。
例如:源地址的校验可能正在某种条件下进行(如防火墙筛选伪造的数据包),但是黑客可以用程序Portmapper重传某一请求。在这一情况下,服务器最终受到欺骗,报文表面上源于本地,实际上却源于其他地方。
协议失败 寻找协议漏洞的游戏一直在黑客中长盛不衰,在密码学的领域尤其如此。有时是由于密码生成者犯了错误,过于明了和简单。
更多的情况是由于不同的假设造成的,而证明密码交换的正确性是很困难的事。 信息泄漏 大多数的协议都会泄漏某些信息。
高明的黑客并不需要知道你的局域网中有哪些计算机存在,他们只要通过地址空间和端口扫描,就能寻找到隐藏的主机和感兴趣的服务。最好的防御方法是高性能的防火墙,如果黑客们不能向每一台机器发送数据包,该机器就不容易被入侵。
拒绝服务 有的人喜欢刺破别人的车胎,有的人喜欢在墙上乱涂乱画,也有人特别喜欢把别人的机器搞瘫痪。很多网络攻击者对这种损人不利己的行为乐此不疲真是令人费解。
这种捣乱的行为多种多样,但本质上都差不多,就是想将你的资源耗尽,从而让你的计算机系统瘫痪。尽管主动的过滤可以在一定的程度上保护你,但是由于这种攻击不容易识别,往往让人防不胜防。
也许你还遇到过其他的攻击方式,我们在这里不能一一列举,总而言之一句话:网络之路,步步凶险。 阅读关于 漏洞防范文件资源软件攻击 的全部文章。
⑴ 拒绝服务:攻击者通过向被攻击者发送大量的数据包,最终使得目标系统因遭受某种程度的破坏而不能继续提供正常的服务,甚至导致物理上的瘫痪或崩溃。具体的操作方法可以是单一的手段,也可以是多种方式的组合利用,其结果都是一样的,即合法的用户无法访问所需信息。
⑵ 分布式拒绝服务:它是在传统的DoS攻击基础之上产生的一类攻击方式,指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。
⑶ 口令攻击:攻击者攻击目标时常常把破译用户的口令作为攻击的开始。只要攻击者能猜测或者确定用户的口令,他就能获得机器或者网络的访问权,并能访问到用户能访问到的任何资源。如果这个用户有域管理员或root用户权限,这是极其危险的。
⑷ 地址欺骗:这类攻击主要是基于地址的证实,即攻击者将自己的地址伪装成主机认为可信赖的地址,如内部网地址,从而骗取主机的信任,达到攻击的目的。
⑸ 社会工程:攻击者设法伪装自己的身份并设计让受害人泄密私人信息。这些攻击的目标是搜集信息来侵入计算机系统的,通常通过欺骗某人使之泄露出口令或者在系统中建立个新帐号。其他目标使侦察环境,找出安装了什么硬件和软件,服务器上装载了什么补丁等等。通过社会工程得到的信息是无限的。
⑹ TCP盗用:由于TCP是基于有连接的通信,这样攻击者通过监听连接信息,一旦合法的连接建立之后,攻击者即可插入数据包,甚至接管客户的TCP连接。在这种情况下,即使经过很强的认证后,也容易接管Telnet和FTP的会话操作。
⑺ 窃听:通过采用嗅探技术,窃听网上其他用户间通用内容,截获拥护注册身份及口令,或截获传输的重要文件内容。
⑻ 对域名和基础设施破坏:攻击者通过对域名系统、路由器等网络设施进行破坏,使受害主机在域名系统中消失,或无法找到路由。这在动态路由器中可采用欺骗路由应答等方式进行。
原发布者:HUO小奇
——和小奇常见的网络攻击类型拒绝服务攻击利用型攻击信息收集型攻击假消息攻击口令攻击一、拒绝服务攻击一、拒绝服务攻击一、拒绝服务攻击一、拒绝服务攻击常见攻击手段•死亡之ping(pingofdeath)•泪滴(teardrop)•UDP洪水(UDPflood)•SYN洪水(SYNflood)•Land攻击•Smurf攻击一、拒绝服务攻击SYN洪水(SYNflood)攻击演示一、拒绝服务攻击SYN洪水(SYNflood)攻击演示一、拒绝服务攻击二、利用型攻击1.特洛伊木马(木马)概览:木马目前一般可理解为“为进行非法目的的计算机病毒”,在电脑中潜伏,以达到黑客目的。木马一般伪装成一个实用工具或者一个游戏甚至一个位图文件,这会诱使用户将其安装在PC或者服务器上。一旦安装成功并取得管理员权限,攻击者就可以直接远程控制目标系统进行非法操作。二、利用型攻击2.缓冲区溢出概览:由于在很多的服务程序中大意的程序员使用strcpy()等不进行有效位检查的函数,最终可能导致恶意用户通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。三、信息收集型攻击1.扫描技术地址扫描:运用ping这样的程序探测目标地址,对此作出响应的表示其存在。端口扫描:通常使用一些软件,向大范围的主机连接一系列的TCP端口,扫描软件报告它成功的建立了连接的主机所开的端口。
1.熟练掌握 C语言,汇编语言 基本上黑客新手都要学到disassemble(反汇编),就是通过一个程序运行的汇编套路来分析其源代码。
并用c语言进行测试。汇编要掌握到(stack,protected mode,data segment,ESP,EBP。)
,C语言(bit-field, stdcall。) 2.计算机原理 分析程序数据没有十进制,只有2进制和16进制(就是0101 0010或0xFF。)
要懂得基本运算。还有big/little-endian等基本术语,会用WinHex/UltraEdit或VS的dempbin分析程序。
3.网络:TCP/IP(TCP,UDP,ICMP,DNS,IP等许多协议),会截取数据包,还有分析frame,结合telnet/ftp/c语言的socket等命令进行网络打劫!这部分最难最枯燥,建议看understanding TCP/IP这本书 4.系统的认知!了解Windows内部API,sockets编程,IP proxy(IPv6最好也学),真正的黑客是几乎漏不出马脚的! 这些就是基础,然后熟练掌握各种操作流程,可以强行进行telnet,或进行TCP hijack,或夺取远程sid等。
还有很多要学,根本数不完。
推荐你看一下几本书(我看过许多书,走过弯路,这是整理后的最优选择) 1.Assembly language step-by-step 掌握汇编语言,和CPU运行机制,内存模式等 2.the C programming language C语言的灵魂制作 3.(C++可以了解一下)C++ from ground up或C++ premier C++在底层其实代替不了C 4.Understanding TCP/IP TCP/IP网络的精髓,最黑客的前提。
(一)利用网络系统漏洞进行攻击 许多网络系统都存在着这样那样的漏洞,这些漏洞有可能是系统本身所有的,如WindowsNT、UNIX等都有数量不等的漏洞,也有可能是由于网管的疏忽而造成的。
黑客利用这些漏洞就能完成密码探测、系统入侵等攻击。考试大论坛 对于系统本身的漏洞,可以安装软件补丁;另外网管也需要仔细工作,尽量避免因疏忽而使他人有机可乘。
(二)通过电子邮件进行攻击 电子邮件是互联网上运用得十分广泛的一种通讯方式。黑客可以使用一些邮件炸弹软件或CGI程序向目的邮箱发送大量内容重复、无用的垃圾邮件,从而使目的邮箱被撑爆而无法使用。
当垃圾邮件的发送流量特别大时,还有可能造成邮件系统对于正常的工作反映缓慢,甚至瘫痪,这一点和后面要讲到的“拒绝服务攻击(DDoS)比较相似。 来源:考试大 对于遭受此类攻击的邮箱,可以使用一些垃圾邮件清除软件来解决,其中常见的有SpamEater、Spamkiller等,Outlook等收信软件同样也能达到此目的。
(三)解密攻击 在互联网上,使用密码是最常见并且最重要的安全保护方法,用户时时刻刻都需要输入密码进行身份校验。 而现在的密码保护手段大都认密码不认人,只要有密码,系统就会认为你是经过授权的正常用户,因此,取得密码也是黑客进行攻击的一重要手法。
取得密码也还有好几种方法,一种是对网络上的数据进行监听。因为系统在进行密码校验时,用户输入的密码需要从用户端传送到服务器端,而黑客就能在两端之间进行数据监听。
但一般系统在传送密码时都进行了加密处理,即黑客所得到的数据中不会存在明文的密码,这给黑客进行破解又提了一道难题。这种手法一般运用于局域网,一旦成功攻击者将会得到很大的操作权益。
另一种解密方法就是使用穷举法对已知用户名的密码进行暴力解密。 这种解密软件对尝试所有可能字符所组成的密码,但这项工作十分地费时,不过如果用户的密码设置得比较简单,如“12345”、“ABC”等那有可能只需一眨眼的功夫就可搞定。
www。Examda。
CoM考试就到考试大 为了防止受到这种攻击的危害,用户在进行密码设置时一定要将其设置得复杂,也可使用多层密码,或者变换思路使用中文密码,并且不要以自己的生日和电话甚至用户名作为密码,因为一些密码破解软件可以让破解者输入与被破解用户相关的信息,如生日等,然后对这些数据构成的密码进行优先尝试。 另外应该经常更换密码,这样使其被破解的可能性又下降了不少。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:3.211秒