CAPE-parsers 0.1.44__py3-none-any.whl → 0.1.46__py3-none-any.whl

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.
Files changed (83) hide show
  1. cape_parsers/CAPE/community/AgentTesla.py +18 -9
  2. cape_parsers/CAPE/community/Arkei.py +13 -15
  3. cape_parsers/CAPE/community/AsyncRAT.py +4 -2
  4. cape_parsers/CAPE/community/AuroraStealer.py +9 -6
  5. cape_parsers/CAPE/community/Carbanak.py +7 -7
  6. cape_parsers/CAPE/community/CobaltStrikeBeacon.py +2 -1
  7. cape_parsers/CAPE/community/CobaltStrikeStager.py +4 -1
  8. cape_parsers/CAPE/community/DCRat.py +4 -2
  9. cape_parsers/CAPE/community/Fareit.py +8 -9
  10. cape_parsers/CAPE/community/KoiLoader.py +3 -3
  11. cape_parsers/CAPE/community/LokiBot.py +1 -1
  12. cape_parsers/CAPE/community/Lumma.py +49 -36
  13. cape_parsers/CAPE/community/NanoCore.py +9 -9
  14. cape_parsers/CAPE/community/Nighthawk.py +1 -0
  15. cape_parsers/CAPE/community/Njrat.py +4 -4
  16. cape_parsers/CAPE/community/PhemedroneStealer.py +2 -0
  17. cape_parsers/CAPE/community/Snake.py +29 -16
  18. cape_parsers/CAPE/community/SparkRAT.py +3 -1
  19. cape_parsers/CAPE/community/Stealc.py +86 -64
  20. cape_parsers/CAPE/community/VenomRAT.py +4 -2
  21. cape_parsers/CAPE/community/XWorm.py +4 -2
  22. cape_parsers/CAPE/community/XenoRAT.py +4 -2
  23. cape_parsers/CAPE/community/monsterv2.py +96 -0
  24. cape_parsers/CAPE/core/AdaptixBeacon.py +7 -5
  25. cape_parsers/CAPE/core/Azorult.py +5 -3
  26. cape_parsers/CAPE/core/BitPaymer.py +5 -2
  27. cape_parsers/CAPE/core/BlackDropper.py +10 -5
  28. cape_parsers/CAPE/core/Blister.py +12 -10
  29. cape_parsers/CAPE/core/BruteRatel.py +20 -7
  30. cape_parsers/CAPE/core/BumbleBee.py +29 -17
  31. cape_parsers/CAPE/core/DarkGate.py +3 -3
  32. cape_parsers/CAPE/core/DoppelPaymer.py +4 -2
  33. cape_parsers/CAPE/core/DridexLoader.py +4 -3
  34. cape_parsers/CAPE/core/Formbook.py +2 -2
  35. cape_parsers/CAPE/core/GuLoader.py +2 -5
  36. cape_parsers/CAPE/core/IcedID.py +5 -5
  37. cape_parsers/CAPE/core/IcedIDLoader.py +4 -4
  38. cape_parsers/CAPE/core/Latrodectus.py +10 -7
  39. cape_parsers/CAPE/core/Oyster.py +8 -6
  40. cape_parsers/CAPE/core/PikaBot.py +6 -6
  41. cape_parsers/CAPE/core/PlugX.py +3 -1
  42. cape_parsers/CAPE/core/QakBot.py +2 -1
  43. cape_parsers/CAPE/core/Quickbind.py +7 -11
  44. cape_parsers/CAPE/core/RedLine.py +2 -2
  45. cape_parsers/CAPE/core/Remcos.py +58 -50
  46. cape_parsers/CAPE/core/Rhadamanthys.py +18 -8
  47. cape_parsers/CAPE/core/SmokeLoader.py +2 -2
  48. cape_parsers/CAPE/core/Socks5Systemz.py +5 -5
  49. cape_parsers/CAPE/core/SquirrelWaffle.py +3 -3
  50. cape_parsers/CAPE/core/Strrat.py +1 -1
  51. cape_parsers/CAPE/core/WarzoneRAT.py +3 -2
  52. cape_parsers/CAPE/core/Zloader.py +21 -15
  53. cape_parsers/RATDecoders/test_rats.py +1 -0
  54. cape_parsers/__init__.py +13 -4
  55. cape_parsers/deprecated/BlackNix.py +59 -0
  56. cape_parsers/{CAPE/core → deprecated}/BuerLoader.py +1 -1
  57. cape_parsers/{CAPE/core → deprecated}/ChChes.py +3 -3
  58. cape_parsers/{CAPE/core → deprecated}/Enfal.py +1 -1
  59. cape_parsers/{CAPE/core → deprecated}/EvilGrab.py +5 -6
  60. cape_parsers/{CAPE/community → deprecated}/Greame.py +3 -1
  61. cape_parsers/{CAPE/core → deprecated}/HttpBrowser.py +7 -8
  62. cape_parsers/{CAPE/community → deprecated}/Pandora.py +2 -0
  63. cape_parsers/{CAPE/community → deprecated}/Punisher.py +2 -1
  64. cape_parsers/{CAPE/core → deprecated}/RCSession.py +7 -9
  65. cape_parsers/{CAPE/community → deprecated}/REvil.py +10 -5
  66. cape_parsers/{CAPE/core → deprecated}/RedLeaf.py +5 -7
  67. cape_parsers/{CAPE/community → deprecated}/Retefe.py +0 -2
  68. cape_parsers/{CAPE/community → deprecated}/Rozena.py +2 -5
  69. cape_parsers/{CAPE/community → deprecated}/SmallNet.py +6 -2
  70. {cape_parsers-0.1.44.dist-info → cape_parsers-0.1.46.dist-info}/METADATA +20 -1
  71. cape_parsers-0.1.46.dist-info/RECORD +112 -0
  72. cape_parsers/CAPE/community/BlackNix.py +0 -57
  73. cape_parsers/CAPE/core/Stealc.py +0 -21
  74. cape_parsers-0.1.44.dist-info/RECORD +0 -112
  75. /cape_parsers/{CAPE/community → deprecated}/BackOffLoader.py +0 -0
  76. /cape_parsers/{CAPE/community → deprecated}/BackOffPOS.py +0 -0
  77. /cape_parsers/{CAPE/core → deprecated}/Emotet.py +0 -0
  78. /cape_parsers/{CAPE/community → deprecated}/PoisonIvy.py +0 -0
  79. /cape_parsers/{CAPE/community → deprecated}/TSCookie.py +0 -0
  80. /cape_parsers/{CAPE/community → deprecated}/TrickBot.py +0 -0
  81. /cape_parsers/{CAPE/core → deprecated}/UrsnifV3.py +0 -0
  82. {cape_parsers-0.1.44.dist-info → cape_parsers-0.1.46.dist-info}/LICENSE +0 -0
  83. {cape_parsers-0.1.44.dist-info → cape_parsers-0.1.46.dist-info}/WHEEL +0 -0
