背景:
黑客通常使用受感染的机器而不是直接从个人拥有的设备发起攻击,这使他们能够隐藏其来源。在最近的事件响应中,Profero 的事件响应团队调查了一种可能的情况,假设威胁参与者使用 Datacamp 的在线 IDE 对云基础设施发起攻击。但是,因为Datacamp、ISP 和在线 IDE 之间错综复杂的关系,使得Profero 的事件响应团队对使用云 IDE 隐藏攻击来源的想法很感兴趣,并启动了一个研究项目来探索这一策略。
在线IDE是什么?
在线IDE,也叫Cloud IDE,主要基于HTML5相关技术构建,通常在浏览器里即可完成传统IDE的大部分开发工作。不幸的是,许多用户和组织没有正确配置他们的资源和云环境,导致恶意攻击者发现并利用此错误配置,发起攻击行为。
DataCamp是一个国外的在线学习平台,DataCamp projects中使用了 Jupyter Notebook,Jupyter是一个开源 Web 应用程序,其在github上的star为13.6k,是一个允许用户创建和共享文本的文档。
Profero 的 Omri Segev Moyal表示,恶意攻击者可以滥用在线编程学习平台来发起远程网络攻击、窃取数据并扫描易受攻击的设备。DataCamp 允许攻击者编译恶意工具、托管或分发恶意软件,并连接到外部服务。
在DataCamp平台的个人工作区,有一个用于练习和执行自定义代码、上传文件和连接到数据库的 IDE。
此IDE 允许用户导入 Python 库、下载和编译存储库,然后执行编译的程序。换句话说,任何一个威胁参与者都可能直接从 DataCamp 平台内发起远程攻击。
DataCamp Python 编译器中的端口扫描器
如何通过在线IDE发起攻击?
一、代码
在Datacamp 网站上的使用示例之一,是演示如何连接到 PostgreSQL 服务器。
那换个角度想,既然可以连接到外部PostgreSQL 服务器,其他服务器是否可行?云服务或者Amazon S3 bucket又会是什么结果?
在对攻击者可能使用 DataCamp 的资源来达到隐藏攻击来源的事件做出响应后, Profero 公司的研究人员决定调查这种情况。
他们发现 DataCamp 的高级在线 Python IDE 为用户提供了安装第三方模块的能力,这些模块允许连接到 Amazon S3 bucket。Omri Segev Moyal 表示,他们在 DataCamp 平台上尝试了上述场景,能够访问 S3 bucket并将所有文件泄露到平台网站上的工作区环境中。
要访问AWS资源,首先安装 boto3 模块:
下一步是连接到 S3 bucket,罗列并下载其中的所有文件:
从攻防中的防御方来看,文件下载的 CloudTrail 日志如下:
"eventSource": "s3.amazonaws.com","eventName": "GetObject","awsRegion": "eu-west-1","sourceIPAddress": "34.192.118.171","userAgent": "[Boto3/1.17.22 Python/3.8.10 'Linux/5.4.176-91.338.amzn2.x86_64 Botocore/1.20.53 Resource]","requestParameters": {"bucketName": "test_bucket","Host": "test_bucket.s3.eu-west-1.amazonaws.com","key": "test.jpg"
文件上传日志如下:
"eventSource": "s3.amazonaws.com","eventName": "GetObject","awsRegion": "eu-west-1","sourceIPAddress": "34.192.118.171","userAgent": "[Boto3/1.17.22 Python/3.8.10 'Linux/5.4.176-91.338.amzn2.x86_64 Botocore/1.20.53 Resource]","requestParameters": {"bucketName": "test_bucket","Host": "test_bucket.s3.eu-west-1.amazonaws.com","key": "test.jpg"
通过两个日志可以看出,useragent为:
[Boto3/1.17.22 Python/3.8.10 Linux/5.4.176–91.338.amzn2.x86_64 Botocore/1.20.53 Resource]
这允许使用boto框架从python脚本中快速识别响应,
另外,查看日志中的ip地址时,发现流量显示来自 Amazon
由于DataCamp 使用 AWS的服务器,来自 DataCamp 的活动很可能会成功执行,而蓝队无法检测到此类的活动。即使是那些进一步检查连接的人也会陷入死胡同,因为没有已知的确定来源。
以上是可以执行攻击的基本示例,在使用Github API、Azure API 和任何在线资源等其他场景时都可能受到此方法的影响。
二、工具
为了对攻击场景的研究更进一步,研究人员试图导入或安装通常用于网络攻击的工具,例如 Nmap 网络映射工具。
下载链接可用于通过简单的 Web 请求将其他恶意软件下载到受感染的系统。
此外,这些下载链接可能会在其他类型的攻击中被滥用,例如托管恶意软件以进行网络钓鱼攻击,或通过恶意软件下载其他有效负载。
尽管 Profero 没有将他们的研究扩展到其他学习平台,但研究人员认为,DataCamp 并不是黑客可以滥用的唯一平台。
参考链接: