文章总结: 本文介绍了对PrintNotifyPotato项目的改进,主要新增了Shellcode注入功能,支持x86和x64架构并能自动生成loaderstub。同时增加了静默和详细模式以控制日志输出,优化了进程访问策略以提高成功率,并在Shellcode写入后清理本地缓冲区以减少取证风险。仅用于授权安全研究。 综合评分: 85 文章分类: 漏洞POC,渗透测试,红队,安全工具
PrintNotifyPotato
原创
abc_123
SecurityPaper
2025年12月12日 11:14 江苏
基于 PrintNotifyPotato 原项目,我做了一些改进,主要增加了 Shellcode 注入功能。
主要改进点
1. 新增 Shellcode 注入功能
原项目只能执行命令,现在支持直接注入 shellcode 到目标进程。
使用方式:
PrintNotifyPotato.exe inject <pid> <shellcode路径>
实现细节:
- 支持 x86 和 x64 架构,自动检测并生成对应的 loader stub
- 先分配可读写内存写入 shellcode,再改为可执行权限
- 使用短跳转 stub 执行,避免线程起始地址异常
- 注入前自动启用 SeDebugPrivilege 和 SeIncreaseQuotaPrivilege
2. 静默/详细模式
原项目会固定输出所有日志,现在可以控制输出级别。
--quiet或--silent:静默模式,默认开启,不输出日志--verbose:详细模式,输出完整日志用于调试
3. 进程访问策略优化
注入时如果最小权限组合失败,会自动尝试更高权限,提高成功率。
4. 内存清理
Shellcode 写入目标进程后,会立即清零本地缓冲区,减少内存取证风险。
使用示例
原项目:
PrintNotifyPotato.exe whoami
PrintNotifyPotato.exe cmd interactive
改进后:
# 静默执行
PrintNotifyPotato.exe whoami --quiet
# Shellcode 注入
PrintNotifyPotato.exe inject 1234 C:\temp\payload.bin
# 静默注入
PrintNotifyPotato.exe inject 5678 C:\temp\shellcode.bin --silent
注意:仅用于授权的安全研究和渗透测试。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:SecurityPaper abc_123《PrintNotifyPotato》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论