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.
So yea, having soy sauce with your rubber ducky could be a problem when passing on commands with special characters
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
REM Open an admin command prompt
STRING powershell Start-Process cmd -Verb runAs
(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: