网站渗透测试 日志溯源技术与密码授权机制分析

在众多渗透测试中客户想要了解攻击溯源查找问题,我们Sine安全在日常网站安全检测过程中了解知道黑客是如何攻击和上传木马并进行篡改,以及如何查找日志分析攻击者是通过哪些脚本入口文件进行入侵的,那么本节由我们资深的渗透测试主管技术来为大家讲解。

6.9.1.1. 基于日志的溯源

使用路由器、主机等设备记录网络传输的数据流中的关键信息(时间、源地址、目的地址),追踪时基于日志查询做反向追踪。 这种方式的优点在于兼容性强、支持事后追溯、网络开销较小。但是同时该方法也受性能、空间和隐私保护等的限制,考虑到以上的因素,可以限制记录的数据特征和数据数量。另外可以使用流量镜像等技术来减小对网络性能的影响。

6.9.1.2. 路由输入调试技术

在攻击持续发送数据,且特性较为稳定的场景下,可以使用路由器的输入调试技术,在匹配到攻击流量时动态的向上追踪。这种方式在DDoS攻击追溯中比较有效,且网络开销较小。

6.9.1.3. 可控洪泛技术

追踪时向潜在的上游路由器进行洪泛攻击,如果发现收到的攻击流量变少则攻击流量会流经相应的路由。这种方式的优点在于不需要预先部署,对协同的需求比较少。但是这种方式本身是一种攻击,会对网络有所影响。

6.9.1.4. 基于包数据修改追溯技术

这种溯源方式直接对数据包进行修改,加入编码或者标记信息,在接收端对传输路径进行重构。这种方式人力投入较少,支持事后分析,但是对某些协议的支持性不太好。 基于这种方式衍生出了随机标记技术,各路由以一定概率对数据包进行标识,接收端收集到多个包后进行重构。

6.9.2. 分析模型

6.9.2.1. 杀伤链(Kill Kain)模型

杀伤链这个概念源自军事领域,它是一个描述攻击环节的模型。一般杀伤链有认为侦查跟踪(Reconnaissance)、武器构建(Weaponization)、载荷投递(Delivery)、漏洞利用(Exploitation)、安装植入(Installation)、通信控制(Command&Control)、达成目标(Actions on Objective)等几个阶段。

在越早的杀伤链环节阻止攻击,防护效果就越好,因此杀伤链的概念也可以用来反制攻击。

在跟踪阶段,攻击者通常会采用扫描和搜索等方式来寻找可能的目标信息并评估攻击成本。在这个阶段可以通过日志分析、邮件分析等方式来发现,这阶段也可以采用威胁情报等方式来获取攻击信息。

武器构建阶段攻击者通常已经准备好了攻击工具,并进行尝试性的攻击,在这个阶段IDS中可能有攻击记录,外网应用、邮箱等帐号可能有密码爆破的记录。有一些攻击者会使用公开攻击工具,会带有一定的已知特征。

载荷投递阶段攻击者通常会采用网络漏洞、鱼叉、水坑、网络劫持、U盘等方式投送恶意代码。此阶段已经有人员在对应的途径收到了攻击载荷,对人员进行充分的安全培训可以做到一定程度的防御。

突防利用阶段攻击者会执行恶意代码来获取系统控制权限,此时木马程序已经执行,此阶段可以依靠杀毒软件、异常行为告警等方式来找到相应的攻击。

安装植入阶段攻击者通常会在web服务器上安装Webshell或植入后门、rootkit等来实现对服务器的持久化控制。可以通过对样本进行逆向工程来找到这些植入。

通信控制阶段攻击者已经实现了远程通信控制,木马会通过Web三方网站、DNS隧道、邮件等方式和控制服务器进行通信。此时可以通过对日志进行分析来找到木马的痕迹。

达成目标阶段时,攻击者开始完成自己的目的,可能是破坏系统正常运行、窃取目标数据、敲诈勒索、横向移动等。此时受控机器中可能已经有攻击者的上传的攻击利用工具,此阶段可以使用蜜罐等方式来发现。

