浅析进程“伪隐藏”技术与实现两则

kernel32基地址获得学习笔记 原文链接:点击打开链接 第一种方法 通过线程初始化时, 获得esp堆栈指针中的ExitThread函数的地址,然后通过搜索获得kernel32.dll的基地址。 线程在被初始化的时,其堆栈指针指向ExitThread函数的地址,windows这样做是为了通过ret返回时来调用ExitThread地址。所以一般我们可以在我们主线程的起始位置(也就是 程序入口点处)通过获得堆栈指针中E 阅读详情

进程隐藏?干吗用?你不知道?我晕!进程隐藏技术多用于木马和病毒中(还用你说?!),用于提高其生存率。其实现方法因WIN系统架构不同而各异,一些常用方法资料很多,我在这里也就不多说啦!

   这里的"伪隐藏"指的是,虽然在"WINDOWS任务管理器"进程列表中可以看到其进程存在,但在硬盘中却找不到或者说不容易找到其相对应的程序文件。

   一:乾坤大挪移

   大家都知道,当一个程序正在运行时,WIN系统是不允许我们把其删除的(所以才会有人寻找程序自删除_blank>技术),但却不知大家是否注意到,在WIN2000中,当一个程序正在运行时,我们虽然不能把它删除,但我们却可以把程序文件在同一分区内移动位置以及重命名,你可以自己试验一下!这也就是"Windows文件保护"所使用的方法!试想,如果我们的程序在运行后,立即把自身移动位置并重命名,而在"WINDOWS任务管理器"进程列表中显示的却还是原来的程序名,那你又该如何来查找到其对应的程序文件呢?当然如果程序在内存中没有进行变形的话,你可以利用内存查看_blank>软件(如WINHEX)并利用查找功能来找到相对应的程序文件,但如果程序在内存中变形

,也可以说解密,使得内存映像和硬盘中的原程序文件不同,那我是暂时没法找出来啦!
   实现_blank>代码如下(MASM):

;进程隐藏之乾坤大挪移(只能在同分区内移动)

.386
.model flat, stdcall
option casemap:none

include windows.inc
include kernel32.inc
includelib kernel32.lib
include user32.inc
includelib user32.lib
     .data?
selfname db MAX_blank>_PATH dup(?)
     .data
movename db "c:/mm.jpg",0
     .code
main:
invoke GetModuleFileName,NULL,addr selfname,MAX_blank>_PATH  ;得到自身路径
mov al, byte ptr selfname  ;得到所在分区
mov byte ptr movename,al  ;修正movename,使其在同分区内移动
invoke MoveFile,addr selfname,addr movename  ;把自身移动位置并改名
invoke  MessageBox,NULL,offset selfname,offset movename,MB_blank>_OK
invoke ExitProcess, NULL
end main

     本例程在WIN2000下调试通过,XP" target=_blank>XP和WIN2003应该也可以,请有条件的弟兄测试,WIN98和WINME不能用,与硬盘格式无关!

二:程序自删除(仅适用于NTFS硬盘分区格式)

     在NTFS分区下存在文件流早已不是什么秘密啦,但大家主要用它来隐藏文件,我在一次测试中却发现当我运行一个文件流程序时,这个文件流程序所在的宿主文件却是可以被删除的!进一步测试发现文件流程序运行时并无法直接删除这个文件流程序,只能删除宿主文件,从而来删除文件流程序。利用此特性,我们同样可以实现类似于上例的效果,且比其隐藏效果要好点。方法为:判断是否是NTFS格式分区,如果是则把自身复制为一个文件流,并运行复制的文件流,运行时检测到自己是存在于文件流中时就删除宿主文件。

     实现_blank>代码如下(MASM):



;进程隐藏之文件流(只能用于NTFS分区格式)

.386

.model flat, stdcall

option casemap:none



include windows.inc

include kernel32.inc

includelib kernel32.lib

include user32.inc

includelib user32.lib

       .data?

selfname      db MAX_blank>_PATH dup(?)

szFileSystemName  db 10 dup(?)

       .data



delname db "`.`:icyfox.exe",0

;此处的"`.`:icyfox.exe"可以改为其他文件名如"cs.txt:cs.exe"

;我这里用"`.`"的目的是为了防止删除其他存在的文件



szErr db "我不在NTFS格式的分区内,退出!",0

szYes db "我在下面的流内,已被删除!",0

.code



main:

invoke GetModuleFileName,NULL,addr selfname,MAX_blank>_PATH

mov bl,byte ptr selfname+3

mov byte ptr selfname+3,0

xor eax,eax



;下面获取自身所在分区格式,并判断是否是NTFS格式

