*以下内容为本人的学习笔记,如需求转载,请声明原文链接 微信大众号「ENG八戒」mp.weixin.qq.com/s/k9lg3Sb0x…

Rust 恶意软件 Luca Stealer 源代码分析

先来看一下 Luca Stealer 的功用

Rust 恶意软件 Luca Stealer 源代码分析

某网络黑客论坛上,有一个开发者同享了其运用 Luca Stealer 的日志文件,标明相当多的黑客现已开始运用此歹意软件。因为这个歹意软件的主要用途是盗取信息和文件所用,所以下面咱们也会称号它为盗取程序。

Rust 恶意软件 Luca Stealer 源代码分析

源码剖析:功用性

运用环境变量 %localappdata% ,盗取者辨认 Local\AppData 文件夹的途径。在开始盗取活动之前,它会查看 AppData 目录中是否存在 “logsxc” 文件夹,以防止屡次执行。假如此文件夹不存在,盗取者会创立一个具有隐藏属性的文件夹来保存被盗数据。

Luca 盗取者运用 my_internet_ip(一个 Rust 箱子)来辨认受害者的公共 IP 地址,并运用 ipgeolocate 库来辨认受害者的地理位置。

Rust 恶意软件 Luca Stealer 源代码分析

盗取者然后运用屏幕截图库抓取受害者体系的屏幕截图并将其保存为 .png 文件以进行后期曝光。下图显现了歹意软件运用的截图库。

Rust 恶意软件 Luca Stealer 源代码分析

为了盗取体系详细信息,盗取者运用 whoami 库。下图展现了盗取器中 whoami 库的实现。

Rust 恶意软件 Luca Stealer 源代码分析

下表显现了盗取者用来获取受害者体系详细信息的 whoami 库中可用的一些函数称号。盗取者获取以下体系信息以及 IP 和地理位置,并将其保存到名为 “info.txt” 的文件中。

函数 描绘
desktop_env 获取桌面环境
devicename 获取设备称号(也称为 “Pretty Name”),用于标识用于蓝牙配对的设备
distro_os 获取操作体系发行版的称号和(或许)版别
hostname 获取主机设备的主机名
username 获取用户的用户名
Language 获取用户的首选言语

然后盗取者创立一个名为 “system_info.txt” 的文件来存储受害者的数据,例如:

  • 网络接口称号及其数据传输速率。
  • CPU 和内存的数量分为以下组件:
    • 总内存
    • 运用内存
    • 总交换
    • 运用交换
  • 正在运转的进程列表

Rust 恶意软件 Luca Stealer 源代码分析

Luca Stealer 针对 30 多种根据 Chromium 的阅读器。下图显现了盗取者针对的阅读器列表。它从阅读器中盗取登录凭证、信用卡和 Cookie,并将它们保存到文本文件中以供浸透。为了解密阅读器数据,盗取者利用 Dpapi.CryptUnprotectData() 函数。

Rust 恶意软件 Luca Stealer 源代码分析

看,360都上榜了,老外竟然也知道这个无赖!

盗取者针对 10 个冷加密钱包,如下图所示。在源代码中提到了钱包的硬编码途径,盗取者从那里抓取钱包进行渗漏。

Rust 恶意软件 Luca Stealer 源代码分析

该盗取程序还针对 20 多种阅读器的暗码管理器和加密钱包的阅读器扩展。每个阅读器扩展都有一个唯一的ID,可用于在阅读器的 “AppData” 目录下的文件夹中搜索需求的扩展。假如受害者的体系中存在下图中提到的扩展,盗取者就会获取它们。

Rust 恶意软件 Luca Stealer 源代码分析

Luca stealer 还针对 Steam、Uplay 和 Telegram 应用程序。它首要查看这些应用程序是否存在于受害者的体系中,然后从以下文件夹中获取数据:

  • AppData\Roaming\ Ubisoft Game Launcher
  • AppData\Roaming\Telegram Desktop\tdata
  • Program Files (x86)\ team

Rust 恶意软件 Luca Stealer 源代码分析

盗取者还针对四个 Messenger 应用程序:Discord、ICQ、Element 和 Skype。

为了盗取 Discord 令牌,歹意软件针对以下目录:

  • Discord\Local Storage\leveldb
  • Discord PTB\Local Storage\leveldb
  • Discord Canary\leveldb

它运用正则表达式在日志文件中查找 Discord 令牌,并将它们保存到名为 “discord_tokens.txt” 的文件中。歹意软件获取 “Element\Local Storage\leveldb” 中的文件以盗取 Element 的会话,并将它们保存在名为 Element 的文件夹下。

盗取者然后从 “AppData\Roaming\ICQ\0001” 中获取ICQ – Chat文件,并将它们保存在名为 “ICQ” 的文件夹下。

为了从 Skype 盗取会话,歹意软件从 AppData\Roaming\Microsoft\Skype\Desktop\Local Storage 抓取文件并将它们保存在 Skype 文件夹下。

盗取者在 AppData\Local\Temp 目录中创立一个名为 “out.zip” 的压缩文件。这个压缩文件是从用于保存被盗数据的文件夹中创立的。然后,它运用盗取者指定的 Discord Webhooks 或 Telegram Bot 渗漏这些数据。盗取者还将盗取数据的摘要作为谈天音讯发送,例如暗码计数、IP 地址、操作体系详细信息等。下图显现了谈天音讯的格局。

Rust 恶意软件 Luca Stealer 源代码分析

结论

在这份剖析被发布时,Luca stealer 现在只能针对根据 Windows 的操作体系 (OS)。虽然盗取器是用跨渠道编程言语 Rust 编写的,但该歹意软件运用仅限于 Windows 操作体系的环境变量来辨认某些目录的途径。

估量过不了多久,咱们或许会看到更多的功用被添加到 Luca stealer 中;例如,开发者也或许正在努力为它添加剪辑功用。因为它是用 Rust 编写的并免费发布,咱们能够预期它会被世界各地的黑客群体采用。

关于对歹意软件的防护主张

  • 防止从不受信赖的来源下载文件。
  • 定时清除阅读历史记录并重设暗码。  
  • 在你的计算机、移动设备和其他衔接的设备上打开自动软件更新功用。 
  • 在衔接的设备(包含 PC、笔记本电脑和移动设备)上运用知名的防病毒和互联网安全软件包。 
  • 不要在未先验证其真实性的情况下打开不受信赖的链接和电子邮件附件。  
  • 教育职工怎么维护自己免受网络垂钓/不受信赖的 URL 等威胁。 
  • 阻止可用于传播歹意软件的 URL,例如 Torrent/Warez。 
  • 监控网络级别的信标,以阻止歹意软件或木马的数据走漏。 
  • 在职工体系上启用数据丢失防护 (DLP) 解决方案。