Add Quark malware analysis report for EventBot - #961
Merged
Merged
Conversation
Adds a report-only entry for EventBot (S0478), an Android banking trojan and information stealer documented by Cybereason in March 2020 that targets more than 200 financial applications. Quark flagged 3 of 3 EventBot samples as high-risk (detection rate 100%). Three MITRE ATT&CK Mobile techniques were confirmed with attacker- namespace evidence, all inside Lcom/example/eventbot/func: - T1418 Software Discovery — regOnWeb calls getAllApps to enumerate installed apps and persist the inventory - T1624.001 Broadcast Receivers — doSMS receives the SMS broadcast and dispatches to parseSMS - T1636.004 SMS Messages — parseSMS reads the message body and sends it to the C2 over HTTP The 11 remaining techniques are classified in coverage-gap notes: 4 where both of a rule's APIs are present but no single method calls both, 2 whose representative method sat in bundled library code, 2 with no matching rule in the pool, and 3 the samples do not exhibit. No new Quark rule is generated in this run. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #961 +/- ##
=======================================
Coverage 80.29% 80.29%
=======================================
Files 82 82
Lines 7192 7192
=======================================
Hits 5775 5775
Misses 1417 1417
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
EventBot Malware Family Analysis Report
This report analyses the EventBot malware family using Quark's rule classification. EventBot is an Android banking trojan and information stealer, first documented by Cybereason in March 2020, that abuses Android's accessibility service to harvest data from more than 200 banking, money-transfer and cryptocurrency-wallet applications, and reads incoming SMS to defeat two-factor authentication. This run did not generate a new rule for EventBot: the family's distinctive bytecode patterns (installed-app enumeration, SMS broadcast interception, and SMS-body exfiltration over HTTP) are already covered by Quark's existing rule set. Check here for the rule set details.
Quark's rule classification flagged 3 of 3 EventBot samples as high-risk in this experiment (detection rate 100%). Benign-cohort false-positive rate was not measured here. See tested APKs below.
Identified Well-Known Threats
This section uses MITRE ATT&CK Mobile as its reference taxonomy, anchored to the S0478 EventBot software entry. Of the 14 techniques documented for the family, Quark's static bytecode analysis surfaces the 3 listed below; see the coverage-gap notes at the end of this section for why the other 11 are not demonstrated here.
All cluster representatives below were extracted from sample
05782e267bd62de78a3db22b1a83ddd3c72cbef95f5a5bc9defdd42a4f5786ec.apk, chosen as the representative sample whose detected behaviors most fully cover the documented profile of EventBot. The other 2 family samples were used to compute the detection-rate figure above.Each section below corresponds to one technique from the table above. Within each section we first quote the MITRE definition, then walk through the call sequence and list the underlying rules.
1. T1418 Software Discovery
T1418 Software Discovery — attack.mitre.org
Lcom/example/eventbot/func;regOnWeb— the routine that registers the freshly infected device with the operator's web panel — calls the helperLcom/example/eventbot/func;getAllApps, which enumerates every installed application and writes the resulting list into shared preferences. The inventory is then included in the registration payload, letting the operator decide which of EventBot's 200-plus targeted banking apps are worth attacking on this device.Behaviors detected by Quark:
2. T1624.001 Broadcast Receivers
T1624.001 Broadcast Receivers — attack.mitre.org
This section covers the trigger mechanism.
Lcom/example/eventbot/func;doSMSis the broadcast-receiver entry point: it inspects the incoming intent's action to confirm an SMS-received broadcast, then dispatches toLcom/example/eventbot/func;parseSMS. Because the receiver is bound to a system event rather than to app lifecycle, it runs whenever a message arrives, giving EventBot execution without the user opening the app.Behaviors detected by Quark:
3. T1636.004 SMS Messages
T1636.004 SMS Messages — attack.mitre.org
This section covers what the receiver collects, once triggered by the mechanism in the previous section.
Lcom/example/eventbot/func;parseSMSextracts the message body from the intent and passes it to EventBot's HTTP sender, which posts it to the C2. This is the step that defeats SMS-based two-factor authentication: one-time codes are read and exfiltrated before or alongside the victim seeing them.Behaviors detected by Quark:
Coverage-gap notes
The 11 MITRE techniques documented for EventBot that this report does NOT demonstrate, grouped by the reason Quark could not confirm them on these samples:
The rule's two APIs are both present, but no single method calls both (4) — Quark confirms a rule only when one method reaches both of its APIs, so it can trace the value from the first call into the second. For each technique below a rule exists and its APIs are present in the samples (Quark's stage 2 passes), but EventBot splits the work across separate small helpers, so stage 3 never finds a method holding both.
Behavior confirmed, but every candidate representative sat in bundled library code (2) — the evidence exists and passed validation, but the methods holding it belong to third-party code, so attributing the behavior to EventBot would be wrong.
No rule in the current pool targets the technique (2)
The samples do not exhibit the behavior (3) — these are honest non-detections rather than tooling limits. Cybereason documented EventBot as still under active development when discovered, and the capabilities below are absent from the builds in this cohort.
getRootInActiveWindow, reading node text and content descriptionsList of Tested APKs
The table below lists the APKs we tested.