【编译免杀四】


🐳 Android 检测工具一 🐳

1、VirusTotal 简介

VirusTotal 可以用于检测 files 或者 URL,并生成相应的 report。

对于 Android application 而言,VirusTotal 可以提供多达 70 个杀软 (anti-virus tool) 的检测结果及相应的 report。

2、VirusTotal 使用方式

VirusTotal 的 python 库为 vt ,官方文档为 VirusTotal API v3 reference

申请 得到 VirusTotal 的 API 后,可以通过 调用 python 库 的方式使用,也可以通过 官方文档示例 的方式进行 malware detection。

本文根据官方文档示例展开介绍,共分为以下四步:

  • 步骤一,获取 API key。
  • 步骤二,获取 malware MD5。
  • 步骤三,获取 report 所需的 URL。
  • 步骤四,根据以上三者完成代码并检测。

3、步骤一

获取 API key。参考博客 Python 代码实现访问 VirusTotal,获取杀软结果

本文使用 VirusTotal 为 Cuckoo Sandbox 提供的 API key cuckoo vt API key ,如下所示。

    a0283a2c3d55728300d064874239b5346fb991317e8449fe43c902879d******

4、步骤二

获取 malware MD5。参考博客 批量生成文件夹内所有文件 md5

博客作者基于 windows 命令编写了一个批量生成 MD5 值的脚本。把以下代码放入 get_md5.bat 文件中,再把 get_md5.bat 放入需要批量生成 MD5 的文件夹内。运行 get_md5.bat 文件即可得到存储当前文件夹内所有文件 MD5 值的 MD5.txt 文件。

    title md5批量生成脚本-by miles
    setlocal enabledelayedexpansion
    %~d0
    cd %~dp0
    if exist 1234.txt del 1234.txt
    for /R %%s in (.,*) do (
    echo %%s
    ) >>1234.txt
    if exist md5.txt del md5.txt
    for /f "skip=1" %%a in (1234.txt) do certutil -hashfile %%a MD5>>md5.txt
     
    echo md5生成完毕

5、步骤三

获取 report 所需的 URL:

VirusTotal v3 API URL

6、步骤四

根据 MD5、API key 和 URL 完成代码并检测 (生成 report)。预期生成一个 格式化 (一行) 后的 json 文件 ,这里设定为一行是为了便于接下来 使用 AVCLASS2 标注 malware family name

示例代码如下:

    import json
    import requests

    # settings
    apikey = "a0283a2c3d55728300d064874239b5346fb991317e8449fe43c902879d******"  # cuckoo vt api key
    md5 = "5e31d16d6bf35ea117d6d2c4d42ea879"  # md5
    url = 'https://www.virustotal.com/api/v3/files/{}'.format(md5)  # url

    # get report
    session = requests.Session()
    session.headers = {'X-Apikey': apikey}
    response = session.get(url)  # requests.models.Response
    json_data = json.loads(response.text)  # str (response.text) to dict (json_data)

    # save report by json, one line show
    with open('./report.json', 'w', encoding='utf-8') as f:
        json.dump(json_data, f)

所得文件如下所示:

VirusTotal v3 API report (json)

7、VirusTotal 下载 Android malware

基于 VirusTotal 下载 Android malware 可参考 Cuckoo virustotal.py从 virustotal 上下载病毒样本


文章作者: Yude Bai
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Yude Bai !
  目录