Wi-Fi Ducky uzaktan HID saldırı ekipmanı yapın

1. WIFI DUCKY ile tanışın

Ducky Scripts'i uzaktan çalıştırmak için Wi-Fi kontrollü bir BadUSB cihazıdır.

Saldırıyı enjekte etmek için klavye görevi gören bir USB cihazı kullanın. Hak5'in USB Rubber Ducky, bu saldırı için bir bilgisayar korsanlığı aracıdır. Bu projede de kullanılan Ducky Script adlı basit bir betik dili tanıttı.

Cihaz, bir WIFI sinyali oluşturmak, uzaktan yüklemek, saldırmak için komut dosyalarını kaydetmek ve çalıştırmak için ESP8266 + ATMEGA32U4 kullanır

Ama neden Wi-Fi eklediniz diye sorabilirsiniz.

Wi-Fi kullanarak, Ducky Script'i uzaktan yükleyebilir ve çalıştırabilirsiniz.

Hedef makineyi tam olarak kontrol etmek için cihazı takın ve Wi-Fi ağına bağlanın.

Ayrıca size diğer BadUSB'ye göre daha büyük bir avantaj sağlar, betiğinizi test edebilirsiniz! Bunları micro-sd karta kopyalamanıza veya derlemenize gerek yoktur. Bunları doğrudan web arayüzü üzerinden çalıştırabilirsiniz, bu da komut dosyalarını test etmeyi ve geliştirmeyi çok kolaylaştırır.

Ayrıca farklı saldırılar için pek çok olasılık ekler. Hedef indirilen yürütülebilir dosyaları İnternet yerine Wi-Fi ağından yapabilirsiniz. Veya farklı bir saldırı yürütün ve sonuçları geri gönderin. Veya ESP8266s Wi-Fi üzerindeki ters kabuğu açın.

Bekle ... çok fazla olasılık var, acele et ve yap!

2. Gerekli malzemeler:

1. CJMCU-Beetle Leonardo USB ATMEGA32U4

2. ESP8266-12F

3. AMS1117-3.3V güç modülü

3. Gerekli yazılım:

ARDUINO IDE İndirme bağlantısı: https://www.arduino.cc/en/Main/Software

NodeMCU Flaşör İndirme bağlantısı: https://github.com/nodemcu/nodemcu-flasher

4. Bağlantı şeması:

5. Ürün yazılımını ESP8266'ya yazın

İlk önce aşağıdaki kodu Arduino'ya yükleyin:

int program_pin = 12; int enable_pin = 13; geçersiz kurulum () { Serial1.begin (115200); Serial.begin (115200); pinMode (enable_pin, OUTPUT); pinMode (program_pin, OUTPUT); digitalWrite (program_pin, DÜŞÜK); digitalWrite (enable_pin, HIGH); } geçersiz döngü () { while (Serial1.available ()) { Serial.write ((uint8_t) Serial1.read ()); } eğer (Serial.available ()) { while (Serial.available ()) { Serial1.write ((uint8_t) Serial.read ()); } } }

Cihazı PC'ye bağlayın, Arduino IDE'yi açın, geliştirme kartını ve bağlantı noktasını seçin

Ardından kodu Arduino'ya yazmak için Yükle'ye tıklayın

Başarıyla yazdıktan sonra indirmek için https://github.com/spacehuhn/wifi_ducky/releases adresine gidin esp8266_wifi_duck_4mb.bin aygıt yazılımı

Derlediğim Çince web arayüzü aygıt yazılımı İndirmek için tıklayın

Ardından NodeMCU Flasher yazma yazılımını açın

Parametreleri aşağıdaki gibi ayarlayın

Ardından ürün yazılımını seçin

Bağlantı noktasını seçin, aygıt yazılımını yazmaya başlamak için Flash'ı tıklayın

Yazma işlemi tamamlandıktan sonra GPIO0 hattının bağlantısını kesmeniz ve bunu aşağıdaki kablolamaya çevirmeniz gerekir ve ardından bir sonraki adımda kodu yazabilirsiniz.

6. ATMEGA32U4'e kod yazın

