用于从 Windows 进程中提取信息和转储敏感字符串的小型工具包。旨在配合正在进行的另一个项目。
- procsearch——在目标进程内存中查找敏感字符串
- 在可读进程内存中搜索已解析的字符串,如果找到,则显示搜索字符串周围的一系列有效 ASCII 字符
- procinfo - 显示进程可执行文件的以下文件版本信息:
- 进程名称
- 描述
- 产品名称
- 文件版本
- 内部名称
- 公司名称
- 评论
- 合法版权
- 合法商标
- 产品版本
- 私人建造
- 特殊建造
- procargs——提取目标进程的命令行参数
- prockill—终止目标进程
转储进程内存并搜索可读字符串。PID、搜索字符串和范围仅适用于此版本。找到搜索字符串后,范围参数指示应打印找到的字符串两侧的多少个字符(只要它们是有效的 ASCII)。
在 VS 中编译。以下示例从 Outlook 进程转储用户信息:
PS C:Userscapde> .procsearch.exe 7592 "email" 500
[+] Search string "email" FOUND: (...) "age_group": "adult", "association_status": "{"com.microsoft.Olk":"associated"}"
,"authority": "https://login.microsoftonline.com/consumers", "birthday": "1969-3-1", "display_name": "John Doe",
"email": "capdevuser001@outlook.com", "first_name": "John", "id": "3a25f54136ac887c", "last_name": "Doe", "location":
"UK", "login_name":"capdevuser001@outlook.com","onprem_sid": "", "password_change_url": "", "phone_number": "" (...)
无法正常运行Inline-Execute-PE
。我正在努力解决这个问题,并且 C++ BOF 版本应该比目前的 C 版本允许更大的搜索范围。
Procsearch-BOF.c
编译并加载.cna:
x86_64-w64-mingw32-gcc -c procsearch-BOF.c -o procsearch-BOF.o
BOF 版本对缓冲区大小很敏感,因此该<range>
选项不存在,输出也受到一定限制。您可以随意调整缓冲区大小,但请注意,__chkstk
如果缓冲区太大,可能会出现错误或信标可能会挂起。
理想情况下,我想用 C++ 编写此代码,我曾在本地使用 bof-vs 进行工作,但在 beacon 中运行时会返回一些混乱的未知符号错误或崩溃。将在可能时更新。可能有更好的方法在 C 中实现搜索函数/缓冲区,但目前这种方法可行。
我不建议"."
在非常大的进程中搜索单个字符,因为这可能会挂起信标。使用 BOF 时建议至少搜索 3 或 4 个字符的字符串。使用 C++ 版本可以真正扩大范围。
进程信息文件
https://github.com/mlcsec/proctools
原文始发于微信公众号(TtTeam):Windows 进程中提取信息并转储敏感字符串的小型工具包
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论