Posts

Showing posts from October, 2017

[EXPIRED] Giveaway - WonderFox 2017 Halloween Carnival

Expiration date: Nov 5th, 2017

Info: Lots of free licenses with vary types of software

My Recommendation: Adguard, IObit Uninstaller Pro 7

URL: http://www.videoconverterfactory.com/halloween/

VC52 Malware Sample Test(2017.10.27)

Total Clean File Count: 9
Clean File List:
004.vir: Android Fastboot Tool
031.vir: Setup
057.vir: Batch File, no malicious action found
058.vir
066.vir: Bat2Exe, password protected
079.vir
080.vir: very simple .NET code
096.vir: PDF Document, embedded URL is not a phishing URL
097.vir: Software online installer
====================
Something needed to mention:
083.vir: Modified PuTTY(malicious)
====================
Malware Download URL: https://pan.baidu.com/s/1nv7jTB7
Access Password: gjxr
Archive Password: http://bbs.vc52.cn

周常水帖模式即将开启

在之前的博文里提到过,每周五大概在早上9点钟左右,咱们天朝的一个名字叫做“精睿”的计算机安全论坛将会放出一组样本包,样本包内样本数量为100个或者120个。 当然我也提到了,这个样本包的质量不是特别的好,里面有正常文件。 从明天开始,我会尽量在每周五的晚上发一篇博文简单说一下对这个样本包的分析情况(其实主要是列举出我本人筛选出来的白文件) 另外,对于这个样本包的样本测试,我这边还有一个非常滑稽的称呼:“本地库大作战” 博文的内容将以英文展示,同时也将贴出样本包的下载地址。

X-Sec Antivirus开发者日志 - WinServer环境下本地MySQL数据库的连接

由于租用的VPS服务器条件有限,所以最近一段时间我决定压榨一下性能,尽可能地进行优化。
服务器系统:WinServer 2012r2(基于Windows 8.1)+MySQL 5.1
X-Sec Antivirus的论坛用的是MyBB,在论坛最下方,管理员可以看到性能数据。最近一段时间我开始特地留意起这个问题,当我发现整个论坛主页面的生成时间一直维持在1秒左右(当然,现在已经做过优化了,只需要几十毫秒)的时候我很好奇这1秒到底怎么分配的。 组成大致是这样的: MySQL相关:1秒左右 PHP相关:零头 首先我发觉到我这边的PHP版本过旧,索性升级了下PHP,一开始是5.4,昨天升到了5.5,今天又升到了7.1 零头越来越接近于0,于是就剩下MySQL这个大头了 那么MySQL相关的时间消耗再细分下来又是如何呢?我发现,光连接,就消耗了差不多1秒钟。这TM什么鬼,要知道我这可是本地数据库。 问题很可能是出在连接方式上。 所有的网站我这边填的数据库地址都是localhost,填这玩意对于MySQL来说,Windows下和Linux下的连接行为可是不一致的。Linux下,使用localhost的话,MySQL会直接调用*NIX Socket去连接数据库,不走网络,效率不是一般的高,Linux下连接本地MySQL数据库,使用localhost当然是个非常不错的选择。而在Windows下就没有这种机制了,从Windows 7开始系统支持IPv6,在你的机器通过IPv6连接到网络的话,填写localhost,系统首先会走“IPv6版的localhost”,很遗憾的是MySQL 5.1默认不启用IPv6支持,连接IPv6协议栈上本地的3306端口自然会失败,失败之后才会尝试连接IPv4,时间就在这儿白白消耗了。 解决方法有以下几种: 1.启用MySQL的IPv6支持 2.在hosts表内只启用localhost到127.0.0.1的重定向 3.填写数据库地址的时候直接填写127.0.0.1(我的最终选择) 实际上X-Sec Antivirus的云查的数据库地址也是localhost,今天晚上我也会在服务器上做出对应的修改,云查的速度应该会快一些。
相关资料:https://stackoverflow.com/questions/11663860/mysql-connect-lo…

X-Sec Antivirus开发者日志 - 程序内各种图标的选择

