APT-C-28(ScarCruft)组织对韩国地区攻击活动分析
Contents
CoreSec360
360威胁情报中心是全球领先的威胁情报共享、分析和预警平台,依托360安全大脑百亿级样本,万亿级防护日志等海量安全数据,整合360漏洞挖掘、恶意代码分析、威胁情报追踪等团队的安全能力,产出高质量的安全威胁情报,驱动安全的防御、检测和响应。
APT-C-28(ScarCruft),又称Konni,是一个活跃于朝鲜半岛的APT组织,其主要针对周边国家地区的政府机构进行网络攻击活动,以窃取敏感信息为主。该组织的攻击活动最早可追溯到2014年,近年来该组织活动频繁,不断被数个国内外安全团队持续追踪和披露。
近期360高级威胁研究院多次发现该组织针对韩国的定向攻击行动。在本轮攻击中,该组织前后使用“奖励清单”、“支付”等具有诱导性的文件名,同时使用“加密货币”、“通讯录”等诱饵内容诱导用户执行恶意宏文档。宏文档被允许执行后,会从自身下载或者释放CAB载荷并解压执行其中的脚本文件,进行一系列恶意样本的加载,从而对受害者发动网络攻击,达到窃密目的。
一、攻击活动分析
Konni组织本次攻击流程大致如下图所示:
Konni组织利用诱饵文件诱导用户点击打开,一旦执行便从远端服务器下载恶意宏模板文件,宏代码主要功能是继续下载CAB文件并解压执行其中check.bat文件,该BAT会判断系统版本及CPU架构,以便在安装服务时根据对应版本选择不同的UAC绕过方式,从而顺利伪装系统服务启动后门模块,达到驻留目的并开启窃密活动。
Konni组织在近期针对韩国的定向攻击中,主要使用的样本为恶意文档,其伪装内容都为韩文,结合该组织经常使用鱼叉式网络钓鱼攻击手法,推断本次攻击应该也是使用鱼叉钓鱼投递方式。
以下是一个最近针对韩国地区的攻击样本,其信息如下:
文件名称
paypal.docx
文件大小
14.91 KB (15271 字节)
MD5
7b27586c4b332c5e87784c8d3e45a523
其功能首先将不易阅读的灰色文字设置为黑色,宏执行前后文档内容如下所示:
接着从地址http://5645780.c1.biz//index.php?user_id=trap&auth=trap&pw=trap下载文件,并保存到%TEMP%\FXSAAENPILogFile.txt(MD5:1ae5b24456d9751dbd15c5c4fccef261),最后利用expand对下载文件进行解压并执行其中的check.bat。
宏代码中下载的FXSAAENPILogFile.txt文件信息如下:
文件名称
paypal.docx
文件大小
14.91 KB (15271 字节)
MD5
7b27586c4b332c5e87784c8d3e45a523
2)check.bat文件
压缩包中的check.bat文件被宏代码运行,作为其他组件加载的入口,文件信息如下:
文件名称
FXSAAENPILogFile.txt
文件大小
127.29KB (130346字节)
MD5
1ae5b24456d9751dbd15c5c4fccef261
3)wpnprv32.dll文件
以32位系统为例,check.bat文件调用wpnprv32.dll,并传入参数Num和trap.bat。该DLL提供了两种不同的方式进行Byass UAC。
文件名称
check.bat
文件大小
491B (491字节)
MD5
079be709ce7e57f4015b0ca8347e8a29
当传入的Num为4时,则使用最早由Project Zero披露出来的AppInfo RPC以及PPID欺骗技术进行Bypass UAC。
Appinfo是一个Windows RPC服务,该RPC服务中的RAiLaunchAdminProcess函数主要用于UAC验证。具体过程如下,首先将startFlags设置为0,创建一个普通权限的winver.exe进程,然后通过调用NtQueryInformationProcess函数获取该进程调试对象句柄,然后分离调试器,以便能够将现有的调试对象分配给下一步创建的新进程。
接着重新创建一个具有高完整性级别的taskmgr.exe进程,获取初始进程调试事件,通过NtDuplicateObject获取完全访问进程句柄。
最后使用父进程欺骗技术,创建一个新的高完整性级别进程,用于执行传入的trap.bat。
4)trap.bat文件
通过wpnprv32.dll执行的trap.bat基本信息如下表所示:
文件名称
trap.bat
文件大小
1.67KB (1705字节)
MD5
8a37c1614aed81a2b9d1f44cf84e2515
执行时首先判断是否运行在64位系统下,若是则将64位的DLL文件和其相应DAT文件复制到system32目录下并改名为rdssvc.dll及rdssvc.dat,否则将32位的DLL文件和其相应DAT文件复制到system32目录下并改名。接着执行安装步骤,创建rdssvc服务,其服务显示名为“Remote Database Service Update”,执行路径“svchost.exe -k rdssvc”,并在注册表HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost下创建rdssvc项,其参数指向rdssvc.dll,以此实现永久驻留。最后删除本目录下所有文件,成功创建服务如下所示,该服务加载的DLL程序为最终的远控木马。
以32位系统下加载的rdssvc32.dll为例,rdssvc32.dll是一个伪装成服务的远控程序,相关信息如下。
文件名称
rdssvc32.dll
文件大小
80.0KB (81920字节)
MD5
8e50622992a4b4b33127c34ff3fdbd30
读取注册表HKEY_CURRENT_USER\Console下的键值,其中MinElapsed表示再次联网测试的等待时间,时间范围为1分钟到1小时中间的随机整数分钟。
通过读取解密rdssvc.dat数据,其中rdssvc.dat的前16个字节为IV(“d3dbd7bb1299096441c5ebba6ce2675e”),剩下的内容是加密之后的C2服务器地址,Key为服务名的Hash256值(“3f96cd95327a8c801972620c7906dcfa9e6b76d3c1935b8648c5c24bfb2c21b8”)。使用AES-CTR解密得到C2服务器地址“4895750.c1.biz”。
如果rdssvc.dat不存在,则会读取rdssvc.ini文件解密出URL地址,从该URL中下载解密C2服务器地址。
然后分别通过执行“cmd /c systeminfo”和“cmd /c tasklist”获取系统信息和进程信息,并将数据保存到C:\Windows\Temp\目录下。
此外,需要注意的在攻击者在上传信息时,如果文件格式不是 “.cab”、“.zip”、“.rar”,则会使用makecab进行打包加密上传,如果已经是这三种格式则直接加密上传。
最后使用POST方式将加密数据上传到“http://4895750.c1.biz/up.php?name={HostName}”
并且通过InternetReadFile函数读取返回结果,如果结果为“success!”则表示成功。
另外,远控指令主要是向服务端 “4895750.c1.biz/dn.php?name={HostName}&prefix=cc(count)”发送Get请求获取,其中count表示连接次数。
执行的部分命令如下:
远控样本所支持的命令完整格式如下:
一级命令
参数1
参数2
操作
/stext
以SYSTEM权限执行下载的文件,并保存结果
/user
以用户权限执行文件
/user
/stext或>
以用户权限执行,并保存结果
cmd
pull
/f
将文件复制到临时目录,然后再上传
cmd
pull
上传指定文件
cmd
>
远程shell并将结果保存到临时目录
cmd
远程shell
cmd
chmod
保存指定文件
cmd
put
移动文件到指定目录
在今年早些时候,我们也发现了Konni组织针对韩国地区的多个攻击样本,关联样本1信息如下表所示:
文件名称
카뱅과 손잡은코인원_비트독주 체제무너뜨릴까.docx
文件大小
1.50 MB (1568752 字节)
MD5
00e6e9ed4666623860686c123ed334f0
接着收集主机的操作系统版本信息、主机名、IP地址信息并发送给服务器,收集此类信息可用于后续更加精准的攻击行动中。需要特别注意的是,该样本宏代码中没有后续下载CAB文件并解压执行的过程,因此判断该样本主要是前期侦察模块。
此外,通过分析之前捕获的Konni组织样本,发现该组织前期使用的恶意文档是从自身释放CAB并解压执行其中脚本文件,这种方式没有远端加载CAB灵活,并且也容易暴露使用的恶意载荷。
关联样本2信息如下表所示:
文件名称
보상명부.xlam
文件大小
145.43 KB (148924 字节)
MD5
cf5f18032667bfb4c7373191e7fb1fbf
Konni组织本次针对韩国地区的攻击,跟之前针对俄罗斯地区使用的载荷相似度很高,主要集中体现在如下方面:
1.在诱饵文档显示上依然保持着该组织的一贯风格,即成功执行后才将不易阅读的文字置黑显示出来,这个是该组织的一个显著特点;
2.和以前样本一样都采用CAB格式文件层层加载载荷,只是CAB文件获取方式不完全相同,此外批处理脚本也十分类似;
3.最终的远控模块功能相似,并且通信流量上也类似,如4895750.c1.biz/dn.php?name={HostName}&prefix=cc(count),其中count表示连接次数,从零开始。之前该组织使用过/dn.php?client_id={主机ID}&prefix=cc(count)类似的URL格式。
最后结合到该样本是针对韩国地区的攻击,符合该组织一直以来的攻击目标,综上,本次攻击归于Konni组织。
360高级威胁研究院
微信扫一扫
关注该公众号
360威胁情报中心是全球领先的威胁情报共享、分析和预警平台,依托360安全大脑百亿级样本,万亿级防护日志等海量安全数据,整合360漏洞挖掘、恶意代码分析、威胁情报追踪等团队的安全能力,产出高质量的安全威胁情报,驱动安全的防御、检测和响应。
APT-C-28(ScarCruft),又称Konni,是一个活跃于朝鲜半岛的APT组织,其主要针对周边国家地区的政府机构进行网络攻击活动,以窃取敏感信息为主。该组织的攻击活动最早可追溯到2014年,近年来该组织活动频繁,不断被数个国内外安全团队持续追踪和披露。
近期360高级威胁研究院多次发现该组织针对韩国的定向攻击行动。在本轮攻击中,该组织前后使用“奖励清单”、“支付”等具有诱导性的文件名,同时使用“加密货币”、“通讯录”等诱饵内容诱导用户执行恶意宏文档。宏文档被允许执行后,会从自身下载或者释放CAB载荷并解压执行其中的脚本文件,进行一系列恶意样本的加载,从而对受害者发动网络攻击,达到窃密目的。
一、攻击活动分析
Konni组织本次攻击流程大致如下图所示:
Konni组织利用诱饵文件诱导用户点击打开,一旦执行便从远端服务器下载恶意宏模板文件,宏代码主要功能是继续下载CAB文件并解压执行其中check.bat文件,该BAT会判断系统版本及CPU架构,以便在安装服务时根据对应版本选择不同的UAC绕过方式,从而顺利伪装系统服务启动后门模块,达到驻留目的并开启窃密活动。
Konni组织在近期针对韩国的定向攻击中,主要使用的样本为恶意文档,其伪装内容都为韩文,结合该组织经常使用鱼叉式网络钓鱼攻击手法,推断本次攻击应该也是使用鱼叉钓鱼投递方式。
以下是一个最近针对韩国地区的攻击样本,其信息如下:
文件名称
paypal.docx
文件大小
14.91 KB (15271 字节)
MD5
7b27586c4b332c5e87784c8d3e45a523
其功能首先将不易阅读的灰色文字设置为黑色,宏执行前后文档内容如下所示:
接着从地址http://5645780.c1.biz//index.php?user_id=trap&auth=trap&pw=trap下载文件,并保存到%TEMP%\FXSAAENPILogFile.txt(MD5:1ae5b24456d9751dbd15c5c4fccef261),最后利用expand对下载文件进行解压并执行其中的check.bat。
宏代码中下载的FXSAAENPILogFile.txt文件信息如下:
文件名称
paypal.docx
文件大小
14.91 KB (15271 字节)
MD5
7b27586c4b332c5e87784c8d3e45a523
2)check.bat文件
压缩包中的check.bat文件被宏代码运行,作为其他组件加载的入口,文件信息如下:
文件名称
FXSAAENPILogFile.txt
文件大小
127.29KB (130346字节)
MD5
1ae5b24456d9751dbd15c5c4fccef261
3)wpnprv32.dll文件
以32位系统为例,check.bat文件调用wpnprv32.dll,并传入参数Num和trap.bat。该DLL提供了两种不同的方式进行Byass UAC。
文件名称
check.bat
文件大小
491B (491字节)
MD5
079be709ce7e57f4015b0ca8347e8a29
当传入的Num为4时,则使用最早由Project Zero披露出来的AppInfo RPC以及PPID欺骗技术进行Bypass UAC。
Appinfo是一个Windows RPC服务,该RPC服务中的RAiLaunchAdminProcess函数主要用于UAC验证。具体过程如下,首先将startFlags设置为0,创建一个普通权限的winver.exe进程,然后通过调用NtQueryInformationProcess函数获取该进程调试对象句柄,然后分离调试器,以便能够将现有的调试对象分配给下一步创建的新进程。
接着重新创建一个具有高完整性级别的taskmgr.exe进程,获取初始进程调试事件,通过NtDuplicateObject获取完全访问进程句柄。
最后使用父进程欺骗技术,创建一个新的高完整性级别进程,用于执行传入的trap.bat。
4)trap.bat文件
通过wpnprv32.dll执行的trap.bat基本信息如下表所示:
文件名称
trap.bat
文件大小
1.67KB (1705字节)
MD5
8a37c1614aed81a2b9d1f44cf84e2515
执行时首先判断是否运行在64位系统下,若是则将64位的DLL文件和其相应DAT文件复制到system32目录下并改名为rdssvc.dll及rdssvc.dat,否则将32位的DLL文件和其相应DAT文件复制到system32目录下并改名。接着执行安装步骤,创建rdssvc服务,其服务显示名为“Remote Database Service Update”,执行路径“svchost.exe -k rdssvc”,并在注册表HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost下创建rdssvc项,其参数指向rdssvc.dll,以此实现永久驻留。最后删除本目录下所有文件,成功创建服务如下所示,该服务加载的DLL程序为最终的远控木马。
以32位系统下加载的rdssvc32.dll为例,rdssvc32.dll是一个伪装成服务的远控程序,相关信息如下。
文件名称
rdssvc32.dll
文件大小
80.0KB (81920字节)
MD5
8e50622992a4b4b33127c34ff3fdbd30
读取注册表HKEY_CURRENT_USER\Console下的键值,其中MinElapsed表示再次联网测试的等待时间,时间范围为1分钟到1小时中间的随机整数分钟。
通过读取解密rdssvc.dat数据,其中rdssvc.dat的前16个字节为IV(“d3dbd7bb1299096441c5ebba6ce2675e”),剩下的内容是加密之后的C2服务器地址,Key为服务名的Hash256值(“3f96cd95327a8c801972620c7906dcfa9e6b76d3c1935b8648c5c24bfb2c21b8”)。使用AES-CTR解密得到C2服务器地址“4895750.c1.biz”。
如果rdssvc.dat不存在,则会读取rdssvc.ini文件解密出URL地址,从该URL中下载解密C2服务器地址。
然后分别通过执行“cmd /c systeminfo”和“cmd /c tasklist”获取系统信息和进程信息,并将数据保存到C:\Windows\Temp\目录下。
此外,需要注意的在攻击者在上传信息时,如果文件格式不是 “.cab”、“.zip”、“.rar”,则会使用makecab进行打包加密上传,如果已经是这三种格式则直接加密上传。
最后使用POST方式将加密数据上传到“http://4895750.c1.biz/up.php?name={HostName}”
并且通过InternetReadFile函数读取返回结果,如果结果为“success!”则表示成功。
另外,远控指令主要是向服务端 “4895750.c1.biz/dn.php?name={HostName}&prefix=cc(count)”发送Get请求获取,其中count表示连接次数。
执行的部分命令如下:
远控样本所支持的命令完整格式如下:
一级命令
参数1
参数2
操作
/stext
以SYSTEM权限执行下载的文件,并保存结果
/user
以用户权限执行文件
/user
/stext或>
以用户权限执行,并保存结果
cmd
pull
/f
将文件复制到临时目录,然后再上传
cmd
pull
上传指定文件
cmd
>
远程shell并将结果保存到临时目录
cmd
远程shell
cmd
chmod
保存指定文件
cmd
put
移动文件到指定目录
在今年早些时候,我们也发现了Konni组织针对韩国地区的多个攻击样本,关联样本1信息如下表所示:
文件名称
카뱅과 손잡은코인원_비트독주 체제무너뜨릴까.docx
文件大小
1.50 MB (1568752 字节)
MD5
00e6e9ed4666623860686c123ed334f0
接着收集主机的操作系统版本信息、主机名、IP地址信息并发送给服务器,收集此类信息可用于后续更加精准的攻击行动中。需要特别注意的是,该样本宏代码中没有后续下载CAB文件并解压执行的过程,因此判断该样本主要是前期侦察模块。
此外,通过分析之前捕获的Konni组织样本,发现该组织前期使用的恶意文档是从自身释放CAB并解压执行其中脚本文件,这种方式没有远端加载CAB灵活,并且也容易暴露使用的恶意载荷。
关联样本2信息如下表所示:
文件名称
보상명부.xlam
文件大小
145.43 KB (148924 字节)
MD5
cf5f18032667bfb4c7373191e7fb1fbf
Konni组织本次针对韩国地区的攻击,跟之前针对俄罗斯地区使用的载荷相似度很高,主要集中体现在如下方面:
1.在诱饵文档显示上依然保持着该组织的一贯风格,即成功执行后才将不易阅读的文字置黑显示出来,这个是该组织的一个显著特点;
2.和以前样本一样都采用CAB格式文件层层加载载荷,只是CAB文件获取方式不完全相同,此外批处理脚本也十分类似;
3.最终的远控模块功能相似,并且通信流量上也类似,如4895750.c1.biz/dn.php?name={HostName}&prefix=cc(count),其中count表示连接次数,从零开始。之前该组织使用过/dn.php?client_id={主机ID}&prefix=cc(count)类似的URL格式。
最后结合到该样本是针对韩国地区的攻击,符合该组织一直以来的攻击目标,综上,本次攻击归于Konni组织。
360高级威胁研究院
微信扫一扫
关注该公众号
IoC
cf5f18032667bfb4c7373191e7fb1fbf
7b27586c4b332c5e87784c8d3e45a523
00e6e9ed4666623860686c123ed334f0
2c0db5d995d997a7687f527c493b4c89
7c77fbf78a0e15be66f9edee7ab21084
0567c9fa7c535e8d09fc5d1c712c66bf
ad868a784cb0303aeb02666fe70495f6
f2ffb3cb75535e4ef70b195de68fd330
020e326d4db035b61f66407acb74521d
f0105f3127de410360a2ed80d697b059
a7da2aaaa7efdd9ee74fc5e517be30b2
50551b96e321fe1b478b7bba77c573e6
a6736c776d6d44cec7ec07b9fb628ec3
1ae5b24456d9751dbd15c5c4fccef261
8e50622992a4b4b33127c34ff3fdbd30
1536e9bf086982c072c2cba7d42b0a62
8ef69701c52dc78df0df1dd0bb4c9f36
2211d9356dd7aeced0ee7b2a05077c75
079be709ce7e57f4015b0ca8347e8a29
371d4255ffe03274f016395fe3a4e380
8a37c1614aed81a2b9d1f44cf84e2515
rq7592.c1.biz
4895750.c1.biz
word2022.c1.biz
5645780.c1.biz
k22012.c1.biz
http://k22012.c1.biz/paypal.dotm
http://5645780.c1.biz/index.php?user_id=trap&auth=trap&pw=trap
http://word2022.c1.biz/template.dotm
http://word2022.c1.biz/index.php?os={OSVersion}&name={HostName}&ip={IP}
http://4895750.c1.biz/dn.php?name={HostName}&prefix=cc(count)
http://4895750.c1.biz/up.php?name={HostName}
http://rq7592.c1.biz/up.php?name={HostName}
http://rq7592.c1.biz/dn.php?name={HostName}&prefix=cc(count)
7b27586c4b332c5e87784c8d3e45a523
00e6e9ed4666623860686c123ed334f0
2c0db5d995d997a7687f527c493b4c89
7c77fbf78a0e15be66f9edee7ab21084
0567c9fa7c535e8d09fc5d1c712c66bf
ad868a784cb0303aeb02666fe70495f6
f2ffb3cb75535e4ef70b195de68fd330
020e326d4db035b61f66407acb74521d
f0105f3127de410360a2ed80d697b059
a7da2aaaa7efdd9ee74fc5e517be30b2
50551b96e321fe1b478b7bba77c573e6
a6736c776d6d44cec7ec07b9fb628ec3
1ae5b24456d9751dbd15c5c4fccef261
8e50622992a4b4b33127c34ff3fdbd30
1536e9bf086982c072c2cba7d42b0a62
8ef69701c52dc78df0df1dd0bb4c9f36
2211d9356dd7aeced0ee7b2a05077c75
079be709ce7e57f4015b0ca8347e8a29
371d4255ffe03274f016395fe3a4e380
8a37c1614aed81a2b9d1f44cf84e2515
rq7592.c1.biz
4895750.c1.biz
word2022.c1.biz
5645780.c1.biz
k22012.c1.biz
http://k22012.c1.biz/paypal.dotm
http://5645780.c1.biz/index.php?user_id=trap&auth=trap&pw=trap
http://word2022.c1.biz/template.dotm
http://word2022.c1.biz/index.php?os={OSVersion}&name={HostName}&ip={IP}
http://4895750.c1.biz/dn.php?name={HostName}&prefix=cc(count)
http://4895750.c1.biz/up.php?name={HostName}
http://rq7592.c1.biz/up.php?name={HostName}
http://rq7592.c1.biz/dn.php?name={HostName}&prefix=cc(count)