invoke  GetVolumeInformation,addr selfname,eax,eax,/

  eax,eax,eax,addr szFileSystemName, sizeof szFileSystemName

mov byte ptr selfname+3,bl

.if dword ptr szFileSystemName!='SFTN';NTFS

  invoke  MessageBox,NULL,offset szErr,NULL,MB_blank>_OK

  invoke ExitProcess, NULL

.endif



;下面判断自己是否在流(STREAM)中

;如果路径中含有两个:号,说明自己在文件流中

lea  esi,selfname

xor edx,edx

@@:

LODSB

or  al,al

jz  @F  ;遇到0结束

.if al==":"

  INC edx

.endif

.if edx==2

  mov byte ptr [esi-1],0

  invoke DeleteFile,addr selfname     ;删除宿主文件

  invoke  MessageBox,NULL,offset delname,offset szYes,MB_blank>_OK

  invoke ExitProcess, NULL

.endif

jmp  @B



;下面是当自身不在文件流中时,把自身复制到流中并运行

@@:

invoke CopyFile,addr selfname,addr delname,FALSE

invoke  WinExec,addr delname,NULL

invoke ExitProcess, NULL

end main



     附加品:

     我在测试时发现,当delname(也就是流名)为" .:icyfox.exe" (.前为一空格,也可以是其他字符)时,会产生一个无法删除的文件" .",我的盘中还留着它,请大家想想办法帮我删掉它!我怀疑可能和那个文件夹_blank>漏洞有关,但现在是文件,我在后面加上/也删不掉!

YOLOv11 + TensorRT 在 Jetson 设备上的实时部署 阅读详情

相关推荐

从零开始理解二极管限幅:5种典型电路设计及实际应用场景解析

本文系统解析了二极管限幅电路的五大经典拓扑,包括串联与并联型上下限幅及双向限幅。通过剖析其核心原理与二极管的单向导电性、正向压降特性,结合ADC输入保护、电源管理、音频处理等实际应用场景,提供了从器件选型到设计陷阱规避的完整实战指南,帮助工程师为信号构建可靠的“安全笼”。

2y3u4i5o6p的博客 1034

说说windows内核中为什么要隐藏进程?

 好久没有写博客了,最近抽时间把这些杂碎零散的知识梳理下来,分享给更多朋友去找乐子,在草稿箱里面仍了好几天忘发了。接下来谈谈本篇主题,隐藏两字。一、隐藏意味着什么?  不想被人发现呗,人性如此,亦是如此。二、为什么要隐藏?  其实个人觉着这是根本,好好写个程序你为什么要隐藏自己的进程、线程?为啥?无非你不想让别人知道,或者不该让别人知道。windwos下有很多未公开的东西,这是隐藏。面对对象...

weixin_33948416的博客 756

《炬丰科技-半导体工艺》用于半导体的RCA清洁技术

书籍:《炬丰科技-半导体工艺》 文章:用于半导体的RCA清洁技术 编号:JFKJ-21-1073 引言 RCA清洗技术是用于清洗硅晶圆等的技术,由于其高可靠性,30多年来一直被用于半导体和平板显示器(FPD)领域的清洗。其基础是以除去颗粒为目的的氨水-过氧化氢溶液组成的SC―1洗涤和以除去金属杂质为目的的盐酸-过氧化氢溶液组成的SC―2洗涤相结合的洗涤技术。SC-1洗涤的机理说明如下。首先,用过氧化氢氧化硅晶片的表面,用作为碱的氨蚀刻氧化硅,并通过剥离去除各种颗粒。此外,如图1所示,在pH 10.5附近的S

jfkj2021的博客 769

windows黑客编程技术之隐藏技术(进程伪装,傀儡进程,进程隐藏)

windows黑客编程技术之隐藏技术(进程伪装,傀儡进程,进程隐藏)

weixin_44891742的博客 8283

台式机ubuntu系统屏幕无法调节的问题(已解决)(汇总)

背景:新配了一台主机,安装了双系统,windows下屏幕在带鱼屏上显示良好,但Ubuntu系统屏幕拉伸严重。 问题描述:系统没有适应屏幕被整个拉伸了,进入设置界面,显示Built-in Display,分辨率只有1024*768无法设置。 尝试一:网上最多的方法就是使用xrandr, 结果显示:xrandr:Failed to get size of gamma for output default 尝试二: 第一次进入命令行页面:login:填你的用户面 password:使用字母上方的数字键输入你的密码

weixin_45626706的博客 4631

当勒索软件盯上虚拟化层:从CVE-2025-22225漏洞看ESXi安全加固要点

