menu 牢记自己是菜
网络攻防复习总结
2392 浏览 | 2021-05-31 | 阅读时间: 约 8 分钟 | 分类: 计算机 | 标签:
请注意,本文编写于 1059 天前,最后修改于 1059 天前,其中某些信息可能已经过时。

0x1 Web安全

a.web威胁top10

A1 注入

定义:将不受信任的数据作为命令或查询的一部分发送到解析器时,注入漏洞产生。

产生背景:SQl,LDAP(轻量级目录访问协议),Xpath(在XML文档中查找信息和语言),NoSQL查询语句,OS命令,XML解释器,STMP包头,表达式语句及ORM查询语句。

后果:导致数据丢失,破坏或泄露和无授权方,缺乏可审计性或拒绝服务。主机完全被接管。

防御方法:安全API,正确白名单过滤,转义特殊字符。

A2 失效身份验证

定义:通过程序开发时遗留的应用程序身份认证和会话管理功能漏洞,破译密码,密钥,会话令牌,暂时或永久的冒充其他用户身份。

产生背景

  1. 允许凭证填充(撞库攻击)
  2. 允许暴力破解
  3. 弱密码
  4. 弱的失效验证凭证恢复程序
  5. 使用明文,加密或弱散列密码
  6. 缺少或失效的多因素身份验证
  7. URL暴露会话ID
  8. 登陆后不更新会话ID
  9. 不正确使用ID注销

防御手段:多因素身份验证,不使用默认凭据,执行弱密码检查,限制失败登录尝试。

A3 敏感信息泄露

定义:用户个人敏感信息泄露

产生背景:Web应用程序在保存使用个人用户个人信息的时候未进行加密处理。

防御手段:对系统处理或传输的数据进行分类,无需保存的数据尽快进行清除,使用加密传输协议。

A4 XML外部实体XXE

定义:XXE漏洞,如果可以上传XML文档或在文档中添加恶意内容,通过易受攻击的代码,依赖项,攻击者能够攻击XML处理器。

攻击手段:对服务器进行任意读取,DOS攻击

防御手段:使用简单的数据格式,及时修复更新应用程序的XML库,XML解析器中禁用XML实体,使用白名单过滤特殊字符串,验证上传的XML文件,利用防火墙API网关预防XXE攻击。

A5 失效访问控制

定义:未对用户实施恰当的访问控制,攻击者可以访问未经授权的功能或数据。

A6 安全配置错误

定义:不安全的默认配置,不安全的临时配置,开源的云存储,错误的HTTP报头配置,包含敏感信息的详细错误信息。

防御手段:对操作系统框架等进行安全配置,即使的修补升级。

A7 跨站脚本XSS

定义:当网页中包含不受信任,未经验证的或转义的数据,或使用可以创建HTML或JAVAScript的浏览器API更新现有网页时,会出现XSS缺陷。

类型:反射型XSS,存储型XSS,基于DOM的XSS

后果:攻击者能够在受害者的浏览器中执行脚本,并劫持用户会话,破坏网站或将用户重定向至恶意站点。

A8 不安全序列化

定义:反序列化漏洞

A9 使用含有漏洞的组件

应用程序漏洞

A10 不足的日志记录与监控

b.代码审计和渗透测试的区别和优缺点

渗透测试(黑盒)----来自外部的入侵

  • 描述:模拟黑客攻击方法,来评估目标系统的安全性。
  • 测试目标:包括但不限于Web应用系统
  • 测试产出:渗透测试报告并提出修复建议
  • 优点:贴近实际场景,远程渗透
  • 缺点:不全面,修复成本高

代码审计(白盒)----系统自身软件存在的问题

  • 描述:发现程序中不存在的不安全编码
  • 测试目标:基于提供的代码,发现代码的安全漏洞
  • 测试产出:代码审计报告并提出修复建议
  • 优点:全面审查,贴近系统的架构,修复成本低
  • 缺点:现场审计

代码审计相较于渗透测试的优点

  1. 代码审计可以发现渗透测试很难发现甚至不能发现的漏洞。

c.代码审计的流程

d.审计的通用方法

e.PHP代码审计

与线下赛web防御一起复习

f.渗透测试的流程和每一步要做的工作

1.前期交互阶段

确定渗透测试目标,测试类型,时间段等问题。

目标:

2.情报搜集阶段

3.威胁建模阶段

4.漏洞分析阶段

5.渗透攻击阶段 6.后渗透攻击阶段

7.报告阶段

报告的主要组成部分包括:

确定目标最为重要的威胁

将渗透测试得到的数据生成表格和图表

对目标系统的改进建议

对问题的修复方案

g.信息收集的方法

目标IP地址确认,直接进行主动扫描进行信息收集。

  • 端口扫描技术:nmap进行扫描
  • Banner获取技术: banner是标志的意识,是在访问服务器的时候服务器返回的标题,里面可能包含:软件开发商,服务类型,软件名称,版本号等有用信息。
  • ping扫描技术
  • 服务扫描技术

h.后渗透攻击阶段的目的和任务

目的:以特定业务系统为目标,识别关键基础设施,并寻找客户最有价值的资产。

任务:提权,上传下载文件,跳板攻击等。

i.渗透报告

渗透测试报告一般分为:

1.概述

  • 目的
  • 范围
  • 流程

2.信息收集

  • 工具
  • 流程

3.渗透测试

  • 方法
  • 流程
  • 漏洞
  • 一些解释

4.安全建议

  • 真正有用能解决问题的建议(客户真正需要的东西,能够帮他解决问题)

5.总结

  • 对这次渗透测试进行全方面的总结(客户真正关注的东西)

j.提权的定义和意义

