网络安全课程复习

快考试了,总结一下网络安全的知识点。

第一章 概论

0x00 网络安全主要威胁

特洛伊木马,黑客攻击,后门,计算机病毒,拒绝服务攻击,内外部泄密,蠕虫,逻辑炸弹,信息丢失篡改销毁。

0x01 网络安全的三个基本属性 C I A (扩展5个)

机密性(Confidentiality)

完整性(Integrity)

可用性(Availabiliy)

可靠性(Dependability)

不可抵赖性(Undeniability)

可控性(Controllability)

可审查性(Auditability)

真实性(Authenticity)

0x02 计算机信息系统安全保护

TCSEC(Trusted Computer Evaluation Criteria,可信 计算机系统评估准则,美国国防部标准(1983);4类 7级

• D级 :安全保护欠缺级

• C1级:自主安全保护级

• C2级:受控存取保护级

• B1级:标记安全保护级

• B2级:结构化保护级

• B3级:安全域保护级

• A级 :验证设计级

0x03 网络安全体系机构 OSI 提供了哪些安全服务(5类)

0.认证(鉴别)服务:在网络交互过程中,对收发双方的身份及数据来源进行验证。
1.访问控制服务:防止未授权用户非法访问资源,包括用户身份认证和用户权限确认。
2.数据保密性服务:防止数据在传输过程中被破解、泄露。
3.数据完整性服务:防止数据在传输过程中被篡改。
4.抗否认性服务:也称为抗抵赖服务或确认服务。防止发送方与接收方双方在执行各自操作后,否认各自所做的操作。

0x04 OSI提供了哪8种安全机制 (具体)

0.加密机制:加密机制对应数据保密性服务。加密是提高数据安全性的最简便方法。通过对数据进行加密,有效提高了数据的保密性,能防止数据在传输过程中被窃取。常用的加密算法有对称加密算法(如DES算法)和非对称加密算法(如RSA算法)。

1.数字签名机制:数字签名机制对应认证(鉴别)服务。数字签名是有效的鉴别方法,利用数字签名技术可以实施用户身份认证和消息认证,它具有解决收发双方纠纷的能力,是认证(鉴别)服务最核心的技术。在数字签名技术的基础上,为了鉴别软件的有效性,又产生了代码签名技术。常用的签名算法有RSA算法和DSA算法等。

2.访问控制机制:访问控制机制对应访问控制服务。通过预先设定的规则对用户所访问的数据进行限制。通常,首先是通过用户的用户名和口令进行验证,其次是通过用户角色、用户组等规则进行验证,最后用户才能访问相应的限制资源。一般的应用常使用基于用户角色的访问控制方式,如RBAC(Role Basic Access Control,基于用户角色的访问控制)。

3.数据完整性机制:数据完整性机制对应数据完整性服务。数据完整性的作用是为了避免数据在传输过程中受到干扰,同时防止数据在传输过程中被篡改,以提高数据传输完整性。通常可以使用单向加密算法对数据加密,生成唯一验证码,用以校验数据完整性。常用的加密算法有MD5算法和SHA算法等。

4.认证机制:认证机制对应认证(鉴别)服务。认证的目的在于验证接收方所接收到的数据是否来源于所期望的发送方,通常可使用数字签名来进行认证。常用算法有RSA算法和DSA算法等。

5.业务流填充机制:也称为传输流填充机制。业务流填充机制对应数据保密性服务。业务流填充机制通过在数据传输过程中传送随机数的方式,混淆真实的数据,加大数据破解的难度,提高数据的保密性。

6.路由控制机制:路由控制机制对应访问控制服务。路由控制机制为数据发送方选择安全网络通信路径,避免发送方使用不安全路径发送数据,提高数据的安全性。

7.公证机制:公正机制对应抗否认性服务。公证机制的作用在于解决收发双方的纠纷问题,确保两方利益不受损害。类似于现实生活中,合同双方签署合同的同时,需要将合同的第三份交由第三方公证机构进行公证。
安全机制对安全服务做了详尽的补充,针对各种服务选择相应的安全机制可以有效地提高应用安全性。随着技术的不断发展,各项安全机制相关的技术不断提高,尤其是结合加密理论之后,应用安全性得到了显著提高。本书的后续章节将以加密理论及其相应实现为基础,逐步阐述如何通过加密技术确保企业应用的安全。

0x05黑客攻击类型

从安全属性上分类:

阻断攻击,截取攻击,篡改攻击,重放攻击,伪造攻击。

从攻击方式分类:

主动攻击:伪装,回答,修改报文,拒绝服务。

被动攻击:报文内容泄露,通信分析。

第二章 网络攻击流程

0x00 黑客攻击流程

踩点 —> 扫描 —> 查点 —> 访问/拒绝服务 —> 提权 —> 窃取信息 —> 淹没踪迹 —> 创建后门

0x01 踩点

收集目标信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
域名;网络地址块 。

可以直接从因特网进行访问的各个系统的具体IP地址。

已被发现的各个系统上运行的TCP和UDP服务。

系统体系结构(例如SPARC或X86)。

访问控制机制和相关的访问控制表(access control list,ACL)。

入侵检测系统(intrusion detection system,IDS)。

各有关系统的细节信息(用户名和用户组名、系统旗标、路由 表、SNMP信息等等)。

DNS主机名。

获取信息方式:

1
2
3
4
公开渠道获取
WHOIS查询
DNS查询(nslookup,fierce)
网络侦查(尝试确定网络的拓扑结构和可能存在的网络访问路径,traceroute)

0x02 搜索引擎使用技巧

以google为例:

1
2
3
4
5
6
7
8
9
10
11
空格或大写的AND: “与”
-: “非”
大写的“OR” : “或”
site:搜寻结果局限在某个具体网站 //sile:www.cumt.edu.cn
link:返回所有链接到某个url的网页 //link:www.cumt.edu.cn
inurl:返回的网页链接中包含关键词一,链接中或文档中出现第二个关键词 //inurl:cumt 计算机
allinurl:返回的网页链接中包含所有查询关键词
allintitle & intitle:类似allinurl和inurl,对网页的标题栏进行查询
related:搜索结构内容方面相似的网页 //related:www.cumt.edu.com/index.html
cache:搜索缓存,快照
info:搜索相关信息

0x03 扫描基本步骤

确定目标系统是否真实存在,

确定目标系统上那些服务正在运行或监听,

探查操作系统。

0x04 nmap使用技巧

网络扫描和嗅探工具包

常用命令:

1
2
3
4
5
6
7
8
9
10
11
12
-sP :进行ping扫描
-sn: Ping Scan - disable port scan #ping探测扫描主机, 不进行端口扫描 (测试过对方主机把icmp包都丢弃掉,依然能检测到对方开机状态)
-sA (发送tcp的ack包进行探测,可以探测主机是否存活)
-sS :半开放扫描(非3次握手的tcp扫描)/*优点:Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机几乎不会把连接记入系统日志。(防止对方判断为扫描攻击),扫描速度快,效率高,在工作中使用频率最高
缺点:它需要root/administrator权限执行*/
-sT:3次握手方式tcp的扫描 #效率低,速度慢,不需要root
-sU:udp端口的扫描 #如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的.udp端口扫描速度比较慢
-sF:也是tcp的扫描一种,发送一个FIN标志的数据包
-sX:圣诞树扫描
-sN:空(NULL)扫描
-sW:窗口扫描
-sV:版本检测

0x05 查点

对识别出来的服务进行更为充分的探查

· 用户账号名(用于随后的口令猜测攻击)

· 错误配置的共享资源(如不安全的文件共享)

· 具有已知安全性漏洞的旧版本软件(如存在远程缓冲区溢出的web服务器)

0x06 攻击实施

分类

破坏性攻击:利用工具发动攻击

入侵性攻击:利用收集到的信息,找到其系统漏洞,然后利用漏洞获取尽可能高的权限

主要阶段

预攻击探测:为进一步入侵提供有用信息

口令破解与提升权限

实施攻击:缓冲区溢出、拒绝服务、后门、木马、病毒

攻击善后

留后门:长时间地保留和巩固对系统的控制权

隐藏踪迹:删除日志文件,更改日志文件,替换系统程序。

0x07 渗透测试

一种通过模拟的攻击者的技术与方法,挫败目标系统的安全控制措施 并取得访问控制权的安全测试方法

分类

白盒测试:拥有组织机构的内部知识的情况下进行的渗透测试

灰盒测试:拥有一部分内部知识的情况下进行的渗透测试

黑盒测试:模拟一个对组织机构一无所知的攻击者进行的渗透测试

步骤(七步)

1
2
3
4
5
6
7
前期交互阶段:确定渗透测试范围,目标,限制条件以及服务合同细节。
情报搜集阶段:获取目标网络拓扑,系统配置,安全防御措施等信息。
威胁建模阶段:针对获取的信息进行威胁建模和攻击规划。
漏洞分析阶段:总和汇总的情报信息,从漏扫结果,服务查点信息等找出可实施攻击的点。
渗透攻击阶段:利用找出的漏洞入侵系统,获取访问权限。
后渗透攻击阶段:根据目标组织经营模式,保护资产形式等自主设计攻击目标。实施能造成重要业务影响的攻击
报告阶段:凝聚所有阶段的关键情报信息,发现的系统漏洞,成功的渗透攻击过程,同时分析修补与升级方案

渗透工具:

Metasploit

第三章 网络嗅探技术

网络监听

网络嗅探Network Sniffing)】:在他方未察觉的情况下捕获其通信报文、通信内容的技术,只限于局域网