讲真,一开始做这个东西的时候,只做了个命令行版本,根本不需要考虑程序内各种图标资源该如何进行搭配。直到后来做出了界面版本,有用户就开始吐槽我这界面设计不咋地,MFC上的东西改都没改就拿来用。
我毕竟只是个程序员+病毒分析员+网站站长啊,我又不是UI设计师...(我觉得我需要一个产品经理,最好再来个UI设计师)
除了界面设计上很头疼之外,程序内各种图标的选择也是个很麻烦的事。目前大家看到的界面版本里图标非常的少,但是我们正在做的这个版本里就需要大量的图标资源,而且还要相互搭配,那么这些资源从哪儿找呢?我这边收集了一些可以找到许多图标资源的站点,在这儿给大家分享下(使用前请务必留意网站/原始站点的版权信息):
1. http://www.easyicon.net/
这个站还是有不小的知名度的,在这儿就不多提
2. http://www.iconpng.com/
相比起第一个站,这个站的名气就要小一些,资源体量也是小一些,但是也有不少好的图标资源
3. http://www.iconsvg.com/
不记得从哪里发现了这个站,资源体量不大,但是质量很不错
4. http://www.iconfont.cn/plus
阿里巴巴的图标资源库
5. https://www.iconfinder.com/
资源体量不小,质量也不错,应该是个聚合平台之类的站点,不同的图标包的授权类型不同,付费购买会员可以解锁一些限制
6. https://icons8.com/
资源质量不错,关键是网站提到所有图标的个人使用/商用均是免费的,只不过需要给这个站在使用它们的图标的地方做下宣传(相当于友情链接之类的东西,桌面App的话也需要放个链接)。付费的话可以不用做宣传,也可以获得更大的图标。我们现在在做的新界面里就用了这儿的资源,到时候会在主界面里加入他们的链接,这也算是我们的义务

nRansom v3

Image
nRansom Analysis: http://xywcloud.blogspot.com/2017/09/nransom.html
nRansom v2 Analysis: http://blog.xsecantivirus.com/2017/09/nransom-v2/

Recently I got a sample, it claimed to be "nRansom3".
The sample I got is written in C#.NET, not packed or obfuscated.
So let's loaded into decompiler.
We can easily find the unlock code, and nothing about file encryption found, it also didn't contain music play module.
But, when I ran it in Sandboxie, I found something different.
The author asks user to buy $150 worth of bitcoin(cancer cells...) and send them to a specific bitcoin address first, seems like an additional requirement than nRansom v1 & v2.
In my laptop, the email address has been covered by an input-box, maybe author didn't think about how to fit the screen. But we can find the original text from file's resource.
It uses the same email address of nRansom v2.
Well, I think it's another "LockScreen", not a "Ransomware".

Related MD5:

A document uses exploit

Image
I write a blog for a malware only when I found some interesting things in it.
So, how about today's sample?
Just now I got a sample from Hybrid Analysis, it's a MSOffice Document(.docx)
As for this type of malware, I would like to focus on the XML files inside(use 7-zip to unpack the docx file).
"document.xml" will be the first target.
The highlighted line contains malicious code, it runs cmd.exe to let it run a powershell with some commands.
The powershell commands will let powershell download & execute a specific file from "http://www.filefactory.com/file/*****/*****.exe"
So, let's access the URL manually.
But, after opened the URL, I can only see the following thing...
Well, the author of this malware may forget the web service he used for storing files needs user to watch the ads for 30 seconds before starting download.

Related MD5:
AEE33500F28791F91C278ABB3FCDD942
3A4D0C6957D8727C0612C37F27480F1E

X-Sec Antivirus Detection:
Cloud Engine:
Cloud:E…

令人发迷的精睿样本包

