首页
学习
活动
专区
圈层
工具
发布

免杀 | 利用Python免杀CS Shellcode

语言编写 shellcode loader 以达到静态动态都绕过杀软的目的。...0x03 为什么使用python python语言入门门槛低,上手快,且两三年前就出现了这种免杀方式,但是很多人说网上公开的代码已经不免杀了。事实真的如此吗?...0x04 环境准备 1、python-2.7.17.amd64 下载地址:https://www.python.org/ftp/python/2.7.17/python-2.7.17.amd64.msi...第二:如果你本机还安装了python3的环境,如果你怕麻烦,你可以单独在虚拟机里面安装这个环境,因为python3和python2共存,你还得倒腾一会儿,里面的坑还有 pip2 pip3得区分开等等。...0x09 总结 此种方式的缺点:单文件体积过大,go语言比较小,veil里面有使用go进行免杀的,单文件体积在800kb左右,如果你学过go的语法,建议你利用go语言来免杀,具体操作,你可以在使用veil

4.9K62

免杀&&抽奖|python进行shellcode免杀

文章首发于:奇安信补天攻防社区 https://forum.butian.net/share/1690 0x00 前言 python shellcode免杀的常用手法,实现过常见AV的效果。...本文分为几个部分: 1、shellcode加载器实现; 2、代码混淆; 3、寻找免杀api 4、分离免杀,分离加载器与shellcode; 5、python打包成exe 6、组合,免杀效果分析 0x01...pyinstaller或者py2exe、cx_Freeze 我们使用不同的打包程序,最后免杀的效果也不太一样,部分杀软对打包程序本身就加入了特征检测... pyinstaller 安装: python3...+最新版本pyinstaller编译出来的exe,即使什么功能都没有,也会被很多杀软识别,所以我们还是尽量选用 python2+低版本的pyinstaller。...反序列化 + pyinstaller+python3 : 0x07 小节 免杀的方式多种多样,这只是免杀技术的冰山一角角。

3.9K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    免杀&&抽奖|python进行shellcode免杀

    本文分为几个部分: 1、shellcode加载器实现; 2、代码混淆; 3、寻找免杀api 4、分离免杀,分离加载器与shellcode; 5、python打包成exe 6、组合,免杀效果分析 0x01...pyinstaller或者py2exe、cx_Freeze 我们使用不同的打包程序,最后免杀的效果也不太一样,部分杀软对打包程序本身就加入了特征检测... pyinstaller 安装: python3...+最新版本pyinstaller编译出来的exe,即使什么功能都没有,也会被很多杀软识别,所以我们还是尽量选用 python2+低版本的pyinstaller。...反序列化 + pyinstaller+python3 : 0x07 小节 免杀的方式多种多样,这只是免杀技术的冰山一角角。...本文我们测试了python常见的一些免杀方法,篇幅问题,没有还有一些没有展示,比如使用一些新的winapi(AllocADsMem、ReallocADsMem等等)、其他的分离方法、加载内存方法...

    4.1K30

    python 免杀验证

    输入命令: msfvenom -p windows/shell_bind_tcp LPORT=1337 -f c -o payload.c 接着在Python中调用ctypes库,定义一个存在该shellcode.../usr/bin/python #coding=utf-8 from ctypes import * shellcode = ("\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5...(image-8dd4e5-1564281446348)] 2、免杀验证: 这里在国内正常是访问不了书上的vscan.novirusthanks.org的,但是下面的验证脚本可以借鉴一下: [ 复制代码...换一个国内的Virscan在线扫描来进行免杀验证:http://www.virscan.org/ 2/29,3.1%的查杀率。 通过对比发现,本章节的方法实现的后门的免杀效果还是很强的。...简单概述来说,就是通过msf生成的后门,第一种可以直接生成exe文件、但是很容易被查杀掉;第二种就是生成c文件,然后通过Python的ctypes库来执行该C语言的payload,接着再将该py文件转换成

    1K10

    远控免杀专题(17)-Python-Rootkit免杀(VT免杀率769)

    免杀能力一览表 ? 几点说明: 1、上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。...4、其他杀软的检测指标是在virustotal.com(简称VT)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀或杀软查杀能力的判断指标。...5、完全不必要苛求一种免杀技术能bypass所有杀软,这样的技术肯定是有的,只是没被公开,一旦公开第二天就能被杀了,其实我们只要能bypass目标主机上的杀软就足够了。...三、Python-Rootkit使用说明 Python-Rootkit使用很简单,只要安装好上面的插件后,执行python.exe setup.py就可以了。...免杀效果整体感觉一般,还是python生成exe,执行后调用powershell下载Invoke-Shellcode.ps1,然后反弹shell,应该很容易触发杀软的行为检测。

    2.1K20

    免杀初探:python加载shellcode免杀与国内主流杀软大战六个回合

    所以我们需要了解下它的执行过程,分为四步:(1)申请一片内存;(2)将shellcode放到申请的内存当中;(3)创建线程;(4)执行。...ctypes.windll.kernel32.RtlMoveMemory(rwxpage, ctypes.create_string_buffer(shellcode), len(shellcode)) #创建线程并执行...移动到申请的内存中 ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_int(ptr),buf,ctypes.c_int(len(shellcode))) #创建线程并执行...本文只讨论使用python-ctypes模块加载shellcode的免杀思路和效果 在进行免杀对抗前,先来了解下杀软的查杀原理: 一般是匹配特征码,行为监测,虚拟机(沙箱),内存查杀等。...欢迎评论区留言告诉我哦 参考链接: 小迪师傅ctypes免杀原文 python-ctypes官方文档 python使用ctypes库调用DLL动态链接库 Python x64下ctypes动态链接库出现

    4.2K10

    【免杀】一种python反序列化免杀方式

    一种python反序列化免杀方式 1简介 一种python反序列化免杀方式,过火绒、360、windows defender 2正文 一个python加载器 下面具体举例一个python分离加载的例子...ctypes.c_uint64(ptr), ctypes.c_int(0), ctypes.c_int(0), ctypes.pointer(ctypes.c_int(0)) ) #等待上面创建的线程运行完...也就是说,pickle 可以实现 Python 对象的存储及恢复 crypto graphy.fernet提供python加密lib >>>from cryptography.fernet importFernet...运用反序列化简单免杀 初步尝试下火绒&&360的免杀能力,这两个相对简单些 加入反序列化语句,进行编码如下 #pickle dump import pickle shellcode=""" importctypes...,随着免杀的公开->杀毒的提升,免杀的难度也会随之提升 切记,免杀学的是思路,不是具体的方法,本文的也只是提供了一个思路,擅于思考,也多多考虑多种方法结合。

    1.1K20

    关于c++杀线程函数TerminateThread强烈不建议使用

    .); CloseHandel(ThreadHandle );//不会直接关闭线程,只是递减线程中的内核对象使用计数。...当使用计数为0时,释放内核对象 一、Createthread:创建线程后如何回收 1.线程的生命周期就是线程函数从开始执行到return,这时候线程就自动回收了 2.而线程句柄是一个内核对象。...,表示不再使用该句柄操作线程(即不对线程做任何干预),但不会释放线程,线程释放按上述1其生命周期完成。...4.句柄操作线程例子,如WaitForSingleObject(ThreadHandle,1000)为等待线程1s的操作,假设判断10s后为线程超时的情况,不必调用TerminateThread杀线程,...等其线程生命周期结束return即可 二、调用TerminateThread杀线程的致命问题: TerminateThread终止线程后,堆栈没有被回收(注意连栈都没有被回收) 整个进程在分配和回收内存时

    1K30

    Python线程-守护线程

    在 Python 中,线程可以分为两种类型:主线程和守护线程。主线程是程序的主要执行线程,它会一直运行直到程序结束。而守护线程则是一种支持线程,它的生命周期与主线程或其他非守护线程相关联。...当所有非守护线程结束后,守护线程也会随之结束。守护线程的概念守护线程是一种特殊的线程,它会在主线程或其他非守护线程结束时自动结束。...守护线程通常用来支持主线程或其他非守护线程的工作,当主线程或其他非守护线程退出时,守护线程也会随之退出,从而避免了程序无法正常退出的问题。...在 Python 中,可以通过设置线程对象的 daemon 属性来指定一个线程是否为守护线程。如果一个线程被设置为守护线程,则当所有非守护线程结束时,该线程会自动结束。...在创建线程对象时,可以通过 Thread 类的 daemon 参数来指定一个线程是否为守护线程。默认情况下,所有线程都是非守护线程。

    1.2K40

    Python 线程

    线程 Python学累了,想学Java html js vue Tailwindcss 小程序 c4d ae pr 了....什么是线程 进程吸收资源 传递给线程执行业务逻辑 线程与进程的关系 吃饭获得能量和营养(进程), 之后大脑执行逻辑(线程) 进程提供线程执行程序的前置要求,线程在重组的资源配备下,去执行程序 多线程 开启一个浏览器后...,从浏览器(主进程)中创建出多个线程来开启多个页面 多线程的执行方式 一、什么是线程 线程(Thread)是操作系统最小的执行单元,进程至少由一个线程组成。...二、怎样的任务算一个线程 进程被运行后算是一个线程,进程是不运行的,线程才会运行,而一个进程有多个线程就涉及到进程有多少可以被cpu单独调用的模块,这个调用的模块可以通过手动创建线程来建立。...三、在python中如何创建线程 使用的模块:threading 创建的方法:threading.Thread(…) 代码如下:

    53010

    python多线程与线程

    中的线程是操作系统的原生线程,Python虚拟机使用一个全局解释器锁(Global Interpreter Lock)来互斥线程对Python虚拟机的使用。...在调用任何Python C API之前,要先获得GIL GIL缺点:多处理器退化为单处理器;优点:避免大量的加锁解锁操作 GIL的早期设计 Python支持多线程,而解决多线程之间数据完整性和状态同步的最简单方法自然就是加锁...MySQL这个背后有公司支持且有固定开发团队的产品走的如此艰难,那又更何况Python这样核心开发和代码贡献者高度社区化的团队呢?...GIL的影响 无论你启多少个线程,你有多少个cpu, Python在执行一个进程的时候会淡定的在同一时刻只允许一个线程运行。 所以,python是无法利用多核CPU实现多线程的。...这样,python对于计算密集型的任务开多线程的效率甚至不如串行(没有大量切换),但是,对于IO密集型的任务效率还是有显著提升的。 ? 计算密集型: mutex = threading.RLock()

    1.2K20

    Python 提速大杀器之 numba 篇

    python 这么慢 用过 python 的人都知道, 尤其是在有循环的情况下,python 会比 C++ 慢很多,所以很多人都避免在 python 代码里引入复杂的 for 循环。...但是 python 就不一样了,写过的 python 的人都知道,它去掉了变量申明和数据类型。也就是说,无论啥数据,咱啥都不用管,想存就存!那么 python 是如何做到这样洒脱自由的呢?...这就不得不提 python 中万物皆是对象了,真正的数据是存在对象里面的。...我们可以看一些简单的例子: numba 加速 python 的小例子 用 numba 加速 python 代码多简单方便呢,我们先来看看如何使用 numba 加速 python 代码。...我们来具体看一下如何用 numba 加速 python 代码:在实际使用过程中,numba 其实是以装饰器的形式加在 python 函数上的,用户可以不用关心到底 numba 是通过什么方法来优化代码,

    3.4K20

    Python线程-线程的互斥

    Python 提供了 Lock 类来实现线程之间的互斥,本文将详细介绍如何使用 Lock 实现线程互斥。...Lock 类Lock 类是 Python 标准库 threading 中的一个同步原语,它提供了 acquire() 和 release() 方法来控制对共享资源的访问。...使用 Lock 实现线程互斥下面我们将通过一个示例来演示如何使用 Lock 实现线程互斥。假设我们有一个共享变量 count,它的初始值为 0,多个线程将会对它进行加 1 操作。...当线程需要对计数器进行加 1 操作时,它将首先尝试获取锁对象 _lock,如果该锁对象已经被其他线程获取,则当前线程将被阻塞,直到该锁对象被释放。...在 Python 中,RLock 类就是一个可重入锁对象,它的使用方法和 Lock 类类似,但允许同一个线程多次获取该锁对象。

    87320

    Python多线程通信_python socket多线程

    一个线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每个线程并行执行不同的任务。...由于线程是操作系统直接支持的执行单元,因此,高级语言(如 Python、Java 等)通常都内置多线程的支持。...Python 的标准库提供了两个模块:_thread 和 threading,_thread 是低级模块,threading 是高级模块,对 _thread 进行了封装。...: ---主线程开始--- 子线程Thread-2执行,i = 0 子线程Thread-1执行,i = 0 子线程Thread-2执行,i = 1 子线程Thread-1执行,i = 1 子线程Thread...--- 更多请参考 Python 进阶之路 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/185303.html原文链接:https://javaforall.cn

    1.5K40

    「多线程大杀器」Python并发编程利器:ThreadPoolExecutor,让你一次性轻松开启多个线程,秒杀大量任务!

    Python中已经有了threading模块,为什么还需要这些线程池、进程池处理呢?...以Python爬虫为例,需要控制同时爬取的线程数,比如我们创建了20甚至100个线程,而同时只允许5-10个线程在运行,但是20-100个线程都需要创建和销毁,线程的创建是需要消耗系统资源的,有没有更好的方案呢...但是需要注意,在Python解释器中,线程是无法实现真正的并行执行,因为Python有GIL(全局解释器锁),它确保同时只有一个线程运行Python代码。...因此,一个Python进程中的多个线程并不能并行执行,在使用多线程编程时不能完全利用多核CPU。...它可以让我们在一个Python解释器中进行跨线程异步编程,因为它规避了GIL。

    7K50
    领券