网卡工作模式:

1
2
3
4
1. 广播模式(Broadcast Mode):网卡能够接收网络中的广播信息
2. 组播模式(Multicast Mode):网卡能够接收组播数据
3. 单播模式(Unicast Mode):只接收目的地址匹配本机MAC地址的数据帧
4. 混杂模式(Promiscuous Mode,监听模式):网卡接收一切数据帧,无论其目的MAC地址是什么

共享式局域网的监听实现方法

交换式局域网的监听技术(重点)

1
2
3
4
5
溢出攻击:交换机要维护一张MAC地址与端口的映射表(CAM),维护该表的内存有限。如用大量的错误MAC地址的数据,
帧对交换机进行攻击,交换机就可能出现溢出。这时交换机就回到广播方式——向所有的端口发送数据
包,监听就很容易了(ARP过载, MAC泛洪)

ARP欺骗:计算机维护一个IP-MAC地址对应表,该表随着ARP请求/响应不断更新。 通过ARP欺骗,改变表里的对应关系,攻击者可以成为被攻击者与交换机之间的“中间人”,使交换式局域网中的所有数据包都流经攻击者的网卡。

常用的网络监听工具

Wireshark,Tcpdump/Windump

网络嗅探技术防御

监听(被动技术,难以发现)的防御:采用安全的网络拓扑结构和数据加密技术(数据内容加密,数据通道加密)。注意重点区域的安全防范。

