基于 Python 的僵尸网络将 Linux 机器变成挖矿机器人
F5 Networks 的安全研究人员发现了一个新的 Linux 加密僵尸网络,并将其命名为"PyCryptoMiner",它主要的攻击目标是具有公开 SSH 端口的 Linux 系统。
根据研究人员的描述,PyCryptoMiner 主要包括以下五个特性:
1、基于 Python 脚本语言,这意味着很难被检测出来
2、在原始命令和控制(C&C)服务器不可用时,会利用 Pastebin.com(在用户名“WHATHAPPEN”下)接收新的 C&C 服务器分配
3、域名注册人与超过 3.6 万个域名相关联,其中一些域名自 2012 年以来一直以诈骗、赌博和成人服务而闻名
4、被用于开采一种深受网络犯罪分子青睐且具备高度匿名性的加密货币——门罗币(Monero)。截至 2017 年 12 月下旬,PyCryptoMiner 已经开采了大约价值 4.6 万美元的门罗币
5、利用 CVE-2017-12149 漏洞,在 12 月中旬推出了针对易受攻击的 JBoss 服务器的新扫描功能
与二进制恶意软件替代方案不同,基于 Python 脚本语言,使得 PyCryptoMiner 更容易被混淆、更具规避性。此外,它也是由一个合法的二进制文件执行的。
PyCryptoMiner 通过尝试猜测目标 Linux 设备的 SSH 登录凭证进行传播,如果成功,它将部署一个简单的 base64 编码的 Python 脚本,用于连接 C&C 服务器以下载和执行额外的 Python 代码。
这个 Python 脚本还会收集有关受感染设备的信息,包括主机/DNS名称,操作系统名称和架构、CPU 数量以及 CPU 使用率,它还会检查设备是否已经受到感染,以及受感染的设备是否用于门罗币挖掘或扫描。
研究人员通过 Pastebin[.]com 页面提供的信息确认,PyCryptoMiner 可能在 2017 年 8 月就已经启动。在调查中,该资源已被查看了 177987 次,且每天大约会增加 1000 次左右。
在查询这些 C&C 服务器的域名“zsw8.cc”时,发现注册人名称是“xinqian Rhys”
域名注册人与超过 3.6 万个域名相关联,其中一些域名自 2012 年以来一直以诈骗、赌博和成人服务而闻名。
PyCryptoMiner 使用了两个钱包地址,分别有 94 和 64 个门罗币,价值约为 4.6 万美元。
文章转载自 开源中国社区 [http://www.oschina.net]本文标题:基于 Python 的僵尸网络将 Linux 机器变成挖矿机器人本文地址:https://www.oschina.net/news/92261/pycryptominer-linux-machines-turns-monero-mining-bots
- web基础之Structs(一篇)
- S3上传代码用例-golang
- jsp-------------之分页技术(一)
- ------------数据库的加锁操作(上)
- 对象存储基础概念
- 关于byte[]字节传输的大端和小端小议
- hdu 2818 Building Block
- hdu 3074 Zjnu Stadium (带权并查集)
- 线程练习题---简易多人聊天室
- Servlet的尾(yi)巴---filter ( 过滤器 )的小应用
- ijg库的使用的几点注意
- C++获取鼠标位置及全局检测鼠标行为
- C/C++ http协议加载sessionID
- 两个月入门深度学习,全靠动手实践!一位前端小哥的经验分享
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 在 Linux 下如何检查内存使用率
- 3分钟短文 | MySQL存时间,到底该用timestamp还是datetime?
- js中class的继承的基础用法
- JavaScript 设计模式学习总结与感悟(开发&面试必备)
- 3分钟短文 | PHP多维数组搜索值,就只能for循环?这样写更高效
- 如何获得tomcat管理员账号
- ant target间的dependency
- 如何用ant将JSP项目打成war包
- 3分钟短文 | MySQL备份和迁移sql文件,这个指令基础又关键
- 如何用ant给Java项目生成文档
- ant build里如何指定classpath
- Tomcat服务器java.lang.IllegalArgumentException异常
- 动态控制SAP CRM附件的可编辑性
- 关于node.js:ExpressJS、Websocket中的session会话共享
- 【STM32F429开发板用户手册】第23章 STM32F429的USART串口基础知识和HAL库API