吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 28842|回复: 77
收起左侧

[PC样本分析] 一个利用CSDN博客获取CC服务器的次新木马逆向

  [复制链接]
FoodieOnTheWay 发表于 2016-5-14 02:48
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 FoodieOnTheWay 于 2016-5-15 17:31 编辑

前言
最近,各种获取CC服务器的奇技淫巧是越来越多了,有利用博客内容的,利用博客标题的,利用QQ签名和QQ昵称的也出现了不少(360不厚道,我想看看那种木马,结果发现他只给MD5不给文件,而且这文件我找了很多人都没找到,就放弃了),不过遗憾的是最近一直没遇到利用QQ签名或者昵称来获取的。不过,利用CSDN博客来发布的倒是有一个,限于篇幅,那就在此略花点笔墨写一下它CC服务器的获取方式和解密算法。


基本信息
文件大小:379975 字节
MD5     :3CA317CC9FA45F1C61E73544DDE88648

SaberInfor

SaberInfor
这个文件是被一个母文件释放出来的,看起来似乎是没有加壳的,这是一个好消息,稍后可以直接用IDA看看。


样本行为
  • 网络行为
    • 访问 http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=ip138
    • 访问 http://blog.csdn.net//dasdmkdwovcs//article//details//50925619
    • 备用访问地址 http://blog.csdn.net//asdasdasdasddadasd//article//details//50443203
    • 备用访问地址 http://blog.csdn.net//u013761036/article/details/45542243
    • 备用访问地址 http://blog.csdn.net//saber00003//article//details//50444185
    • 备用访问地址 http://blog.csdn.net//saber00004//article//details//50444188
    • C&C  IP/Port118.123.19.9 / 25965
    • C&C  IP/Port(备用):123.249.81.202 / 25985
    • C&C  IP/Port(备用):123.249.7.226  / 25982






  • 创建服务
    • 在服务相关注册表下创建键值如下键值,作为服务启动。

               

svc

svc
  • 文件
    • 检查自身是否在 C:\Program Files\Windows Exlogon\winlogonw.exe, 如果不是,则将自身放置到此路径下。


IDA查看
分析的两大神器,之首就是IDA,俗话说,IDA看流程,OD看数据,先用IDA看看,然后配合着再分析,肯定是没错的。
感谢作者,思路比较清晰,所以大概看了一下API和字符串,连F5带猜,基本上分析了一个大概。
以下就是这些关键点(非关键的就不写出来了):
第一,把文件放入某位置,然后通过CreateService设置启动项;

ida_svc

ida_svc

第二,ThreadCode,也就是真正的Payload部分;
从代码来看,所有木马的功能都有了,可以下载,执行以及一些文件操作,也可能还包括一些其他附加功能,有兴趣的可以深入研究一下;
我尝试着连接服务器的这个端口,但是得不到任何信息(error-cdnzz-com.cdnzz.net:25982,Domain Unavailable),所以就没花时间在上面调戏,等有时间了可以再调戏调戏

core

core

第三,获取CC服务器这部分,是我最关注的部分;
有了这部分,我就能把作者所有以这种方式加密的CC服务器拿到,这部分貌似其实不算复杂,经过后来在OD里跟踪,发现确实如此。

getip

getip
  

OD调试
首先根据经验,先跑一遍,做下行为记录,看到它是把自身拷贝到了前文所写的路径下了。
那么就直接在新路径开始调试了。(之前遇到不少样本,如果不是在特定目录下,就没有任何行为,因此,在样本指定的目录下运行,不失为一个好习惯)

然后根据IDA得到的信息开始猛下断点。
我这里主要下的几个断点分别是是InternetCrackUrlW/InternetReadFile/WinExec/CreateThread/CreateProcessW/CreateServiceW/RegSetValueExW/recv/connect/send

接下来就是F9(注意,我在Win7上跑的,自动分配的基址是0xDE0000),给它自由,让它飞。

关键点1:
创建服务。

od——svc

od——svc
还有一些其他的注册表,相对来讲,这些就重要性要低一点。

type

type

uid

uid

version

version


关键点2:
连接百度 http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=ip138  这个的目的动动脚趾头也能猜得到,肯定是拿IP地址啊。
套路是,载入网页,然后根据里面的特征字符,定位IP地址,然后把地址保存起来。

baidu

baidu

关键点3:
连接CSDN博客,获取加密的IP和端口信息。
先连接如下地址。

csdn

csdn
然后解析出地址。

ip

ip

关键点4:
收集用户信息(语言/国家,系统版本,当前IP,硬盘信息等),并发送出去。接下来进入老套路,不断的循环,不断的试图拿到指令并做点什么。

