hacktricks/todo/radio-hacking/fissure-the-rf-framework.md
2024-02-11 01:46:25 +00:00

13 KiB

FISSURE - Framework RF

Niezależne od częstotliwości zrozumienie sygnałów opartych na SDR i inżynieria wsteczna

FISSURE to otwarte oprogramowanie do inżynierii wstecznej i RF, zaprojektowane dla wszystkich poziomów umiejętności, z możliwościami wykrywania i klasyfikacji sygnałów, odkrywania protokołów, wykonywania ataków, manipulacji IQ, analizy podatności, automatyzacji oraz AI/ML. Framework został stworzony w celu promowania szybkiej integracji modułów oprogramowania, radiów, protokołów, danych sygnałowych, skryptów, grafów przepływu, materiałów referencyjnych i narzędzi firm trzecich. FISSURE to narzędzie ułatwiające pracę, które umożliwia przechowywanie oprogramowania w jednym miejscu i pozwala zespołom łatwo nadążyć za postępem, jednocześnie udostępniając tę samą sprawdzoną konfigurację podstawową dla określonych dystrybucji Linuxa.

Framework i narzędzia zawarte w FISSURE są przeznaczone do wykrywania obecności energii RF, zrozumienia charakterystyki sygnału, zbierania i analizowania próbek, opracowywania technik transmisji i/lub wstrzykiwania oraz tworzenia niestandardowych ładunków lub wiadomości. FISSURE zawiera rosnącą bibliotekę informacji o protokołach i sygnałach, które pomagają w identyfikacji, tworzeniu pakietów i testowaniu. Istnieje możliwość pobierania plików sygnałowych i tworzenia list odtwarzania w celu symulowania ruchu i testowania systemów.

Przyjazny kod Python i interfejs użytkownika umożliwiają początkującym szybkie zapoznanie się z popularnymi narzędziami i technikami związanymi z RF i inżynierią wsteczną. Nauczyciele w dziedzinie cyberbezpieczeństwa i inżynierii mogą skorzystać z wbudowanego materiału lub wykorzystać framework do demonstracji własnych zastosowań w rzeczywistych warunkach. Programiści i badacze mogą używać FISSURE do codziennych zadań lub udostępniać swoje najnowocześniejsze rozwiązania szerszej publiczności. Wraz z rozwojem świadomości i użytkowania FISSURE w społeczności, rozszerzą się możliwości frameworka i zakres technologii, które obejmuje.

Dodatkowe informacje

Rozpoczęcie pracy

Obsługiwane

W FISSURE są trzy gałęzie, które ułatwiają nawigację po plikach i zmniejszają redundancję kodu. Gałąź Python2_maint-3.7 zawiera kod oparty na Pythonie 2, PyQt4 i GNU Radio 3.7; gałąź Python3_maint-3.8 jest oparta na Pythonie 3, PyQt5 i GNU Radio 3.8; natomiast gałąź Python3_maint-3.10 jest oparta na Pythonie 3, PyQt5 i GNU Radio 3.10.

System operacyjny Gałąź FISSURE
Ubuntu 18.04 (x64) Python2_maint-3.7
Ubuntu 18.04.5 (x64) Python2_maint-3.7
Ubuntu 18.04.6 (x64) Python2_maint-3.7
Ubuntu 20.04.1 (x64) Python3_maint-3.8
Ubuntu 20.04.4 (x64) Python3_maint-3.8
KDE neon 5.25 (x64) Python3_maint-3.8

W trakcie (beta)

Te systemy operacyjne są nadal w fazie beta. Są one w trakcie rozwoju i brakuje w nich kilku funkcji. Elementy w instalatorze mogą kolidować z istniejącymi programami lub nie udać się zainstalować, dopóki status nie zostanie usunięty.

System operacyjny Gałąź FISSURE
DragonOS Focal (x86_64) Python3_maint-3.8
Ubuntu 22.04 (x64) Python3_maint-3.10

Uwaga: Niektóre narzędzia oprogramowania nie działają na każdym systemie operacyjnym. Odwołaj się do Oprogramowanie i konflikty

Instalacja

git clone https://github.com/ainfosec/FISSURE.git
cd FISSURE
git checkout <Python2_maint-3.7> or <Python3_maint-3.8> or <Python3_maint-3.10>
git submodule update --init
./install

To zainstaluje zależności oprogramowania PyQt wymagane do uruchomienia interfejsów instalacyjnych, jeśli nie zostaną one znalezione.

Następnie wybierz opcję, która najlepiej odpowiada Twojemu systemowi operacyjnemu (powinna być wykrywana automatycznie, jeśli Twój system operacyjny pasuje do jednej z opcji).

Python2_maint-3.7 Python3_maint-3.8 Python3_maint-3.10
install1b install1a install1c

