- 2024-08-11【待做】【免杀对抗】怎样实现一个基础的shellcodeloader
一、SHELLCODE二、API调用隐藏2.1执行API2.2隐藏IAT调用API2.3Syscall三、AntiSandBox四、反调试4.1检测进程4.2LLVM五、免杀PE文件在越来越多的攻防演练项目中,上线机器至C2(Command&Control)以及钓鱼打开内网入口点都需对其所使用的落地文件
- 2024-03-26反反调试记录
_EPROCESS->Peb(_PEB)->BeingDebugged置0_EPROCESS->Peb(_PEB)->NtGlobalFlag置0_EPROCESS->Peb(_PEB)->ProcessHeapasProcessHeap调用IsWindowsVistaOrGreater如果大于等于windowsvistaasFlagsOffset=0x70asForceFlagsOffs
- 2024-02-18PEB及其武器化
本文首发:https://xz.aliyun.com/t/13556在Windows操作系统中,PEB是指"ProcessEnvironmentBlock",它是一个数据结构,用于存储有关进程的信息,每个进程都有一个对应的PEB结构体。PEB提供了许多关于进程状态和环境的信息,它是用户模式和内核模式之间的一个关键接口。我们利用PEB
- 2023-12-23re | 通过PEB遍历进程模块
re|通过PEB遍历进程模块最近在设计实验,重新写一些代码存一下:使用vc6编译通过。比较好的参考文章:https://www.cnblogs.com/bokernb/p/6404795.html#include<stdio.h>#include<windows.h>/*typedefstruct_LIST_ENTRY{struct_LIST_ENTRY*Flink;struct_LIST_
- 2023-11-215.4 Windows驱动开发:内核通过PEB取进程参数
PEB结构(ProcessEnvirormentBlockStructure)其中文名是进程环境块信息,进程环境块内部包含了进程运行的详细参数信息,每一个进程在运行后都会存在一个特有的PEB结构,通过附加进程并遍历这段结构即可得到非常多的有用信息。在应用层下,如果想要得到PEB的基地址只需要取fs:[0x30]即
- 2023-09-268.2 BeingDebugged
BeingDebugged是Windows系统PEB结构体中的一个成员,它是一个标志位,用于标识当前进程是否正在被调试。BeingDebugged的值为0表示当前进程未被调试,值为1表示当前进程正在被调试。由于BeingDebugged是在PEB结构体中存储的,因此可以通过访问PEB结构体来获取BeingDebugged的值。恶意软件
- 2023-09-258.1 TEB与PEB概述
在开始使用TEB/PEB获取进程或线程ID之前,我想有必要解释一下这两个名词,PEB指的是进程环境块(ProcessEnvironmentBlock),用于存储进程状态信息和进程所需的各种数据。每个进程都有一个对应的PEB结构体。TEB指的是线程环境块(ThreadEnvironmentBlock),用于存储线程状态信息和线程所需的
- 2023-09-16NAND/MTD/UBI/UBIFS概念及使用方法
关键词:NAND,MLC/SLC,Page/SubPage,EraseBlock,OOB,ECC,BitFlip,MTD,UBI,wearing-level,LEB,PEB,EC/VID,Volume,UBIFS等等。 由于调试NANDLinux启动,记录NAND/MTD/UBI/UBIFS点点滴滴。未去分析Kernel对应模块和相关工具代码,仅从使用角度去记录。1.NAND/MTD/UBI/UBIFS整体框架如下是NAND、MT
- 2023-09-041.15 自实现GetProcAddress
在正常情况下,要想使用GetProcAddress函数,需要首先调用LoadLibraryA函数获取到kernel32.dll动态链接库的内存地址,接着在调用GetProcAddress函数时传入模块基址以及模块中函数名即可动态获取到特定函数的内存地址,但在有时这个函数会被保护起来,导致我们无法直接调用该函数获取到特定函
- 2023-09-041.15 自实现GetProcAddress
在正常情况下,要想使用GetProcAddress函数,需要首先调用LoadLibraryA函数获取到kernel32.dll动态链接库的内存地址,接着在调用GetProcAddress函数时传入模块基址以及模块中函数名即可动态获取到特定函数的内存地址,但在有时这个函数会被保护起来,导致我们无法直接调用该函数获取到特定
- 2023-08-291.5 编写自定位ShellCode弹窗
在笔者上一篇文章中简单的介绍了如何运用汇编语言编写一段弹窗代码,虽然简易ShellCode可以被正常执行,但却存在很多问题,由于采用了硬编址的方式来调用相应API函数的,那么就会存在一个很大的缺陷,如果操作系统的版本不统或系统重启过,那么基址将会发生变化,此时如果再次调用基址参数则会
- 2023-08-16x64ShellCode-通过PEB获取模块地址.
以x64dbg.exe调试x64dbg.exe为例.汇编代码为如下.movrax,qwordptrgs:[0x0000000000000060]movrax,qwordptrds:[rax+0x10]二进制硬编码如下"\x65\x48\x8B\x04\x25\x60\x00\x00\x00\x48\x8B\x40\x10\x90\x90"结果如下:
- 2023-07-084.4 x64dbg 绕过反调试保护机制
在Windows平台下,应用程序为了保护自己不被调试器调试会通过各种方法限制进程调试自身,通常此类反调试技术会限制我们对其进行软件逆向与漏洞分析,下面是一些常见的反调试保护方法:IsDebuggerPresent:检查当前程序是否在调试器环境下运行。OutputDebugString:向调试器发送特定的字符
- 2023-07-031.5 编写自定位ShellCode弹窗
在笔者上一篇文章中简单的介绍了如何运用汇编语言编写一段弹窗代码,虽然简易ShellCode可以被正常执行,但却存在很多问题,由于采用了硬编址的方式来调用相应API函数的,那么就会存在一个很大的缺陷,如果操作系统的版本不统或系统重启过,那么基址将会发生变化,此时如果再次调用基址参数则会
- 2022-10-10驱动开发:内核通过PEB得到进程参数
PEB结构(ProcessEnvirormentBlockStructure)其中文名是进程环境块信息,进程环境块内部包含了进程运行的详细参数信息,每一个进程在运行后都会存在一个特有的PEB结构,通过附
- 2022-10-10驱动开发:内核通过PEB得到进程参数
PEB结构(ProcessEnvirormentBlockStructure)其中文名是进程环境块信息,进程环境块内部包含了进程运行的详细参数信息,每一个进程在运行后都会存在一个特有的PEB结构,通过附