aardio - 伪装进程测试

本文尝试通过修改PEB中的参数来伪装进程名称及命令行信息,并使用Aardio进行实验。结果显示,虽然修改在某些检查中生效,但在Procmon中仍显示原始数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

根据网上资料,修改进程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 bytes
  	byte 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查看结果:

有知道原因的,望留言指导一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢光庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值