userinfor

userinfor


解密分析
IP的解密加密是我今天要说的重点,其实常见的病毒加密算法并不多,今天遇到的这个不复杂,我今天就打算试着逆一下它的解密算法,然后写个针对这种的小脚本。
IDA  F5代码
[C++] 纯文本查看 复制代码
_BYTE *__stdcall sub_DE8DD0(int strRaw, signed int nLength)
{
  size_t v2; // esi@1
  signed int v3; // edi@1
  int v4; // ebx@1
  _BYTE *v5; // eax@11
  _BYTE *v6; // eax@12
  int v7; // ecx@12
  signed int v8; // edi@13
  int v9; // esi@13
  char v10; // al@15
  signed int v11; // esi@16
  int v12; // edx@16
  signed int v13; // ecx@16
  signed int v14; // eax@18
  _BYTE *v16; // [sp+Ch] [bp-Ch]@11
  _BYTE *v17; // [sp+14h] [bp-4h]@12
  int nLengtha; // [sp+24h] [bp+Ch]@12
    
  v2 = 3 * (nLength / 4);
  v3 = 0;
  v4 = 0;
  if ( *(_BYTE *)(strRaw + nLength - 1) == '=' )
    v3 = 1;
  if ( *(_BYTE *)(strRaw + nLength - 2) == '=' )
    ++v3;
  if ( *(_BYTE *)(strRaw + nLength - 3) == '=' )
    ++v3;
  switch ( v3 )
  {
    case 0:
    case 1:
      v2 += 4;
      break;
    case 2:
      v2 += 3;
      break;
    case 3:
      v2 += 2;
      break;
    default:
      break;
  }
  v5 = malloc(v2);
  v16 = v5;
  if ( !v5 )
  {
    sub_DFA36A("No enough memory.\n");
    exit(0);
  }
  memset(v5, 0, v2);
  v6 = v16;
  v7 = nLength - v3;
  v17 = v16;
  nLengtha = v7;
  if ( v7 > 0 )
  {
    do
    {
      v8 = 0;
      v9 = 0;
      do
      {
        if ( v4 >= v7 )
          break;
        v10 = (unsigned int)strrchr(&byte_E23A60, *(_BYTE *)(v4 + strRaw));
        v7 = nLengtha;
        ++v8;
        v9 = (char)(v10 - (unsigned int)&byte_E23A60) | (v9 << 6);
        ++v4;
      }
      while ( v8 < 4 );
      v6 = v17;
      v11 = v9 << 6 * (4 - v8);
      v12 = 0;
      v13 = 16;
      do
      {
        if ( v12 == v8 )
          break;
        v14 = v11 >> v13;
        v13 -= 8;
        ++v12;
        *v17 = v14;
        v6 = v17++ + 1;
      }
      while ( v13 > -8 );
      v7 = nLengtha;
    }
    while ( v4 < nLengtha );
  }
  *v6 = 0;
  return v16;
}


Python代码如下:
[Python] 纯文本查看 复制代码
strTable = 'ABCDEFGHIJK+abcdefghijk/0123456789lmnopqrstuvwxyzLMNOPQRSTUVWXYZ'
# The string need to decrypt.
strRaw = 'IQ5y5GXp2kTn4QXm2QjO4R1mjNEMaMSMbDnxcDExamAMjNIPch8PIz'
   
counter = 0
destQty = 1
if strRaw[-1] == '=':
counter = 1
if strRaw[-2] == '=':
counter = counter + 1
if strRaw[-3] == '=':
counter = counter + 1
   
destQty = 3*(len(strRaw)/4) + (5 - counter)
   
print 'The decrypt table:\r\n' + strTable
print 'The string need to decrypt:\r\n' + strRaw
print 'strRaw length is: ' + str(len(strRaw))
print 'strRaw without \'=\' length is: ' + str(len(strRaw)-counter)
print 'Destination string length is: ' + str(destQty)
   
newlen = 0
if len(strRaw)%4 == 0:
newlen = len(strRaw)
else:
newlen = (len(strRaw)/4+1)*4
for i in range(newlen - len(strRaw)):
strRaw = strRaw + chr(0)
#  strRaw[len(strRaw) +i] = 0
temp = 0
strTemp = ''
for i in range(newlen):
found = 0
for j in range(len(strTable)):
if strRaw[i] == strTable[j]:
found = 1
temp = temp *2*2*2*2*2*2 #shl esi,6
temp = temp | j
elif (j == len(strTable) - 1) and (found ==0):
#print 'I an runing'
temp = temp *2*2*2*2*2*2 #shl esi,6
temp = temp | 0
if (i+1)%4 == 0:
#print temp
#print 'temp/0x10000 = '+ str(temp/0x10000)
strTemp = strTemp + chr(temp/0x10000)
strTemp = strTemp + chr(temp%0x10000/0x100)
strTemp = strTemp + chr(temp%0x100)
temp = 0
   
