Rubber Ducky against Non-English Environments

So thanks to Mr.Robot , Rubber Ducky and PwnPhone have now become a wet dream for some.

Great! I haz a Rubberducky all your base are belong to us!!!!

Not quite…Rubber Ducky uses Duckyscript to pass on the commands to the targeted environment. Yes! I own your BOX!!
True, if the environment was a en-US environment with a en-US layout keyboard……You say , “Whatu no Soysosu?”

Indeed, if the targeted environment uses a non-en-US keyboard, like a Japanese keyboard….the commands will not work..
Why not? Well cause as the ducky is emulating a keyboard the keystrokes it sends are different than what
the target environment is setup for. See below to compare the differences in layouts.



Screen Shot 2016-09-07 at 19.29.04



So yea, having soy sauce with your rubber ducky could be a problem when passing on commands with special characters
such as:

STRING mode con:cols=18 lines=1

Because the ducky will pass on the keystroke for “=” but the that keystroke on a Japanese layout is “^” .

The way to get around it is to use powershell and add an en-US keyboard to the target and then set it to it .

1.First just get an administrator command prompt

in DuckyScript:

REM Open an admin command prompt
STRING powershell Start-Process cmd -Verb runAs
DELAY 2000
DELAY 1000

(thank you @hak5Darren) via : 15 Second Password Hack,Mr.Robot Style

2.Then use powershell to add an en-us keyboard layout if the user doesn’t have any. (it will only add it once and not multiple times if it already exists.)

Powershell command: powershell New-WinUserLanguageList en-US

In DuckyScript : STRING powershell New-WinUserLanguageList en-US

3.Then we need to set the default input to the layout

Powershell command : powershell Set-WinUserLanguageList -LanguageList en-US

In Duckyscript: STRING powershell Set-WinUserLanguageList -LanguageList en-US

So now the keyboard layout is set to an en-us (American) keyboard layout so the Ducky can chow down on some nice burgers and hotdogs.
To set the environment back to the original layout just issue the same Set-WinUserLanguageList to the original settings. i.e.:ja-JP etc etc.

Here is a quick demo of the concept:


Posted on 2016年9月7日, 7:44 PM By
Categories: Hacklish