🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 怎么在你的exploit中确认window补丁程序级别 检查补丁级别是脆弱性研究或开发exploit的重要任务。作为一个寻找bug的人,你应该关心补丁级别,因为假设你有一个针对Internet Explorer 10的0day,你不能总是假定它自首次亮相*2012年)以来就会影响所有IE 10的构建。如果你意识到你的0day只影响一两个版本,那么它有多大的威胁呢?大概没有你想象的那么糟糕。 如果您是exploit开发人员,则需要检查其他原因:最大可靠性。您的漏洞利用有很多可能会失败,由于系统更新而更改的错误小工具(ROP)很容易就是其中之一。如果这个更新发生在一个相当早的阶段,你的漏洞很可能会很多失败。 ### 如何收集微软补丁 如果你使用补丁差异,你可能会维护自己的DLL数据库。但是这可能需要大量的磁盘空间,对于大多数人来说,这可能是不值得的,除非你每天都要看这些DLL.可能有一个更经济方法来跟踪所有这些补丁,并有一些接口允许快速和方便地访问它们。 幸运的是,Microsoft维护一个Excel文件中的所有补丁列表,您可以在这里下载: http://www.microsoft.com/en-us/download/confirmation.aspx?id=36982 如果您更喜欢某种GUI进行搜索,则可以使用安全技术中心的[My Security Bulletins Dashboard](http://mybulletins.technet.microsoft.com/BulletinPages/Dashboard). 您可以编辑这个仪表板来添加特定的过滤器,如Windows版本,Internet Explorer版本,Office等等 例如,如果我想从Windows 7自首次亮相以来找到所有适用于Windows 7的Internet Explorer 10修补程序,则可以添加以下过滤器 * Windows 7 * Internet Explorer 然后我从2012年9月到2014年,我得到:22个结果.但是,当然,这个数字会上升,因为IE 10仍然支持. 还有其他桌面或命令行工具,将基本上检查您的Windows系统丢失的补丁,如[Windows Update Powershell Module](https://gallery.technet.microsoft.com/scriptcenter/2d191bcd-3308-4edd-9de2-88dff796b0bc),在一些情况下它可能工作的更好 ### 补丁提取 * 旧的补丁过去被封装成EXE,这种类型可以通过使用解压缩工具(如7z)来提取.例如,Internet Explorer 6修补程序可以通过这种方式提取。 * 打包成EXE的较新的修补程序支持用于提取的/ X标志。例如,以下将在同一目录下提取补丁。可以通过这种方式提取Internet Explorer 8(xp)等修补程序。 ``` Windows[Something]-KB[Something]-x86-ENU.exe /X:. ``` * 现在大多数补丁都被打包成MSU。这是你必须做的: 1. 将所有* .msu文件放在同一目录下(在window中) 2. 运行 tools/extract_msu.bat [*.msu文件的绝对路径] 3. extract_msu.bat应该自动提取所有* .msu文件。每个新文件夹中的“extracted”子目录都是您可以找到更新组件的地方 ### 检查修补程序中的小工具 通过使用Metasploit的msfpescan实用程序(或者msfbinscan,它足够聪明以知道PE格式) 是来检查不同修补程序中小工具的最快方法。这很容易,你只需把DLL放在同一个目录下,然后执行: ~~~ $ ./msfbinscan -D -a [address] -A 10 /patches/*.dll ~~~ 那么这个工具会反汇编那个目录下的所有DLL,在那个特定的地址上是10个字节。您可能可以稍微自动化一下,以便快速确定哪些DLL没有正确的小工具,如果这是您的情况,那意味着您使用的小工具是不安全的。你应该找到另一个更可靠的。