@@ -47,7 +47,7 @@ def decodeREvilConfig(config_key, config_data):
47
47
  ECX = EAX = ESI = 0
48
48
 
49
49
  for char in init255:
50
- ESI = ((char & 0xFF) + (ord(key[EAX % len(key)]) + ESI)) & 0xFF
50
+ ESI = ((char & 0xFF) + (key[EAX % len(key)] + ESI)) & 0xFF
51
51
  init255[EAX] = init255[ESI] & 0xFF
52
52
  EAX += 1
53
53
  init255[ESI] = char & 0xFF
@@ -61,7 +61,7 @@ def decodeREvilConfig(config_key, config_data):
61
61
  ESI = (ESI + DL) & 0xFF
62
62
  init255[ECX] = init255[ESI]
63
63
  init255[ESI] = DL
64
- decoded_config.append((init255[((init255[ECX] + DL) & 0xFF)]) ^ ord(char))
64
+ decoded_config.append((init255[((init255[ECX] + DL) & 0xFF)]) ^ char)
65
65
  EAX = LOCAL1
66
66
 
67
67
  return json.loads("".join(map(chr, decoded_config)))
@@ -74,12 +74,17 @@ def extract_config(data):
74
74
 
75
75
  if len(pe.sections) == 5:
76
76
  section_names = getSectionNames(pe.sections)
77
- required_sections = (".text", ".rdata", ".data", ".reloc")
77
+ required_sections = (b".text", b".rdata", b".data", b".reloc")
78
78
 
79
- # print section_names
80
79
  if all(sections in section_names for sections in required_sections):
81
80
  # print("all required section names found")
82
- config_section_name = [resource for resource in section_names if resource not in required_sections][0]
81
+ section_names_set = set(section_names)
82
+ required_sections_set = set(required_sections)
83
+ config_section_names = section_names_set - required_sections_set
84
+ if len(config_section_names) == 1:
85
+ config_section_name = config_section_names.pop()
86
+ else:
87
+ return None # Or raise an exception, depending on desired behavior
83
88
  config_key, config_data = getREvilKeyAndConfig(pe.sections, config_section_name)
84
89
  if config_key and config_data:
85
90
  return decodeREvilConfig(config_key, config_data)
@@ -16,9 +16,7 @@ DESCRIPTION = "RedLeaf configuration parser."
16
16
  AUTHOR = "kevoreilly"
17
17
 
18
18
  import struct
19
-
20
19
  import pefile
21
-
22
20
  import yara
23
21
 
24
22
  rule_source = """
@@ -90,21 +88,21 @@ def extract_config(filebuf):
90
88
  end_config = {}
91
89
  c2_address = tmp_config[8 : 8 + MAX_IP_STRING_SIZE]
92
90
  if c2_address:
93
- end_config.setdefault("c2_address", []).append(c2_address)
91
+ end_config.setdefault("CNCs", []).append(c2_address)
94
92
  c2_address = tmp_config[0x48 : 0x48 + MAX_IP_STRING_SIZE]
95
93
  if c2_address:
96
- end_config.setdefault("c2_address", []).append(c2_address)
94
+ end_config.setdefault("CNCs", []).append(c2_address)
97
95
  c2_address = tmp_config[0x88 : 0x88 + MAX_IP_STRING_SIZE]
98
96
  if c2_address:
99
- end_config.setdefault("c2_address", []).append(c2_address)
97
+ end_config.setdefault("CNCs", []).append(c2_address)
100
98
  missionid = string_from_offset(tmp_config, 0x1EC)
101
99
  if missionid:
102
- end_config["missionid"] = missionid
100
+ end_config.setdefault("raw", {})["missionid"] = missionid
103
101
  mutex = unicode_string_from_offset(tmp_config, 0x508)
104
102
  if mutex:
105
103
  end_config["mutex"] = mutex
106
104
  key = string_from_offset(tmp_config, 0x832)
107
105
  if key:
108
- end_config["key"] = key
106
+ end_config["cryptokey"] = key
109
107
 
110
108
  return end_config
@@ -7,9 +7,7 @@ DESCRIPTION = "Retefe configuration parser."
7
7
  AUTHOR = "Tomasuh"
8
8
 
9
9
  import struct
10
-
11
10
  import pefile
12
-
13
11
  import yara
14
12
 
15
13
  rule_source = """
@@ -9,8 +9,5 @@ def extract_config(data: bytes):
9
9
  if matches:
10
10
  ip = "".join(".".join(f"{c}" for c in matches[0][0]))
11
11
  port = int.from_bytes(matches[0][1], byteorder="big")
12
-
13
- config_dict["C2"] = ip
14
- config_dict["Port"] = port
15
-
16
- return config_dict
12
+ config_dict["CNCs"] = f"{ip}:{port}"
13
+ return {}
@@ -96,8 +96,12 @@ def ver_5(data):
96
96
 
97
97
 
98
98
  def extract_config(data):
99
+ config = {}
99
100
  if "!!<3SAFIA<3!!" in data:
100
- return ver_52(data)
101
+ config = ver_52(data)
101
102
 
102
103
  elif "!!ElMattadorDz!!" in data:
103
- return ver_5(data)
104
+ config = ver_5(data)
105
+
106
+ if config:
107
+ return {"raw": config}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: CAPE-parsers
3
- Version: 0.1.44
3
+ Version: 0.1.46
4
4
  Summary: CAPE: Malware Configuration Extraction
5
5
  License: MIT
6
6
  Keywords: cape,parsers,malware,configuration
@@ -32,3 +32,22 @@ CAPE core and community parsers
32
32
 