光写那些东西有时候感觉没啥意思,不如来点吐槽。
至于为啥选择“精睿样本包”(卡饭论坛的同志们应该对这玩意很熟悉),因为它槽点多啊(手动滑稽
在早期的时候,精睿样本包通常一包50个样本,样本来源十分固定:VirusSign。而这个样本源的样本可以说是非常古老了(仅针对免费版本,收费版本情况不明),每次精睿样本包的构成无外乎以下几类威胁:感染型(Sality、Virut、Ramnit...)、古董级木马和后门、MyDoom蠕虫。各大杀软检出率爆表,一片歌舞升平。
上面那段日子持续了蛮长时间,后来精睿样本包的制作者不知是换人了还是发觉到这样的测试并没有啥意义,样本包内样本的来源应该是变了,而样本的威胁种类也增多了。
只不过,在这次改变出现后,精睿样本包的质量特别的差。我这儿说的质量差指的不是杀毒软件检出率仍旧奇高无比,而是里面混有太多的白文件,甚至是空文件(0字节,你觉得可能是毒么?),50个样本里甚至可以有30个白文件,简直不敢相信。以至于我在那段时间甚至放弃处理精睿样本包内X-Sec Antivirus未检出的样本(只不过那时这个玩意并没有公开)。
这种极度尴尬的情况持续了一段时间后,精睿样本包停更了,原因不明。
在大概1年前,精睿样本包恢复更新,一包120个样本,而样本源的话一开始仍然使用VirusSign,结果参见前面的内容。后来,样本源似乎出现了更改(据我分析应该是每天都在多个样本源里采集样本,卡饭论坛的病毒样本区也包括在内),包内样本也从一开始的120个(只不过120个的情况在样本源更改之后仍然持续了一段时间)变成了100个,而且部分杀毒软件的一扫检出率下降的非常厉害(原因我之后会提到),并且样本里加入了一些有点社会工程学性质的样本(带有钓鱼URL的PDF文档,有时候还有钓鱼Office文档。其实以前也有,而且以前我对于这类样本的处理方式是“放过”。现在觉得以前的处理方案不妥,于是在X-Sec Antivirus中采取了一些手段对其进行检测,我的原则只有一个:在低误报率的情况下尽可能地提高检出率。目前来看检出率还算看得过去)。
目前的精睿样本包几乎都是在每周五的上午9点左右发布,然后会被我迅速拉取下来开始处理(每周五我几乎都要熬夜)。样本的文件类型挺多,威胁种类也不少,只不过近期的样本包内的白文件数量略有增多,而且某厂还在最近一次的精睿样本包里上演了一场闹剧…

X-Sec Antivirus开发者日志 - 病毒分析的那点事儿

其实这种文章应该不属于“开发者日志”的范畴的,只不过今天突然想写,而且也突然想把它归到这一类,仅仅只是想提下个人遵守的几个病毒分析的原则

在线多引擎扫描的结果永远只能作为参考,单个杀毒软件的扫描结果也只能作为参考,毕竟有“跟风报毒”这个东西的存在(这件事以后再说,而且在之前的一篇日志里也略微暗示了这个东西)在线沙盒分析的结果要比多引擎可靠一些,但是也只能作为参考,毕竟这玩意只是个机器,整合了一些人工编写的规则而已。这类玩意对于本身有点社工性质的样本的检测能力几乎为0,而且由于部分文件的特性,导致这些文件无论黑白,到了它们那儿一概都是Threat Score高的要命拿到文件后无脑将文件拖进IDA、OD或者是其他反汇编工具的,你们会浪费很多时间的。先对文件做一个大致的了解,看看有什么特性,甚至去网上搜索一下相关的资料,会为你后续的分析省下很多时间 其实第三点说的挺宽泛的,在我碰到的文件里,其实有一些根本不需要反汇编工具就可以得出非常准确的结论(也就是说前置分析直接得出结论了),这个就纯粹是经验的问题了。

X-Sec Antivirus开发者日志 - C#程序调用C++写的DLL

X-Sec Antivirus的新版本界面决定使用C#来写,毕竟方便做界面,也有一些其他的便利,上手速度也快(虽然我自己已有C#的编程基础)
为了最大限度保障扫描效率,决定让C#写的主程序调用C++写的扫描引擎DLL来完成扫描,因此前段时间X-Sec Antivirus的有一次更新将单文件扫描流程从EXE主程序拆分出来放进了DLL(从软件开发的角度上来说其实也应该让具体扫描流程与界面分离)
那么这就涉及到一点了,我们需要在C#代码里正常调用C++写的DLL
经过一段时间的资料搜索,在进行这个操作的时候需要解决以下几个问题:

C#和C++几个不同的数据类型如何进行对应C++写的DLL有直接导出函数的,还有导出类的,这两种情况下C#里调用方式有没有差异C++在不使用extern "C"的情况下导出函数是有一堆恶心的修饰符的,这种情况下C#该如何调用 我这边不会详细讲述程序开发时调用代码编写的全过程,只会提醒大家一些需要注意的地方
首先是第一个问题,网上有非常多的资料,资料间差异不大。如果你能了解一些.NET和C++里常规数据类型的实际存放方式的话,这个问题对你来说应该很轻松地就解决了。但是有几点需要注意:

C++的泛型(vector、list之类的)是编译时就写入代码内,而.NET里虽然有泛型与其极其类似,但是.NET的泛型在运行时才会被处理,这两类泛型是不兼容的。因此你不能在C#代码里传递任何泛型参数(自定义类中的成员变量也不能使用泛型类型)。如果你硬是要尝试,就让.NET给你抛出来的异常来告诉你不能这样做C++里STL内的string和wstring实际上是用模板类搭建起来的,这种类型同样不能作为调用时的参数,也不能作为返回值,强行封送传递的话.NET会给你抛一个AccessViolationException的异常。如果你有传递这两个参数的需求,请将C++写的DLL接口内接收的参数类型设为char* 和wchar_t*,然后在内部进行转换后再使用。然后C#代码内,C++的string对应C#的StringBuilder,C++的wstring对应C#的string,除了修改接口接收的参数类型,你还需要为C#里的参数显式指定封送类型,C#的StringBuilder为[MarshalAs(UnmanagedType.LPStr)],string为[…