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: |