Skip to content

Commit 051d2f1

Browse files
author
Brent Cook
committed
Land rapid7#4302, zeroSteiner's fix getuid for the python meterpreter
2 parents 8f2e444 + 83b0ac0 commit 051d2f1

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

data/meterpreter/ext_server_stdapi.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -675,8 +675,10 @@ def channel_open_stdapi_net_tcp_server(request, response):
675675
@meterpreter.register_function
676676
def stdapi_sys_config_getenv(request, response):
677677
for env_var in packet_enum_tlvs(request, TLV_TYPE_ENV_VARIABLE):
678-
pgroup = ''
679-
env_var = env_var['value'].translate(None, '%$')
678+
pgroup = bytes()
679+
env_var = env_var['value']
680+
env_var = env_var.replace('%', '')
681+
env_var = env_var.replace('$', '')
680682
env_val = os.environ.get(env_var)
681683
if env_val:
682684
pgroup += tlv_pack(TLV_TYPE_ENV_VARIABLE, env_var)
@@ -698,7 +700,9 @@ def stdapi_sys_config_getsid(request, response):
698700

699701
@meterpreter.register_function
700702
def stdapi_sys_config_getuid(request, response):
701-
if has_windll:
703+
if has_pwd:
704+
username = pwd.getpwuid(os.getuid()).pw_name
705+
elif has_windll:
702706
token = get_token_user(ctypes.windll.kernel32.GetCurrentProcess())
703707
if not token:
704708
return ERROR_FAILURE, response

0 commit comments

Comments
 (0)