Skip to content

Commit 329d857

Browse files
committed
update sessions with scopes
1 parent 2ddbf39 commit 329d857

File tree

4 files changed

+12
-9
lines changed

4 files changed

+12
-9
lines changed

swat/emulations/collection/drive_access_private_keys.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
class Emulation(BaseEmulation):
1515
parser = BaseEmulation.load_parser(
1616
description='Stages sensitive encryption key files in Google Drive and accesses them via shared links.')
17-
parser.add_argument('session_key', default='default', help='Session to use for service building API service')
17+
parser.add_argument('--creds', default='default', help='Session to use for service building API service')
1818
parser.add_argument('folder_id', help='Google Drive Folder ID')
1919
parser.add_argument('--cleanup', action='store_true', default=False, help='Clean up staged files after execution')
2020

@@ -26,8 +26,8 @@ class Emulation(BaseEmulation):
2626
def __init__(self, **kwargs) -> None:
2727
super().__init__(**kwargs)
2828
self.folder_id = self.args.folder_id
29-
creds = self.obj.cred_store.get('default', validate_type='oauth')
30-
self.service = build('drive', 'v3', credentials=creds.session())
29+
creds = self.obj.cred_store.get(self.args.creds, validate_type='oauth')
30+
self.service = build('drive', 'v3', credentials=creds.session(scopes=self.scopes))
3131
# file extensions filtered to 5 for testing purposes
3232
self.file_extensions = [
3333
"token","assig", "pssc", "keystore", "pub", "pgp.asc", "ps1xml", "pem", "gpg.sig", "der", "key","p7r",

swat/emulations/initial_access/gmail_html_with_embedded_js.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,21 @@
1212
class Emulation(BaseEmulation):
1313

1414
parser = BaseEmulation.load_parser(description='Sends a phishing email to a user with a HTML attachment.')
15-
parser.add_argument('session_key', default='default', help='Session to use for service building API service')
15+
parser.add_argument('--creds', default='default', help='Session to use for service building API service')
1616
parser.add_argument('--recipient', required=True, help='Recipient email address')
1717
parser.add_argument('--sender', required=True, help='Sender email address')
1818
parser.add_argument('--subject', default='Phishing Test Email', help='Email subject')
1919
parser.add_argument('--attachment', default='swat_malicious', help='Attachment name')
2020

2121
techniques = ['T1566.001', 'T1204.002']
2222
name = 'Send HTML with Embedded Javascript with Gmail'
23-
scopes = ['gmail.send','gmail.readonly','gmail.compose']
23+
scopes = ['gmail.send', 'gmail.readonly','gmail.compose']
2424
services = ['gmail']
2525

2626
def __init__(self, **kwargs) -> None:
2727
super().__init__(**kwargs)
28-
self.service = build('gmail', 'v1', credentials=self.obj.cred_store.store[self.args.session_key].session)
28+
creds = self.obj.cred_store.get(self.args.creds, validate_type='oauth')
29+
self.service = build('gmail', 'v1', credentials=creds.session(scopes=self.scopes))
2930

3031
def create_html(self) -> io.BytesIO:
3132
"""Create an HTML file with embedded javascript."""

swat/emulations/persistence/admin_add_creds_to_users.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
class Emulation(BaseEmulation):
66

77
parser = BaseEmulation.load_parser(description='Adds cloud credentials to a user account.')
8-
parser.add_argument('session_key', default='default', help='Session to use for service building API service')
8+
parser.add_argument('--creds', default='default', help='Session to use for service building API service')
99
parser.add_argument('--username', required=True, help='Username to create')
1010
parser.add_argument('--password', required=True, help='Password for user')
1111

swat/emulations/persistence/admin_add_roles_to_users.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
class Emulation(BaseEmulation):
66

77
parser = BaseEmulation.load_parser(description='Add privileged roles to a user.')
8-
parser.add_argument('session_key', default='default', help='Session to use for service building API service')
8+
parser.add_argument('--creds', default='default', help='Session to use for service building API service')
99
parser.add_argument('--username', required=True, help='Username to add the role to')
1010
parser.add_argument('--roles', required=True, help='Roles to add')
1111

@@ -16,7 +16,9 @@ class Emulation(BaseEmulation):
1616

1717
def __init__(self, **kwargs) -> None:
1818
super().__init__(**kwargs)
19+
creds = self.obj.cred_store.get(self.args.creds, validate_type='oauth')
20+
self.session = creds.session(scopes=self.scopes)
1921

2022
def execute(self) -> None:
2123
self.elogger.info(self.exec_str(self.parser.description))
22-
self.elogger.info('Hello, world, from T1098!')
24+
self.elogger.info(f'Hello, world, from T1098! with session: {self.session}')

0 commit comments

Comments
 (0)