交换网络下防监听

主要防止ARP欺骗及ARP过载

主要措施

1
2
3
4
1 不要把网络安全信任关系建立在单一的IP或MAC基础上,理想的关系应该建立在IP-MAC的对应关系上
2 使用静态ARP或者IP-MAC对照表代替动态的ARP或者IP-MAC对应表——禁止自动更新,使用手动更新
3 定期检查ARP请求:使用ARP监视工具如ARPWatch等监视并探测arp欺骗
4 制定良好的安全管理策略,加强用户安全意识

第四章 口令破解

0x00 口令破解方法

暴力破解:穷举,速度慢。

字典攻击:根据用户信息建立起一个用户可能使用的口令表文件,速度快。

组合攻击:在字典列表的基础上增加几个字母或数字进行攻击。

社会工程学:偷窥,网络嗅探,搜索垃圾箱,重放。

0x01 windows口令文件

1.安全账户管理器SAM机制。

1
C:\Windows\System32\Config\SAM

2.SAM文件:

含有本地系统或坐在控制域上所有用户名和口令的HASH值。

3.创建口令HASH方法:

LAN Manager (LM):最早使用的密码哈希算法之一

密码的LM哈希步骤

1
2
3
4
5
6
1.将口令全部转换为大写
2.添加NULL字符,直到口令长度等于14字符,并转化为二进制字符串
3.将新口令拆分为两组7位打的字符串
4.分别经过str_to_key()函数处理创建两个DES加密密钥,并未每一组添加奇偶校验位,创建出64位的密钥
5.使用每个DES密钥加密一个预定义的魔术字符串,获得两个9字节的密文值
6.密文值链接成16字节的值,即最终获得的LM哈希。

LM哈希的安全缺陷

1
2
3
4
1.des算法密钥太短
2.69^7种可能,可以暴力破解
3.如果密码长度<=7,则第二部分hash为固定值,因此很容易确定密码的长度范围。
4.Hash值在通过网络发送到服务器的时候,没有进行salting操作,容易遭受中间人攻击和重放攻击。

NT LAN Manager V2(NTLMV2): windows2000,XP,VISRA,win7。

NTMLV2安全性:MD4比DES更加健壮,因此可以接受更长的密码,可允许同时使用大小写,不需要将密码拆分为更小更易于破解的片段。

4.安全标示RID:在账号创建是被创建,账号删除时,RID也同时删除,及时用户名相同,每次创建时获得的RID也不同。

5.HASH密码格式:

1
用户名:RID:LM-HASH:NT-HASH。

0x02 windows系统的登录与身份认证

交互式登录:向本地计算机或域账户确认用户的身份

• 本地账户登录本地计算机:可以使用存储在本地SAM中 的口令散列进行登录——用户输入明文口令,系统对口 令使用相同的加密散列过程,并将散列结果与保存的散 列进行比较,如果匹配,则通过验证

