网络安全基础知识笔记

网络协议

应用层:为用户的应用进程提供网络通信服务
协议——DNS协议、HTTP协议、HTTPS协议
传输层:负责两台主机之间的数据传输,将数据从发送端传输到接收端
协议——TCP协议、UDP协议
网络层:负责传输的地址管理和路由选择,在众多复杂的网络环境中确定一条合适的路径
协议——IP协议
数据链路层:负责设备之间数据帧的传送和识别,将网络层传递的数据报封装成帧,在处于同一个数据数据链路节点的两个设备之间传输
协议——ARP协议、MTU协议
物理层:负责光电信号的传递方式,实现相邻计算机节点之间比特流的透明传输

应用层协议

应用层协议主要负责各个程序间的通信,发生网络传输一个数据时,先由应用层对数据按照对应的协议封装,然后交给下一层传输层,当经过一系列网络传输,数据达到接收端时,一层层的分用,最后一层再由应用层分用,最终得到数据。

DNS协议

DNS协议是一个应用层协议,建立在TCP和UDP的基础之上,使用默认端口为53,其默认通过UDP协议通信,但如果报文过大是则会切换成TCP协议。

域名系统 (DNS) 的作用是将人类可读的域名 (如,www.baidu.com) 转换为机器可读的 IP 地址 (如,192.0.2.44),本质是通过DNS域名和IP地址的对应关系转换,而这种对应关系则保存在DNS服务器中。

域名的解析过程:

域名的解析工作大体上可以分为两个步骤:第一步客户端向本地DNS服务器发起一个DNS请求报文,报文里携带需要查询的域名,第二步本地DNS服务器向本机回应一个DNS响应报文,报文里携带查询域名所对应的IP地址

具体流程如下:

  1. 在本地缓存中查询,如果有则返回对应IP,如果没有将请求发给DNS服务器
  2. 当本地DNS服务器接收到查询后,先在服务器管理区域记录中查询,若没有再在服务器本地缓存中查询,如果没有将请求发送到根域名服务器
  3. 根域名服务器负责解析请求的根域部分,然后将包含下一级域名信息的DNS服务地址返回给本地DNS服务器
  4. 本地DNS服务器利用根域名服务器解析的地址访问下一级DNS服务器,得到再下一级域的DNS服务器地址
  5. 按照上述递归方法逐级接近查询目标,最后在有目标域名的DNS服务器上找到相应的IP地址信息
  6. 本地DNS服务器将最终查询到的IP返回给客户端,让客户端访问对应主机

HTTP协议

HTTP协议是一个简单的请求——响应协议,它通常 运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP进行通信的HTTP的实现程序。

HTTP是基于TCP协议,且面向连接的。典型的HTTP事务处理有如下的过程:

  1. 客户端与服务器建立连接;
  2. 客户端向服务器提出请求;
  3. 服务器接受请求,并根据请求返回相应的数据作为应答响应;
  4. 客户端与服务器关闭连接。

HTTP协议报文格式

HTTP报文由从客户机到服务器的请求(Request)从服务器到客户机的响应(Respone)构成

请求由请求行,请求头,请求体组成
请求行中包含请求方法、路径、版本号,请求头为多个key-value数据,请求正文包含一些请求的数据
响应由响应行,响应头,响应体组成
响应行中包含状态码,状态码描述,版本号,响应头为多个key-value数据,响应正文包含一些响应的数据

HTTP协议的特点

  1. 支持服务器/客户端模式
  2. 传输较快速,客户端向服务器发送请求,只需要传输请求方法和路径
  3. 灵活,HTTP允许传输任意类型的数据对象
  4. 无连接,每次连接只能处理一个请求,服务器处理完客户端请求,客户端收到响应后就断开连接
  5. 无状态,协议本身对事务处理没有记忆能力,如果后序连接需要之前发送的信息时就需要重传

HTTP1.0和HTTP1.1的区别: 长连接、增加Host字段、缓存、错误提示

HTTP1.X和HTTP2.0的区别: 增加二进制格式解析、多路复用、header压缩、服务端推送

HTTPS协议

