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

【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

$
0
0
【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

2017-11-28 18:07:40

阅读:434次
点赞(0)
收藏
来源: benkowlab.blogspot.ca





【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

作者:eridanus96





【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

译者:eridanus96

预估稿费:120RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


前言

在对一些公共沙箱的样本研究过程中,我发现了一些不同寻常的请求:

[+]e2dbbc71f807717a49b74d19c155a0ae9cce7d6e74f24c63ea5d0ed81ddb24d6GET->rpc2.gdn/start/includes/tasks.php?hwid=71D7D653-460A-8BE7-264F6AF5 [+]e2dbbc71f807717a49b74d19c155a0ae9cce7d6e74f24c63ea5d0ed81ddb24d6POST->rpc2.gdn/start/inc.php/start/inc.php [+]0c4d34cd4a11960ff3f7d205a0196084700f8d6f171ea052f8c9563f9ddc2e2eGET->rpc2.gdn/start/includes/tasks.php?hwid=49C78CBD-165E-D0CF-474D92B [+]0c4d34cd4a11960ff3f7d205a0196084700f8d6f171ea052f8c9563f9ddc2e2ePOST->rpc2.gdn/start/inc.php/start/inc.php

我们发现,这些应该是利用TeamViewer进行监视的活动。由此,我们就对这个基于TeamViewer的远控木马进行分析。


控制端概述

首先,让我们从通常的控制端面板开始分析。它的界面十分简单,主页如下所示:


【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

通过这个界面,控制者可以看到是否有人连接到被感染的机器,并且可以得知连接者是否有摄像头、麦克风,还能获得其系统的基本信息。在这个CNC中,共有125台被控制的主机。

另一个页面是一些简单的设置:


【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

这些都是一些最简单的基础设置,但对于监控来说,已经足够了。接下来,我们进入到最有意思的部分,来深入分析一下它的代码。


TeamViewer_Test_Pub

我们此次分析的样本,源自一封钓鱼邮件中名为invoice.js的附件,其SHA-256值为e2dbbc71f807717a49b74d19c155a0ae9cce7d6e74f24c63ea5d0ed81ddb24d6。该JS脚本会通过store4caroption-support.info/KKK.exe(SHA值为0c4d34cd4a11960ff3f7d205a0196084700f8d6f171ea052f8c9563f9ddc2e2e)来在用户的电脑上安装木马。

该样本较为庞大,主要功能是在%APPDATA%对应的路径下的WebNet文件夹中,部署TeamViewer和恶意木马程序,上述文件夹和文件均为隐藏属性。


【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

SensApi.dll(833ff902452e5fb10b39ef90c2f1ec96beb0d8d0486dc378eb07c10b3672276c)是一个目标主机控制器。我们使用PEBear进行了一些简单的静态分析,发现这个dll有4个导出函数:


【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

Entrypoint

IsDestinationReachableA

IsDestinationReachableW

isNetworkAlive

我们又进一步发现,其中的IsDestinationReachableA、IsDestinationReachableW和isNetworkAlive只是作为sensApi.dll的封装。


【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

在跳到入口点(EntryPoint)之前,我们先简单看一下字符串:

rpc2.gdn num1.gdn processcallcreate"%s" runas wmic TVstartedfromAdmin!!! uac ThisOSisnotsupported!!! \Policies\System \CurrentVersion \windows \Microsoft Software %s%s%s%s%s EnableLUA Off High(AlwaysNotify) Medium(DefaultNotification) Low(DefaultNotification) N/A errorargs Requestsuccessfully!!! cmdshow cmd COMSPEC /C runerror wait... error closed.exitcode:%d(%s) tasklist (x64) (Win32) %sPID:%d%s plugin_start tiff plugin_del %s\%s.%s admin Yes UACLVL:%s Elevated:%s RunAsAdmin:%s AdminGroup:%s webcam mic deviceismissing deviceisavailable off *.tiff Commandnotfound!!! Error %s%s%s %06lX-%04lX-%04lX-%06lX %s%s HTTP/1.0 WindowsServer2016 Windows10 WindowsServer2012R2 Windows8.1 WindowsServer2012 Windows8 WindowsServer2008R2 Windows7 WindowsServer2008 WindowsVista WindowsXPx64 WindowsServer2003 WindowsXP Windows2000 unknown TeamViewer /start/includes/tasks.php?hwid= hwid=%s Content-Type:application/x-www-form-urlencoded start/includes/act_user.php hwid=%s&tv_id=%s&tv_pass=%s start/includes/pass_tv.php uuid=%s&tv_id=%s&tv_pass=%s&winver=%s&username=%s&webcam=%s=%s start/inc.php \start .exe open IsDestinationReachableA SensApi.dll IsDestinationReachableW IsNetworkAlive SOFTWARE\Microsoft\Windows\CurrentVersion\Run TeamViewer_Desktop.exe WindowsCoreServices %s\%s .log .txt .tmp resourceDLL TeamViewer TV_Marker TVWidget ATL:00BDE7D8 ATL:00BE38B8