本文深度剖析了针对VMware ESXi虚拟化层的CVE-2025-22225等漏洞链的攻击原理,揭示了攻击者如何利用VMCI、HGFS组件从虚拟机逃逸至宿主机。文章从实战角度出发,系统性地提出了ESXi安全加固的核心策略,包括禁用非必要服务、强化主机配置、实施网络分段、建立实时监控与自动化补丁管理体系,为企业构建纵深防御体系提供了具体可行的操作指南。

terraform7cloud的博客 858

vxk的rootkit 技术小结

by vxkMy Root Kit Note 0. What the Root kit Real Mean For?Root Kit is a kind of tools to hide itself or other files or process from normal users eyes or take privileges for whom could control i

4936

Golang实现企业级AI智能体安全合规自动化检测系统

需求:自动化解析欧盟AI法案、中国网络安全法、美国NIST框架等多国法规,提取具体合规要求并映射到企业技术实现。技术挑战法规文本非结构化,语义复杂,存在大量法律术语与技术术语交叉多语言支持(中文、英文、欧盟24种官方语言)法规动态更新(平均每季度更新2-3次)架构创新性:提出了"规则引擎+AI模型+实时监控"的混合架构,兼顾了合规要求的明确性与智能体行为的动态性。性能突破:通过Golang协程、多级缓存、数据库优化等技术,实现了12,800 req/s的高吞吐量和38ms的低延迟。准确性提升。

shao.bing的专栏 724

小议文件保护和锁定技术

近1年来互连网上的木马越来越多,有的还删除不掉,要切换到dos才可行,如:CNNC,3721等,实现技术也五花八门,但就文件不可删除的实现技术可分三类:  1 Attach file system; 这种技术和Filemon/sfilter查不多,就是挂一个filter驱动到fs上,其他函数都是passthru下去,只处理IRP_MJ_SET_INFORMATION,当发现有删除需保护文件的IRP

908

Python爬虫深度对抗:拼多多与得物价格监控系统中的设备指纹模拟与SkyWalking风控绕过实战

在电商数据采集领域,拼多多和得物(毒)APP堪称国产风控系统的“双子星”。前者依托于拼多多集团强大的安全团队,后者则以其独特的“潮流单品”数据价值和高昂的爬取成本闻名。对于任何一名爬虫工程师而言,能够稳定、高效地获取这两大平台的价格、库存、销量等动态信息,都是一项极具挑战性的技术试金石。传统的基于requests库的简单HTTP请求,在面对这两款应用时几乎寸步难行。你会发现,无论怎样伪造User-Agent、怎样轮换代理IP,返回的永远是状态码412403,或者是一个包含验证滑块设备异常的JSON错误。

2201_76125261的博客 866

地图自定义编码CSV转换成ini文件

创 建 schema.ini 文件:有时,当您尝试使用 .csv 文件将自定义地理信息导入 Tableau 时,您可能会看到“无法使用.csv,因为它不包含唯一列”错误消息。这是因为您的 .csv 文件可能包含数值数据,例如数值邮政编码。对于新的地理角色,Tableau 将只接受文本字段。但是,您可以创建一个 schema.ini 文件,以指示 Tableau 应将您要导入的数值字段视为文本字段。...

wenyusuran的专栏 1975

PSTOOLS系列工具分析----对PSEXEC的逆向解析

 PSTOOLS系列工具分析----对PSEXEC的逆向解析    在网络攻击中,经常用到一个工具系列叫pstools,它是由Sysinternals公司推出的一个功能强大的Windows NT/2000远程管理工具包,最新版本为V2.1,包含了10多个工具。在入侵时,最常用的就是其中的psexec(获取对方Shell)、pslist(列举进程)、pskill(杀进程)等工具,它们使用简单

在程序中感悟人生算法 7446

zynq的vitis工程烧录到Winbond(华邦)型号W25Q256JVEQ的QSPI FLAHS

vitis2023.1直接支持W25Q256JVEQ。

FPGA艺术家的博客 679

解析网页后门和挂马

网站被挂马,被植入后门,这是管理员们无论如何都无法忍受的。Web服务器被攻克不算,还“城门失火殃及池鱼”,网站的浏览者也不能幸免。这无论是对企业的信誉,还是对管理员的技术能力都是沉重的打击。下面笔者结合实例对网页后门及其网页挂马的技术进行解析,知己知彼,拒绝攻击。一、前置知识W&q1Y"o-cJ6SR-m)u,s+tm0网页后门其实就是一段网页代码,主要以ASP和PHP代码为主。由于这

9484

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Python+Agent入门笔记(六):记忆和状态,从“一次性问答”到“能用助手”