HTTPS同样作为应用层协议,可以说它是HTTP的升级版,增加了传输数据的安全性,HTTPS协议是在HTTP的基础上增加了一个SSL外壳,HTTPS运行在SSL上,SSL运行在TCP上,对数据的加密工作就是在SSL上完成的。其保证安全性的做法是通过证书验证和对信息混合加密(结合对称加密与非对称加密)的方式。

网络安全基础知识笔记_第1张图片

服务端生成私钥,再通过私钥生成公钥,然后将公钥放在证书中颁发给客户端
使用公钥和私钥以非对称方式加密生成密钥
客户端接下来的传输数据中,都会用密钥以对称方式对信息加密,再传输给服务端

传输层协议

传输层的主要功能是为了实现“端口到端口”的通信,以确保一条数据发送到主机上后,能够正确的传递到对应的端口上。

UDP协议

UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法,但是UDP也有自己的缺陷,一旦进行通信,就不知道对方是否接收到数据了,很有可能会造成传输数据的丢包问题。

网络安全基础知识笔记_第2张图片

特点:

  • 无连接:只需要知道目的ip和端口号就可以发送数据,无需建立连接
  • 不可靠:没有一系列机制来应对传输数据时的丢包问题
  • 面向数据报发送:应用层交给UDP什么样的报文,UDP就会发送什么样的,不会进行拆分,合并
  • UDP一次传输的数据大小有限,最大64k

UDP的适用范围:

由于UDP不属于连接型协议,所以具有资源消耗小。处理速度优的特点,因此经常使用于视频、音频通话传输中,因为发送的数据较多,偶尔丢包一两个不会产生太大影响。

TCP

因为UDP的传输是不可靠的,经常会导致连接错误、数据丢包问题,针对这些问题规定了另一个传输层协议——TCP协议,TCP是一种面向连接、可靠的、基于字节流的传输层协议。

TCP的特点:

  • 面向连接:在传输数据时,要先建立起客户端与服务端的连接,才能进行数据传输
  • 可靠的通信:TCP输出数据中,会基于内部的各种机制保证数据传输到目的端口
  • 基于字节流:TCP传输数据是基于字节传输的,易于对数据的拆分与合并发送
  • TCP的头部比UDP的开销要大,因为要存放更多的信息

网络层协议

网络层是基于数据链路层和传输层之间的第三层协议,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务。

网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。

IP协议

IP协议是TCP/IP网络模型中的核心部分,提供了一种分层的、无关硬件的寻址方式,可以在复杂的路由式网络中传递数据所需的服务。

IP协议可以将多个交换网络连接起来,在源地址和目的地址之间传输数据包,同时它还能提供数据的组装功能,以适应不同网络对数据包大小的要求。

预研知识:

IP地址是互联网协议特有的一种地址,它是IP协议提供的一种统一的地址格式,IP地址为互联网的每个网络和每台主机分配了一个逻辑地址,以此来屏蔽物理地址的差异。

IP地址格式:为32位地址,被分为4个部分,如XXX.XXX.XXX.XXX,IP地址又被划分为两个部分
网络号:前三部分用于标识网段,保证相互连接的两个网段有不同标识
主机号:由最后一部分组成,用于标识主机,保证处于同一网段的两台主机有不同的主机号
通过合理设置主机号和网络号, 就可以保证在相互连接的网络中, 每台主机的IP地址都不相同。

MAC地址:
被称为物理地址,是用来标识网络中每个设备的,MAC地址是设备出厂之后就写死的

IP协议的工作方式:

由于网络分为同网段和不同网段,所以会分成两种方式

  • 同网段:如果源地址主机和目的地址主机处于同一网段,则目的IP地址被 ARP协议 解析为MAC地址后,源主机会根据目的MAC地址直接将数据包发送给目的主机
  • 不同网段:如果源地址主机和目的地址主机不处于同一网段,则数据包会经历多个过程最终发送给目的主机
    1、网关(一般为路由器)的 IP地址 被 ARP协议 解析为 MAC地址,根据该 MAC地址 源主机会将数据包发送到网关
    2、网关根据数据包中的网段ID找到目标网络,如果找到,将数据包发送给目标网路,如果没有则重复第一步发送到更高一级网关
    3、数据包经过网关发送到正确的网段后,目标IP被 ARP协议 解析为MAC地址,在根据该 MAC地址 将数据包发送给目标地址的主机