• 域账户登录:默认使用Kerberos V5(身份认证章节)

网络登录:对用户尝试访问的网络服务或资源提供用 户验证。可以使用多种网络身份验证机制,如 Kerberos V5、安全套接字/传输层安全(Secure Socket Layer/Transport Layer Security,SSL/TLS) 以及与Windows NT 4.0兼容的NTLM机制

基于挑战/响应机制(C/R,Challenge/Response)

0x03 Unix/linux

Linux是一套免费使用和自由传播的Linux 类 操作系统 Unix ,是一个基于 POSIX的多用户、 多任务 、支持多线程和多CPU的操作系统。它能运行主要的CPU 工具软件、应用程序和UNIX 议 , 支持网络协位 32 和位 64 硬件。

Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

1.特点:自由开放,配备需求低廉,功能强大而稳定,真正的多用户多任务。

2.与WINDOWS不同

1
2
3
Linux严格区分大小写
Linux中所有内容都以文件的形式保存,包括硬件
Linux不以扩展名来区分文件类型

3.linux密码

修改密码指令 passwd

密码系统:

1
2
/etc/passwd: 包含了用户名、用户的真实姓名、标 识信息以及每个用户的基本信息,各个域之间用”:” 隔开
/etc/shadow: 影子密码文件,包含了加密过的密码以 及密码失效时间

加密方式:

1
2
过去:单向函数crypt(),基于DES算法
现在:Unix Salt,crypt16(),MCF(模块化加密格式)

4.UID/GID

用户标识符UID:

1
2
3
4
1~499:用于系统功能
500~: 用户
0:超级用户保留(当UID为0的用户运行一个进程时, 内核对该进程取消了大部分的安全检查)
//Unix的特权是根据UID来确定的,与Unix账 号无关

组标识符GID

1
2
3
4
5
每个Unix用户都属于一个或者几个组
每个用户都隶属于一个主用户组,存储在/etc/passwd文件中
可以利用组来限制一些用户对敏感信息或者特殊许可的应用程序的访问权
/etc/group:列出了计算机上所有的组
/etc/gshadow:计算机上所有组的群组影子密码文件

基本命令

1
2
3
4
5
groupadd 新建用户组
groupmod 更改用户组名称或组编号 -n 组名称 -g 组编号
groupdel 删除用户组
useradd 增加新用户 -g 指定用户所属的组 -G 指定用户所属的附加组
usermod 修改用户信息 -l 修改用户名称 -L 锁定用户密码

0X04 MYSQL口令破解

用户名密码保存在mysql数据库中user表中

找到user.MYD user.MYI user.frm拷贝到自己的数据库中

1
2
3
use mysql;

select user,password from user;

提取hash。

带号的HASH值是MYSQL5的HASH,不带号的是旧版MYSQL的HASH。

然后利用Cain & Abel || cmd5破解

0x05 暴力破解工具

Hydra 破解服务:FTP、TELNET、SMB、MSSQL、MYSQL、 POP3、SSH、REDIS等

Medusa “美杜莎”,一款强大的破解工具,可以迅速的、大规模 并行的、模块化的暴力破解程序

John the ripper:一个密码工具软件。主要支持对DES、MD5两种加密 方式的密文进行破解工作。可以工作于多中不同的机 型以及多 种不同的操作系统之下

第五章 欺骗攻击

0x00 欺骗

冒充身份通过认证以骗取信任的攻击方式

攻击者针对认证机制的缺陷,将自己伪装成可信任方, 从而与受害者交流,以获取信息或者展开进一步攻击

常见的欺骗攻击

1
2
3
4
5
ip欺骗
ARP欺骗
邮箱欺骗
DNS欺骗
WEB欺骗

0x01 IP欺骗

IP协议:非面向连接,两台计算机的信任连接主要依 靠双方的IP地址

IP欺骗的方式

1
2
3
简单的IP地址更改:攻击者将一台计算机的IP地址修改为其它主机的地址, 以伪装冒充其它机器
源路由攻击:保证数据包始终会经 过一条经定的途径,而攻击者机器在该途径中
TCP会话劫持:接管现存动过程,即攻击者可以替代原来的合法用户,同时监视并掌 握会话内容

TCP会话劫持步骤

1.发现攻击目标

​ ①目标是一个准予TCP 会话连接(例如Telnet和FTP等)的服务器

​ ②能否检测数据流

2.确认动态会话

3.猜测序列号

​ ①通过嗅探或者ARP欺骗,先发现目标机正在使用 的序列号,再根据序列号机制,可以猜测出下一 对SEQ/ACK序列号