定义:利用操作系统或应用软件中的程序错误,设计缺陷或者配置不当来获取受保护资源的高级访问权限。

为什么要进行提权:后渗透测试阶段,获取了目标系统低权限shell,对目标的某些访问依旧受限,需要进行提权操作,来获取目标系统的最高权限。

k.提权的方法步骤

Windows系统

  • 获得一个低权限的shell
  • 利用MSFmeterpreter getsystem进行提权
  • MSF利用windows版本提权漏洞
  • systeminfo查看安装了那些补丁
  • 查找相关的exp
  • 应用程序提权

通常的利用方法:DLL注入,窃取Token,窃取管理员密码,可执行文件路径未被引号包裹,允许非特权用户运行MSI文件。

Linux系统提权

  • 查看内核版本
  • 是否存在配置不当
  • 应用程序提权

常用方法:SUID程序提权,修改用户属性组,修改/etc/passwd,t修改root用户ssh密钥,通配符提权,应用程序提权。

数据库UDF提权

前置条件:获得root用户密码,数据库开启plugin,数据库监听公网。

0x2 二进制工程

a.字节序

小端序:低地址存放低字节,高地址存放高字节。

大端序:低地址存放高字节,高地址存放低字节。

X86小端序 powerPC大端序

char字符数组内存连续,不存在大小端的问题

ANSI字符集:1字节

Unicode字符集:2字节

b.汇编语言

c.调用约定

攻击C++虚函数

主要原理是C++类中的虚表的调用约定。我们可以通过覆盖虚表,进行函数任意执行。实际上是利用了一个缓冲区溢出。

d.简单的软件保护

  • 序列号
  • 警告窗保护方式
  • 时间限制保护机制
  • 菜单限制保护机制
  • KeyFile保护方式
  • 网络验证保护方式
  • 只运行一个实例保护方式

e.windows内核原理

windows内核启动

新系统的引导方式主要有两种方式:UEFI与GPI

UEFI:统一的可扩展固件接口,替换BOIS,本身已经相当于一个微型的操作系统。可以直读取分区中的文件。在UEFI下,不需要MBR,不需要活动分区,只需要将文件复制到分区或U盘中,就可以完成安装。

GPT:全局唯一标识分区。

windows R0与R3

调用流程:用户可以调用系统库中的API接口,由系统中被调用的函数检查调用参数,在函数参数检查通过后,会继续调用ntdll.dll,由此dll调用StsEnter中断指令,此时从R3用户层进入R0内核层。

windows内核--R0与R3通信

f.windows/Linux堆基础

Windows堆

windows重要堆表结构:

  • 空闲双向链表Freelist(空表)
  • 快速单向链表Lookaside(快表)

空表原理图:

空表

  • 空闲堆块块首中包含一对重要指针,将空闲堆块组织成双向链表。按照堆块的大小不同,空表被分为128条
  • 堆表区有一个128项的指针数组,称作空表索引。每一项包括两个指针标识一条空表。

$$ 空闲堆块的大小=索引项(ID)* 8(字节) $$

free[0]链入所有>=1024但<512kb字节的堆块,按照各自的大小升序排列。

快表数据结构:

快表

  • 加速堆块分配而采用的一种堆表。这类单项链表中不会发生堆块合并。
  • 快表有128条,堆块按照单链表组织。
  • 快表初始化为空,且每条快表最多只有4个节点,故很快就会被填满。

堆块分配流程:

堆块释放合并流程:

Linux堆

0x3 移动网络安全

移动网络的分类和安全风险

移动网络分类

无线网络的安全性

在空中发送信息,信息存在可能被拦截的风险。

手机通话内容被监听,收取短信导致通讯录被盗取,WPA2密钥重装攻击。

WLAN安全机制

WEP

WEP(Wired Equivalent Privacy)是802.11b采用的安全标准,用于提供一种加密机制,保护数据链路层的安全,使WLAN的数据传输安全达到与有线LAN相同的级别。WEP采用RC4算法实现对称加密。通过预置在AP和无线网卡间共享密钥。在通信时,WEP 标准要求传输程序创建一个特定于数据包的初始化向量(IV),将其与预置密钥相组合,生成用于数据包加密的加密密钥。接收程序接收此初始化向量,并将其与本地预置密钥相结合,恢复出加密密钥。

WEP安全隐患

  1. WEP允许40bit长的密钥,这对于大部分应用而言都太短。
  2. WEP不支持自动更换密钥,所有密钥必须手动重设,这导致了相同密钥的长期重复使用。
  3. 尽管使用了初始化向量,但初始化向量被明文传递,并且允许在5个小时内重复使用,对加强密钥强度并无作用。
  4. WEP中采用的RC4算法被证明是存在漏洞的。

综上,密钥设置的局限性和算法本身的不足使得WEP存在较明显的安全缺陷,WEP提供的安全保护效果,只能被定义为“聊胜于无”。

IEEE 802.11i

WPA

在IEEE 802.11i获得批准之前,由WPA暂时替代RSN。

加密机制TKIP

使WEP设备能够通过软件升级来支持TKIP(既要保持兼容,又要解决WEP的安全缺陷);包裹在WEP外面的一套算法。

  • IV:24bit 升级为 48bit
  • WEP密钥SK:40bit 升级为 104bit
  • 引入四个新算法:单包密钥生成算法----防止弱密钥的产生;消息完整性校验码----防止数据被非法篡改;具有序列功能的IV----防止重放攻击;可生成新的加密和完整性密钥的Rekeying机制----防止IV重用

加密流程:

发表评论

email
web

全部评论 (共 1 条评论)

    2021-06-02 10:27
    考前过来抄复习资料~~~~