ICMP协议

ICMP协议又叫控制报文协议,ICMP协议用于在IP 和 路由器之间传递控制消息,描述网络是否通畅、主机是否可达、路由器是否可用等网络状态,ICMP本身并不传输数据

作用:
在数据包从源主机传输到目的主机的过程中,会经历一个或多个路由器,而数据包在经过这些路由器传输过程中,可能会遇到很多问题,最终导致数据包没有成功传递给目的主机。为了了解数据包在传输过程中在哪个环节出了问题,就需要用到ICMP协议,它可以跟踪数据包,并把消息返回给源主机。

数据链路层

数据链路层是TCP/IP网络模型的第二层,基于物理层和网络层之间,数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层

ARP协议

ARP协议是数据进行网络传输过程中,通过 ARP 协议获取目标 IP 地址对应的 MAC 地址实现IP地址向MAC地址的转换,解决网络层和物理层衔接问题。

ARP的工作流程

网络安全基础知识笔记_第3张图片

如图展示的是同一网段下的两台主机,ARP的工作流程

主机A以广播的形式向该网段内的所有主机发送ARP请求,请求中包含了目的主机的IP地址
主机B接收到请求,通过请求中的目的IP地址发现自己是主机A要找的,返回响应,响应包括主机B的 MAC地址
ARP缓存:
在请求目标主机的 MAC 地址时,每次获取目标主机 MAC 地址都需要发送一次 ARP 请求,然后根据响应获取到 MAC 地址。为了避免重复发送 ARP 请求,每台主机都有一个 ARP 高速缓存。当主机得到 ARP 响应后,将目标主机的 IP 地址和物理地址存入本机 ARP 缓存中,并保留一定时间。只要在这个时间范围内,下次请求 MAC 地址时,直接查询 ARP 缓存,而无须再发送 ARP 请求,从而节约了网络资源。

物理层

物理层,顾名思义就是用物理手段将两个要通信的电脑连接起来,主要用来传输0、1光电信号,这一层过于偏硬件。

整体网络传输流程

当访问一个网页时,主机A:发送http://www.baidu.com网络数据报

  1. DNS解析:将域名转换成对应IP地址(本机DNS缓存栈开始找—>逐级向上查找,如果根域服务器找不到,表示公网上没有该域名主机)
  2. 找到IP后:通过目的IP找到对应的目的MAC地址
  3. 根据目的IP计算目的主机是否和主机A处于同一网段
  4. 如在同网段:接通过ARP协议解析出对应的目的MAC,跳转到底9步
  5. 如不在同一网段:发送数据报到网关,现在ARP缓存表查找,通过网关IP查找MAC地址,找不到发送查询MAC广播数据报,最终返回网关自己的MAC
  6. 交换机转发:在MAC地址转换表中找到对应MAC交换机接口
  7. 路由器接收:分用数据报
  8. 途中的设备:与第7步同样操作如目的IP对应的MAC地址不是当前设备则继续重复该操作继续往更接近目的IP的路由发送
  9. 找到目的主机B,主机B的服务器开始接受分用请求,解析,最终组织响应
  10. 同上述操作一样,由主机B向主机A发送数据
  11. 最终主机A接受到数据报,经过分用,解析,最终得到响应

SSL、TLS协议

SSL(Secure Socket Layer安全套接层)以及其继承者 TSL(Transport Layer Security 传输层安全)是为了网络通信安全 提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

网络安全基础知识笔记_第4张图片

SSL/TLS是一个安全通信框架,上面可以承载HTTP协议或者SMTP/POP3协议等。

SSL协议

SSL协议主要任务是提供私密性,信息完整性和身份认证。不依赖于平台和运用程序的协议,位于TCP/IP协议与各种应用层协议之间,为数据通信提高安全支持。使用https://来标识HTTP over SSL,常见的HTTPS的全称就是HTTP over SSL。后来HTTPS在RFC2818被标准化。HTTPS工作在443端口,而HTTP默认工作在80端口。

