I hereby claim:
- I am baderj on github.
- I am baderj (https://keybase.io/baderj) on keybase.
- I have a public key whose fingerprint is 7530 7937 A795 95FD AB48 22BB AC3C 4431 B7A7 41E6
To claim this, I am signing this object:
| rule win_matiex_keylogger_v1 { | |
| meta: | |
| author = "Johannes Bader @viql" | |
| date = "2020-07-20" | |
| description = "detects the Matiex Keylogger" | |
| tlp = "white" | |
| strings: | |
| $obfuscator_1 = "OiCuntJollyGoodDayYeHavin_____________________________________________________" |
| network | |
| working | |
| group | |
| eastlake | |
| request | |
| for | |
| comments | |
| motorola | |
| laboratories | |
| updates |
| import hashlib | |
| from datetime import datetime, timedelta | |
| import argparse | |
| def dga(date, key): | |
| for min17 in range(1020): | |
| seed = 8*[0] | |
| seed[0] = (date.year & 0xFF + 0x30) & 0xFF | |
| seed[1] = date.month & 0xFF |
| # see http://www.johannesbader.ch/2015/03/the-dga-of-dircrypt/ | |
| import argparse | |
| class RandInt: | |
| def __init__(self, seed): | |
| self.seed = seed | |
| def rand_int_modulus(self, modulus): | |
| ix = self.seed |
I hereby claim:
To claim this, I am signing this object:
| Tinba Seeds | |
| =========== | |
| DGA described here: http://garage4hackers.com/entry.php?b=3086 | |
| ## Sample 241182633670431857e068736088c737 | |
| harddomain: blackfreeqazyio.cc | |
| seed: jc74FlUna852Ji9o | |
| malwr link: https://malwr.com/analysis/OTQ3NjYzNmUyZDQ2NGY2YTk1NDNjNmYxYTdlMmQ1MjM/ |
| import argparse | |
| def get_domains(nr, how_many): | |
| bases = { | |
| 1: { | |
| 'length': 7, | |
| 'tld': 'com', | |
| 'key': '1676d5775e05c50b46baa5579d4fc7', | |
| 'base': 0x45AE94B2 | |
| }, |
| """ | |
| generate domains according to: | |
| - https://www.endgame.com/blog/malware-with-a-personal-touch.html | |
| - http://www.rsaconference.com/writable/presentations/file_upload/br-r01-end-to-end-analysis-of-a-domain-generating-algorithm-malware-family.pdf | |
| requires words1.txt and words2.txt | |
| """ | |
| import time | |
| from datetime import datetime | |
| import argparse |
| 10006520 ; =============== S U B R O U T I N E ======================================= | |
| 10006520 | |
| 10006520 ; Attributes: bp-based frame | |
| 10006520 | |
| 10006520 ; int __cdecl create_domain(int third_lvl_len, int second_and_top_lvl, size_t type) | |
| 10006520 create_domain proc near ; CODE XREF: calls_create_next_url+A30p | |
| 10006520 ; sub_1000B530+1A6p ... | |
| 10006520 | |
| 10006520 first_letters = dword ptr -0Ch | |
| 10006520 second_letters = dword ptr -8 |
| import argparse | |
| from datetime import datetime | |
| seed_const = 42 | |
| days_period = 16 | |
| nr_of_domains = 64 | |
| third_lvl_min_len = 8 | |
| third_lvl_max_len = 15 | |
| class Rand: |