print strTemp

写完后,我顿时醒悟过来,这不就是变形版的Base64么,不过网上基本上都默认以如下图中的编码表解码。但是这里用的就是变形版的,在线解密就不太好使,所以这个脚本以后说不定还是大有可为的。
记得最近52Pojie的比赛上就有跟这个相关的题目,我这个如果写的早点,可能会给不少人启发呢,哈哈!

base64表

base64表
源文档 <http://www1.tc711.com/tool/BASE64.htm>



综合分析
首先根据收集到的博客文章特点(包含saber/start等特殊字符),立即对CSDN全站文章进行搜索,但是尝试了很多组合也并没有找到更多包含的文章。
推测作者可能在其他发布方式上会有布局,因此我就只好告知朋友,协助收集这几个IP的数据信息了。
那么就仅仅根据程序中找到的博客文章地址,对相关数据简单分析一下了。
  
网址
  
  
加密内容
  
  
解密后的内容
  
  
访问量
  
  
标题
  
  
创建时间
  
  
http://blog.csdn.net/asdasdasdasddadasd/article/details/50443203
  
  
1QXO3Q1s3pfN3Qbu1/fN5pb/ahES+mEMaMSLcgSTjNIPch0PIz
  
  
118.123.19.9/25965
  
  
1721334
  
  
mark
  
  
2015-12-31  18:12
  
  
http://blog.csdn.net//dasdmkdwovcs//article//details//50925619
  
  
1QXO3Q1s3pfN3Qbu1/fN5pb/ahIN+mIOcgSR+mIMbo4MbhnSala
  
  
123.249.7.226/25982
  
  
3878947
  
  
asdasd
  
  
2016-03-18  18:02
  
  
http://blog.csdn.net//saber00003//article//details//50444185
  
  
IQ5y5GXp2kTn4QXm2QjO4R1mjNEMaMSMbDnxcDExamAMjNIPch8PIz
  
  
123.249.81.202/25985
  
  
317349
  
  
mark
  
  
2016-01-01  00:10
  
  
http://blog.csdn.net//saber00004//article//details//50444188
  
  
IQ5y5GXp2kTn4QXm2QjO4R1mjNEMaMSMbDnxcDExamAMjNIPch8PIz
  
  
123.249.81.202/25985
  
  
300577
  
  
mark
  
  
2016-01-01  00:13
  
  
http://blog.csdn.net//u013761036//article//details//45542243
  
  
1QXO3Q1s3pfN3Qbu1/fN5pb/ahES+mEMaMSLcgSTjNIPch0PIz
  
  
118.123.19.9/25965
  
  
515079
  
  
Jump
  
  
2015-05-06  22:20
  


根据创建时间来看,作者应该是去年就在做这个东西了,只是没有把这个东西推广的很广,所以访问量并不是特别大。
并且,根据下图可以了解到,最早作者对CC服务器的IP地址和端口还没加密,可能是被各大杀软厂商查杀了,才对这个地址进行加密的。

author

author


从第二个地址的访问量上来看,这个数字比较庞大了。
可以看出来,作者花了很长时间,一直在改进。并且,还能从软件内看到各种“qh36”,“ccleaner”等字符串,看来国际上的杀软在国内的真正占有率,问问这位作者可能能得到比咨询机构更准确的答案^_^。不得不说作者的这个版本,或者说最近的版本还是挺成功的,感染了这么多受害者,而且这个东西还有下载加密文件,解密,并执行的功能,也就意味着,几乎对用户干啥都行。

av1

av1

av2

av2


看了看作者大号里的文章,感觉作者还是挺上进的,做了不少ACM的题,不知道现在毕业了没,也不明白为啥要写这些乱七八糟的东西,也不知道为啥有点担心这么一个小伙子(其实我还有点希望他是个妹子)走上歧途。难道是因为文章的阅读量少,想弄个大新闻?我脑洞太大了,哈哈,我真是太八卦了
我猜测这个博主还没毕业,因此就不再深挖一些东西了,希望这位少年能奔向该属于他的光明前途。

articles

articles