SSL包含记录层(Record Layer)和传输层,记录层协议确定传输层数据的封装格式。传输层安全协议使用X.509认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通信两方交换的数据做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。

  • SSL记录协议:它建立在可靠的传输(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能。
  • SSL握手协议:它建立在SSL记录协议之上,用于在实际的数据传输开始之前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
  • SSL警告协议:这个协议用于指示在什么时候发生了错误或两个主机之间的会话在什么时候终止。

SSL握手过程步骤:

步骤1:SSL客户机连接到SSL服务器,并要求服务器验证它自身的身份。

步骤2:服务器通过发送它的数字证书证明其身份。这个交换还可以包括整个证书链,直到某个根证书权威机构(CA)。通过检查有效日期并确认证书包含有可信任CA的数字签名,来验证证书。

步骤3:服务器发出一个请求,对客户端的证书进行验证。但是,因为缺乏公钥体系结构,当今的大多数服务器不进行客户端认证。

步骤4:协商用于加密的消息加密算法和用于完整性检查的哈希函数。通常由客户机提供它支持的所有算法列表,然后由服务器选择最安全的加密算法。

步骤5:客户机和服务器通过下列步骤生成会话密钥:

a. 客户机生成一个随机数,并使用服务器的公钥(从服务器的证书中获得)对它加密,然后发送到服务器上

b. 服务器用更加随机的数据(从客户机的密钥可用时则使用客户机密钥;否则以明文方式发送数据)响应。

c. 使用哈希函数,从随机数据生成安全密钥。

SSL协议的优点是它提供了连接安全,具有3个基本属性

  • 连接是私有的。在初始握手定义了一个密钥之后,将使用加密算法。对于数据加密使用了对称加密(例如DES和RC4)。
  • 可以使用非对称加密或公钥加密(例如RSA和DES)来验证对等实体的身份。
  • 连接是可靠的。消息传输使用一个密钥的MAC,包括了消息完整性检查。其中使用了安全哈希函数(例如SHA和MD5)来进行MAC计算。

对于SSL的接受程度仅仅限于HTTP内。它在其他协议中曾被表明可以使用,但还没有被广泛应用。

TLS协议

TLS协议采用主从式架构模型,用于在两个应用程序间透过网络创建起安全的连接,防止在交换数据时受到窃听及篡改。

网络安全基础知识笔记_第5张图片

TLS主要分为两层,底层的是TLS记录协议,主要负责使用对称密码对消息进行加密。

上层的是TLS握手协议,主要分为握手协议,密码规格变更协议和应用数据协议4个部分。

  • 握手协议负责在客户端和服务器端商定密码算法和共享密钥,包括证书认证,是4个协议中最最复杂的部分。
  • 密码规格变更协议负责向通信对象传达变更密码方式的信号。
  • 警告协议负责在发生错误的时候将错误传达给对方。
  • 应用数据协议负责将TLS承载的应用数据传达给通信对象的协议。

TLS握手协议

网络安全基础知识笔记_第6张图片

TLS记录协议

TLS记录协议主要负责消息的压缩,加密及数据的认证。消息首先将会被分段,然后压缩,再计算其消息验证码,然后使用对称密码进行加密,加密使用的是CBC模式,CBC模式的初始向量是通过主密码来生成的。得到密文之后会附加类型,版本和长度等其他信息,最终组成最后的报文数据。

网络安全基础知识笔记_第7张图片

TLS协议的优势是与高层的应用层协议(如HTTP、FTP、Telnet等)无耦合。应用层协议能透明地运行在TLS协议之上,由TLS协议进行创建加密通道需要的协商和认证。应用层协议传送的数据在通过TLS协议时都会被加密,从而保证通信的私密性。

TLS协议是可选的,必须配置客户端和服务器才能使用。主要有两种方式实现这一目标:一个是使用统一的TLS协议通信端口(例如:用于HTTPS的端口443);另一个是客户端请求服务器连接到TLS时使用特定的协议机制(例如:邮件、新闻协议和STARTTLS)。一旦客户端和服务器都同意使用TLS协议,他们通过使用一个握手过程协商出一个有状态的连接以传输数据。通过握手,客户端和服务器协商各种参数用于创建安全连接:

  • 当客户端连接到支持TLS协议的服务器要求创建安全连接并列出了受支持的密码组合(加密密码算法和散列算法),握手开始;
  • 服务器从该列表中决定加密算法和散列算法,并通知客户端;
  • 服务器发回其数字证书,此证书通常包含服务器的名称、受信任的证书颁发机构(CA)和服务器的公钥;
  • 客户端验证其收到的服务器证书的有效性;
  • 为了生成会话密钥用于安全连接,客户端使用服务器的公钥加密随机生成的密钥,并将其发送到服务器,只有服务器才能使用自己的私钥解密;
  • 利用随机数,双方生成用于加密和解密的对称密钥。这就是TLS协议的握手,握手完毕后的连接是安全的,直到连接(被)关闭。如果上述任何一个步骤失败,TLS握手过程就会失败,并且断开所有的连接。

木马通信

木马攻击原理:木马程序是一种客户机服务器程序,典型结构为客户端/服务器(Client/Server,C/S)模式,服务器端(被攻击的主机)程序在运行时,黑客可以使用对应的客户端直接控制目标主机。当服务器端程序在目标主机上执行后,木马打开一个默认的端口进行监听,当客户端(控制端)向服务器端(被控主机)提出连接请求时,被控主机上的木马程序就会自动应答客户端的请求,服务器端程序与客户端建立连接后,客户端(控制端)就可以发送各类控制指令对服务器端(被控主机)进行完全控制,其操作几乎与在被控主机的本机操作的权限完全相同。

木马软件必须采取多种方式伪装,以确保;更容易地传播,更隐蔽地驻留在目标主机中。

种植 :①通过电子邮件附件夹带②捆绑在各类软件中 ③网页挂马

隐藏 :① 通过将木马程序设置为系统、隐藏或是只读属性来实现隐藏;② 通过将木马程序命名为和系统文件的名称极度相似的文件名,从而使用户误认为其是系统文件而忽略之;③ 将木马程序存放在不常用或难以发现的系统文件目录中;④ 将木马程序存放的区域设置为坏扇区的硬盘磁道。

正向通信和反向通信

  • 正向模式是木马被控端在宿主机器上开放一个端口,等待控制端来主动连接,对一些有公网地址的目标非常有效。
  • 反向通信是被控端在启动后,主动和控制端连接通信的过程,这种方式不要求被控制机器有公网地址,但控制端需要有公网地址。

木马通信常用的协议

  • 应用层:HTTP/HTTPS、FTP、SMTP、UDP、DNS
  • 传输层:TCP(稳定、易被发现,HTTP协议伪装)、UDP(和TCP一样也有正向、反向两种方式,负载比TCP少,但是可靠性低)
  • 网络层:ICMP
  • 数据链路层:自定义实现
  • ICMP+TCP/UDP
    该方式平时不开启端口,但会监听ICMP报文,以感知木马数据。当攻击者想对这台主机控制时,可以发送ICMP报文,发过来之后控制端监听到特定报文时,就知道到想要进行监听并开启相关端口。ICMP报文是由系统内核或进程直接处理而不是通过端口,其方式比较一笔,一般不会被防火墙过滤。

基于TCP的木马控制通信

TCP 协议是字节流式的传输协议 ,木马通信还需要自定义应用层的协议、对传输的数据和命令进行规范化、格式化。被控机器的唯一标识一般是对被控机器的硬盘序列号、MAC 地址等固定信息进行 Hash 计算得到。

粘包和分包

  • 粘包:接收方接收数据时,可能一次接收到多个数据包的数据组成数据段,也可能收到一个或者几个完整的包与一个后续包的部分数据组成的数据段。
  • 分包:接收方接收数据时,每次只能接收到某个数据包的一部分,经过多次接收,才能完整地接收到该协议数据包。

链接保活

TCP中有检测死链接的机制,Keeplive。

Keeplive机制是指,当链接双方没有数据交互的时间间隔超过预定限值时,TCP会发送一个数据为空的报文给对方。

如果主机可达,对方就会返回ACK应答,如果对方没有返回,就继续发送空报文直到超时,超时之后就会判定连接中断。

TCP连接的建立需要三次握手,而终止一个连接则需要四次握手。

基于 UDP 的木马控制通信

UDP协议具有传输效率高、网络穿透性好等优点,又有传输不可靠等缺点,UDT(UDP-based Data Transfer Protocol,即基于UDP的数据传输协议)是一个比较好的折衷方案。UDT完全基于UDP协议实现,很容易穿透防火墙,也非常适合作为木马通信的协议。UDT使用应用层级别的可靠控制和拥塞控制机制,以UDP协议高效传输数据,其传输数据的速率远高于TCP协议。UDP是一个不可靠协议,但UDP的头部只有8字节,相比较TCP的20字节,开销要小。UDP不建立连接,通过网络工具(如TcpView)查看的时候,只能看到UDP的本地端口,无法看到远程的接收地址和端口,能有效地隐藏目标地址。

基于 HTTP/HTTPS 的木马通信

从通信交互上来讲,一条 HTTP 请求对应一条响应,当前的请求只有在前一条请求的响应到达后才能发送;而且,HTTP协议是响应式协议,服务器只能给对应请求返回对应的响应,在没有请求到达时,不能给客户端发送响应。如此会导致木马控制端对被控端不能实现实时的控制,在被控端没有主动发送数据时,甚至无法向被控端下发控制命令。HTTP响应包含三部分:第一行响应行,中间部分是首部行,最后是内容行。

HTTPS(HTTPoverSSL):HTTPS由HTTP和它下层的安全套结层组成,由HTTP协议进行通信,但利用SSL/TLS对数据包进行加密。基于已有应用层协议,如HTTP/HTTPS等,将木马的控制命令和数据包包含在这些协议的内容部分,使得木马的通信与正常软件相比,不再具有明显的特征。

边界防火墙穿透

防火墙通常分为网络防火墙和主机防火墙两大类。网络防火墙又分为软件防火墙和硬件防火墙,一般处于网络边界处,也称为边界防火墙。软件防火墙是一组软件程序运行在一般的主机上;硬件防火墙是一个基于硬件平台的防护设备,通常运行在网络的边界,对网络数据传输进行控制。基于主机的防火墙,主要是运行在一台PC上,在主机网络协议栈上提供一层(如Windows下的基于 TDI 或者 NDIS 的过滤驱动)过滤机制,来控制当前主机的网络数据交换。

认证代理需要用户提供身份信息,采用规定的认证方式:Basic、NTLM、Kerberos 和 RADIUS 等。

攻防流量

攻防演练常见工具及分类

网络安全基础知识笔记_第8张图片

Cobalt Strike

CobaltStrike是一款渗透测试神器,是一款协同APT工具,被业界人称为CS神器。CobaltStrike分为客户端服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。

CobaltStrike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,windows exe 木马生成,windows dll 木马生成,java 木马生成,office 宏病毒生成,木马捆绑。钓鱼攻击包括:站点克隆,目标信息获取,java 执行,浏览器自动攻击等等强大的功能。

在这里插入图片描述

大致运作原理:

  1. teamserver为一个团队服务器,众多cs客户端连上它,以进行协同工作,里面有一个内置聊天室;
  2. cobaltstrike为客户端工具,启动时需指定要连接的teamserver;
  3. 在cobaltstrike工具上,生成一个木马(支持多种类型,如ps1、exe、java、dll、python等15种类型),扔到被控机上运行。(体现后渗透)
  4. 该木马定期给teamserver发送心跳,证明我还活着(默认一分钟一次,可修改)!同时根据teamserver回应的不同,判断teamserver是否有新任务。
  5. 如有,则再次请求任务明细,在被控机上执行后,返回回显给teamserver。

Webshell

Webshell是通过服务器开放的端口获取服务器的某些权限。Webshell又称脚本木马,一般分为大马、小马、一句话木马。大马:体积大、功能齐全、能够管理数据库、文件管理、对站点进行快速的信息收集,甚至能够提权。小马:一般而言,我们在上传文件的时候,会被限制上传的文件大小或是拦截的情况,那么我通过小马来上传大马,实现我们想要的功能。一句话木马:短小精悍、功能强大、隐蔽性好、使用客户端可以快速管理Webshell。

原理:利用文件上传漏洞、SQL注入漏洞、RCE漏洞等,将恶意文件放到web服务器中,也就是常说的”后门”,之后可以进行文件管理、数据库管理、远程命令执行、提权等恶意操作。

WebShell管理工具:

  • Cknife :中国菜刀
  • antSword :中国蚁剑
  • 冰蝎 :动态二进制加密网站管理客户端
  • weevely3 :Weaponized web shell
  • Altman :the cross platform webshell tool in .NET
  • Webshell Sniper :Manage your website via terminal
  • quasibot :complex webshell manager, quasi-http botnet

webshell隐藏

  • 隐藏到日志

例如,修改发送数据包的头部,添加webshell。 web服务器一般会保存访问记录到Web日志,若找到web日志,且放到可执行目录下,可能获得shell。

  • 隐藏到合法文件

例如,文件上传漏洞中,将php代码放到jpg文件中,可以使用@运算符,以防发生任何错误。

  • 混淆

删除空格、换行符等,导致代码文件比较乱,使用编码或加密来隐藏掉恶意函数名等。

检测与防御

  • 静态检测

web日志

在对日志文件进行预处理后,对日志记录进行文本特征匹配、统计特征计算与文件关联性分析,最后对检测结果汇总,列出疑似的Webshell文件。

例如,网站目录下某php文件访问量过少,且来源ip固定。

  • 动态检测

webshell传到服务器了,黑客总要去执行它吧,webshell执行时刻表现出来的特征,我们称为动态特征。

例如,webshell如果执行系统命令的话,会有进程。

隧道通信

这里的隧道,是一种绕过端口屏蔽的通信方式,防火墙两端的数据包通过防火墙所允许的数据包类型或端口进行封装,然后通过防火墙,与之进行通信。当被封装的数据包到达目的地时,将数据包还原,并将还原后的数据宝发送到相应的服务器上。简而言之,将不被防火墙允许的类型伪装成防火墙允许的类型/端口进行请求

常用的隧道列举如下:

网络层: IPv6隧道、ICMP隧道、CRE隧道

传输层: TCP隧道、UDP隧道、常见的端口转发

应用层: SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道

防御ICMP隧道攻击的方法:

  • 检测同一来源的ICMP数据包的数量,一个正常的Ping命令每秒最多发送两个数据包,而使用ICMP隧道的浏览器会在短时间产生上千个ICMP数据包
  • 注意那些Payload大于64字节的ICMP包
  • 寻找响应数据包中的Payload和请求数据包中的Payload不一致的ICMP数据包

网络安全设备

防火墙

定位:访问控制类产品,网络出现后的第一类安全产品。
功能:隔离内网、外网以及DMZ区(业务系统对外发布区,Web应用服务器,邮件服务器等)并控制用户访问。
部署方式:通常部署在网络边界或者重要系统边界。通常工作在网络层。

IPS

定位:访问控制类产品,入侵防御系统。
功能:能够对流经设备的网络流量进行分析、监控,最重要的是发现攻击后,能够及时拦截阻断。它是防火墙的重要补充。如果说防火墙是第一道防御线,那么IPS就是第二道。
部署方式:通常串接在网络主干链路上,或者重要业务系统边界,通常由防火墙的地方就有IPS。

特点:
比IDS不仅可以防护还具有了反制,组织攻击的能力,防攻兼备
缺点:
IPS的防护方式一般以阻断受保护源和外界的联系为主,这样带来的一个弊端就是,网络资源被保护了,但是同时该网络资源的对外提供的服务也被阻断了或者削弱了,这就导致了一种敌我两伤的局面,而有些服务一旦停止,对运营者来说将是一笔不小的损失。

IDS

定位:审计类产品,入侵检测系统。
功能:监视、记录网络中的各种攻击企图、攻击行为或者攻击结果。特点是只记录,不阻断任何攻击行为,只能事中监测和事后追查。
部署方式:旁路部署,类似电路并联,不影响正常网络通信。

特点:
1) 是一个积极主动的监听设备。
2) 无需有流量经过,可以实时镜像流量过去给它分析监控就好。
3) 不影响网络的性能。
4) 部署位置尽可能靠近攻击源或者受保护资源(服务器区域交换机,互联网接入路由后第一个交换机,重点保护源交换机)