Zaleca się instalację FISSURE na czystym systemie operacyjnym, aby uniknąć istniejących konfliktów. Zaznacz wszystkie zalecane pola wyboru (przycisk Domyślne), aby uniknąć błędów podczas korzystania z różnych narzędzi w ramach FISSURE. Podczas instalacji pojawi się wiele monitów, głównie dotyczących podwyższonych uprawnień i nazw użytkowników. Jeśli element zawiera sekcję "Weryfikacja" na końcu, instalator uruchomi polecenie, które następuje po nim i zaznaczy pole wyboru na zielono lub czerwono, w zależności od tego, czy polecenie wygeneruje jakiekolwiek błędy. Zaznaczone elementy bez sekcji "Weryfikacja" pozostaną czarne po zakończeniu instalacji.

install2

Użycie

Otwórz terminal i wprowadź:

fissure

Zobacz menu Pomoc FISSURE, aby uzyskać więcej informacji na temat korzystania.

Szczegóły

Komponenty

  • Panel sterowania
  • Centralny punkt (HIPRFISR)
  • Identyfikacja sygnału docelowego (TSI)
  • Odkrywanie protokołów (PD)
  • Graf przepływu i wykonawca skryptów (FGE)

komponenty

Możliwości

Detektor sygnału Manipulacja IQ Wyszukiwanie sygnałów Rozpoznawanie wzorców
Ataki Fuzzing Listy odtwarzania sygnałów Galeria obrazów
Tworzenie pakietów Integracja Scapy Kalkulator CRC Logowanie

Sprzęt

Poniżej znajduje się lista "obsługiwanego" sprzętu o różnym stopniu integracji:

  • USRP: X3xx, B2xx, B20xmini, USRP2, N2xx
  • HackRF
  • RTL2832U
  • Adaptery 802.11
  • LimeSDR
  • bladeRF, bladeRF 2.0 micro
  • Open Sniffer
  • PlutoSDR

Lekcje

FISSURE zawiera kilka pomocnych przewodników, które pomogą zapoznać się z różnymi technologiami i technikami. Wiele z nich zawiera kroki dotyczące korzystania z różnych narzędzi zintegrowanych z FISSURE.

Roadmap

  • Dodaj więcej typów sprzętu, protokołów RF, parametrów sygnałów, narzędzi analizy
  • Wsparcie dla większej liczby systemów operacyjnych
  • Opracowanie materiałów dydaktycznych dotyczących FISSURE (Ataki RF, Wi-Fi, GNU Radio, PyQt itp.)
  • Stworzenie kondycjonera sygnału, ekstraktora cech i klasyfikatora sygnałów z wybieralnymi technikami AI/ML
  • Wdrożenie mechanizmów rekurencyjnej demodulacji do generowania strumienia bitów z nieznanych sygnałów
  • Przejście głównych komponentów FISSURE do ogólnego schematu wdrożenia węzłów czujnikowych

Współpraca

Zachęcamy do zgłaszania sugestii dotyczących poprawy FISSURE. Zostaw komentarz na stronie Dyskusje lub na serwerze Discord, jeśli masz jakiekolwiek pomysły dotyczące:

  • Sugestie nowych funkcji i zmian projektowych
  • Narzędzia oprogramowania wraz z instrukcjami instalacji
  • Nowe lekcje lub dodatkowe materiały do istniejących lekcji
  • Interesujące protokoły RF
  • Więcej sprzętu i typów SDR do integracji
  • Skrypty analizy IQ w języku Python
  • Korekty i ulepszenia instalacji

Wkład w poprawę FISSURE jest niezwykle ważny dla przyspieszenia jego rozwoju. Wszelkie wniesione przez Ciebie zmiany są bardzo doceniane. Jeśli chcesz przyczynić się poprzez rozwój kodu, proszę o skopiowanie repozytorium i utworzenie żądania pull:

  1. Skopiuj projekt
  2. Utwórz nową gałąź funkcji (git checkout -b feature/AmazingFeature)
  3. Zatwierdź zmiany (git commit -m 'Dodaj niesamowitą funkcję')
  4. Wyślij do gałęzi (git push origin feature/AmazingFeature)
  5. Otwórz żądanie pull

Tworzenie Zgłoszeń w celu zwrócenia uwagi na błędy jest również mile widziane.

Współpraca

Skontaktuj się z działem Rozwoju Biznesu Assured Information Security, Inc. (AIS), aby zaproponować i sformalizować możliwości współpracy z FISSURE - czy to poprzez poświęcenie czasu na integrację oprogramowania, stworzenie rozwiązań dla Twoich wyzwań technicznych przez utalentowanych specjalistów AIS lub integrację FISSURE z innymi platformami/aplikacjami.

Licencja

GPL-3.0

Szczegóły licencji znajdują się w pliku LICENSE.

Kontakt

Dołącz do serwera Discord: https://discord.gg/JZDs5sgxcG

Obserwuj na Twitterze: @FissureRF, @AinfoSec

Chris Poore - Assured Information Security, Inc. - poorec@ainfosec.com

Rozwój biznesu - Assured Information Security, Inc. - bd@ainfosec.com

Uznania

Doceniamy i jesteśmy wdzięczni tym deweloperom:

Uznania

Podziękowania

Szczególne podziękowania dla dr. Samuela Mantravadi i Josepha Reitha za ich wkład w ten projekt.