CAPE-parsers 0.1.38__tar.gz → 0.1.41__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/PKG-INFO +1 -1
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Lumma.py +8 -8
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/pyproject.toml +1 -1
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/LICENSE +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/README.md +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/__init__.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/AgentTesla.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Arkei.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/AsyncRAT.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/AuroraStealer.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/BackOffLoader.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/BackOffPOS.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/BlackNix.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Carbanak.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/CobaltStrikeBeacon.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/CobaltStrikeStager.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/DCRat.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Fareit.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Greame.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/KoiLoader.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/LokiBot.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/NanoCore.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Nighthawk.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Njrat.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Pandora.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/PhemedroneStealer.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/PoisonIvy.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Punisher.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/QuasarRAT.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/README.md +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/REvil.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Retefe.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Rozena.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/SmallNet.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Snake.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/SparkRAT.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/Stealc.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/TSCookie.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/TrickBot.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/VenomRAT.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/XWorm.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/XenoRAT.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/__init__.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/AdaptixBeacon.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Azorult.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/BitPaymer.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/BlackDropper.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Blister.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/BruteRatel.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/BuerLoader.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/BumbleBee.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/ChChes.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/DarkGate.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/DoppelPaymer.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/DridexLoader.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Emotet.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Enfal.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/EvilGrab.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Formbook.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/GuLoader.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/HttpBrowser.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/IcedID.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/IcedIDLoader.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Latrodectus.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Oyster.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/PikaBot.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/PlugX.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/QakBot.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Quickbind.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/RCSession.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/README.md +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/RedLeaf.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/RedLine.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Remcos.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Rhadamanthys.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/SmokeLoader.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Socks5Systemz.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/SquirrelWaffle.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Strrat.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/UrsnifV3.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/WarzoneRAT.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/Zloader.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/__init__.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/core/test_cape.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/RATDecoders/README.md +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/RATDecoders/__init__.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/RATDecoders/test_rats.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/__init__.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/deprecated/Hancitor.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/deprecated/JavaDropper.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/deprecated/Nymaim.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/deprecated/PredatorPain.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/deprecated/_ShadowTech.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/deprecated/_VirusRat.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/deprecated/_jRat.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/deprecated/unrecom.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/deprecated/xRAT.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/malduck/LICENSE +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/malduck/README.md +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/malduck/__init__.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/malduck/test_malduck.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/mwcp/README.md +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/mwcp/__init__.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/mwcp/test_mwcp.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/utils/__init__.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/utils/aplib.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/utils/blzpack.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/utils/blzpack_lib.so +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/utils/dotnet_utils.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/utils/lznt1.py +0 -0
- {cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/utils/strings.py +0 -0
|
@@ -43,7 +43,6 @@ RULE_SOURCE_LUMMA_NEW_KEYS = """rule LummaConfigNewKeys
|
|
|
43
43
|
author = "YungBinary"
|
|
44
44
|
strings:
|
|
45
45
|
$key_nonce = {
|
|
46
|
-
88 44 24 ??
|
|
47
46
|
B8 ?? ?? ?? ??
|
|
48
47
|
BF ?? ?? ?? ??
|
|
49
48
|
B9 08 00 00 00
|
|
@@ -62,11 +61,12 @@ RULE_SOURCE_LUMMA_NEW_ENCRYPTED_C2 = """rule LummaConfigNewEncryptedStrings
|
|
|
62
61
|
author = "YungBinary"
|
|
63
62
|
strings:
|
|
64
63
|
$encrypted_array = {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
8D 80 ?? ?? ?? ??
|
|
64
|
+
C1 E? 07
|
|
65
|
+
8D 8? [4]
|
|
68
66
|
8D 74 24 10
|
|
69
|
-
FF
|
|
67
|
+
FF [1-3]
|
|
68
|
+
56
|
|
69
|
+
5?
|
|
70
70
|
}
|
|
71
71
|
condition:
|
|
72
72
|
uint16(0) == 0x5A4D and $encrypted_array
|
|
@@ -285,16 +285,16 @@ def extract_config(data):
|
|
|
285
285
|
key = None
|
|
286
286
|
nonce = None
|
|
287
287
|
for offset in yara_scan_generator(data, RULE_SOURCE_LUMMA_NEW_KEYS):
|
|
288
|
-
key_rva = struct.unpack('i', data[offset +
|
|
288
|
+
key_rva = struct.unpack('i', data[offset + 1 : offset + 5])[0]
|
|
289
289
|
key_offset = pe.get_offset_from_rva(key_rva - image_base)
|
|
290
290
|
key = data[key_offset : key_offset + 32]
|
|
291
|
-
nonce_rva = struct.unpack('i', data[offset +
|
|
291
|
+
nonce_rva = struct.unpack('i', data[offset + 20 : offset + 24])[0]
|
|
292
292
|
nonce_offset = pe.get_offset_from_rva(nonce_rva - image_base)
|
|
293
293
|
nonce = b'\x00\x00\x00\x00' + data[nonce_offset : nonce_offset + 8]
|
|
294
294
|
|
|
295
295
|
if key and nonce:
|
|
296
296
|
for offset in yara_scan_generator(data, RULE_SOURCE_LUMMA_NEW_ENCRYPTED_C2):
|
|
297
|
-
encrypted_strings_rva = struct.unpack('i', data[offset +
|
|
297
|
+
encrypted_strings_rva = struct.unpack('i', data[offset + 5 : offset + 9])[0]
|
|
298
298
|
encrypted_strings_offset = pe.get_offset_from_rva(encrypted_strings_rva - image_base)
|
|
299
299
|
step_size = 0x80
|
|
300
300
|
counter = 2
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/CobaltStrikeBeacon.py
RENAMED
|
File without changes
|
{cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/CobaltStrikeStager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cape_parsers-0.1.38 → cape_parsers-0.1.41}/cape_parsers/CAPE/community/PhemedroneStealer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|