缺点:
1) 误报率高
2) 没有主动防御能力,仅仅是监控或者少量的反制能力
3) 不能解析加密的数据流

WAF

定位:访问控制类产品,Web应用防火墙。
功能:专门针对基于HTTP/HTTPS协议的流量,对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护。
部署方式:通常部署在Web应用边界。通常工作在应用层。
与防火墙的区别:WAF与防火墙是两类不同的产品。传统防火墙工作在网络层,只能在服务器之间作用,提供IP地址、端口的访问控制和阻断,不对应用层做防护和过滤。而WAF专注于应用层,是对所有的WEB应用信息进行解析、过滤,解决注入攻击、网页篡改、网页挂马、敏感信息泄露等WEB安全问题。
与IPS的区别:虽然都能够抵御攻击,而且在检测拦截许多攻击行为的时候,功能有所重合。但是WAF区别于IPS最大的地方,就是针对WEB应用的防护。IPS的防护范围很广,只要发现攻击行为都会检测、拦截,其中也包括对HTTP/HTTPS流量的分析。而WAF只负责针对WEB系统的防护,对HTTP/HTTPS流量的双向解码和分析更加完整、全面,可以应对WEB应用中的各类安全威胁,如SQL注入、XSS、跨站请求伪造攻击、Cookie篡改以及应用层DDoS等,从WEB防护的专业性上来说,WAF比IPS强太多。