​ ② 同时,攻击者若以某种方法扰乱客户主机的SEQ/ACK,服务器将不再相信客户主机正确的数据包,从而可以伪装为客户主机,使用正确的 SEQ/ACK序列号,现在攻击主机就可以与服务器进 行连接,这样就抢劫一个会话连接。

4.使客户主机下线

​ 对其进行拒绝服务攻击

5.接管会话

​ ①持续向服务器发送数据包并且接管整个会话

​ ②创立账户留下后门

TCP会话劫持的危害

​ 1.就其实现原理而言,任何使用Internet进行通信 的主机都有可能受到这种攻击

​ 2产生了简单适用的会话劫持攻击软件,技术门槛的 降低导致了很多“少年攻击者”的诞生.

原因:

一个最主要的原因就是它并不依赖于操作系统,另一个原因就是它可以被用来进行积极的攻击,通过攻击行为可以获得进入系统的可能。

工具 : Juggernaut ; Hunt

IP欺骗的防御——路由器过滤

1.防范基本的IP欺骗:入口过滤,出口过滤。

2.防范源路由欺骗:设置路由器禁止源路由。

3.防范会话劫持(没有有效的办法可以根本上防范会话 劫持攻击,只能尽量减少攻击带来的危害):

​ ① 加密

​ ②使用安全协议 SSH

​ ③限制保护,允许外网到内网的信息越少越安全。

0x02 ARP欺骗

1.arp基础知识

1
2
3
4
5
6
7
8
9
10
11
12
1.地址解析协议,用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位)。属于链路层的协议。
2.数据帧从一个主机到达局域网内的另一台主机是根据48位的以太网地址来确定的,而不是32IP
3.内核(如驱动)必须知道目的端的硬件地址才能发送数据。
4.ARP请求包:ARP工作时,送出一个含有目的IP地址的以太网广播数据包,这也就是ARP请求包。它表示:我想与目的IP通信,请告诉我此IP的MAC地址。ARP请求包格式如下:
arp who-has 192.168.1.1 tell 192.168.1.2
5.当目标主机收到ARP请求包,发现请求解析的IP地址与本机IP地址相同,就会返回一个ARP应答包。它表示:我的主机就是此IP,我的MAC地址是某某某。ARP应答包的格式如下:
arp reply 192.168.1.1 is-at 00:00:0c:07:ac:00
6.arp缓存表:
①ARP缓存表用于存储其它主机或网关的IP地址与MAC 地址的对应关系。
②每台主机、网关都有一个ARP缓存表。
③ARP缓存表里存储的每条记录实际上就是一个IP地址与MAC地址对,它可以是静态的,也可以是动态的。如果是静
态的 ,那么该条记录不能被ARP应答包修改; 如果是动态的,那么该条记录可以被ARP应答包修改。

2. arp的缺陷

1
2
3
4
主机收到应答包后 :
不验证自己是否发送过对应的arp请求。
不验证该回应包是否可信
直接用应答包里的信息替换ARP缓存表中的原有信息

3. arp欺骗的原理

主机A和主机B在同一个局域网内,B无脑的向A 发送 ARP Reply, 告诉 主机A 路由器的 MAC 是 xxxB, B 无脑的向路由器发送 ARP Reply, 告诉路由器 主机A 的 MAC 是 xxxB。这样主机A通过路由器发出的数据和路由器返回给主机A的数据都会经过主机B。主机B就完成了对A的arp欺骗。

4.arp欺骗的后果

1
2
3
导致同网段的其他用户无法正常上网.
嗅探交换式局域网内的所有数据包,从而获取敏感信息.
对信息进行篡改,修改重要信息,进而控制受害者会话.

5.arp欺骗的检测

1
2
3
4
网络频繁掉线.
网络突然莫名其妙的慢.
使用arp –a命令发现网关的MAC地址与真实的网关MAC地址不同.
使用网络嗅探软件发现局域网存在大量ARP响应包.

6.arp欺骗的防御

1
2
3
4
5
MAC地址绑定
使用静态ARP缓存
使用ARP服务器(确保该服务器不被控制)
使用ARP欺骗防护软件,如ARP防火墙
及时发现进行ARP欺骗的主机,并将其隔离

0x03 邮件欺骗

1.邮件系统的组成

1
2
3
用户代理
传输代理
投递代理

2.电子邮件欺骗的方法

​ 利用相似的电子邮件地址。

​ 直接使用伪造的E-mail地址。

3.电子邮件欺骗的防御

​ ①邮件接收者:合理配置邮件客户端,使总能显示完整的电子邮件地址,而不仅仅显示别名,完整的电子邮件地址能提供表明正在发生一些不平常事情的一些迹象。