#Dahil etmek < Keyboard.h > #define BAUD_RATE 57200 #define ExternSerial Serial1 String bufferStr = ""; Dize last = ""; int defaultDelay = 0; void Line (String _line) { int firstSpace = _line.indexOf (""); if (firstSpace == -1) (_line) tuşuna basın; else if (_line.substring (0, firstSpace) == "STRING") { for (int i = firstSpace + 1; i < _line.length (); i ++) Keyboard.write (_line ); } else if (_line.substring (0, firstSpace) == "GECİKME") { int gecikme süresi = _line.substring (firstSpace + 1) .toInt (); gecikme (gecikme süresi); } aksi takdirde (_line.substring (0, firstSpace) == "DEFAULTDELAY") defaultDelay = _line.substring (firstSpace + 1) .toInt (); else if (_line.substring (0, firstSpace) == "REM") {} // hiçbir şey: / else if (_line.substring (0, firstSpace) == "YENİDEN OYNAT") { int replaynum = _line.substring (firstSpace + 1) .toInt (); while (replaynum) { Satır (son); --replaynum; } } Başka{ Dize kalır = _line; while (stay.length () > 0) { int latest_space = stay.indexOf (""); if (latest_space == -1) { Basın (kalsın); kalmak = ""; } Başka{ (Stay.substring (0, latest_space)) tuşuna basın; stay = stay.substring (en son_uzay + 1); } gecikme (5); } } Keyboard.releaseAll (); gecikme (defaultDelay); } void Press (String b) { if (b.length () == 1) Keyboard.press (char (b)); aksi takdirde (b.equals ("ENTER")) Keyboard.press (KEY_RETURN); else if (b.equals ("CTRL")) Keyboard.press (KEY_LEFT_CTRL); else if (b.equals ("SHIFT")) Keyboard.press (KEY_LEFT_SHIFT); else if (b.equals ("ALT")) Keyboard.press (KEY_LEFT_ALT); else if (b.equals ("GUI")) Keyboard.press (KEY_LEFT_GUI); else if (b.equals ("UP") || b.equals ("UPARROW")) Keyboard.press (KEY_UP_ARROW); else if (b.equals ("DOWN") || b.equals ("DOWNARROW")) Keyboard.press (KEY_DOWN_ARROW); else if (b.equals ("LEFT") || b.equals ("LEFTARROW")) Keyboard.press (KEY_LEFT_ARROW); else if (b.equals ("RIGHT") || b.equals ("RIGHTARROW")) Keyboard.press (KEY_RIGHT_ARROW); else if (b.equals ("DELETE")) Keyboard.press (KEY_DELETE); else if (b.equals ("PAGEUP")) Keyboard.press (KEY_PAGE_UP); else if (b.equals ("PAGEDOWN")) Keyboard.press (KEY_PAGE_DOWN); else if (b.equals ("HOME")) Keyboard.press (KEY_HOME); else if (b.equals ("ESC")) Keyboard.press (KEY_ESC); else if (b.equals ("BACKSPACE")) Keyboard.press (KEY_BACKSPACE); else if (b.equals ("INSERT")) Keyboard.press (KEY_INSERT); else if (b.equals ("TAB")) Keyboard.press (KEY_TAB); else if (b.equals ("END")) Keyboard.press (KEY_END); else if (b.equals ("CAPSLOCK")) Keyboard.press (KEY_CAPS_LOCK); else if (b.equals ("F1")) Keyboard.press (KEY_F1); else if (b.equals ("F2")) Keyboard.press (KEY_F2); else if (b.equals ("F3")) Keyboard.press (KEY_F3); else if (b.equals ("F4")) Keyboard.press (KEY_F4); else if (b.equals ("F5")) Keyboard.press (KEY_F5); else if (b.equals ("F6")) Keyboard.press (KEY_F6); else if (b.equals ("F7")) Keyboard.press (KEY_F7); else if (b.equals ("F8")) Keyboard.press (KEY_F8); else if (b.equals ("F9")) Keyboard.press (KEY_F9); else if (b.equals ("F10")) Keyboard.press (KEY_F10); else if (b.equals ("F11")) Keyboard.press (KEY_F11); else if (b.equals ("F12")) Keyboard.press (KEY_F12); else if (b.equals ("SPACE")) Keyboard.press (''); // else Serial.println ("bulunamadı: '" + b + "' (" + String (b.length ()) + ")"); } geçersiz kurulum () { Serial.begin (BAUD_RATE); ExternSerial.begin (BAUD_RATE); pinMode (13, ÇIKIŞ); digitalWrite (13, YÜKSEK); Keyboard.begin (); } geçersiz döngü () { eğer (ExternSerial.available ()) { bufferStr = ExternSerial.readStringUntil ("END"); Serial.println (bufferStr); } if (bufferStr.length () > 0) { bufferStr.replace ("r", "n"); bufferStr.replace ("nn", "n"); while (bufferStr.length () > 0) { int latest_return = bufferStr.indexOf ("n"); if (latest_return == -1) { Serial.println ("çalıştır:" + bufferStr); Satır (bufferStr); bufferStr = ""; } Başka{ Serial.println ("run: '" + bufferStr.substring (0, latest_return) + "'"); Satır (bufferStr.substring (0, latest_return)); last = bufferStr.substring (0, latest_return); bufferStr = bufferStr.substring (en son_turn + 1); } } bufferStr = ""; ExternSerial.write (0x99); Serial.println ("tamamlandı"); } }