再吐槽一下国内杀软吧,这个东西能在国内做大,真的不得不鄙视一下国内杀软。作者应该是3月就发布了这个木马了,到4月了也没发现几家国内的查杀。这些杀软平时各种Follow其他国际上的杀软,不少厂商也都是买国外的引擎,国外的病毒库,加上自己平时随便抓几个样本弄的特征和一个黑名单(又叫云查杀)就糊弄用户了,所以就导致这种中国特色的恶意软件查杀不及时。在我看来,不少国内杀软已经沦为广告软件了,不禁再次为国内用户感叹一声。

吐糟结束,还是要提醒下大家,虽然杀软并不能防御一切但最好还是要装一个,不装的话可能会有一些厉害的木马潜伏在你系统上,而你一辈子也发现不了。
另外是,需要赞一下国内的厂商HIPS基本上都做的还不错,也就是那啥,主动防御一类的东西吧。
如果你对杀软和病毒有所了解,或者厌恶了比广告软件还流氓的杀软,那推荐你试试火绒(http://www.huorong.cn/),少一点流氓,多一点真诚。


密码是52Pojie.zip

142.26 KB, 下载次数: 109, 下载积分: 吾爱币 -1 CB

木马样本,密码52Pojie

免费评分

参与人数 28吾爱币 +2 热心值 +28 收起 理由
三楼有鬼 + 1 + 1 已答复!
Binarian + 1 + 1 已答复!
正人君子 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
杨晓龙 + 1 谢谢@Thanks!
叨叨叨『叨哥』 + 1 用心讨论,共获提升!
白鸢 + 1 用心讨论,共获提升!
liefeng44 + 1 我很赞同!
丨丶钟情 + 1 谢谢@Thanks!
vsyour + 1 加油,做得很好。
染指寂寞 + 1 热心回复!
李莹莹 + 1 用心讨论,共获提升!
吾乃小明 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ZF0806 + 1 热心回复!
回归自然 + 1 用心讨论,共获提升!
infofans + 1 用心讨论,共获提升!
Thorny_Devil + 1 用心讨论,共获提升!
kip_door + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Lnairan + 1 谢谢@Thanks!
无痕软件 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wnagzihxain + 1 用心讨论,共获提升!
ASD1518833577 + 1 已答复!
formatdisk + 1 光是别人打这么多字也该支持下啊
北鱼何为 + 1 已答复!
gmh5225 + 1 已答复!
LOVE_TT + 1 表示楼主还挺良心的,不过这个火绒我用过,2010年的木马都查不到根上。火绒.
dingk + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Hyabcd + 1 用心讨论,共获提升!
lies2014 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hello.World 发表于 2016-5-14 03:03
楼主是火绒的吧,还有很多病毒厂商确实都没查 我这里也有样本~~
 楼主| FoodieOnTheWay 发表于 2016-5-14 12:43
san4san 发表于 2016-5-14 10:34
用了好多年的火绒了,前天换了卡巴,因为用火绒还是中毒了

傻孩子,用卡巴斯基就不中毒了?最关键的还是用户自身的良好安全习惯。卡巴斯基对于国内的一些特有病毒防范还是比较差的,并且其他方面的体验也跟国内相差甚远,我觉得你用一段时间可能就会换的,
 楼主| FoodieOnTheWay 发表于 2016-5-14 03:08
Hello.World 发表于 2016-5-14 03:03
楼主是火绒的吧,还有很多病毒厂商确实都没查 我这里也有样本~~

难得还遇到一个同样没睡的啊,我在值班儿,闲得无聊,就来一发。不过我不是在火绒,有好基友在火绒。
Hello.World 发表于 2016-5-14 03:16
FoodieOnTheWay 发表于 2016-5-14 03:08
难得还遇到一个同样没睡的啊,我在值班儿,闲得无聊,就来一发。不过我不是在火绒,有好基友在火绒。

该睡了,再见
良辰美景 发表于 2016-5-14 03:24
我从2013就开始用火绒了 一直到现在. 火绒产品毕竟真诚
lies2014 发表于 2016-5-14 03:45
一群夜猫子,好详细的分析啊,收下慢慢看!
469164323 发表于 2016-5-14 03:46
分析得很好,这个B格太高了,只能用6666来形容,
寒枫雨雪 发表于 2016-5-14 07:25
本帖最后由 寒枫雨雪 于 2016-5-14 12:36 编辑

虽然360品行不怎么样,但我认为云查杀绝不是摆设而已
amisiyuoy 发表于 2016-5-14 07:27
我是用火绒的,至于效果短时间还看不出来
psx1lin 发表于 2016-5-14 07:59
太強了
記一下
學習了
谢谢分享


您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-3-29 04:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表