6.9.2.2. 钻石(Diamond)模型

钻石模型由网络情报分析与威胁研究中心(The Center for Cyber Intelligence Anaysis and Threat Research,CCIATR)机构的Sergio Catagirone等人在2013年提出。

该模型把所有的安全事件(Event)分为四个核心元素,即敌手(Adversary),能力(Capability),基础设施(Infrastructure)和受害者(Victim),以菱形连线代表它们之间的关系,因而命名为“钻石模型”。

杀伤链模型的特点是可说明攻击线路和攻击的进程,而钻石模型的特点是可说明攻击者在单个事件中的攻击目的和所使用攻击手法。

在使用钻石模型分析时,通常使用支点分析的方式。支点(Pivoting)指提取一个元素,并利用该元素与数据源相结合以发现相关元素的分析技术。分析中可以随时变换支点,四个核心特征以及两个扩展特征(社会政治、技术)都可能成为当时的分析支点。

6.9.3. 关联分析方法

关联分析用于把多个不同的攻击样本结合起来。

6.9.3.1. 文档类

hash

ssdeep

版本信息(公司/作者/最后修改作者/创建时间/最后修改时间)

6.9.3.2. 行为分析

基于网络行为

类似的交互方式

6.9.3.3. 可执行文件相似性分析

特殊端口

特殊字符串/密钥

PDB文件路径

相似的文件夹

代码复用

相似的代码片段

6.9.4. 清除日志方式

kill不会存储

set +o history 不写入历史记录

unset HISTFILE 清除历史记录的环境变量

OAuth

7.1.1. 简介

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。

OAuth在客户端与服务端之间,设置了一个授权层(authorization layer)。客户端不能直接登录服务端,只能登录授权层,以此将用户与客户端区分开来。客户端登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。

客户端登录授权层以后,服务端根据令牌的权限范围和有效期,向客户端开放用户储存的资料。

OAuth 2.0定义了四种授权方式:授权码模式(authorization code)、简化模式(implicit)、密码模式(resource owner password credentials)和客户端模式(client credentials)。

7.1.2. 流程

用户打开客户端以后,客户端要求用户给予授权

用户同意给予客户端授权

客户端使用上一步获得的授权,向认证服务器申请令牌

认证服务器对客户端进行认证以后,确认无误,同意发放令牌

客户端使用令牌,向资源服务器申请获取资源

资源服务器确认令牌无误,同意向客户端开放资源

7.1.3. 授权码模式

授权码模式(authorization code)是功能最完整、流程最严密的授权模式。它的特点就是通过客户端的后台服务器,与服务端的认证服务器进行互动。

其流程为:

用户访问客户端,后者将前者导向认证服务器

用户选择是否给予客户端授权

假设用户给予授权,认证服务器将用户导向客户端事先指定的”重定向URI”(redirection URI) ,同时附上一个授权码

客户端收到授权码,附上早先的”重定向URI”,向认证服务器申请令牌

认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(refresh token)

A步骤中,客户端申请认证的URI,包含以下参数:

response_type:表示授权类型,必选项,此处的值固定为 code

client_id:表示客户端的ID,必选项

redirect_uri:表示重定向URI,可选项

scope:表示申请的权限范围,可选项

state:表示客户端的当前状态,需动态指定,防止CSRF

C步骤中,服务器回应客户端的URI,包含以下参数:

code:表示授权码,必选项。该码的有效期应该很短且客户端只能使用该码一次,否则会被授权服务器拒绝。该码与客户端ID和重定向URI,是一一对应关系。

state:如果客户端的请求中包含这个参数,认证服务器回应与请求时相同的参数

D步骤中,客户端向认证服务器申请令牌的HTTP请求,包含以下参数:

grant_type:表示使用的授权模式,必选项,此处的值固定为 authorization_code

code:表示上一步获得的授权码,必选项

redirect_uri:表示重定向URI,必选项,且必须与A步骤中的该参数值保持一致

client_id:表示客户端ID

E步骤中,认证服务器发送的HTTP回复,包含以下参数:

access_token:表示访问令牌,必选项

token_type:表示令牌类型,该值大小写不敏感,必选项,可以是 bearer 类型或 mac 类型

expires_in:表示过期时间,单位为秒。如果省略该参数,必须其他方式设置过期时间

refresh_token:表示更新令牌,用来获取下一次的访问令牌,可选项

scope:表示权限范围,如果与客户端申请的范围一致,此项可省略

7.1.4. 简化模式

简化模式(implicit grant type)不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,跳过了授权码这个步骤,因此得名。所有步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。

其步骤为:

客户端将用户导向认证服务器

用户决定是否给于客户端授权

假设用户给予授权,认证服务器将用户导向客户端指定的重定向URI,并在URI的Hash部分包含了访问令牌

浏览器向资源服务器发出请求,其中不包括上一步收到的Hash值

资源服务器返回一个网页,其中包含的代码可以获取Hash值中的令牌

浏览器执行上一步获得的脚本,提取出令牌

浏览器将令牌发给客户端

A步骤中,客户端发出的HTTP请求,包含以下参数:

response_type:表示授权类型,此处的值固定为 token ,必选项

client_id:表示客户端的ID,必选项

redirect_uri:表示重定向的URI,可选项

scope:表示权限范围,可选项

state:表示客户端的当前状态,需动态指定,防止CSRF

C步骤中,认证服务器回应客户端的URI,包含以下参数:

access_token:表示访问令牌,必选项

token_type:表示令牌类型,该值大小写不敏感,必选项

expires_in:表示过期时间,单位为秒。如果省略该参数,必须其他方式设置过期时间

scope:表示权限范围,如果与客户端申请的范围一致,此项可省略

state:如果客户端的请求中包含这个参数,认证服务器回应与请求时相同的参数

在上面的例子中,认证服务器用HTTP头信息的Location栏,指定浏览器重定向的网址。注意,在这个网址的Hash部分包含了令牌。

根据上面的D步骤,下一步浏览器会访问Location指定的网址,但是Hash部分不会发送。接下来的E步骤,服务提供商的资源服务器发送过来的代码,会提取出Hash中的令牌。

7.1.5. 密码模式

密码模式(Resource Owner Password Credentials Grant)中,用户向客户端提供自己的用户名和密码。客户端使用这些信息,向”服务商提供商”索要授权。

在这种模式中,用户必须把自己的密码给客户端,但是客户端不得储存密码。

其步骤如下:

用户向客户端提供用户名和密码

客户端将用户名和密码发给认证服务器,向后者请求令牌

认证服务器确认无误后,向客户端提供访问令牌

B步骤中,客户端发出的HTTP请求,包含以下参数:

grant_type:表示授权类型,此处的值固定为 password ,必选项

username:表示用户名,必选项

password:表示用户的密码,必选项

scope:表示权限范围

7.1.6. 客户端模式

客户端模式(Client Credentials Grant)指客户端以自己的名义,而不是以用户的名义,向服务端进行认证。

其步骤如下:

客户端向认证服务器进行身份认证,并要求一个访问令牌

认证服务器确认无误后,向客户端提供访问令牌

A步骤中,客户端发出的HTTP请求,包含以下参数:

granttype:表示授权类型,此处的值固定为 clientcredentials ,必选项

scope:表示权限范围,可选项

B步骤中,认证服务器向客户端发送访问令牌,渗透测试中包含的授权模式都要详细的审计和检测,如果对此有更多的想要了解,可以联系专业的网站安全公司来处理,国内做的比较大的推荐Sinesafe,绿盟,启明星辰,深信服等等都是比较不错的渗透测试公司。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:SEO优化专员,转转请注明出处:https://www.chuangxiangniao.com/p/903265.html

(0)
上一篇 2025年1月4日 03:18:17
下一篇 2025年1月4日 03:18:39

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 对javascript网站渗透测试安全检测漏洞方法

    最近渗透测试工作比较多没有空闲的时间来写文章,今天由我们Sine安全的渗透主管来普及一下javascript的安全测试基础,很多客户想要了解具体js的调用漏洞或提交playload的过程以及是如何拿到最高权限和绕过登录等等执行命令漏洞之类的…

    2025年1月4日
    100
  • 网站安全防护渗透测试常见的攻击方法

    国内对渗透测试以及安全评估的研究起步较晚,并且大多集中在在渗透测试技术上的研究,安全评估方面也有部分企业和研宄团体具有系统的评估方式。然而国内对基于渗透测试的自动化集成系统研宄还非常少,从目前的网络安全态势来看,传统的渗透测试方式己经无法满…

    安全 2025年1月4日
    100
  • 网站安全评估渗透测试手法分析

    互联网的广泛应用不仅给用户带来了便利,也带来了许多问题。近年来,出现了各种网站攻击方法,也出现了许多相应的网络渗透测试和评估方法。为了提高网站的整体安全性,整合网络渗透测试和评估具有重要的实际应用价值。本文首先研究了渗透测试的主要技术,总结…

    安全 2025年1月4日
    100
  • 渗透测试 域名状态码协议讲解

    网站上线前需要对网站进行渗透测试,上一节我们Sine安全讲师讲了web的基础知识了解,明白了具体web运行的基础和环境和协议,这一节我们来讨论下域名和DNS工作原理以及http状态码和请求的协议来分析检测中的重点域名收集。 1.3. 域名系…

    2025年1月4日
    100
  • 渗透测试 网站代码审计等基础方法篇

    这几天整理了下网站渗透测试中基础部分的第三节,我们SINE安全渗透工程师对代码安全审计,手工渗透测试检查代码的危险漏洞方法,找出安全问题重点,配合工具扫描来达到测试漏洞的目的,本测试重点仅限于客户授权才能操作,切记忽非法尝试入侵!以下方法只…

    建站经验 2025年1月4日
    100
  • 网站渗透测试详细检测方法

    越来越多的网站以及app手机端客户注重安全渗透测试服务,上线前必须要对平台进行全面的预渗透测试找出安全漏洞以及BUG,很多客户找我们SINE安全,做渗透测试服务的时候对具体的流程可能不太了解,下面我们把具体的渗透测试方法流程大体写的全面一点…

    建站经验 2025年1月4日
    100
  • 复检渗透测试网站安全攻守项目分析

    最近我们Sinesafe参加的几家机构的渗透测试防守方防护方案评估复查,部分防守方缺乏对攻击者的正确认知,攻击者的手法已经比较高超了,不扫描,不落地,污染日志等都很普及了。同时也要正确认知对手:攻防演练中,攻击者并非无所不能,他们面临着和防…

    2025年1月4日
    100
  • 实战渗透测试判断网站信息内容讲解

    上一节讲到渗透测试中的代码审计讲解,对整个代码的函数分析以及危险语句的避让操作,近期很多客户找我们Sine安全想要了解如何获取到网站的具体信息,以及我们整个渗透工作的流程,因为这些操作都是通过实战累计下来的竟然,渗透测试是对网站检查安全性以…

    建站经验 2025年1月4日
    100
  • 渗透测试对网站注入攻击方法剖析

    国庆即将到来,前一期讲到获取网站信息判断所属环境以及各个端口的用处和弱口令密码利用方法,这期仍有很多客户找到我们Sine安全想要了解针对于SQL注入攻击的测试方法,这一期我们来讲解下注入的攻击分类和使用手法,让客户明白漏洞是如何产生的,会给…

    建站经验 2025年1月4日
    100
  • 渗透测试XSS跨站攻击检测手法

    国庆假期结束,这一节准备XSS跨站攻击渗透测试中的利用点,上一节讲了SQL注入攻击的详细流程,很多朋友想要咨询具体在跨站攻击上是如何实现和利用的,那么我们Sinesafe渗透测试工程师为大家详细的讲讲这个XSS是如何实现以及原理。 XSS全…

    2025年1月4日
    100

发表回复

登录后才能评论

联系我们

156-6553-5169

在线咨询: QQ交谈

邮件:253000106@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

联系微信