33
33
  [![PyPI version](https://img.shields.io/pypi/v/CAPE-parsers)](https://pypi.org/project/CAPE-parsers/)
34
34
 
35
+ ### Configs structure
36
+ ```
37
+ CNCs: []
38
+ campaign: str
39
+ botnet: str
40
+ dga_seed: hex str
41
+ version: str
42
+ mutex: str
43
+ user_agent: str
44
+ build: str
45
+ cryptokey: str
46
+ cryptokey_type: str (algorithm). Ex: RC4, RSA public key. salsa20, (x)chacha20
47
+ raw: {any other data goes here}
48
+ ```
49
+ * All CNC entries should be in URL format. aka `<schema>://<hostname>:<port>/<uri>`
50
+ * Schema examples: `tcp://`, `ftp://`, `udp://`, `http(s)`, etc.
51
+ * Old CAPE configs still have lack of this structures as most of them are dead families.
52
+ * This CNC simplification make it easier to parse with tools like `tldextract` or `urlparse`
53
+
@@ -0,0 +1,112 @@
1
+ cape_parsers/CAPE/__init__.py,sha256=JcY8WPKzUFYgexwV1eyKIuT1JyNZzMJjBynlPSzxY_I,7
2
+ cape_parsers/CAPE/community/AgentTesla.py,sha256=rHhTmINQ0bGZEiJ5NhCKPhGobcifq3FDWZItgHTpBC8,3796
3
+ cape_parsers/CAPE/community/Arkei.py,sha256=k36qHxdo5yPa9V1cg7EImSWP06kMog0rBda4KXqLKCY,3783
4
+ cape_parsers/CAPE/community/AsyncRAT.py,sha256=0-FRT3d2x63KQ_cs1xmKFj7x0JRf7ID6QDc_DvBa0PM,1003
5
+ cape_parsers/CAPE/community/AuroraStealer.py,sha256=C0j9SZDJRi107PbfYZ9G168MCyqYItrI-XK5k0Bp4tE,2632
6
+ cape_parsers/CAPE/community/Carbanak.py,sha256=Smi_vTWDfWxYBQa661ZIy0624IYJA22LMHAJEQbstpk,5607
7
+ cape_parsers/CAPE/community/CobaltStrikeBeacon.py,sha256=Z40uxQ_OExtky7dIC372golAiuW9bR-_5TDBMBqsCo0,19427
8
+ cape_parsers/CAPE/community/CobaltStrikeStager.py,sha256=HLxROBjz453uHNq1bPz0VSAhtyWDfz79ZacTPdjuWmY,7535
9
+ cape_parsers/CAPE/community/DCRat.py,sha256=0-FRT3d2x63KQ_cs1xmKFj7x0JRf7ID6QDc_DvBa0PM,1003
10
+ cape_parsers/CAPE/community/Fareit.py,sha256=OyKeZdcvyAhjxZgJqkDPJHP4Npv1ArvTHJZ5F0C1Iac,1875
11
+ cape_parsers/CAPE/community/KoiLoader.py,sha256=F2gsgCvrVuwxY1bg8rlexsjCjikAP5HIGGOqU8zhT8E,4008
12
+ cape_parsers/CAPE/community/LokiBot.py,sha256=YGYfQ7Wr8PA2QW37yfoyh5cFAz2zxgOmpHOHIvy9CsM,5657
13
+ cape_parsers/CAPE/community/Lumma.py,sha256=Hz72U6i2apU6N5gj5IXnZ9HkbOqKDvW1EMnIge8sNQc,12167
14
+ cape_parsers/CAPE/community/NanoCore.py,sha256=8QZnf1AcY9481kSfsf3SHQShwPLn97peGAf8_xEasQc,6230
15
+ cape_parsers/CAPE/community/Nighthawk.py,sha256=8ss8yvslrwUt53zV6U0xuwGKU3hgYfOt13S5lkOVpNo,12105
16
+ cape_parsers/CAPE/community/Njrat.py,sha256=GiwSENBB43RUqyJ7zT7ZPkPUYqo8Ew4kd5MJUj0jzdc,4702
17
+ cape_parsers/CAPE/community/PhemedroneStealer.py,sha256=Z7_PdxC8bmd6P3AqOm7AHVRrbEVuREwMWbyLVHaAhK0,7095
18
+ cape_parsers/CAPE/community/QuasarRAT.py,sha256=dzVInOc-BPVRdArk92oEY4PKq1AEW04NUToL8UV-UGk,146
19
+ cape_parsers/CAPE/community/README.md,sha256=SHgVQraCdp033IQjM4Cm6t70U4kULn1MfSwTq3rsZv8,22
20
+ cape_parsers/CAPE/community/Snake.py,sha256=-x3Bfhs2HAuxNakUnAX1mm-mgtarJkD9U_fucmVY3u4,6638
21
+ cape_parsers/CAPE/community/SparkRAT.py,sha256=OVDty_1i9PTGuEumT0BHoDn0bD2UtdhHVNjThah80pg,2140
22
+ cape_parsers/CAPE/community/Stealc.py,sha256=RddvMmFmq85J3pCqtpACT1n6k02P1_GsxXIidtveNa4,5102
23
+ cape_parsers/CAPE/community/VenomRAT.py,sha256=0-FRT3d2x63KQ_cs1xmKFj7x0JRf7ID6QDc_DvBa0PM,1003
24
+ cape_parsers/CAPE/community/XWorm.py,sha256=0-FRT3d2x63KQ_cs1xmKFj7x0JRf7ID6QDc_DvBa0PM,1003
25
+ cape_parsers/CAPE/community/XenoRAT.py,sha256=0-FRT3d2x63KQ_cs1xmKFj7x0JRf7ID6QDc_DvBa0PM,1003
26
+ cape_parsers/CAPE/community/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
+ cape_parsers/CAPE/community/monsterv2.py,sha256=Y9DDN7OvC08QMGjN90sGA7E6A0fKG4tIKaQLiEcdjvQ,2995
28
+ cape_parsers/CAPE/core/AdaptixBeacon.py,sha256=40wMfrXt-7UG30WsLC5GxUtG6tSUaaP1OT-ntWzPZn0,2956
29
+ cape_parsers/CAPE/core/Azorult.py,sha256=YkMIhC6zRTxEkLVMUdr2MMsbV9iAnZ8hUS8be9GZ5N4,2150
30
+ cape_parsers/CAPE/core/BitPaymer.py,sha256=HQwoE0o7HMiXItxE08vBenf2ZWMxZp84-Hf_1eZ8QdE,3050
31
+ cape_parsers/CAPE/core/BlackDropper.py,sha256=sCSu2T5oPvcFHlSAzSsLj_gCv2Tldl0UPguwy0MVg6A,3282
32
+ cape_parsers/CAPE/core/Blister.py,sha256=wprcJMHixv4JHGqBjQeu26BJ6HgXeBMobh10Y-H6-Xg,18173
33
+ cape_parsers/CAPE/core/BruteRatel.py,sha256=_hFAYLbOsHdekWPOMXRmIYNXTNeNQSs3LZqh7xAVI2U,1147
34
+ cape_parsers/CAPE/core/BumbleBee.py,sha256=qyfvRw1pkc3lPsSrwg8y2W6_ciW3sluijdYcHe27iHY,10062
35
+ cape_parsers/CAPE/core/DarkGate.py,sha256=ppSRDfw-u2NltzQlrVvRwqxGaprShuv5CrwbNbnSvaw,3477
36
+ cape_parsers/CAPE/core/DoppelPaymer.py,sha256=LPAQ-7imcAWFciAd7Qb_r6js2PdIsTt9fRdYKoEkFMg,2537
37
+ cape_parsers/CAPE/core/DridexLoader.py,sha256=8NKppvGz7tVXnNTGEgS7R3LGn5vtW4xslQYbo38wQUg,7087
38
+ cape_parsers/CAPE/core/Formbook.py,sha256=rvf0BRuRl_v8K9SJuSSfbVVMWLSTEemIgP3NtPp2vFM,550
39
+ cape_parsers/CAPE/core/GuLoader.py,sha256=wH6t1e7rO60Bwe0ulqFdZq12-M087zT5WQtC_Wn2biU,354
40
+ cape_parsers/CAPE/core/IcedID.py,sha256=TEsvFq8qHz_D5kIURKWSC4lbvWaQbMriDZ3jQsVu2VA,4029
41
+ cape_parsers/CAPE/core/IcedIDLoader.py,sha256=YUOEILpTycO01KK4qqAxGSplsRVs2EzjscUw4T-DGWs,1602
42
+ cape_parsers/CAPE/core/Latrodectus.py,sha256=j7qq_R2fB9ls3jnm1zwWe-md29QONZN71I2MAQ0T0h4,7614
43
+ cape_parsers/CAPE/core/Oyster.py,sha256=QStBScevJuLyd5d4Rw093SxTlbRG1LFkDwYgmjZx-EQ,4881
44
+ cape_parsers/CAPE/core/PikaBot.py,sha256=6Q8goXfMsSoU8UkdE9iuZY2KTxX_AmWhH1szke_HfWA,5280
45
+ cape_parsers/CAPE/core/PlugX.py,sha256=lGwr1T3mttG6CTbZCj_Cf5HnOad60A3LP264jlCsGsc,13192
46
+ cape_parsers/CAPE/core/QakBot.py,sha256=SmXRuwOiaDLL7uN9RwCiQP62P3ctxGJ6y54zJG9yuyM,18230
47
+ cape_parsers/CAPE/core/Quickbind.py,sha256=5A077RFQQOL8dtr2Q9vmlTKsWk96JkRWuHGseApyTmU,3675
48
+ cape_parsers/CAPE/core/README.md,sha256=Zd84WEUj9NzKzGnVZV1jx6gMiEOtz01m32B7xEuS91k,17
49
+ cape_parsers/CAPE/core/RedLine.py,sha256=bZeKLvxaS6HDpWY4RDXtSEBt93qTNzZG5iE6FNS0dOY,5734
50
+ cape_parsers/CAPE/core/Remcos.py,sha256=nKn_4lwjX7xGkLGFmt3WAG1HEgmKCncIbkv7Je7W6vM,9477
51
+ cape_parsers/CAPE/core/Rhadamanthys.py,sha256=mx7kEF1e8LJZbwh2uUwU56ZKgrpLqZvYVDoqm-Dvl9w,6075
52
+ cape_parsers/CAPE/core/SmokeLoader.py,sha256=ruQ_GDiZvqtGxUTbN2N6fajUYWkIylFTvMXijgZ8L20,3890
53
+ cape_parsers/CAPE/core/Socks5Systemz.py,sha256=jSt6QejL5K99dIB3qdItvUHL28w6N60xuwc8EQHM5Mk,783
54
+ cape_parsers/CAPE/core/SquirrelWaffle.py,sha256=UMha7l60fL64VPHxueFUnCEGaO-CXau5ftEyK-Wv__o,3308
55
+ cape_parsers/CAPE/core/Strrat.py,sha256=PAKTzGZCdblXr4pNKsOpNOPhvcaAfRCiE9BtKAeOp0M,2240
56
+ cape_parsers/CAPE/core/WarzoneRAT.py,sha256=aHB6n-EX4uMZA93_R4yiFzRsvoqxfh7sdbtlAA-Ia2E,3780
57
+ cape_parsers/CAPE/core/Zloader.py,sha256=Etjowu5fZOW7fFykPNOTDhLWjTcdvtPZUy3s6R8ln8M,9598
58
+ cape_parsers/CAPE/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
+ cape_parsers/CAPE/core/test_cape.py,sha256=CrmghlO43hpnTLv0X8Dw4hTcrVHuJ0X20dPXcFpeWYo,31
60
+ cape_parsers/RATDecoders/README.md,sha256=SHgVQraCdp033IQjM4Cm6t70U4kULn1MfSwTq3rsZv8,22
61
+ cape_parsers/RATDecoders/__init__.py,sha256=JcY8WPKzUFYgexwV1eyKIuT1JyNZzMJjBynlPSzxY_I,7
62
+ cape_parsers/RATDecoders/test_rats.py,sha256=swkWvbnCd6_2aUP6MnIF4hyPL8zsdhtjlsBfx5Phgk4,610
63
+ cape_parsers/__init__.py,sha256=1xtenBXY23B8jf2x1fQ103qYFy0lBW12SN3HFJL7YfE,6243
64
+ cape_parsers/deprecated/BackOffLoader.py,sha256=gIwNDsWm1xGR9whKEEj1eTBB1-KTLY0_yNE50xVScKo,1402
65
+ cape_parsers/deprecated/BackOffPOS.py,sha256=lG7a_bXD3Exaoy-_lHpa90yiv_DesICFqClhqS_d8nk,1486
66
+ cape_parsers/deprecated/BlackNix.py,sha256=NPqXiHWt_UtLm35gi58UriEJRt_L_UWGfS8jvblAECM,2667
67
+ cape_parsers/deprecated/BuerLoader.py,sha256=ZA3IBl5JClHhgGxEVOS4DcihpZkX9FWPEituZcK6p58,1460
68
+ cape_parsers/deprecated/ChChes.py,sha256=RhuY8RnpUWVIZUNSCSComeyi4nHC9CyTwJdNVvhMxzg,2891
69
+ cape_parsers/deprecated/Emotet.py,sha256=aeQ0vwYvZXE8zZ0cgO7Funqsg53ogZow27LA7WeAFGM,41226
70
+ cape_parsers/deprecated/Enfal.py,sha256=J66KDwl3VBaEBt_zhAZ-ZYc_LVsE97armEOzCS0urz0,3902
71
+ cape_parsers/deprecated/EvilGrab.py,sha256=atGMTIpXSoCIZNR0WdKzHtL9Fhr_G7WRB4phyp74xfY,3996
72
+ cape_parsers/deprecated/Greame.py,sha256=pNxxyZzWuquZhZPmmkVhJvs_0444l_buqmsi8uOWILg,3690
73
+ cape_parsers/deprecated/Hancitor.py,sha256=onjSmfNGdw9fR96mTjwvJHFCxT6b7d-7fjP2PUsJP1g,2313
74
+ cape_parsers/deprecated/HttpBrowser.py,sha256=Ao0ZhMg6H7jGX6j86G7swF483TaIlvLppuHuhI025Ug,4541
75
+ cape_parsers/deprecated/JavaDropper.py,sha256=lbnvziAskmfeSs3un3uCujmQRTzV9cDDZKFSSXOJIYU,2716
76
+ cape_parsers/deprecated/Nymaim.py,sha256=OOHI1VlHZzCZW4SqiILUZVeQESpsMFxpCRYg_mksM04,8368
77
+ cape_parsers/deprecated/Pandora.py,sha256=LtGdlqU2rwDrEU3R2VzRNF5b-Mpry0w0bx9hc8WY4dI,2596
78
+ cape_parsers/deprecated/PoisonIvy.py,sha256=EFO-E91gkv5Byny8He81d7Wy-9yKPkM1ndWFhQrQ1pQ,4150
79
+ cape_parsers/deprecated/PredatorPain.py,sha256=CNG6zeak34_zGdeSaqFA5NNlvSWcVrjxpkUgqIsqjFs,6318
80
+ cape_parsers/deprecated/Punisher.py,sha256=vnvcOkAiv-LW_x0vxpb-uWP5MGcXhP9dZ13hOFt_Nbg,1354
81
+ cape_parsers/deprecated/RCSession.py,sha256=B6fuouLJQLOaPV9EPdnOByJjL9Nj0VPncW5M9nXlP1k,4397
82
+ cape_parsers/deprecated/REvil.py,sha256=8xxryaTlEtGnUTFQ1LMULVKOj09hBiPapaX4G7dbpW0,3055
83
+ cape_parsers/deprecated/RedLeaf.py,sha256=ID8R1hl4l83cZCnapkdDxCA9FVXWiSkJpYAuxUSjTXI,3947
84
+ cape_parsers/deprecated/Retefe.py,sha256=l2PcGcBDZFUhhOy1ACPREeykabt63dNtDZOnwREnqeU,5180
85
+ cape_parsers/deprecated/Rozena.py,sha256=z31LEQ8rwr-bkKlOrX3Hm1DmDg8HR-UwydWFDgy44G8,382
86
+ cape_parsers/deprecated/SmallNet.py,sha256=wKwDLBp1zTLrPOJkWX07mEPTp9izFLWCyd0r1fGt0_s,3948
87
+ cape_parsers/deprecated/TSCookie.py,sha256=f4b4HCnn6v3YkMrrmonR5WMdGO0vEiNe-ENhYHqfctk,5632
88
+ cape_parsers/deprecated/TrickBot.py,sha256=EdKOQtKlU0gLkWFiibpBmTIueRVYSqwYo0WCHmaRgGA,6967
89
+ cape_parsers/deprecated/UrsnifV3.py,sha256=Nu4X2l_zwlVMjvEa5gQRaR9SgYKL-C-C9onSmd2DtuU,5510
90
+ cape_parsers/deprecated/_ShadowTech.py,sha256=aMLJSVagsrg5Eb9LJyAZCUm78AtCHtRQOFAlWBQ_E10,3890
91
+ cape_parsers/deprecated/_VirusRat.py,sha256=ricU_b_7bEOqWoT3Z9u47YkHzTJ2o65P_8jZfsFH-ms,2697
92
+ cape_parsers/deprecated/_jRat.py,sha256=kZfrCaeLaiUKK_BXOWwqq3-xYPsiSDCQv1fs9zL5IzE,6575
93
+ cape_parsers/deprecated/unrecom.py,sha256=UxLwpW6w-aGsV6yUx8z35Qxj1v-5Z0pyCND894XXbgU,2076
94
+ cape_parsers/deprecated/xRAT.py,sha256=dey-MyJtnJOFsymC96xD_zlVyIwL0_Q7Lx2BgUu7494,4166
95
+ cape_parsers/malduck/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
96
+ cape_parsers/malduck/README.md,sha256=AnQYFz7opU0BriSbmNXP23lXYVo5a3s0MOsZRrKIUqI,1186
97
+ cape_parsers/malduck/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
+ cape_parsers/malduck/test_malduck.py,sha256=fiX-NXhgAFKN17bDQXVnTKQlMtCXIOSy-DZczrQ-_tE,243
99
+ cape_parsers/mwcp/README.md,sha256=SHgVQraCdp033IQjM4Cm6t70U4kULn1MfSwTq3rsZv8,22
100
+ cape_parsers/mwcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
+ cape_parsers/mwcp/test_mwcp.py,sha256=ZORPEQxIJeH68aKT_guI7EZqcwFrg4br5GgmsOvlbzo,191
102
+ cape_parsers/utils/__init__.py,sha256=JcY8WPKzUFYgexwV1eyKIuT1JyNZzMJjBynlPSzxY_I,7
103
+ cape_parsers/utils/aplib.py,sha256=U8m9p_IorZtcqk057eelaediLiyaIBdwqgP9JbIGcQY,5059
104
+ cape_parsers/utils/blzpack.py,sha256=y-myrTTkpY9qtM5WhyPxLeq-lQRaVZ5tLycwhjWWyAE,3042
105
+ cape_parsers/utils/blzpack_lib.so,sha256=5PJtnggw8fV5q4DlhwMJk4ZadvC3fFTsVTNZKvEYmUc,33368
106
+ cape_parsers/utils/dotnet_utils.py,sha256=pzQGbCqccz7DRv8T_i1JURlrKDIlDT2axxViiFF9hsU,1672
107
+ cape_parsers/utils/lznt1.py,sha256=X-BmJtP6AwYSl0ORg5dfSt-NIuXbHrtCO5kUaaJI2C8,4066
108
+ cape_parsers/utils/strings.py,sha256=a-nbvP9jYST7b6t_H37Ype-fK2jEmQr-wMF5a4i04e4,3062
109
+ cape_parsers-0.1.46.dist-info/LICENSE,sha256=88c01_HLG8WPj7R7aU_b-O-UoF38vrrifvcko4KDxcE,1069
110
+ cape_parsers-0.1.46.dist-info/METADATA,sha256=Kth4z4ynvX9pPUos60-6ZkId0-qpwLRegMArC-S5y-8,1753
111
+ cape_parsers-0.1.46.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
112
+ cape_parsers-0.1.46.dist-info/RECORD,,
@@ -1,57 +0,0 @@
1
- import pefile
2
-
3
-
4
- def extract_raw_config(raw_data):
5
- try:
6
- pe = pefile.PE(data=raw_data)
7
- rt_string_idx = [entry.id for entry in pe.DIRECTORY_ENTRY_RESOURCE.entries].index(pefile.RESOURCE_TYPE["RT_RCDATA"])
8
- rt_string_directory = pe.DIRECTORY_ENTRY_RESOURCE.entries[rt_string_idx]
9
- for entry in rt_string_directory.directory.entries:
10
- if str(entry.name) == "SETTINGS":
11
- data_rva = entry.directory.entries[0].data.struct.OffsetToData
12
- size = entry.directory.entries[0].data.struct.Size
13
- data = pe.get_memory_mapped_image()[data_rva : data_rva + size]
14
- return data.split("}")
15
- except Exception:
16
- return None
17
-
18
-
19
- def decode(line):
20
- return "".join(chr(ord(char) - 1) for char in line)
21
-
22
-
23
- def domain_parse(config):
24
- return [domain.split(":", 1)[0] for domain in config["Domains"].split(";")]
25
-
26
-
27
- def extract_config(data):
28
- try:
29
- config_raw = extract_raw_config(data)
30
- if config_raw:
31
- return {
32
- "Mutex": decode(config_raw[1])[::-1],
33
- "Anti Sandboxie": decode(config_raw[2])[::-1],
34
- "Max Folder Size": decode(config_raw[3])[::-1],
35
- "Delay Time": decode(config_raw[4])[::-1],
36
- "Password": decode(config_raw[5])[::-1],
37
- "Kernel Mode Unhooking": decode(config_raw[6])[::-1],
38
- "User More Unhooking": decode(config_raw[7])[::-1],
39
- "Melt Server": decode(config_raw[8])[::-1],
40
- "Offline Screen Capture": decode(config_raw[9])[::-1],
41
- "Offline Keylogger": decode(config_raw[10])[::-1],
42
- "Copy To ADS": decode(config_raw[11])[::-1],
43
- "Domain": decode(config_raw[12])[::-1],
44
- "Persistence Thread": decode(config_raw[13])[::-1],
45
- "Active X Key": decode(config_raw[14])[::-1],
46
- "Registry Key": decode(config_raw[15])[::-1],
47
- "Active X Run": decode(config_raw[16])[::-1],
48
- "Registry Run": decode(config_raw[17])[::-1],
49
- "Safe Mode Startup": decode(config_raw[18])[::-1],
50
- "Inject winlogon.exe": decode(config_raw[19])[::-1],
51
- "Install Name": decode(config_raw[20])[::-1],
52
- "Install Path": decode(config_raw[21])[::-1],
53
- "Campaign Name": decode(config_raw[22])[::-1],
54
- "Campaign Group": decode(config_raw[23])[::-1],
55
- }
56
- except Exception:
57
- return None
@@ -1,21 +0,0 @@
1
- import socket
2
- from contextlib import suppress
3
-
4
-
5
- def _is_ip(ip):
6
- try:
7
- socket.inet_aton(ip)
8
- return True
9
- except Exception:
10
- return False
11
-
12
-
13
- def extract_config(data):
14
- config_dict = {"C2s": []}
15
- with suppress(Exception):
16
- if data[:2] == b"MZ":
17
- return
18
- for line in data.decode().split("\n"):
19
- if _is_ip(line) and line not in config_dict["C2s"]:
20
- config_dict["C2s"].append(line)
21
- return config_dict
@@ -1,112 +0,0 @@
1
- cape_parsers/CAPE/__init__.py,sha256=JcY8WPKzUFYgexwV1eyKIuT1JyNZzMJjBynlPSzxY_I,7
2
- cape_parsers/CAPE/community/AgentTesla.py,sha256=T1gUd28eoCGA5by3ylAAK1naenF0fE3jgYx7UBkCRDk,3559
3
- cape_parsers/CAPE/community/Arkei.py,sha256=kXn949PC2CksavsL1BgvKgiAUDcq2NQUirosCTQcDF0,3790
4
- cape_parsers/CAPE/community/AsyncRAT.py,sha256=0nGLNnwnO93SPbCTgoIMvkh6_smuzQxDcYtL77afGx8,1001
5
- cape_parsers/CAPE/community/AuroraStealer.py,sha256=UUoxgJtDan3fE1r8aDEKweC_URkV97QHBp1Hq_n7ShI,2419
6
- cape_parsers/CAPE/community/BackOffLoader.py,sha256=gIwNDsWm1xGR9whKEEj1eTBB1-KTLY0_yNE50xVScKo,1402
7
- cape_parsers/CAPE/community/BackOffPOS.py,sha256=lG7a_bXD3Exaoy-_lHpa90yiv_DesICFqClhqS_d8nk,1486
8
- cape_parsers/CAPE/community/BlackNix.py,sha256=ToI6roQfjwJWb_a7mzwub8gqJnoUXmz-gLk_VPdH55o,2536
9
- cape_parsers/CAPE/community/Carbanak.py,sha256=G-v2wb1Zs5NTkFFfpnvlNaX_YZzDEAE2_sB5_blWxtM,5567
10
- cape_parsers/CAPE/community/CobaltStrikeBeacon.py,sha256=zZqvrK1TNLFsiQgTxo_0EN4sNIpM_WzyH7RGyk5oOnY,19399
11
- cape_parsers/CAPE/community/CobaltStrikeStager.py,sha256=fdT3gPfCtjqtohwYD5Z7bRWQgKqwbM_e4LuuaZxvl7g,7473
12
- cape_parsers/CAPE/community/DCRat.py,sha256=0nGLNnwnO93SPbCTgoIMvkh6_smuzQxDcYtL77afGx8,1001
13
- cape_parsers/CAPE/community/Fareit.py,sha256=NYkcF7Ddf7SqaSJwGesGTumTJ2p8AT9qBE4tNpiS9Ao,2003
14
- cape_parsers/CAPE/community/Greame.py,sha256=99W1aUoSNAQ9KMO85liel5rAN0Wutzo-m176iwfOzds,3633
15
- cape_parsers/CAPE/community/KoiLoader.py,sha256=ZTDm7tGGNFyW8N9l35_ta7ucBuE5AL9YprNR36kfid8,4029
16
- cape_parsers/CAPE/community/LokiBot.py,sha256=whdVVLqu760ai90Ep-_Ghc_Z1yaty9fMSOcnY5IajXc,5660
17
- cape_parsers/CAPE/community/Lumma.py,sha256=Q0n7Tl4WLUvW3Btg2jgPLQ2pmWejIMNJzWrhWO-fFAc,12028
18
- cape_parsers/CAPE/community/NanoCore.py,sha256=0dqhCoAyDJaYgAlbXIwCa1esfEuQSk5AtH1Rl4bj1l8,6120
19
- cape_parsers/CAPE/community/Nighthawk.py,sha256=eXnDqwabnrlRROg503oXYLEgotMW4hKeYwLas8SrkTc,12104
20
- cape_parsers/CAPE/community/Njrat.py,sha256=_noQM5058BYwTMcYCpcTD9gIxw4ANI35tUSLMAlN97Q,4713
21
- cape_parsers/CAPE/community/Pandora.py,sha256=d6R3AsDr5WOfKKyA6HI0yQ5Eo7_Eif5LspW0cm2wM5M,2522
22
- cape_parsers/CAPE/community/PhemedroneStealer.py,sha256=T6jMW73htNCRTqlEqeec9Y3p7BKuSmit3RvWFfd8IJ8,7032
23
- cape_parsers/CAPE/community/PoisonIvy.py,sha256=EFO-E91gkv5Byny8He81d7Wy-9yKPkM1ndWFhQrQ1pQ,4150
24
- cape_parsers/CAPE/community/Punisher.py,sha256=1CRo8Bg6O_S6k0aql7sSWH0bwU3Y5Ti_Rh6FRyeWYm0,1321
25
- cape_parsers/CAPE/community/QuasarRAT.py,sha256=dzVInOc-BPVRdArk92oEY4PKq1AEW04NUToL8UV-UGk,146
26
- cape_parsers/CAPE/community/README.md,sha256=SHgVQraCdp033IQjM4Cm6t70U4kULn1MfSwTq3rsZv8,22
27
- cape_parsers/CAPE/community/REvil.py,sha256=tTbcJPN0wdNeSZjD3egZ8_FKjLgf5IVOzUE1p-hPUdw,2806
28
- cape_parsers/CAPE/community/Retefe.py,sha256=belXWSqYPS5ApaepergVMF6I9iAI7k-mmPjQVEDRsS4,5182
29
- cape_parsers/CAPE/community/Rozena.py,sha256=NpU3GtNwrFivRNqMbjEqLueZCl76WP6RNuV0KDEpwuE,414
30
- cape_parsers/CAPE/community/SmallNet.py,sha256=Xg9jschAue_LnXZCUk1KUFj_CkKCdN7fHp6KWPROi_o,3881
31
- cape_parsers/CAPE/community/Snake.py,sha256=mpUSZmVyxvJA9rdlWV5J7nshT4zKYIucCddvFxnR4BI,6195
32
- cape_parsers/CAPE/community/SparkRAT.py,sha256=Fh7VPgIuTAiIzDbd-OS7WukQdgBfXIvVcT1Sx9OfxkA,2070
33
- cape_parsers/CAPE/community/Stealc.py,sha256=UyAcdt47Tgo-dSncW9J62egnqMa2vKVlFW6Zxd7hUGA,3763
34
- cape_parsers/CAPE/community/TSCookie.py,sha256=f4b4HCnn6v3YkMrrmonR5WMdGO0vEiNe-ENhYHqfctk,5632
35
- cape_parsers/CAPE/community/TrickBot.py,sha256=EdKOQtKlU0gLkWFiibpBmTIueRVYSqwYo0WCHmaRgGA,6967
36
- cape_parsers/CAPE/community/VenomRAT.py,sha256=0nGLNnwnO93SPbCTgoIMvkh6_smuzQxDcYtL77afGx8,1001
37
- cape_parsers/CAPE/community/XWorm.py,sha256=0nGLNnwnO93SPbCTgoIMvkh6_smuzQxDcYtL77afGx8,1001
38
- cape_parsers/CAPE/community/XenoRAT.py,sha256=0nGLNnwnO93SPbCTgoIMvkh6_smuzQxDcYtL77afGx8,1001
39
- cape_parsers/CAPE/community/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
- cape_parsers/CAPE/core/AdaptixBeacon.py,sha256=vjb2tK_Wpx4h71bImTJWyPJjrmr_4d6Z9_P827w_-48,2908
41
- cape_parsers/CAPE/core/Azorult.py,sha256=7AWPeOWhji7n13qTjq-XNPA8LDKcCOOUy8nbT0TUU_I,2145
42
- cape_parsers/CAPE/core/BitPaymer.py,sha256=N3Ssi_zNliKn1vt2Z1UndMGZg4CIOjf75XDdpCx2ITc,2898
43
- cape_parsers/CAPE/core/BlackDropper.py,sha256=OyplMDY4GFcBgqoZqbpCRIusNHhcxK2qZuH8bQu8qlw,3173
44
- cape_parsers/CAPE/core/Blister.py,sha256=JAh_lmWNGLjgMH53SDmN73J_x6RW2yrRsUKHGZ-U9ug,18106
45
- cape_parsers/CAPE/core/BruteRatel.py,sha256=8FhDHhVGB7qBEjKSujHHTgMeV1LlTXiljqb_yK6BS7U,758
46
- cape_parsers/CAPE/core/BuerLoader.py,sha256=X1PwdDypVyvOTEF7I44rED68uCQGBFQrcNOuJ9p60ic,1463
47
- cape_parsers/CAPE/core/BumbleBee.py,sha256=spDp7mAr6cAXvHFkVJqLdMwcDRonTLk2_EoTTrOiVVM,9837
48
- cape_parsers/CAPE/core/ChChes.py,sha256=h230wjgdLaAFYPWybHnz6Lve2OKPkzprxW5szBcK9hE,2905
49
- cape_parsers/CAPE/core/DarkGate.py,sha256=QGz6od5OGwdHHkmeU5OyXcevT7SapkNa8luu9WtNfKM,3464
50
- cape_parsers/CAPE/core/DoppelPaymer.py,sha256=jND9-9iqpAirrg0N9kCTgdiz6cvdKUx4k_1TC2DHIf0,2386
51
- cape_parsers/CAPE/core/DridexLoader.py,sha256=iABJTcq7Al6sdMrWfvi0BPj0znUyL-VQTffU1F4EpxA,7041
52
- cape_parsers/CAPE/core/Emotet.py,sha256=aeQ0vwYvZXE8zZ0cgO7Funqsg53ogZow27LA7WeAFGM,41226
53
- cape_parsers/CAPE/core/Enfal.py,sha256=4t2ccKq2MqQkPwnsiZBe2C00DutollcozCpNFNTsOT8,3908
54
- cape_parsers/CAPE/core/EvilGrab.py,sha256=gaxmG65ntiE8Y_MRKMtELICbBym1tvKpolpk1WMgN4I,3909
55
- cape_parsers/CAPE/core/Formbook.py,sha256=EMnrc-vNr2rfuQGkMiwKjodhsJV_qM5wQRvos1VHD3g,526
56
- cape_parsers/CAPE/core/GuLoader.py,sha256=2DgE2hMkkNO2KVdtF8B4PmuCDnkK64u7xPMHD--UZ8U,407
57
- cape_parsers/CAPE/core/HttpBrowser.py,sha256=rlJhbv06m3XkPb_oIN3dGrfl_uNxwR1tDv0M4ctstx8,4539
58
- cape_parsers/CAPE/core/IcedID.py,sha256=lKJZoRWQa-q0TNaylLCmm2hoj1h0wNP6eUmp-uI94pQ,4023
59
- cape_parsers/CAPE/core/IcedIDLoader.py,sha256=SQ3cqAnQ4elTiOrDQb5hMkFG-ymzek97yRNZd1967pA,1588
60
- cape_parsers/CAPE/core/Latrodectus.py,sha256=19bQUZBjPJ7sxz6OMpNVvsboq8LHO5z-fGGj9qC-lfA,7493
61
- cape_parsers/CAPE/core/Oyster.py,sha256=WVUimz6M3DxSnM6pnUI2s6hbLIQKiwhVs4KNwxEbJhE,4818
62
- cape_parsers/CAPE/core/PikaBot.py,sha256=s3jJL--NNwsvy9FkAADutbmqndlCZP6-ZI3W11p4QjE,5264
63
- cape_parsers/CAPE/core/PlugX.py,sha256=NiXAqkE5fFBioyRYALX8azaIo9pvfFfPP6xiLzO3TRQ,13156
64
- cape_parsers/CAPE/core/QakBot.py,sha256=SfYl6I78pSptAldoljdALJYFDyahCw9zfC26knPC69c,18198
65
- cape_parsers/CAPE/core/Quickbind.py,sha256=g5HQ7_yHROCy2Nv5o741GI7dH5mo8kD_beluc7NCY54,3728
66
- cape_parsers/CAPE/core/RCSession.py,sha256=U8O7fDI-uU1gJ_BLRjosF80FuNqhIgSV0RQXfQ9XXSg,4301
67
- cape_parsers/CAPE/core/README.md,sha256=Zd84WEUj9NzKzGnVZV1jx6gMiEOtz01m32B7xEuS91k,17
68
- cape_parsers/CAPE/core/RedLeaf.py,sha256=Eo49AKDSNmaIOnoRq1nVVhsxGEniejNkTiOXop8c_fw,3939
69
- cape_parsers/CAPE/core/RedLine.py,sha256=4veoGo4X1pApCn9dAFmFamfDsS-BROh_PuwiWcIwY8E,5704
70
- cape_parsers/CAPE/core/Remcos.py,sha256=WusmTiu5hwIeLCO75xmtrDFhIvaYefUJv79nSVhBdX4,9384
71
- cape_parsers/CAPE/core/Rhadamanthys.py,sha256=TuhWqOssRiTOEuCk_UXBd3SPz-V71pOCYLwpSaZXX2I,6107
72
- cape_parsers/CAPE/core/SmokeLoader.py,sha256=y3PGuAhGkvRSlbi1-PViv66LW4N8AA2Rc5UzxV_nRvw,3889
73
- cape_parsers/CAPE/core/Socks5Systemz.py,sha256=k5AdoNKl32m6g1MlOWw4EXvfqMJOFuyw5I0VkQicjRs,759
74
- cape_parsers/CAPE/core/SquirrelWaffle.py,sha256=ErCT5eeo5xiQTBzhpaS22PQ8pp-u-G4cjJ4bapjKT2U,3283
75
- cape_parsers/CAPE/core/Stealc.py,sha256=LJivSCnho9KrSp5Lbw5oRa8vdKm3y7cNxXaev4tdl-8,488
76
- cape_parsers/CAPE/core/Strrat.py,sha256=StKPm9Qx8iIIjWb-2P7Naow6sMSJ9tclXJcUQ8JUcWc,2243
77
- cape_parsers/CAPE/core/UrsnifV3.py,sha256=Nu4X2l_zwlVMjvEa5gQRaR9SgYKL-C-C9onSmd2DtuU,5510
78
- cape_parsers/CAPE/core/WarzoneRAT.py,sha256=Gk0eZVCNGgscNlpsbB123v4P5rvCeyf8avcTHRAd4aA,3725
79
- cape_parsers/CAPE/core/Zloader.py,sha256=OQI2zM_L98QiElOK1l26QGV0253sXbPoUfYLR2M2uHQ,9403
80
- cape_parsers/CAPE/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
- cape_parsers/CAPE/core/test_cape.py,sha256=CrmghlO43hpnTLv0X8Dw4hTcrVHuJ0X20dPXcFpeWYo,31
82
- cape_parsers/RATDecoders/README.md,sha256=SHgVQraCdp033IQjM4Cm6t70U4kULn1MfSwTq3rsZv8,22
83
- cape_parsers/RATDecoders/__init__.py,sha256=JcY8WPKzUFYgexwV1eyKIuT1JyNZzMJjBynlPSzxY_I,7
84
- cape_parsers/RATDecoders/test_rats.py,sha256=84bha95FLKXiLDzP_yAn6E9BJlfBPPE77KWSa4OzS4k,609
85
- cape_parsers/__init__.py,sha256=KeYDB482ZnBsNNXYGZNjFFdFJkSIOjmgGnAGlTRgCek,6220
86
- cape_parsers/deprecated/Hancitor.py,sha256=onjSmfNGdw9fR96mTjwvJHFCxT6b7d-7fjP2PUsJP1g,2313
87
- cape_parsers/deprecated/JavaDropper.py,sha256=lbnvziAskmfeSs3un3uCujmQRTzV9cDDZKFSSXOJIYU,2716
88
- cape_parsers/deprecated/Nymaim.py,sha256=OOHI1VlHZzCZW4SqiILUZVeQESpsMFxpCRYg_mksM04,8368
89
- cape_parsers/deprecated/PredatorPain.py,sha256=CNG6zeak34_zGdeSaqFA5NNlvSWcVrjxpkUgqIsqjFs,6318
90
- cape_parsers/deprecated/_ShadowTech.py,sha256=aMLJSVagsrg5Eb9LJyAZCUm78AtCHtRQOFAlWBQ_E10,3890
91
- cape_parsers/deprecated/_VirusRat.py,sha256=ricU_b_7bEOqWoT3Z9u47YkHzTJ2o65P_8jZfsFH-ms,2697
92
- cape_parsers/deprecated/_jRat.py,sha256=kZfrCaeLaiUKK_BXOWwqq3-xYPsiSDCQv1fs9zL5IzE,6575
93
- cape_parsers/deprecated/unrecom.py,sha256=UxLwpW6w-aGsV6yUx8z35Qxj1v-5Z0pyCND894XXbgU,2076
94
- cape_parsers/deprecated/xRAT.py,sha256=dey-MyJtnJOFsymC96xD_zlVyIwL0_Q7Lx2BgUu7494,4166
95
- cape_parsers/malduck/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
96
- cape_parsers/malduck/README.md,sha256=AnQYFz7opU0BriSbmNXP23lXYVo5a3s0MOsZRrKIUqI,1186
97
- cape_parsers/malduck/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
- cape_parsers/malduck/test_malduck.py,sha256=fiX-NXhgAFKN17bDQXVnTKQlMtCXIOSy-DZczrQ-_tE,243
99
- cape_parsers/mwcp/README.md,sha256=SHgVQraCdp033IQjM4Cm6t70U4kULn1MfSwTq3rsZv8,22
100
- cape_parsers/mwcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
- cape_parsers/mwcp/test_mwcp.py,sha256=ZORPEQxIJeH68aKT_guI7EZqcwFrg4br5GgmsOvlbzo,191
102
- cape_parsers/utils/__init__.py,sha256=JcY8WPKzUFYgexwV1eyKIuT1JyNZzMJjBynlPSzxY_I,7
103
- cape_parsers/utils/aplib.py,sha256=U8m9p_IorZtcqk057eelaediLiyaIBdwqgP9JbIGcQY,5059
104
- cape_parsers/utils/blzpack.py,sha256=y-myrTTkpY9qtM5WhyPxLeq-lQRaVZ5tLycwhjWWyAE,3042
105
- cape_parsers/utils/blzpack_lib.so,sha256=5PJtnggw8fV5q4DlhwMJk4ZadvC3fFTsVTNZKvEYmUc,33368
106
- cape_parsers/utils/dotnet_utils.py,sha256=pzQGbCqccz7DRv8T_i1JURlrKDIlDT2axxViiFF9hsU,1672
107
- cape_parsers/utils/lznt1.py,sha256=X-BmJtP6AwYSl0ORg5dfSt-NIuXbHrtCO5kUaaJI2C8,4066
108
- cape_parsers/utils/strings.py,sha256=a-nbvP9jYST7b6t_H37Ype-fK2jEmQr-wMF5a4i04e4,3062
109
- cape_parsers-0.1.44.dist-info/LICENSE,sha256=88c01_HLG8WPj7R7aU_b-O-UoF38vrrifvcko4KDxcE,1069
110
- cape_parsers-0.1.44.dist-info/METADATA,sha256=4VjbNtdc_w3GCdccHiWb_--tggZS7VT0OpdUG-Cu9DQ,1149
111
- cape_parsers-0.1.44.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
112
- cape_parsers-0.1.44.dist-info/RECORD,,
File without changes
File without changes
File without changes
File without changes