Başarılı bir şekilde yazma istemini bekleyin, cihazın fişini çekin ve bilgisayara yeniden bağlanın

7. Nasıl kullanılır

Şu anda, cep telefonunuzla WIFI arayın ve bulacaksınız

WIFI: WIFI ÖRDEK PASSWD: şarlatan

Tarayıcıyı açın ve yönetim adresini girmek için girin

Burada yeni Ducky Komut Dosyalarını yükleyebilir, görüntüleyebilir, silebilir ve çalıştırabilirsiniz.

Lütfen komut dosyasının her satırının maksimum uzunluğunun 600 karakter olduğunu unutmayın.

Ducky Scripts nasıl yazılır: https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Duckyscript

8. ESP8266 donanım yazılımını web arayüzü üzerinden güncelleyin

Donanım yazılımını güncellemek istiyorsanız, web arayüzü üzerinden güncelleyebilirsiniz.

192.168.4.1/info adresine gidin ve yeni .bin dosyasını yükleyin

9. Özel bellenimi derleyin

Arduino kütüphanesini kurun

ESP8266 SDK

ESPAsyncWebServer

ESPAsyncTCP

Arduino'yu açın ve Dosya'ya tıklayın. > Tercih edilen hat

Yukarıdaki kodu ek geliştirme panosu yönetim URL'sine ekleyin ve ardından Araçlar- > Geliştirme Kurulu > Development Board Manager Arama ESP Kur'a tıklayın

Ardından Arduino'da ESPAsyncWebServer ve ESPAsyncTCP'yi indirin ve projeye tıklayın- > Kitaplığı yükle- > .Zip kitaplığı ekleyin

Dosyayı esp8266_wifi_duckhtmlfiles altında değiştirin, ardından minifier.html'yi açın ve biçimi dönüştürmek için "minify + byte-ify" i tıklayın ve data.h içindeki içeriği değiştirin (işte Çince-Çince WEB arayüzüm: indirmek için tıklayın)

Ardından Arduino IDE'de esp8266_wifi_duck.ino geliştirme kartı seçimini açın: Genel ESP8266 Modülü Flaş boyutu seçimi: 4 milyon (1 milyon SPIFFS) Ardından öğeye tıklayın- > Doğrulayın / derleyin ve projeye tıklayın- > Derlenmiş ikili dosyayı dışa aktar

10. Üretim sürecinin videosu (çiğ et)

11. Referans malzemeleri

https://github.com/spacehuhn/wifi_ducky

https://github.com/basic4/WiDucky

Orijinal makale, yazar: Eagle Xiao Bian,

Yeniden basıldıysa, lütfen kaynağı belirtin:

7. Hafta | "The Wandering Earth", "Kashen" unvanını tekrar kazandı "Small Break" e kaybetti
önceki
Kamu kaynak işlemlerine dikkat edin | "Akıllı işlemlere" dönüştürün Chongqing Kamu Kaynakları Ticaret Merkezi geliri artırır ve harcamaları 10 milyar yuan'ın üzerinde azaltır
Sonraki
Öğretmen bilgilerinin kapsamlı bir şekilde depolanmasını ilk kez gerçekleştiriyoruz! Öğretmen yönetimi bilgileri için yeni düzenlemeler burada
Doğrudan spor ekipmanlarına nasıl bakılır? Adidas Originals x Alexander Wang bu şekilde açılabilir!
Guandao 1.5T modelleri 220.000 yuan'dan başlıyor, bu fiyatı cazip buluyor musunuz?
Alay kontrol savaşçısı Guan Yu bu komboyu saklayamaz.
Liu Cixin bir keresinde "balık tutmaya" ve roman yazmaya mı gitti? Devlete ait Varlıklar Denetim ve İdare Komisyonu yetkilisinin mikro yanıtı şu şekildedir:
"Bir Kuşak Bir Yol" eğitimi devam ediyor, bakın bu 10 il ne yaptı
Klimalı bir ev olmayın, adidas neo sizi sokaklara çıkarıyor!
Vatandaşlar için ücretsiz 19 yaşındaki kız portreleri: Erhu'yu çizgi film nedeniyle resim yapmayı sevdiğini öğrenen kadın
Gökyüzündeki savaşı çözen Feitian kombinasyonu ortaya çıktı!
Adını ben seçmedim, meşhur okul sülün oldu, isimleri geciken üniversiteler
Git para biriktir! Supreme logosuyla dolu 2017 sonbahar / kış süveteri ortaya çıktı!
Yeni nesil kutsal araba Tuang'ı 308.900'den alacak mısın?
To Top