原理:
Python在执行import时,为保证之后执行速度,会把对应的py文件编译为pyc。在第二次加载该模块时,会直接读取加载pyc执行。利用这一点,我们可以把我们自己的代码插入pyc中。
原理很简单,基于此原理写了一个简单的利用demo。
地址:https://github.com/Knight-of-the-Ebon-Blade/pyhacker
示例:
准备好要注入的shellcode,win64_shellcode的功能是打开notepad。
执行指令python .\pyhacker.py -m base64 -f.\win64_shellcode。选定的模块是base64。注入完成后,正常启动python,导入base64模块。可见刚刚插入的shellcode正常执行。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)