滑动窗口的缺点很明显:被扔掉的信息就真没了。如果用户第一轮说“我不吃辣”,隔了二十轮让他推荐餐厅,模型已经忘了。定期把旧的对话压缩成一段总结,作为一条特殊的消息插进去。"""把除 system 和最近 keep_recent 条以外的消息,压缩成一条摘要。返回新的 messages 列表。"""# 把旧消息拼成纯文本,让模型总结content = f"[工具结果]把除 system 和最近 keep_recent 条以外的消息,压缩成一条摘要。返回新的 messages 列表。

qq_41241612的博客 105

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

循环嵌套(多层 for 循环)

表:order(订单表,order_id, user_id)、user(用户表,user_id, user_name)✅ 优化:先查所有订单,拿到所有 user_id 批量 in 查询,内存 join。✅ 优化:先把优惠券转 HashMap,单层循环查找(hash 查找 O (1))SQL 只有 2 次,O (1) 数据库查询,内存遍历 O (n)。需求:查询所有订单列表,同时带出每个订单对应的用户名称。需求:订单列表、优惠券列表,把订单匹配对应的优惠券名称。复杂度:O (M+N),非常快。

weixin_43732943的博客 197

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【数据结构-5】单链表的实现

单链表,具体来说是单向的、不带头的、不循环的链表。链表由一个一个节点组成,每个节点分为数据域和指针域,数据域存放数据,指针域存放下一节点的地址。这样,就可以根据指针域中的地址找到下一个节点,节点就串起来了构成了单链表。

a bit 213

本地chatbot4--引入LangGraph

上一节实现了chatbot的连续调用工具的功能,但目前流程还是提示词→模型→解析→调用工具(可选)→输出线性的一条路走到底(LangChain)只适合简单线性任务(问答、摘要、简单RAG)agent的本质是:“模型决定调工具→执行→结果喂回模型→再决定……直到完成”。举例:读日志 → 解析 ─失败→ 重试(≤3次) ─→ 退出│成功↓算统计 → 对比历史 → 生成报告 → [人工审核卡点] → 发送。

weixin_45859446的博客 101

C# 数据结构和特殊类型

.NET Core(现称.NET)提供丰富数据结构,优化性能与开发效率。日常开发首选List<T>和Dictionary<TKey,TValue>;高性能场景推荐Span<T>与Memory<T>减少内存分配;并发环境使用ConcurrentDictionary等线程安全集合;避免非泛型集合如ArrayList。

cccloveforever的博客 731

C++ 入门笔记(十七):list 入门 —— 为什么 list 不能 sort?

第17课:用大白话讲清 list 的双向链表结构、哨兵头、push_back 四步、迭代器封装、merge 与 splice 的区别,以及 vector 排序为什么常比 list 快。

wo_jack的博客 244

list

的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。,因此反向迭代器的实现可以借助正向迭代器,即:反向迭代器内部可以包含一个正向迭代器,对正向迭代器的接口进行包装即可。是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。迭代到该位置,在这段位置上迭代需要线性的时间开销;最大的缺陷是不支持任意位置的随机访问,比如:要访问。还需要一些额外的空间,以保存每个节点的相关联信息。个元素,必须从已知的位置。

xie0510_的博客 290

上万数据的批量插入

当数据达到上万上十万的时候,如何批量插入

junxunfs的博客 41

3.链表相关知识点

链表

2501_93884468的博客 430

软件商店常见问题标准处理流程

从底层软件源来看,/etc/apt/sources.list配置错误、源地址失效、公网与内网离线源混用、ARM64与x86_64架构源串用,以及DNS解析异常、系统代理配置错误,都会导致商店无法获取应用数据;打开该应用,确认可正常运行;软件商店作为系统内置的图形化软件分发与安装入口(UKUI桌面配套组件,底层依赖APT软件源),承担着应用软件的浏览、搜索、下载、安装、升级与卸载等核心功能,是终端软件部署与管理的关键通道。覆盖软件商店启动、页面加载、应用下载、安装、卸载、搜索、自身更新等全部业务场景。

qq_39496637的博客 304

【AI 开发从入门到进阶 · 10】收官篇:LoRA 微调、模型评估、推理加速与生产部署全链路

本文系统梳理了大模型微调与生产落地的全流程,从决策是否微调、优选LoRA技术方案,到代码实现、效果评估、推理加速与FastAPI服务封装,最终构建可迭代的生产级AI系统。强调“逐级升级”原则,倡导以数据闭环驱动优化,避免技术冲动。全系列贯穿工程化思维,提供可复用模板与实战建议,助力开发者从模型训练迈向稳定可用的AI服务部署。

信息安全领域优质创作者|操作系统领域专家 123
上一篇: Windows 2003下的进程隐藏
下一篇: NT环境下进程隐藏的实现
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值