缺点:
1) 特定的防护手段可以被绕过或者无效化,必须同攻击手段一起升级进步,否则将失去效用。
2) 需要和入侵检测系统等安全设备联合使用,且防护程度和网络的性能成反相关。

漏扫设备

定位及功能:漏洞扫描设备,是指基于漏洞特征库,通过扫描探测的手段检测系统的安全脆弱性,发现有无可利用的漏洞,并提供解决方案的设备。它可以针对网络、主机、数据库、应用等进行分类扫描。漏洞扫描设备就像公司里的巡检员,定期检查发现漏洞,客观评估风险等级,提出整改建议。通常与防火墙、IDS、IPS等配合使用。
六、各种审计设备
定位及功能:一种防御类产品,能够进行日志等的审计及跟踪。例如:数据库审计、运维操作审计、日志审计、用户行为审计、网络审计、应用审计、视频应用审计等。

蜜罐

定位及功能:蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
部署方式:设置蜜罐并不难,只要在外部因特网上有一台计算机运行没有打上补丁的微软Windows或者Red Hat Linux即行。因为黑客可能会设陷阱,以获取计算机的日志和审查功能,你就要在计算机和因特网连接之间安置一套网络监控系统,以便悄悄记录下进出计算机的所有流量。然后只要坐下来,等待攻击者自投罗网。

沙箱(沙盒)

在计算机安全领域中是一种安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。

云安全技术/主机安全

云安全:
“云安全(Cloud Security)”技术是网络时代信息安全的最新体现,它融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,推送到服务器端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
主机安全:
主机安全(Cloud Workload Protection,CWP)基于海量威胁数据,利用机器学习为用户提供黑客入侵检测和漏洞风险预警等安全防护服务,主要包括密码破解拦截、异常登录提醒、木马文件查杀、高危漏洞检测等安全功能,解决当前服务器面临的主要网络安全风险,帮助企业构建服务器安全防护体系,防止数据泄露。

VPN 虚拟专用网络

是一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法。(使不安全的网络可以发送安全的消息,采用加密的虚拟通道协议工作,加密方式可控可协商)
采用加密手段实现消息的安全传输

安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。

云安全技术/主机安全

云安全:
“云安全(Cloud Security)”技术是网络时代信息安全的最新体现,它融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,推送到服务器端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
主机安全:
主机安全(Cloud Workload Protection,CWP)基于海量威胁数据,利用机器学习为用户提供黑客入侵检测和漏洞风险预警等安全防护服务,主要包括密码破解拦截、异常登录提醒、木马文件查杀、高危漏洞检测等安全功能,解决当前服务器面临的主要网络安全风险,帮助企业构建服务器安全防护体系,防止数据泄露。

VPN 虚拟专用网络

是一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法。(使不安全的网络可以发送安全的消息,采用加密的虚拟通道协议工作,加密方式可控可协商)
采用加密手段实现消息的安全传输

你可能感兴趣的:(web安全,网络,网络协议)