Skip to content

Instantly share code, notes, and snippets.

View rtfmkiesel's full-sized avatar

Manu Kiesel rtfmkiesel

View GitHub Profile
@rtfmkiesel
rtfmkiesel / bh_add_quick_export_buttons.js
Last active October 2, 2025 08:22
UserScript: BloodHound - Quick Export Buttons
// ==UserScript==
// @name BloodHound Table Quick Export
// @namespace http://tampermonkey.net/
// @version 1.2
// @description Adds various export buttons to BloodHound's tabel exporte, mainly useful for Markdown reporting
// @author github.com/rtfmkiesel
// @match *://*/*
// @run-at document-idle
// @grant GM_setClipboard
// @downloadURL https://gist.githubusercontent.com/rtfmkiesel/8d2f2068aa17963282594ce8ee581d4b/raw/bh_add_quick_export_buttons.js
@rtfmkiesel
rtfmkiesel / bh_add_copy_query.js
Last active October 2, 2025 07:19
UserScript: BloodHound - Add a "Copy Query" button
// ==UserScript==
// @name BloodHound Copy Query Button
// @namespace http://tampermonkey.net/
// @version 1.1
// @description Adds a copy query button to the web UI
// @author github.com/rtfmkiesel
// @match *://*/*
// @run-at document-idle
// @grant GM_setClipboard
// @downloadURL https://gist.githubusercontent.com/rtfmkiesel/298694c7e8cd5a9509a6b5843305fec8/raw/bh_add_copy_query.js
@rtfmkiesel
rtfmkiesel / update_ip.sh
Last active October 2, 2025 08:22
Update fail2ban and ufw with an IP resolved from a domain (for dyndns)
#!/bin/sh
TARGETDOMAIN="mydomain.dyndns.local"
SSHPORT="22"
echo "[*] Getting current IP"
CURIP=$(cat /etc/fail2ban/jail.local | grep "^ignoreip" | awk -F " " '{print $3}')
echo "[+] Current IP is $CURIP"
echo "[*] Getting new IP"
@rtfmkiesel
rtfmkiesel / poc.md
Last active October 2, 2025 08:22
A PoC for a RCE vulnerability in joplin-outline, one of the most popular plugins for Joplin
@rtfmkiesel
rtfmkiesel / download_vsix.js
Created April 24, 2025 09:04
Download as VSIX (Bookmarklet)
javascript:(() => {
const version = document.querySelector('#version + td')?.innerText.trim();
if (!version) {
alert('missing version');
return;
}
const publisher = document.querySelector('#publisher + td')?.innerText.trim();
if (!publisher) {
alert('missing publisher');