这段代码非常冗长,并且会有一些经常出现的模式。我们发现,这段代码并不是处理TeamViewer的通常方法,因此我尝试先用Google搜索一下,看看诸如stackoverflow的一些函数是否是从其他地方拷贝而来的。通过搜索,我找到了一个奇怪的Github账户,其中的源代码与样本中的相匹配:


【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

命令

我们在这个Github账户中更加深入的挖掘,与此同时也继续对这个木马样本进行分析。最终发现,木马控制器很有可能是一个fork,或者是一个从Github账户中更新源代码的工具。

我们发现了很多相似的函数:


【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

该木马通过main.cpp中的RunCmd()函数来执行C2的命令。在两个版本中,有一些共同存在的命令:


【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

正如我们所看到的,只有很少的命令是从Github代码中复制而来。其中,最大的改动是如何处理高权限的进程(ElevatedProcess)和用户账户控制(UAC),因为Github上面的代码已经非常过时。


C2通信

这个木马与C2之间的通信似乎与众不同,它是通过HTTP的方式,以纯文本进行通信,Github上面的版本则是使用了模糊的HTTP请求。

/includes/tasks.php-GEThwid=%s
/includes/act_user.php-POSThwid=%s&tv_id=%s&tv_pass=%s
/includes/inc.php-POSTuuid=%s&tv_id=%s&tv_pass=%s&winver=%s&username=%s&webcam=%s&mic=%s

共有两个域名作为C2,分别是rpc2.gdn和num1.gdn。

值得注意的是,从TeamViewer部分和整体结构来看,我们所获得的样本似乎比Github代码的版本更高。这是一个非常基础的恶意软件,但它却非常有效,并且使用简单。在Github的自述文件中,提到了一个论坛,网址为http://ander-pub.cc/forum/threads/isxodniki-skrytogo-teamviewer.73/,这个网站目前已经无法访问,因此我们也很好奇这是一个什么样的论坛。


目标群体

从这个样本来看,攻击者的目标群体是中国、澳洲、美国和俄罗斯等国家的小型公司,我们发现有呼叫中心、会计事务所等。

以下是一个呼叫中心的示例:


【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

【技术分享】基于TeamViewer的瞄准小公司的远控木马分析

我们认为,这并不是是一个对特定国家进行攻击的木马,而是将目标锁定了在企业或者是金融等相关行业上。


总结

以上就是对该远控木马的分析,但我更加好奇的是这个恶意软件的背景如何,以及攻击者希望借助它实现的目的。该木马没有加壳,并且具有直观的界面,因此非常适合我们对其进行分析。


恶意软件特征

该木马的Yara规则如下:

/*
ThisYararulesetisundertheGNU-GPLv2license(http://www.gnu.org/licenses/gpl-2.0.html)andopentoanyuserororganization,aslongasyouuseitunderthislicense.
*/
ruleTeamViewerControlPanel:TeamViewerController
{
meta:
author="@benkow_"
date="2017-11-26"
reference="https://benkowlab.blogspot.fr/2017/11/rules-22-copypasta-is-made-to-ruin.html"
strings:
$mz={4D5A}
$string1={540068006900730020004F00530020006900730020006E006F007400200073007500700070006F0072007400650064002100210021000000}
$string2={54005600200073007400610072007400650064002000660072006F006D002000410064006D0069006E0021002100210000}
$string3={520065007100750065007300740020007300750063006300650073007300660075006C006C0079002100210021000000}
$string4="TeamViewer"
condition:
($mzat0andallof($string*))
}


【技术分享】基于TeamViewer的瞄准小公司的远控木马分析
【技术分享】基于TeamViewer的瞄准小公司的远控木马分析
本文由 安全客 翻译,转载请注明“转自安全客”,并附上链接。
原文链接:https://benkowlab.blogspot.ca/2017/11/rules-22-copypasta-is-made-to-ruin.html

Viewing all articles
Browse latest Browse all 12749

Latest Images

Trending Articles





Latest Images