Automated Libra黑客组织通过CAPTCHA绕过技术自动账号创建,进行加密货币挖矿。
近期,南非黑客组织'Automated Libra'通过CAPTCHA绕过技术实现自动账号创建,在云平台创建账户,利用免费的资源进行加密货币挖矿来获利。
Automated Libra是位于南非的黑客组织,也是freejacking攻击活动PurpleUrchin背后的黑客组织。Freejacking 是使用免费云资源来执行加密货币挖矿活动的过程。Unit 42 研究人员分析了Automated Libra的250GB数据,发现了黑客的基础设施、历史和使用的技术。黑客使用简单的图像分析技术绕过CAPTCHA图像,实现云平台自动化账号创建,每分钟可以成功创建3-5个GitHub账户。Unit 42研究人员成功发现了黑客在PurpleUrchin攻击活动中使用的40个加密货币钱包和7种不同的加密货币。
Automated Libra在针对GitHub的攻击活动中融合了Play and Run以及freejacking技术。此外,攻击者还利用了GitHub CAPTCHA检查的弱点。
攻击者以平均每分钟3-5个的速度自动创建GitHub账号。创建GitHub账号后,就开始了freejacking攻击活动。
攻击者在不同的VPS(virtual private server)提供商和云服务提供商平台上创建了超过13万个账户,但是并没有付费。这些创建的账户使用的都是虚假的个人信息以及信用卡信息。这使得攻击者可以在完成加密货币挖矿活动后并未完成付费。
创建GitHub账户的第一步是输入邮件地址、密码和用户名,如图1所示:
容器运行虚拟网络计算(VNC)服务器:使用如下命令启动Iron浏览器:
图 2. VNC服务器展示Iron浏览器
然后使用xdotool工具,该工具是完成GitHub表单的主要脚本。表单完成后,GitHub会提示CAPTCHA:
图 3. GitHub CAPTCHA
攻击者使用了一个非常简单的机制来解决CAPTCHA问题。从攻击者创建的GitHub账户统计数据来看,攻击者实现CAPTCHA绕过的方法非常有效。
为绕过CAPTCHA需要识别图片背景中的星系,攻击者使用了ImageMagick工具套件中的2个工具:convert 和 identify。
首先,使用convert工具将图像转化为RGB格式。
图 4将图像转化为RBG
转化完成后,使用identify命令来提取red 通道的skewness 特征:
图 5. 提取red 通道的skewness 特征的命令
最终的结果如图6所示,以从大到小的顺序排序。值最小的图像就是背景图片,比如:
图 6. 每个图片的red通道输出
图4中的image 2就是识别出的星系背景图片。CAPTCHA解决后,GitHub需要一个启动码,如图7所示:
图 7. GitHub 请求启动码
攻击者使用Gmail账号来自动获取启动码。这一过程使用了IMAP协议和PHP脚本来读取收到的IMAP消息。
启动码输入后,自动化过程就可以生成个人访问token。GitHub注册过程的最终结果是一个用户名和GitHub部署的个人访问token。
图 8. 调用运行的容器
随后,容器执行以下操作:
设置SSH 密钥;
使用GitHub API创建GitHub库;
配置创建的库的权限。
此外,攻击者还使用基于MD5哈希值的随机名来对库进行命名。
图 9. 对库进行随机命名的命令
GitHub库创建完成后,攻击者调用一个bash脚本来用目标工作流来更新库。工作流是用PHP脚本生成的, PHP模板编码的工作流示例如图10所示:
图 10. PHP模板
研究人员发现其中的一个工作流中有64个任务。生成的工作流配置为github.event.client_payload.app事件下的repository_dispatch运行。工作流机制允许攻击者执行外部应用。在本例,攻击者运行外部bash脚本和容器,如图11所示:
图 11. 执行外部应用的工作流机制
工作流运行的bash脚本是从外部域名访问的。攻击者运行的容器是用来安装和初始化加密货币挖矿功能的,如图12所示:
图 12. 加密货币挖矿容器
生成的工作流运行64个任务,每个任务都从5个可用的唯一配置中随机选择一个。
经过确认的攻击者创建的GitHub账户数如下图所示。
图 13. PurpleUrchin攻击者创建的GitHub账户数
此外,攻击者还在Heroku、Togglebox、GitHub等不同云平台服务商创建了超过13万用户账户。
参考及来源:https://unit42.paloaltonetworks.com/purpleurchin-steals-cloud-resources/