From aa197094d090830a732e52cc1752c4423c5a1abd Mon Sep 17 00:00:00 2001 From: Translator Date: Sat, 4 Jan 2025 17:56:52 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/ --- hacktricks-preprocessor.py | 38 ++++++++++++++++++- .../iam-passrole-codestar-createproject.md | 10 +++-- 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/hacktricks-preprocessor.py b/hacktricks-preprocessor.py index 7a4dd84a1..0077da80f 100644 --- a/hacktricks-preprocessor.py +++ b/hacktricks-preprocessor.py @@ -1,4 +1,5 @@ import json +import os import sys import re import logging @@ -26,7 +27,7 @@ def findtitle(search ,obj, key, path=(),): def ref(matchobj): - logger.debug(f'Match: {matchobj.groups(0)[0].strip()}') + logger.debug(f'Ref match: {matchobj.groups(0)[0].strip()}') href = matchobj.groups(0)[0].strip() title = href if href.startswith("http://") or href.startswith("https://"): @@ -69,8 +70,39 @@ def ref(matchobj): return result +def files(matchobj): + logger.debug(f'Files match: {matchobj.groups(0)[0].strip()}') + href = matchobj.groups(0)[0].strip() + title = "" + + try: + for root, dirs, files in os.walk(os.getcwd()+'/src/files'): + logger.debug(root) + logger.debug(files) + if href in files: + title = href + logger.debug(f'File search result: {os.path.join(root, href)}') + + except Exception as e: + logger.debug(e) + logger.debug(f'Error searching file: {href}') + print(f'Error searching file: {href}') + sys.exit(1) + + if title=="": + logger.debug(f'Error searching file: {href}') + print(f'Error searching file: {href}') + sys.exit(1) + + template = f"""{title}""" + + result = template + + return result + + def add_read_time(content): - regex = r'(# .*(?=\n))' + regex = r'(<\/style>\n# .*(?=\n))' new_content = re.sub(regex, lambda x: x.group(0) + "\n\nReading time: {{ #reading_time }}", content) return new_content @@ -104,6 +136,8 @@ if __name__ == '__main__': current_chapter = chapter regex = r'{{[\s]*#ref[\s]*}}(?:\n)?([^\\\n]*)(?:\n)?{{[\s]*#endref[\s]*}}' new_content = re.sub(regex, ref, chapter['content']) + regex = r'{{[\s]*#file[\s]*}}(?:\n)?([^\\\n]*)(?:\n)?{{[\s]*#endfile[\s]*}}' + new_content = re.sub(regex, files, chapter['content']) new_content = add_read_time(new_content) chapter['content'] = new_content diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/iam-passrole-codestar-createproject.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/iam-passrole-codestar-createproject.md index 9f319ceee..6b54112f2 100644 --- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/iam-passrole-codestar-createproject.md +++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/iam-passrole-codestar-createproject.md @@ -4,7 +4,7 @@ Met hierdie toestemmings kan jy **'n codestar IAM Rol misbruik** om **arbitraire aksies** deur 'n **cloudformation sjabloon** uit te voer. -Om dit te benut, moet jy 'n **S3-bucket skep wat toeganklik is** vanaf die aangevalde rekening. Laai 'n lêer op met die naam `toolchain.json`. Hierdie lêer moet die **cloudformation sjabloon exploit** bevat. Die volgende kan gebruik word om 'n bestuurde beleid aan 'n gebruiker onder jou beheer toe te ken en **admin-toestemmings** te gee: +Om dit te benut, moet jy 'n **S3-bucket skep wat toeganklik is** vanaf die aangevalde rekening. Laai 'n lêer op met die naam `toolchain.json`. Hierdie lêer moet die **cloudformation sjabloon exploit** bevat. Die volgende kan gebruik word om 'n bestuurde beleid aan 'n gebruiker onder jou beheer toe te ken en **administrateur toestemmings** te gee: ```json:toolchain.json { "Resources": { @@ -28,13 +28,15 @@ Om dit te benut, moet jy 'n **S3-bucket skep wat toeganklik is** vanaf die aange } } ``` -Laai ook hierdie `leë zip` lêer op na die **bucket**: +Laai ook hierdie `empty zip` lêer op na die **bucket**: -{% file src="../../../../images/empty.zip" %} +{{#file}} +empty.zip +{{#endfile}} Onthou dat die **bucket met albei lêers toeganklik moet wees deur die slagoffer rekening**. -Met albei dinge opgelaai kan jy nou voortgaan met die **uitbuiting** deur 'n **codestar** projek te skep: +Met albei dinge opgelaai kan jy nou voortgaan met die **exploitation** deur 'n **codestar** projek te skep: ```bash PROJECT_NAME="supercodestar"