​ ②邮件发送者:如使用foxmail或者outlook之类的邮件客客户端。

​ ③邮件服务器提供方采用SMTP身份验证机制:新SMTP协议规范新增2个命令(VRFY,EXPN) ,对发件人进行身份认证,一定程度上降低了匿名/垃圾邮件的风险。

​ ④邮件加密:OpenPGP,S/MIME。

0x04 DNS欺骗

1.DNS欺骗的原理及实现步骤

当向本地DNS服务器查询域名时,如果服务器缓存中已有相应记录,就直接将这条记录返回给用户。DNS欺骗的关键是在DNS服务器的本地Cache中缓存一条伪造的解析记录。

1
2
3
4
5
6
7
8
9
if 攻击者可以控制本地域名服务器 :
在其数据库中增加一个附加记录,将攻击目标的域名(例 如www.cumt.edu.cn)指向攻击者的欺骗IP
if 攻击者无法控制DNS服务器:
但可以控制DNS服务器所在网络的某台主机,并可以监听该网络中的通信情况。黑客要对远程的某DNS服务器进行欺骗,首先,黑客要冒充某个域名服务器的IP地址.其次,黑客要能预测目标域名服务器所发送DNS数据包的ID号.
(确定目标DNS服务器的ID号为DNS欺骗攻击的关键)
if 即使无法监听拥有DNS服务器的网络,也有办法得到目标DNS服务器的ID号:
1. 向目标DNS服务器请求某个不存在域名地址(但该域存在)
2. 冒充所请求域的DNS服务器,向目标DNS服务器连续发送应 答包,包中的ID号依次递增
3. 一段时间后,再次向目标DNS服务器发送针对该域名的解析 请求,如果得到返回结果,就说明目标DNS服务器接受了刚才的伪造应答,否则,再次尝试。

0x05 WEB欺骗

创造一个完整的令人信服的Web世界,但实际是一个虚假的复制。

Web欺骗成功的关键是在受害者和真实Web服务器之 间插入攻击者的Web服务器—中间人攻击(man-in-the-middle)。

第六章 web攻击

0x00 概述

1.Web服务器的安全:

利用Web服务器漏洞进行攻击,如IIS缓冲区溢出漏洞、目录遍历漏洞等。

利用网页自身的安全漏洞进行攻击,如SQL注 入,跨站脚本攻击等

2.Web客户端的安全

Java Applet、ActiveX、Cookie等大量被使用,当编辑内容时,应用程序会自动下载并运行,如果被恶意使用,则可以窃取、改变或删除客户机上的信息。

浏览器存在众多漏洞,可以写一个利用某漏洞的网页并挂上木马,当用户访问网页之后就中了木马。即网页木马,简称网马。

跨站脚本攻击对于客户端的安全威胁:利用XSS的 Web蠕虫已经在网络中肆虐过。

3.Web通信信道的安全

面临网络嗅探和以拥塞信道、耗费资源为目的的拒绝服务攻击的威胁。

4.工具

目标操作系统和网络服务扫描:NMAP,Nessus,Nexpose

Web应用扫描工具:Burp Suite,AWVS.

0x01 SQL注入

1.原理

利用Web应用对后台数据漏洞,攻击者提交一段精心构造的数据库查询代码, 根据返回的结果,获得他想得知的数据。

2.注入分类

普通注入:利用union查询等来进行注入。

报错注入:根据报错信息进行注入。

盲注:bool盲注,时间盲注。

3.注入位置

只要执行了了数据库查询语句的地方都可能存在注入。

4.sql注入防范

①使用预编译语句,绑定变量

②对用户提交的数据和输入参数进行严格的过滤

③摒弃动态 SQL 语句,改用存储过程来访问和操作数据

④使用安全函数

⑤最小权限原则

1
2
更多注入细节步骤利用sqli-labs进行sql注入练习 
参考:http://altman.vip/2018/02/05/sqli-labs%201/

0x02 XSS

攻击者往Web页面里插入恶意html代码,当用户浏览该网页时, 嵌入其中的恶意代码被执行,达到特殊目的。

一旦得手,黑客可以盗取用户帐户,修改用户设置,盗取 /污染cookie,做虚假广告,查看主机信息等。

1.跨站脚本攻击发起条件

Web服务器允许用户在表格或编辑框中输入不相关的字符。

Web服务器存储并允许把用户输入显示在返回给终端用户的页面上,而没有去除非法字符或者重新进行编码。

2.攻击实现条件

需要存在跨站脚本漏洞的web应用程序

需要用户点击连接或者访问某一页面

3.分类

