🗑️ delete-self-poc
delete-self-poc 演示了一种从磁盘删除被锁定或当前正在运行的文件的方法。此概念最初由 Jonas Lykkegaard 发现,我为此创建了概念验证(POC)。此外,只要当前调用进程具有访问和删除这些文件的必要权限,它也可以用于删除磁盘上被锁定的文件。
那么这个 POC 是如何工作的呢?
- 打开当前运行进程的 HANDLE,并具有 DELETE 访问权限。请注意,仅需要 DELETE 访问权限。
- 使用 SetFileInformationByHandle 函数将主文件流 :$DATA 重命名为 :wtfbbq。
- 关闭 HANDLE。
- 打开当前进程的 HANDLE,并将 FileDispositionInfo 类的 DeleteFile 标志设置为 TRUE。
- 关闭 HANDLE 以触发文件处置。
- 瞧!文件现在消失了。
发布
我已经在此仓库中包含了一个静态链接的发布版本,如果你懒得编译原始源代码的话。