Retefe

Retefe 样本分析

样本信息

Retefe是一种Windows银行木马,它还可以使用Windows PowerShell将其他恶意软件下载并安装到系统上。它的主要功能是协助攻击者窃取网上银行网站的凭据。它通常针对瑞士银行。恶意软件二进制文件本身主要是一个Javascript文件的释放器组件,该文件构建一个PowerShell文件,该文件又将多个工具加载到主机上,包括:7zipTORPowerShell安装一个新的根证书,然后通过TOR将所有流量转发到攻击者控制的主机,以有效地进行MITM TLS流量。

IOC

类别 特征值
SHA256 9bdc837b0ecdf2aac509e33b52531ac5d95b12558b71db8083b044afc7aedf94
SHA1 f0a8c72af4f0a8656f7b2fc53f64b2fa6a6a42b6
MD5 9b8771374f02f0357e23b312b6793a86

样本分析

样本是一个Javascript文件,文件经过了一些混淆,但eval函数很明显:

通过构建一个本地包含文件来打印eval函数的加载内容:

测试用的js中则将eval替换成console.log

然后我们就得到了一个隐藏的代码:

从结构上看,这部分代码也是一个eval加载:

同样的以console.log替换eval,我们得到了第二份加载代码:

这个部分也是同样的eval

同样的以console.log替换eval,我们得到了第三份加载代码:

第三份加载看起来正常多了,我们将其美化一下:

里面包含了一些base64编码的内容,和一些函数类。

Help中提供二进制文件写入、随机数生成、随机字符串生成、字符过滤:

C_IE类提供了针对网络设置的一些功能:

通过访问以下站点获取本机的公网IP

http://api.ipify.org/
http://icanhazip.com/

修改注册表HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\AutoDetect0,关闭自动检测脚本;

配置注册表HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\AutoConfigURLhttp://127.0.0.1:5555/{Help.GenStr(8)}.js?ip={GetIp()},设置代理脚本。

其中存在一条赋值命令:var bData = Base64.decode(arrayList.ps);,然后将其保存在%TEMP%路径下,调用powershell -ep Unrestricted -f执行,Base64.decode(arrayList.ps)解密后代码如下:

powershell脚本的主要功能是证书添加:

添加的证书则是arrayList.cert的解密内容:

接下来是针对firefox的脚本配置:

同样存在一个本地文件生成及执行:

解密后的主要功能也是证书导入:

导入函数与IE略有不同:

C_TP类同样是生成powershell脚本并执行:

脚本功能则是下载7zipTORsocat,然后用socat转发流量到tor

下载 7ziphttps://chocolatey.org/7za.exe

下载taskschedulerhttps://api.nuget.org/packages/taskscheduler.2.5.23.nupkg

函数执行流程:

tor下载地址如下:

https://torproject.urown.net/dist/torbrowser/7.0.6/tor-win32-0.3.1.7.zip
https://dist.torproject.org/torbrowser/7.0.6/tor-win32-0.3.1.7.zip
https://torproject.mirror.metalgamer.eu/dist/torbrowser/7.0.6/tor-win32-0.3.1.7.zip
https://tor.ybti.net/dist/torbrowser/7.0.6/tor-win32-0.3.1.7.zip

sockt下载地址如下:

https://github.com/StudioEtrange/socat-windows/archive/1.7.2.1.zip

DOMAIN列表如下:

igs67efmlcucq57u.onion
jotetnnmfzb42sdw.onion
ou47twzxgnicn7ga.onion
aulqkm5upaqmto3i.onion

在整个调用过程中,依次执行了浏览器进程杀死,安装证书,检查安装情况并上传log

Func_LOG函数中存在一处解密arrayList.pslog的行为,最终解密后的核心代码如下:

CheckInstall函数主要功能为收集当前主机信息,检查浏览器代理脚本情况:

UploadLog函数则是上传日志到目标FTP服务器:ftp://rolf.buehlmann:Ridima65@82.220.2.66/web/sxerzere

参考资料

https://app.any.run/tasks/741aa9bc-8dce-44a9-b806-01f1b1f92cdd/
https://www.youtube.com/watch?v=g8_t1WfObok