{"id":58698,"date":"2026-05-31T14:39:18","date_gmt":"2026-05-31T14:39:18","guid":{"rendered":"https:\/\/zero.redgem.net\/?p=58698"},"modified":"2026-05-31T14:39:18","modified_gmt":"2026-05-31T14:39:18","slug":"windows-kernel-pointer-exposure-enumerator","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=58698","title":{"rendered":"Windows Kernel Pointer Exposure Enumerator_MSF:POST-WINDOWS-GATHER-WINDOWS_KERNEL_POINTER_ENUM-"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-05-31T19:28:00&#8243;,&#8221;description&#8221;:&#8221;This module enumerates kernel object pointers exposed via NtQuerySystemInformation with SystemExtendedHandleInformation. It categorizes exposed pointers by object type and provides observational data about kernel address space layout for research and&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-05-31T19:02:05&#8243;,&#8221;modified&#8221;:&#8221;2026-05-31T19:02:05&#8243;,&#8221;type&#8221;:&#8221;metasploit&#8221;,&#8221;title&#8221;:&#8221;Windows Kernel Pointer Exposure Enumerator&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;MSF:POST-WINDOWS-GATHER-WINDOWS_KERNEL_POINTER_ENUM-&#8220;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[],&#8221;sourceData&#8221;:&#8221;##\\n# This module requires Metasploit: https:\/\/metasploit.com\/download\\n# Current source: https:\/\/github.com\/rapid7\/metasploit-framework\\n##\\n\\nclass MetasploitModule \\u003c Msf::Post\\n  include Msf::Post::Windows::Priv\\n  include Msf::Post::Windows::Process\\n  include Msf::Auxiliary::Report\\n  include Msf::Exploit::Local::WindowsKernel::HandleEnum\\n\\n  def initialize(info = {})\\n    super(\\n      update_info(\\n        info,\\n        &#8216;Name&#8217; =\\u003e &#8216;Windows Kernel Pointer Exposure Enumerator&#8217;,\\n        &#8216;Description&#8217; =\\u003e %q{\\n          This module enumerates kernel object pointers exposed via\\n          NtQuerySystemInformation with SystemExtendedHandleInformation.\\n\\n          It categorizes exposed pointers by object type and provides\\n          observational data about kernel address space layout for\\n          research and educational purposes.\\n        },\\n        &#8216;License&#8217; =\\u003e MSF_LICENSE,\\n        &#8216;Author&#8217; =\\u003e [&#8216;CharlesQuinnDev&#8217;],\\n        &#8216;Platform&#8217; =\\u003e &#8216;win&#8217;,\\n        &#8216;SessionTypes&#8217; =\\u003e [&#8216;meterpreter&#8217;],\\n        &#8216;Notes&#8217; =\\u003e {\\n          &#8216;Stability&#8217; =\\u003e [CRASH_SAFE],\\n          &#8216;Reliability&#8217; =\\u003e [],\\n          &#8216;SideEffects&#8217; =\\u003e []\\n        }\\n      )\\n    )\\n\\n    register_options([\\n      OptInt.new(&#8216;MAX_HANDLES&#8217;, [true, &#8216;Maximum handles to process (0 = unlimited)&#8217;, 50000]),\\n      OptInt.new(&#8216;TIMEOUT&#8217;, [true, &#8216;Timeout in seconds for enumeration&#8217;, 30]),\\n      OptString.new(&#8216;EXPORT_CSV&#8217;, [false, &#8216;Export results to CSV file&#8217;])\\n    ])\\n  end\\n\\n  def run\\n    print_status(&#8216;Windows Kernel Pointer Exposure Enumerator&#8217;)\\n    print_line(&#8216;=&#8217; * 80)\\n\\n    fail_with(Failure::NotVulnerable, &#8216;Unsupported environment&#8217;) unless validate_environment\\n\\n    print_status(&#8216;Enumerating kernel object pointers&#8230;&#8217;)\\n\\n    @pointers = enum_system_handles(session, datastore[&#8216;MAX_HANDLES&#8217;], datastore[&#8216;TIMEOUT&#8217;])\\n\\n    if @pointers.nil? || @pointers.empty?\\n      print_error(&#8216;Failed to enumerate kernel pointers&#8217;)\\n      return\\n    end\\n\\n    print_good(\\&#8221;Enumerated #{@pointers.size} kernel object pointers\\&#8221;)\\n\\n    display_results\\n\\n    export_results if datastore[&#8216;EXPORT_CSV&#8217;]\\n  end\\n\\n  def validate_environment\\n    sysinfo = session.sys.config.sysinfo\\n    @os = sysinfo[&#8216;OS&#8217;]\\n    @arch = sysinfo[&#8216;Architecture&#8217;]\\n    @computer = sysinfo[&#8216;Computer&#8217;]\\n\\n    print_status(\\&#8221;Target: #{@computer}\\&#8221;)\\n    print_status(\\&#8221;OS: #{@os}\\&#8221;)\\n    print_status(\\&#8221;Arch: #{@arch}\\&#8221;)\\n    print_status(\\&#8221;User: #{session.sys.config.getuid}\\&#8221;)\\n\\n    unless @arch =~ \/x64|64|amd64\/i\\n      print_error(&#8216;This module only supports x64 systems&#8217;)\\n      return false\\n    end\\n\\n    true\\n  rescue StandardError =\\u003e e\\n    print_error(\\&#8221;Failed to get system info: #{e.message}\\&#8221;)\\n    false\\n  end\\n\\n  def display_results\\n    print_line\\n    print_line(&#8216;=&#8217; * 80)\\n    print_line(&#8216;KERNEL POINTER EXPOSURE RESULTS&#8217;)\\n    print_line(&#8216;=&#8217; * 80)\\n\\n    print_line(\\&#8221;\\\\nSUMMARY STATISTICS:\\&#8221;)\\n    print_line(\\&#8221;  Total pointers: #{@pointers.size}\\&#8221;)\\n\\n    unique = @pointers.uniq { |p| p[:address] }.size\\n    print_line(\\&#8221;  Unique addresses: #{unique}\\&#8221;)\\n\\n    if @pointers.any?\\n      min_addr = @pointers.map { |p| p[:address] }.min\\n      max_addr = @pointers.map { |p| p[:address] }.max\\n      print_line(\\&#8221;  Address range: 0x#{min_addr.to_s(16)} &#8211; 0x#{max_addr.to_s(16)}\\&#8221;)\\n    end\\n\\n    by_type = @pointers.group_by { |p| p[:type_index] }\\n\\n    print_line(\\&#8221;\\\\nOBJECT TYPE DISTRIBUTION:\\&#8221;)\\n    by_type.sort.each do |type, ptrs|\\n      pct = (ptrs.size.to_f \/ @pointers.size * 100).round(2)\\n      type_name = get_type_hint(type)\\n      print_line(\\&#8221;  Type #{type} (#{type_name}): #{ptrs.size} pointers (#{pct}%)\\&#8221;)\\n    end\\n\\n    alpc_pointers = @pointers.select { |p| (32..48).include?(p[:type_index]) }\\n\\n    if alpc_pointers.any?\\n      print_line(\\&#8221;\\\\n\\&#8221; + &#8216;-&#8216; * 80)\\n      print_line(&#8216;ALPC OBJECT ANALYSIS (Type Indices 32-48)&#8217;)\\n      print_line(&#8216;-&#8216; * 80)\\n\\n      print_line(\\&#8221;  Total ALPC pointers: #{alpc_pointers.size}\\&#8221;)\\n\\n      by_pid = alpc_pointers.group_by { |p| p[:pid] }\\n      print_line(\\&#8221;  Found in #{by_pid.size} processes\\&#8221;)\\n\\n      print_line(\\&#8221;\\\\n  Processes with ALPC pointers:\\&#8221;)\\n      by_pid.sort_by { |_, v| -v.size }.first(10).each do |pid, ptrs|\\n        proc_name = get_process_name(session, pid)\\n        print_line(\\&#8221;    #{proc_name} (PID: #{pid}): #{ptrs.size} ALPC pointers\\&#8221;)\\n      end\\n\\n      print_line(\\&#8221;\\\\n  Sample ALPC kernel addresses:\\&#8221;)\\n      alpc_pointers.first(10).each_with_index do |p, i|\\n        print_line(\\&#8221;    #{i + 1}. Type #{p[:type_index]}: 0x#{p[:address].to_s(16)}\\&#8221;)\\n      end\\n    end\\n\\n    print_line(\\&#8221;\\\\n\\&#8221; + &#8216;=&#8217; * 80)\\n  end\\n\\n  def export_results\\n    return unless datastore[&#8216;EXPORT_CSV&#8217;]\\n\\n    timestamp = Time.now.strftime(&#8216;%Y%m%d_%H%M%S&#8217;)\\n    filename = \\&#8221;kernel_pointers_#{timestamp}.csv\\&#8221;\\n\\n    csv = \\&#8221;PID,TypeIndex,TypeHint,Handle,Access,Address\\\\n\\&#8221;\\n    @pointers.each do |p|\\n      type_hint = get_type_hint(p[:type_index])\\n      csv += \\&#8221;#{p[:pid]},#{p[:type_index]},#{type_hint},0x#{p[:handle].to_s(16)},0x#{p[:access].to_s(8)},0x#{p[:address].to_s(16)}\\\\n\\&#8221;\\n    end\\n\\n    size_str = format_file_size(csv.bytesize)\\n\\n    stored_path = store_loot(\\n      &#8216;windows.kernel.pointers&#8217;,\\n      &#8216;text\/csv&#8217;,\\n      session,\\n      csv,\\n      filename,\\n      &#8216;Windows Kernel Pointer Enumeration Results&#8217;\\n    )\\n\\n    print_good(\\&#8221;Results exported to: #{stored_path} (#{size_str})\\&#8221;)\\n  end\\nend\\n&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/github.com\/rapid7\/metasploit-framework\/blob\/master\/modules\/post\/windows\/gather\/windows_kernel_pointer_enum.rb&#8221;,&#8221;cvss&#8221;:{&#8220;score&#8221;:0,&#8221;severity&#8221;:&#8221;NONE&#8221;,&#8221;vector&#8221;:&#8221;NONE&#8221;,&#8221;version&#8221;:&#8221;NONE&#8221;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/www.rapid7.com\/db\/modules\/post\/windows\/gather\/windows_kernel_pointer_enum\/&#8221;,&#8221;category_name&#8221;:&#8221;Exploit&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-05-31T19:28:00&#8243;,&#8221;description&#8221;:&#8221;This module enumerates kernel object pointers exposed via NtQuerySystemInformation with SystemExtendedHandleInformation. It categorizes exposed pointers by object type and provides observational data about kernel address&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[6,8,12,169,13,33,7,11,5],"class_list":["post-58698","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-exploit","tag-metasploit","tag-news","tag-none","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Windows Kernel Pointer Exposure Enumerator_MSF:POST-WINDOWS-GATHER-WINDOWS_KERNEL_POINTER_ENUM- zero redgem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zero.redgem.net\/?p=58698\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Windows Kernel Pointer Exposure Enumerator_MSF:POST-WINDOWS-GATHER-WINDOWS_KERNEL_POINTER_ENUM- zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2026-05-31T19:28:00&#8243;,&#8221;description&#8221;:&#8221;This module enumerates kernel object pointers exposed via NtQuerySystemInformation with SystemExtendedHandleInformation. It categorizes exposed pointers by object type and provides observational data about kernel address...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=58698\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-31T14:39:18+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58698#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58698\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"Windows Kernel Pointer Exposure Enumerator_MSF:POST-WINDOWS-GATHER-WINDOWS_KERNEL_POINTER_ENUM-\",\"datePublished\":\"2026-05-31T14:39:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58698\"},\"wordCount\":962,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"exploit\",\"metasploit\",\"news\",\"NONE\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=58698#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58698\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58698\",\"name\":\"Windows Kernel Pointer Exposure Enumerator_MSF:POST-WINDOWS-GATHER-WINDOWS_KERNEL_POINTER_ENUM- zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2026-05-31T14:39:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58698#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=58698\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58698#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Windows Kernel Pointer Exposure Enumerator_MSF:POST-WINDOWS-GATHER-WINDOWS_KERNEL_POINTER_ENUM-\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Windows Kernel Pointer Exposure Enumerator_MSF:POST-WINDOWS-GATHER-WINDOWS_KERNEL_POINTER_ENUM- zero redgem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zero.redgem.net\/?p=58698","og_locale":"en_US","og_type":"article","og_title":"Windows Kernel Pointer Exposure Enumerator_MSF:POST-WINDOWS-GATHER-WINDOWS_KERNEL_POINTER_ENUM- zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2026-05-31T19:28:00&#8243;,&#8221;description&#8221;:&#8221;This module enumerates kernel object pointers exposed via NtQuerySystemInformation with SystemExtendedHandleInformation. It categorizes exposed pointers by object type and provides observational data about kernel address...","og_url":"https:\/\/zero.redgem.net\/?p=58698","og_site_name":"zero redgem","article_published_time":"2026-05-31T14:39:18+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=58698#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=58698"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"Windows Kernel Pointer Exposure Enumerator_MSF:POST-WINDOWS-GATHER-WINDOWS_KERNEL_POINTER_ENUM-","datePublished":"2026-05-31T14:39:18+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=58698"},"wordCount":962,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","exploit","metasploit","news","NONE","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=58698#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=58698","url":"https:\/\/zero.redgem.net\/?p=58698","name":"Windows Kernel Pointer Exposure Enumerator_MSF:POST-WINDOWS-GATHER-WINDOWS_KERNEL_POINTER_ENUM- zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2026-05-31T14:39:18+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=58698#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=58698"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=58698#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"Windows Kernel Pointer Exposure Enumerator_MSF:POST-WINDOWS-GATHER-WINDOWS_KERNEL_POINTER_ENUM-"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/58698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=58698"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/58698\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=58698"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=58698"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=58698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}