Skip to content

Commit 955322e

Browse files
Sync RTA Base64 Shebang Payload Decoded via Built-in Utility (#4181)
Co-authored-by: shashank-elastic <[email protected]> (cherry picked from commit 2e1daee)
1 parent 19443fc commit 955322e

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
2+
# or more contributor license agreements. Licensed under the Elastic License
3+
# 2.0; you may not use this file except in compliance with the Elastic License
4+
# 2.0.
5+
6+
import sys
7+
from . import RtaMetadata, common
8+
9+
metadata = RtaMetadata(
10+
uuid="074901e7-118b-4536-bbed-0e57c319ba2a",
11+
platforms=["linux"],
12+
endpoint=[
13+
{
14+
"rule_name": "Base64 Shebang Payload Decoded via Built-in Utility",
15+
"rule_id": "e659b4b9-5bbf-4839-96b9-b489334b4ca1",
16+
},
17+
],
18+
techniques=["T1027", "T1140", "T1059", "T1204"],
19+
)
20+
21+
22+
@common.requires_os(*metadata.platforms)
23+
def main() -> None:
24+
common.log("Creating a fake executable..")
25+
masquerade = "/tmp/base64"
26+
27+
source = common.get_path("bin", "linux.ditto_and_spawn")
28+
common.copy_file(source, masquerade)
29+
common.log("Granting execute permissions...")
30+
common.execute(["chmod", "+x", masquerade])
31+
32+
commands = [masquerade, '-d', 'IyEvdXNyL2Jpbi9weXRob24']
33+
common.execute([*commands], timeout=5, kill=True)
34+
common.log("Cleaning...")
35+
common.remove_file(masquerade)
36+
common.log("Simulation successfull!")
37+
38+
39+
if __name__ == "__main__":
40+
sys.exit(main())

0 commit comments

Comments
 (0)