首页
二两's Blog
取消

远程DLL注入

0X00 前言 书接上回,本文介绍DLL远程注入 0x01 技术实现 我们这里创建一个notepad进程为例,并打印其PID和句柄。 if (CreateProcessA(NULL, (LPSTR)"notepad", NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi) == NULL){ printf("[!] 进程...

本地进程DLL注入

0X00 前言 DLL注入,是向一个正在运行的进程注入代码的过程。我们注入的代码以DLL的形式存在。本文将DLL作为payload的用法,并演示如何在当前进程中加载恶意DLL文件。 0X01 DLL demo 这里笔者用一个简单的MessageBox 来作为演示demo #include <stdio.h> #include <windows.h> #incl...

如何优雅的放置你的shellcode(二)

0X00 前言 在昨天的文章中我们探讨了shellcode放置的几种方式,今天将接着昨天的文章,完成我们对.rsrc 区段的探讨。在我们实际的shelcode放置中,这也是一种比较好的方法,因为这个区段的优点有很多,比如可以存放更多的shellcode。 0X01 rsrc实现 我们先添加一个.rc 资源文件 然后导入一个ico 在到这一步的时候,我们输入RCDATA ...

如何优雅的放置你的shellcode(一)

0X00 前言 在我们编写自己的loader的时候,通常会把shellcode放在pe文件的不同地方,例如.data、.rdata 、.text 、.rsrc 等地方来实现自己的需求,在这里笔者将探讨这几种方式的实现。 0X01 .data区段 .data 是pe文件的一个区段,它包含已初始化的全局变量和静态变量,这个区段是可读可写的。当我们把shellcode设置为全局或局部变量,它...

进程注入(二)

0X00 前言 在实际环境中CreateRemoteThread会被诸如Windows Defender等各大杀软严格检测拦截。QueueUserAPC和NtMapViewOfSection是我们可以用来在进程中执行shellcode的另外两种方式。 0x01 QueueUserAPC 对于QueueUserAPC,这里主要有两种利用方式: 1.生成处于挂起状态的进程,在主线程上对A...

进程注入(一)

0X00 什么是进程注入 ​ 进程注入技术一直以来都是一个老生常谈的话题。这是一种广泛应用于恶意软件和无文件攻击中的逃避技术,这意味着攻击者可以将自定义代码运行在另一个进程的地址空间内,然后去进行敏感操作,以达到隐藏自身,绕过安全产品检测的目的。 0X01 CreateThread API ​ CreateThread API可以在调用进程过程中创建新线程,因此我们可以把shellco...

利用MSSQL CLR 实现不落地命令执行

0X00 前言 ​ 在我们想要通过SQL Server来执行命令的时候,我们通常的做法是通过xp_cmdshell和sp_OACreate来实现执行命令的需求,然而在某些条件下,我们在利用这两个存储过程的时候经常会遇到被查杀拦截等情况,这些情况导致我们无法达到我们执行的命令的需求,本文将介绍另外一种方法:利用SQL Server CLR来实现不落地执行命令的需求。 0X01 什么是CLR...

红蓝对抗-命令行欺骗

0X00 什么是命令行欺骗 创建进程时,内部Windows数据结构Process Environment Block将会映射到进程虚拟内存中。该数据结构包含有关进程本身的大量信息,例如已加载模块的列表,以及用于启动进程的命令行。由于PEB(以及命令行)存储在进程的内存空间而不是内核空间中,因此只要我们对进程具有适当的权限,就很容易实现对其的覆盖。 0x01 为什么要用命令行欺骗 在蓝队...

红蓝对抗-Office ASR Bypass

0X00 什么是ASR Attack Surface Reduction(ASR)是微软推出一组Windows defender强化配置,旨在减缓攻击者常用的攻击技术。ASR规则在LUA中实现,并由Windows Defender执行。它们具体如下: 更加详细的细节可以在这个地方查看https://learn.microsoft.com/zh-cn/microsoft-365/sec...

红蓝对抗-PPID欺骗

0X00 PPID欺骗介绍 在我们使用CreateProcess API时,默认情况下,最后的进程将作为调用方的子进程生成。然而,PPID欺骗技术允许调用者更改派生进程的父进程。所以如果我们的beacon运行在powershell中,我们可以就将进程派生到一个完全不同的进程的子进程中,比如explorer.exe 。在默认情况下,大多数需要用户交互启动的程序都是由explorer.exe生...