反射型XSS(XSS Reflection,非持久性的XSS):简单的将用户输入数据“反射”给浏览器,黑客需要诱导用户点击一个恶意链接。

存储式XSS(Stored XSS):攻击脚本永久存储在目标服务器数据库或者文件中,比如黑客写下一篇含有恶意JavaScript代码的博客文章。

DOM型XSS:利用 DOM(文档解析功能)发动攻击。

4.防御

用户:教育为主

Web应用开发者:

​ 对所有用户提交内容进行可靠的输入验证。

​ 保护所有敏感的功能,以防被机器人自动执行或者被第三方网站所执行。

0x03 跨站请求伪造 (CSRF)

原理:

防御:

1
2
3
通过验证码进行防御
通过Referer Check检查请求来源
增加请求参数 token

0x04 web攻击防御

1.简单性:主机系统越简单,其安全性就越好。最好把不必要的服 务从服务器上卸载掉。

2.超级用户权限:尽量不用超级用户来维护系统。

3.本地和远程访问控制:访问控制是用来指定哪些用户可以访问系统的特定数据、 目录或功能。应该实现一套有效的身份验证机制,并包含用户的日志记录。

4.审计和可审计性:主要指平时对记录进行审计,在系统生成的大量审计记录 中查找可疑数据,查找攻击者或恶意程序的踪迹.

5.恢复:配置实时或增量备份策略是非常必要的,在紧急关头可以使得服务器的关键数据得以保存,从而可以迅速恢复服务以减少损失,同时便于事后取证的进行,以追查入侵者。

第七章 缓冲区溢出

0x00 概述

什么是缓冲区: 包含相同数据类型实例的一个连续的计算机内存块, 是程序运行期间在内存中分配的一个连续区域,用于保存包括字符数组在内的各种数据类型。

缓冲区溢出(Buffer Overflow):向固定长度的缓冲区中写入超出其预定长度的内容,造成缓冲区数据溢出,从而覆盖缓冲区周围的内存空间。

黑客借此精心构造填充数据,可以修改内存中变量的 值,导致原有流程改变,甚至可以劫持进程,执行恶意代码,最终获取系统控制权

其他攻击类型相比,缓冲区溢出攻击

1
2
3
技术性强
破坏力大
隐蔽性强

0x01 缓冲区溢出原理

栈溢出

堆溢出

BSS溢出

格式化串溢出

整数溢出

0x02 防御

缓冲区溢出的真正原因在于编程语言缺乏类型安全,程序缺少边界检查。

源码级保护方法

运行期保护方法

阻止攻击代码执行

加强系统防护

第八章 身份认证

1.AAA机制:认证,授权,审计。

2.认证分类

1
2
3
基于口令认证:简单口令认证,基于单向函数的口令认证,一次性口令认证。
基于生理特征的认证。
基于地址的认证:每个主机存储着可以访问本机的其他主机的账号信息,这样只要确认了对方的主机地址,就可以进行用户验证。

3.Kerberos认证协议

基于可信第三方(Trusted Third Party,TTP)的认证协议;MIT的雅典娜项目组(Athena Group)开发的认证服务系统,基于对称加密技术。

基本思想(假设):能正确对信息进行解密的用 户就是合法用户

三个子协议:

1
2
3
1. 认证服务器交换(AS交换):在客户C和AS间进行
2.票证授予服务器交换(TGS交换):在C和TGS间交换
3.客服服务器认证应用交换(AP交换):在C和应用服务器S间进行

构成 : 一个完整的 Kerberos 环境包括一个 Kerberos 服务器,一组工作站和一组应用服务器。

4.公钥基础设施PKI

PKI:以公钥算法为中心的密钥管理体系,能提供公钥教秘和数字证书服务,采用证书管理公钥,通过可信第三方CA把用户公钥和用户的其他标识信息捆绑在一起。

5.PKI的组成

1
2
3
4
5
认证中心(CA)
证书库
密钥备份及恢复系统
证书作废处理系统
客户端证书处理系统和

第九章 防火墙

0x00 基本原理

1.防火墙是位于两个网络间的实施网间访问控制的组件的集合,防火墙通常是单独的计算机、路由器或专有硬件设备, 充当访问网络的唯一入口点。

1
2
3
内网和外网的所有网络数据流必 须经过防火墙.
只有符合安全策略的数据流才能通过防火墙.
防火墙自身对渗透(penetration) 是免疫的.

2.处理方式

ACCEPT:允许数据包或信息通过

Reject:拒绝数据包或信息通过,并且通知信息源该信息被进制

Drop:直接将数据包或信息丢弃,不通知信息源

3.基本策略

默认允许原则:没有明确禁止的都是允许的

