粗略介绍了
webshell
的作用和用途。译自https://www.acunetix.com/blog/articles/introduction-web-shells-part-1/
webshell
是攻击者用来在已经被入侵web应用上用来升级和保持持久访问的恶意脚本。一个webshell
本身并不会攻击或利用远程漏洞,所以它往往是攻击是第二步(这阶段也叫深度攻击阶段)。
一个攻击者可以利用常见页面漏洞,如sql
注入,远程文件包含,甚至在社工攻击中使用XSS
,通过这些手段获取文件上传权限来上传恶意文件。一般webshell
的功能包含但不限于shell
命令执行,代码执行,数据库枚举和文件管理。
webshell
可以用许多种web
语言编写,比如PHP
编写的webshell
就非常普遍。无论你的系统是基于自研软件还是大众内容管理系统(如带插件WordPress
),它都可以影响到你。由于不是使用典型执行文件类型,webshell
不容易被杀毒软件或反恶意软件检测。同时,公众很容易获得它们,比如通过一些GitHub
项目。
这一系列会详细解释webshell
如何工作(使用PHP shell
做例子)和如何检测和防护它们。
一个webshell
往往会包含一个后门,可以随时让攻击者远程访问和控制一台面向互联网的服务器。同时,它也省去让攻击者每次访问感染系统都要重新利用漏洞的不便。
攻击者可能会自己去修补漏洞,免得其他人也利用这个漏洞。通过这种方式,攻击者可以保持低调,避免任何和网站管理员的交道,但仍然可以得到同样的结果。
值得一提的是,几款流行的webshell
使用密码认证和其它技术,保证只有上传webshell
的攻击者才可以访问。这样的技术包含锁定恶意脚本到指定自定义HTTP
头部,指定的cookie
值,指定的IP
地址,或者这些技术的组合 。大多数webshell
还包含识别和阻止搜索引擎的代码,免得搜索引擎列举出它,从而把web
应用所在的整个域或服务拉入搜索引擎的黑名单。总之,混淆和隐藏是关键。
如果web
服务没有错误配置,webshell
是以受限的web
服务用户权限运行。使用一个webshell
,攻击者往往会尝试使用系统本身漏洞来提权从而获取超级用户权限。
通过使用root
权限,攻击者可以对系统做任何事情,如管理本地文件,安装软件,改变权限,增加或删减用户,盗取密码,读取邮件之类。
一个webshell
可以用于在一个网络内外移动。攻击者可能想监控(嗅探)系统上的网络流量,扫描内网来发现存活主机,枚举网络中的防火墙和路由器。
由于攻击者要保持低调,尽量避免引起注意,这样的操作需要消耗几天,甚至几个月。一旦攻击者有持久的访问权限,他们会耐心地行动。
感染的系统也可以用于攻击或扫描外网的目标。由于攻击者是通过第三方系统发动攻击,这样给他们增加一层匿名保护。进一步,通过多个系统建立隧道,使得根本无法对攻击进行溯源。
webshell
另一个用途是让服务器成为僵尸网络的一部分。僵尸网络是一个由攻击者控制的感染主机组成的网络,要么攻击者自己使用,要么出租给其他罪犯。webshell
或后门连接到命令和控制(C&C)服务器,接受要执行的命令。
这种方式通常用于需要大量带宽的分布式拒绝服务(DDoS
)攻击。在这种情况下,攻击者对损害或窃取部署webshell
的系统里任何内容没有任何兴趣。反而,他们只是简单地使用它的资源。
=========================================
文中和文末的小广广,渴望你手指的触碰!!!
请关注,转发,点“在看”,谢谢!!
如需要转载,请在公众号留言!!
关注公众号
在对话框输入“f6598”