Skip to content

Commit 6ef8483

Browse files
committed
Revert "Update aws-credentials.py"
This reverts commit fc0c615.
1 parent fc0c615 commit 6ef8483

1 file changed

Lines changed: 17 additions & 14 deletions

File tree

nxc/modules/aws-credentials.py

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,32 +14,35 @@ class NXCModule:
1414
def __init__(self):
1515
self.search_path_linux = "'/home/' '/tmp/'"
1616
self.search_path_win = "'C:\\Users\\', 'C:\\ProgramData\\AWSCLI\\', 'C:\\Temp\\'"
17-
1817

1918
def options(self, context, module_options):
2019
r"""
2120
SEARCH_PATH_LINUX Linux location where to search for aws credentials related files
22-
Default: '/home/ - /tmp/'
23-
21+
Default: "'/home/' '/tmp/'"
22+
2423
SEARCH_PATH_WIN Windows locations where to search for aws credentials related files
25-
Default: 'C:\\Users\\ - C:\\ProgramData\\AWSCLI\\ - C:\\Temp\\
24+
Default: "'C:\\Users\\', 'C:\\ProgramData\\AWSCLI\\', 'C:\\Temp\\'"
2625
"""
2726
if "SEARCH_PATH_LINUX" in module_options:
2827
self.search_path_linux = module_options["SEARCH_PATH_LINUX"]
2928

3029
if "SEARCH_PATH_WIN" in module_options:
3130
self.search_path_win = module_options["SEARCH_PATH_WIN"]
3231

33-
def on_login(self, context, connection):
34-
# search for aws_credentials-related files on linux systems
32+
def on_login(self, context, connection):
33+
# search for aws_credentials-related files on linux systems
3534
if "ssh" in context.protocol:
36-
search_aws_creds_files_payload = "find %s -type f -name credentials -exec grep -l 'aws_' {} \\; 2>&1 | grep -v 'Permission denied$'" % (self.search_path_linux)
35+
search_aws_creds_files_payload = f"find {self.search_path_linux} -type f -name credentials -o -name credentials.bk -o -name config.bk -o -name config"
3736
search_aws_creds_files_cmd = f'/bin/bash -c "{search_aws_creds_files_payload}"'
38-
search_aws_creds_files_output = connection.execute(search_aws_creds_files_cmd, False)
39-
context.log.highlight(f"The following files were found: {search_aws_creds_files_output}")
37+
output = connection.execute(search_aws_creds_files_cmd)
4038
else:
41-
# search for aws_credentials-related files on windows systems
42-
search_aws_creds_files_payload_win = "Get-ChildItem -Path %s -Recurse -Force -Include 'credentials' -File -ErrorAction SilentlyContinue | Where-Object { Select-String -Path $_.FullName -Pattern 'aws' -Quiet } | Select-Object -ExpandProperty FullName" % (self.search_path_win)
43-
search_aws_creds_files_cmd_win = f'powershell.exe "{search_aws_creds_files_payload_win}"'
44-
search_aws_creds_files_output_win = connection.execute(search_aws_creds_files_cmd_win, False)
45-
context.log.highlight(f"The following files were found: {search_aws_creds_files_output_win}")
39+
# search for aws_credentials-related files on windows systems
40+
# we have to exclude "Application Data" as this creates an infinite recursion, see: https://www.reddit.com/r/PowerShell/comments/17pctnv/symbolic_link_application_data_in_appdatalocal/
41+
search_aws_creds_files_payload_win = f"Get-ChildItem -Path {self.search_path_win} -Recurse -Include ('credentials','credentials.bk','config','config.bk') -Force -ErrorAction SilentlyContinue | ? {{ $_.FullName -inotmatch 'Application Data' }} | Select FullName -ExpandProperty FullName"
42+
search_aws_creds_files_cmd_win = f'powershell.exe "{search_aws_creds_files_payload_win}"'
43+
output = connection.execute(search_aws_creds_files_cmd_win, True)
44+
45+
if output:
46+
context.log.success("The following files were found:")
47+
for line in output.splitlines():
48+
context.log.highlight(line.rstrip())

0 commit comments

Comments
 (0)