v8 fullchain
记录下v8 rce和windows exp的结合
参考
https://nobb.site/2022/02/23/0x74/
作者有部分没写全这里完善下
简述
先说下大致流程
v8 rce后shellcode要改,大致内容就是virtualprotect设置exp可执行,然后跳转(这我自己写的,可能不太完美)
1 |
|
shellcode如上
逻辑如图所示,简单来说就是现根据kernel32基地址拿getprocessaddr然后拿virtualprotect地址接着跳转执行
有三个需要更改的地方,一个是exp地址,上图是0xeda000
还有一个是length,上图是0xfa,这个length自行在v8 exp里修改即可。
当然直接跳转到exp肯定不能跑,这边需要借助下github的一个项目
https://github.com/hasherezade/pe_to_shellcode
根据反射式dll注入改的,pe头部会被当作shellcode来执行,当然直接跑也可以。
在编写v8exp时,吧转换成shellcode的提权exp写入uint8array然后leak出提权exp地址
然后修改上面的shellcode,注意length也要对应的修改。
注意点
打某些程序时出现peshellcode初始化异常问题
调试下来发现是ucrtbase.dll这个库不在该sandboxed process的module list里
可以用gcc编译提权的exp来解决。注意要带重定位表,不然pe2shellcode不能使用。
v8 fullchain
http://www.psbazx.com/2022/04/03/v8-fullchain/