mandiant / mandiant/capa-rules

[Rule Idea] - SWIFT information harvesting

Open
#233 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
736
Forks
245
Avg merge
4d 53m
Merged PRs (30d)
2

Description

## Prerequisites

* [x] Put an X between the brackets on this line if you have done all of the following:
* Checked that your rule idea isn't already filed: [search](https://github.com/fireeye/capa-rules/issues?q=is%3Aissue+is%3Aopen+)

## Summary
Similar to other collection rules , look for SWIFT information targeting.

## Examples
DYEPACK sample `4659dadbf5b07c8c3c36ae941f71b631737631bc3fded2fe2af250ceba98959a`

## Features
The malware in will craft sql statements looking for SWIFT related information.

Some examples:
```sql
SELECT MESG_S_UMID FROM SAAOWNER.MESG_%s WHERE MESG_SENDER_SWIFT_ADDRESS LIKE '%%%s%%' AND MESG_TRN_REF LIKE '%%%s%%';
```
```sql
DELETE FROM SAAOWNER.MESG_%s WHERE MESG_S_UMID = '%s';
```
```sql
DELETE FROM SAAOWNER.TEXT_%s WHERE TEXT_S_UMID = '%s';
```
```sql
SELECT * FROM (SELECT JRNL_DISPLAY_TEXT, JRNL_DATE_TIME FROM SAAOWNER.JRNL_%s WHERE JRNL_DISPLAY_TEXT LIKE '%%LT BBHOBDDHA: Log%%' ORDER BY JRNL_DATE_TIME DESC) A WHERE ROWNUM = 1;
```
```sql
SELECT MESG_FIN_CCY_AMOUNT FROM SAAOWNER.MESG_%s WHERE MESG_S_UMID = '%s';
```
```sql
SELECT MESG_S_UMID FROM SAAOWNER.MESG_%s WHERE MESG_SENDER_SWIFT_ADDRESS LIKE '%%%s%%' AND MESG_FIN_CCY_AMOUNT LIKE '%%%s%%';
```
```sql
UPDATE SAAOWNER.MESG_%s SET MESG_FIN_CCY_AMOUNT = '%s' WHERE MESG_S_UMID = '%s';
```
```sql
UPDATE SAAOWNER.TEXT_%s SET TEXT_DATA_BLOCK = UTL_RAW.CAST_TO_VARCHAR2('%s') WHERE TEXT_S_UMID = '%s';
```

## Additional context

## Rule details

### Namespace
`/collection/swift`

### References
- https://baesystemsai.blogspot.com/2016/04/two-bytes-to-951m.html

### Other rule meta information

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the listed DYEPACK sample and the SQL examples, then compare existing collection rules with the `/collection/swift` namespace. Done means the proposed rule captures the described SWIFT-related database activity and is supported by the provided sample.

Written by the indexing model from the issue text.

Assessment

Tech stack
sql
Domain
databases, security
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.