各位数字游侠请注意
这里是赛博江湖科普时间
1分钟“速通”网络安全领域“高频出境”的攻防概念
复盘那些听起来或平常抑或生涩的行话背后
蕴含的行业领域含义
“信息收集”——真是个横看竖看都很日常的概念,但,此“信息收集”非彼“信息收集”。
在攻防领域,信息收集是指,利用各种手段,针对性地收集目标单位相关的信息。其覆盖面比较广,包括常规的域名/IP/端口/服务、Web站点、APP、组件/中间件等资产信息,源代码、账号密码等敏感信息,组织架构、分子公司、供应商等关联信息,员工邮箱/电话/职位等个人信息,基本只要和企业内/外部信息相关的都算在里面。通过尽可能全面的信息收集,恶意行为者能在后续攻击中挑选合适的突破点和突破手法,开展进一步动作。
看到这四个字,你可能下意识观察起自己的手指。嗯,网络空间中的指纹概念,的确和你手指上的指纹有着异曲同工之处。
在网络空间,最小的单元就是组件,Web应用程序、数据库、中间件等都属于组件。而指纹,则是组件上能标识对象类型的一段特征信息,用来在渗透测试信息收集环节中快速识别目标服务。
指纹一般包含Web服务指纹和其他服务指纹。对于Web服务,指纹识别一般是指,通过对Web应用前端代码特征、路径、服务器响应信息的比对,识别出Web应用使用的应用名称、版本、框架信息的过程。其他服务的指纹识别,一般也是通过往对应端口上发送特定的数据包,通过响应信息来判断对应端口上开启的服务类型、名称、版本及其他具体信息。
指纹识别在信息收集中占据重要的位置,通过尽可能全面细致的指纹识别,恶意行为者能更快地挑选合适的漏洞来进行突破,以及利用合适的方式来进行深入利用。
在网络安全领域,边界突破是指突破目标的网络边界,从外网突破至内网的过程,也称为“打点”。一般来讲,恶意行为者针对目标进行了全面的信息收集后,将通过各种手法尝试对目标进行边界突破,以便后续深入。
目前常见的边界突破手法,一是利用常规Web类漏洞,直接针对企业相关的网络资产进行攻击; 二是利用钓鱼近源等社会工程学手段,针对人员进行攻击;三是,先针对目标的供应商、上下游单位进行攻击,然后再迁回到目标单位。
远程代码执行的英文缩写是RCE,它代表两种漏洞的统称:Remote Command/Code Execute(即远程命令执行和远程代码执行)。攻防演练中,攻方能够利用RCE获取应用服务器权限,进入企业内网。
>>>远程命令执行
远程系统命令执行(操作系统命令注入或简称命令注入)是一种注入漏洞。恶意行为者注入的Payload将作为操作系统命令执行。仅当Web应用程序代码包含操作系统调用并且调用中使用了用户输入时,才可能进行OS命令注入攻击。它们不是特定于语言的,命令注入漏洞可能会出现在所有让程序调用系统外壳命令的语言中,包括 C、Java、PHP、Perl、Ruby、Python等。操作系统使用Web服务器的特权执行注入的任意命令。
>>>远程代码执行
代码注入攻击与命令注入攻击不同。因为需求设计,后台有时候需要把用户的输入作为代码的一部分进行执行,也就造成了远程代码执行漏洞。包括使用了代码执行函数以及使用不安全的反序列化等(例如Struts2)。其实际危害性取决于服务器端解释器的限制(例如,PHP,Python等)。在某些情况下,恶意行为者可能能够从代码注入升级为命令注入。
在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(command interpreter,命令解析器)。它接收用户命令,然后调用相应的应用程序。
那么,WebShell又是什么呢?WebShell是以 asp、PHP、jsp 或者cgi 等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作。它的使用方法很简单,只需上传一个代码文件,通过网址访问就可以进行很多日常操作,极大地方便了使用者对网站和服务器的管理。正因如此,部分恶意行为者将其代码修改后当作后门程序使用,以达到控制网站服务器的目的。
顾名思义,反弹Shell是一个反向连接的Shell。在攻击过程中,由于网络限制,恶意行为者无法直接连接被攻击主机的SSH、TELNET、RDP等远程控制服务。这时候,他们就有可能通过反弹Shell工具或命令在被攻击主机上启动bash或cmd等Shell程序,并将程序的输入输出通过网络重定向到远程恶意行为者的主机,方便其直接控制目标主机。
交互式 Shell 是用户与操作系统内核进行实时双向通信的命令行界面(CLI)。它允许用户输入指令并立即获得系统反馈,形成一种“对话式”的操作环境。这种模式被称作交互式,体现了Shell与用户进行交互的过程,其中包括许多用户都很熟悉的操作,例如登录、执行一些命令、退出。在攻防场景中,恶意行为者可能会通过漏洞获取交互式Shell,从而实现服务器控制。
PowerShell是一种强大的交互式命令行Shell和脚本语言,默认安装在Windows操作系统上,2016年后已经支持开源和跨平台。由于PowerShell具有广泛的Windows内部访问权限,恶意行为者可能利用它,创建在内存中运行而不会在磁盘上留下任何痕迹的无文件恶意代码、通过对操作系统内部的广泛访问来执行复杂的操作、通过定期将恶意代码加载到内存中来实现持久化驻留、发现信息且收集和泄露数据、通过网络横向移动。
攻防演练是一种模拟真实网络攻、防场景的活动。它能够在不影响企业正常业务系统运行的前提下,通过多角度、多方面尽可能贴合真实场景的模拟入侵,检验目标单位的安全建设现状,发现目标薄弱点,锻炼人员应急响应能力等,帮助其强化防御建设。相似的概念还有攻防演习、红蓝对抗等。一般地,攻防演练在开展过程中会分为攻、守双方,部分情况下会设立中立方(裁判组/指挥部等)。
渗透测试通过系统化的漏洞探测,识别潜在安全风险并提供修复方案,为企业满足等保合规要求及系统安全上线提供技术保障。
这两种方式分别从人员响应能力和系统安全两个维度,构建企业纵深防御体系。专业的安全服务商通常会同时提供这两类服务。例如下面这位~
原文始发于微信公众号(长亭安全观察):赛博江湖“生存指南”|高频攻防概念盘点(其一)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论