默认拒绝原则:没有明确允许的都是禁止的

4.主要功能

网络安全的屏障

强化网络安全策略

对网络存取和访问进行监控审计

防止内部信息的外泄

###0x01 防火墙的分类

1.包过滤防火墙

工作在网络层和传输层。设定访问控制列表ACL(Access Control List),检查所有通 过的数据包。

发展:静态包过滤防火墙,动态包过滤防火墙(状态检测)。

1
2
3
4
5
6
7
优点:
逻辑简单,价格便宜,对网络性能的影响较小,有较强的透明性。
与应用层无关。
缺点:
需要对IP、TCP、UDP等协议有深入了解,否则容易出现因配置不当而带来问题。
过滤有限,不能充分满足各种安全要求。
不能彻底防止地址欺骗。

2.代理服务器

应用层代理/代理服务器通过在主机上运行代理服务程 序,直接对特定的应用层进行服务,因此也称应用型防火墙。

1
2
3
4
5
6
7
8
优点:
1.易于配置,界面友好。
2.不允许内外网主机的直接链接。
3.提供详细日志。
4.可以隐藏用户内部的IP,可以给单个用户授权
缺点:
1.速度相对慢。
2.需要为不同的网络服务建立专门的代理服务。

3.电路级网关

监控受信任的客户或服务器与不受信任的主机间的TCP握手信息,以决定会话是否合法。

网络地址转换(NAT):属接入广域网技术,一种将私有IP地址转化为合法广域网IP地址的转换技术,被广泛应用。

NAT分类:静态NAT,动态NAT,端口转换NAPT。

4.混合型防火墙

0x02 防火墙的配置方案

1.屏蔽路由器:最简单的防火墙配置,直接在内网和 外网之间加装一个包过滤路由器或者应用网关

2.双宿主机模式:采用主机替代路由器执行安全控制功能, 类似于包过滤防火墙,是外部网络用户进入内部网络的唯一通道。

特点:主机的路由功能被禁止,两个网络间的通信通过双宿主机完成。

弱点:一但堡垒机被攻破,可任意访问内网。

3.屏蔽主机模式:包过滤路由器连接外网,堡垒主机安装在内网。

4.屏蔽子网模式:较流行的一种结构,采用两个包过滤路由器和一个堡垒主机,在内外网络之间建立一个被隔离的子网,称为DMZ

0x03 WAF

通过执行一系列针对HTTP/HTTPS的安全策略来专门为 Web应用提供保护。

分类:

硬件WAF

软件WAF

代码级WAF

第十章 虚拟专用网(VPN)

0x00 VPN基础

虚拟专用网(Virtual Private Network, VPN)是在公共网络上传输私有通信的方法。

优点:节省开支,安全,服务质量保证,可扩展性,容易访问,可管理性。

分类

1
2
3
企业外部VPN:外部的客户,合作伙伴等安全访问企业网络。
企业内部VPN:企业总部、远程办事处和分公司等安全访问企业网络。
远程访问VPN:使用PSTN,ISDN,DSL和移动IP等方法接入。

0x01 隧道

隧道化:

1
2
3
通过internet基础设施,在企业网络间传递数据。
传递的数据可以是不同协议的网络包。
隧道协议将不同类型协议的数据包重新封装在新的包中发送。

主要隧道协议

PPTP和L2TP比较

GRE:通过隧道将通信从一个专用网络传输到另一个专用网络。本身不提供安全性。

0x02 IPSEC

1.IPSEC的概述

IPSec(IP Security)是用于构建VPN的一系列协议,正在成为创建VPN的标准。

为提供加密安全服务而开发,支持认证、完整性、访问控制以及数据一致性。

IPSec只允许IP数据的封装和加密。

2.工作模式

传输模式(Transport Mode):点到点。

隧道模式(Tunnel Mode):站点到站点。

3.组成

Internet密钥交换协议(IKE):提供协商安全参数和创建认证密钥等。

负载安全封装(ESP):提供加密,认证和数据保护。

认证报头协议(AH):提供认证和数据保护。

4.功能

访问控制,无连接的完整性,数据源认证,防止重放攻击,机密性。

5.工作过程

6.分组分装

分组封装由ESP或AH或两者一起处理。

AH:为IP数据报提供无连接的 完整性和数据源认证的机制

ESP:提供了AH的大部分保护加上额外的机密性

7.IKE

因特网密钥交换协议:用于协商IPSec安全关联(security association, SA),要求IPSec系统首先进行身份认证,并且建立ISAKMP或者IKE共享密钥。

主要负责

1
2
3
4
协商协议的参数
交换公共密钥
对双方进行认证
在交换后对密钥进行管理

//wating