detect-ransomware-filenames

Detect Ransomware Filenames

This package/script watches SMB transactions to look for known bad filenames that ransomware is known to use. It rides on top of the Anti-Ransomware File System Resource Manager Lists maintained here.

How to use

A Python script (download-list.py) is included to be able to refresh the list periodically. By default, it will download the new file to the inputs/ folder.

Installing

This package is available via zkg, however since it has two parts (the script and the input file), it's often better to install it manually.

For Zeek

For Zeek, place the scripts/check-for-ransomware-filenames.zeek script and inputs/fsrm_patterns_for_zeek.tsv files into a directory together, then edit your local.zeek file to add a line like the following:

@load /path/to/check-for-ransomware-filenames.zeek

For Corelight

For a Corelight appliance, use zkg to add this repository to a custom bundle, with any other custom packages that you want to load. Use corelight-client to install this bundle.

Then, use corelight-client to load the Input file, like so:

corelight-client -b <sensor IP> bro input upload --name fsrm_patterns_for_zeek.tsv --file fsrm_patterns_for_zeek.tsv

Sample Output

The script generates notices like the following:

{
  "_path": "notice",
  "_system_name": "bas-cl-swsensor-01",
  "_write_ts": "2020-04-27T21:40:10.494579Z",
  "_node": "worker-02",
  "ts": "2020-04-27T21:40:10.494579Z",
  "uid": "CNhUff2G2TzzRoQi45",
  "note": "Ransomware::KnownBadFilename",
  "msg": "Detected potential ransomware! Known bad file name: test3.hj36MM in use by client 10.0.2.51 on file server 172.16.4.66",
  "src": "10.0.2.51",
  "dst": "172.16.4.66",
  "peer_descr": "worker-02",
  "actions": [
    "Notice::ACTION_LOG"
  ],
  "suppress_for": 3600
}

If/when you get a notice, investigate, ideally as quickly as possible!

License

Please read the license file here for information about the license for this software.

Package Version :