aardio - 伪装进程测试
根据网上资料,修改进程peb→param数据,可以达到伪装进程的目的。
但经过测试( aardio + win11 X64 ),进程信息数据可以修改成功,用aardio自身读取信息进行验证,也确实改变了内存数据,但用 procmon 进行查看时,却仍然显示原来数据。
总的来说,结果是失败的,留源码以待改进。
//RUNAS
import console;
import process//打开进程
var p = process() // 可以指定进程id//用自带库读取命令行进行验证
import process.cmdline
console.dump(process.cmdline(p.id))//取进程信息
var info = process.getInfo(p.handle)
console.dump(info)//取peb信息(只取有用的部分)
var addr = info.pebBaseAddress
var peb = {// 65 elements, 0x210 bytesbyte bInheritedAddressSpace,byte bReadImageFileExecOptions,byte bBeingDebugged,byte bSpareBool,int lpMutant,int lpImageBaseAddress,int pLdr,INT lpProcessParameters
}
p.readStruct(addr,peb)//获取进程参数
var param = {byte Reserved1[16];ptr Reserved2[10];WORD length;WORD maxLength;INT buffer;WORD length1;WORD maxLength1;int CommandLine;
}//读取进程信息
p.readStruct(peb.lpProcessParameters,param)
console.dump("进程名:" ++ p.readStringUtf16(param.buffer,param.length/2) )
console.dump("命令行:" ++ p.readStringUtf16(param.CommandLine,param.length1/2) )//修改进程信息
var pt = p.malloc(255)
var _,l = p.writeStringUtf16(pt,"C:\Windows\explorer.exe")p.writeNumber(peb.lpProcessParameters+16+40,l,"word")
p.writeNumber(peb.lpProcessParameters+16+40+4,pt)p.writeNumber(peb.lpProcessParameters+16+40+8,l,"word")
p.writeNumber(peb.lpProcessParameters+16+40+4+8,pt)//重新读取进行验证
p.readStruct(peb.lpProcessParameters,param)
console.dump("进程名:" ++ p.readStringUtf16(param.buffer,param.length/2) )
console.dump("命令行:" ++ p.readStringUtf16(param.CommandLine,param.length1/2) )//用自带库读取命令行进行验证
console.dump(process.cmdline(p.id))console.pause()
运行结果:
用procmon查看结果:
有知道原因的,望留言指导一下。
aardio - 伪装进程测试相关推荐
- java 伪装浏览器_[Java教程]伪装虽易测试不易之微信浏览器
[Java教程]伪装虽易测试不易之微信浏览器 0 2014-04-03 20:00:38 前言 众所周知,微信项目html5界面的开发时间会相对较长(为什么这么说就不解释了),以及在微信浏览器 ...
- php的POSIX 函数以及进程测试
参考:http://cn.php.net/manual/zh/ref.posix.php <?php echo posix_getpid(); //8805 sleep(10); ?> 再 ...
- 渗透测试快速稳定远控软件,2019-9-11:渗透测试,Kill远控软件,初接触
初步使用Kill远控软件,使win7靶机被远控 该文章仅供学习,利用方法来自网络文章,仅供参考 1,打开运行Kill,选择系统设置,设置监听端口,通讯密码,点击保存设置 2,点击服务生成,上线参数,设 ...
- 服务及进程介绍及使用
服务及进程介绍及使用 一. Firewalld服务 RHEL7是一个集合多款防火墙管理工具并存的系统,Firewalld动态防火墙管理器服务(Dynamic Firewall Manager of L ...
- Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存
Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存 参考:<linux编程从入门到精通>,<Linux C程序设计大全>,<unix环境高级编程> ...
- python_day9 进程池
通过进程池 实现 socket from multiprocessing import Process,Poolimport os,sysfrom socket import *import time ...
- linux里进程监控和自动重启,Linux - linux进程监控和自动重启的简单实现
linux进程监控和自动重启的简单实现 目的:linux 下服务器程序会由于各类缘由dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能.linux 实现原理:由定时任务crontab调 ...
- cpu线程_进程/线程上下文切换会用掉你多少CPU?
进程是操作系统的伟大发明之一,对应用程序屏蔽了CPU调度.内存管理等硬件细节,而抽象出一个进程的概念,让应用程序专心于实现自己的业务逻辑既可,而且在有限的CPU上可以"同时"进行许 ...
- GoldenGate 配置extract,replicat进程自启动
在GoldenGate中主进程是manager进程,使用start mgr启动.可以在mgr进程中添加一些参数用来在启动mgr进程的同时启动extract和replicat进程 GGSCI (gg01 ...
- 孤儿进程与僵尸进程[总结]
1.前言 之前在看<unix环境高级编程>第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊.今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上 ...
最新文章
- flume源码学习4-SourceRunner与ExecSource实现
- 统计学习方法 第九章笔记: EM 算法
- python对象使用
- spring框架做全局异常捕获_springboot springmvc抛出全局异常的解决方法
- JavaScript数据结构与算法(六) 链表的实现
- python之路day04--列表的增删改查,嵌套、元组的嵌套、range、for循环嵌套
- JVM,JRE,JDK之间的区别和联系
- vue中自定义组件(插件)
- b站视频解析php,b站视频解析【调解流程】
- word参考文献插入和上标设置
- 转:getParameter、getParameterValues、getParameterMap用法详解
- kettle 学习笔记
- NodeJS 开发多人实时对战游戏服务器 (一)
- [R]指令总结-Rstudio,R版本,R包
- 组件‘mscomctl.ocx‘或它的一个依赖项没有正确注册:一个文件丢失或无效
- 纯shell实现文本替换
- Cognos 8.3 IE 兼容性问题
- Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC
- 数字化技术加速人才转型 附下载
- 清朝官场三百年之抢班夺权
热门文章
- 用matlab求状态转移矩阵(给定t)
- C++中的模板(template)
- 情人节程序员用HTML网页表白【情人节爱你的代码】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
- 4399Q版泡泡堂(DEVC++实现+解析)
- 字节内推 面试进度可查询 拒绝石沉大海 !!!
- 基于Springboot的个人博客网站系统——可用于毕业设计(课程设计)
- 编译内核报错——*** 没有规则可制作目标“debian/canonical-revoked-certs.pem”,由“certs/x509_revocation_list” 需求。 停止。
- BugKu CTF(杂项篇MISC)—啊哒
- javascript 获取邮箱的后缀
- bps(bits per second)