hacktricks/todo/radio-hacking/fissure-the-rf-framework.md

180 lines
13 KiB
Markdown
Raw Normal View History

2024-02-11 01:46:25 +00:00
# FISSURE - Framework RF
2022-12-03 17:35:56 +00:00
2024-02-11 01:46:25 +00:00
**Niezależne od częstotliwości zrozumienie sygnałów opartych na SDR i inżynieria wsteczna**
2022-11-13 10:12:25 +00:00
2024-02-11 01:46:25 +00:00
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.
2024-02-11 01:46:25 +00:00
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.
2024-02-11 01:46:25 +00:00
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.
2024-02-11 01:46:25 +00:00
**Dodatkowe informacje**
2024-02-11 01:46:25 +00:00
* [Strona AIS](https://www.ainfosec.com/technologies/fissure/)
* [Slajdy GRCon22](https://events.gnuradio.org/event/18/contributions/246/attachments/84/164/FISSURE\_Poore\_GRCon22.pdf)
* [Artykuł GRCon22](https://events.gnuradio.org/event/18/contributions/246/attachments/84/167/FISSURE\_Paper\_Poore\_GRCon22.pdf)
* [Wideo GRCon22](https://www.youtube.com/watch?v=1f2umEKhJvE)
* [Transkrypt Hack Chat](https://hackaday.io/event/187076-rf-hacking-hack-chat/log/212136-hack-chat-transcript-part-1)
2024-02-11 01:46:25 +00:00
## Rozpoczęcie pracy
2024-02-11 01:46:25 +00:00
**Obsługiwane**
2024-02-11 01:46:25 +00:00
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.
2024-02-11 01:46:25 +00:00
| System operacyjny | Gałąź FISSURE |
2022-12-03 17:35:56 +00:00
| :------------------: | :----------------: |
| 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 |
2024-02-11 01:46:25 +00:00
**W trakcie (beta)**
2024-02-11 01:46:25 +00:00
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.
2024-02-11 01:46:25 +00:00
| System operacyjny | Gałąź FISSURE |
2022-12-03 17:35:56 +00:00
| :----------------------: | :-----------------: |
| DragonOS Focal (x86\_64) | Python3\_maint-3.8 |
| Ubuntu 22.04 (x64) | Python3\_maint-3.10 |
2024-02-11 01:46:25 +00:00
Uwaga: Niektóre narzędzia oprogramowania nie działają na każdym systemie operacyjnym. Odwołaj się do [Oprogramowanie i konflikty](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Help/Markdown/SoftwareAndConflicts.md)
2024-02-11 01:46:25 +00:00
**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
```
2024-02-11 01:46:25 +00:00
To zainstaluje zależności oprogramowania PyQt wymagane do uruchomienia interfejsów instalacyjnych, jeśli nie zostaną one znalezione.
2024-02-11 01:46:25 +00:00
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).
2022-12-03 17:35:56 +00:00
| Python2\_maint-3.7 | Python3\_maint-3.8 | Python3\_maint-3.10 |
| :--------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------: |
| ![install1b](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/install1b.png) | ![install1a](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/install1a.png) | ![install1c](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/install1c.png) |
2024-02-11 01:46:25 +00:00
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.
2022-12-03 17:35:56 +00:00
![install2](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/install2.png)
2024-02-11 01:46:25 +00:00
**Użycie**
2024-02-11 01:46:25 +00:00
Otwórz terminal i wprowadź:
```
fissure
```
2024-02-11 01:46:25 +00:00
Zobacz menu Pomoc FISSURE, aby uzyskać więcej informacji na temat korzystania.
2024-02-11 01:46:25 +00:00
## Szczegóły
2024-02-11 01:46:25 +00:00
**Komponenty**
2024-02-11 01:46:25 +00:00
* Panel sterowania
* Centralny punkt (HIPRFISR)
* Identyfikacja sygnału docelowego (TSI)
* Odkrywanie protokołów (PD)
* Graf przepływu i wykonawca skryptów (FGE)
2024-02-11 01:46:25 +00:00
![komponenty](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/components.png)
2022-12-03 17:35:56 +00:00
2024-02-11 01:46:25 +00:00
**Możliwości**
2024-02-11 01:46:25 +00:00
| ![](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/detector.png)_**Detektor sygnału**_ | ![](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/iq.png)_**Manipulacja IQ**_ | ![](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/library.png)_**Wyszukiwanie sygnałów**_ | ![](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/pd.png)_**Rozpoznawanie wzorców**_ |
2022-12-03 17:35:56 +00:00
| --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
2024-02-11 01:46:25 +00:00
| ![](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/attack.png)_**Ataki**_ | ![](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/fuzzing.png)_**Fuzzing**_ | ![](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/archive.png)_**Listy odtwarzania sygnałów**_ | ![](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/gallery.png)_**Galeria obrazów**_ |
| ![](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/packet.png)_**Tworzenie pakietów**_ | ![](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/scapy.png)_**Integracja Scapy**_ | ![](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/crc\_calculator.png)_**Kalkulator CRC**_ | ![](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Icons/README/log.png)_**Logowanie**_ |
2024-02-11 01:46:25 +00:00
**Sprzęt**
2024-02-11 01:46:25 +00:00
Poniżej znajduje się lista "obsługiwanego" sprzętu o różnym stopniu integracji:
2022-12-03 17:35:56 +00:00
* USRP: X3xx, B2xx, B20xmini, USRP2, N2xx
* HackRF
* RTL2832U
2024-02-11 01:46:25 +00:00
* Adaptery 802.11
2022-12-03 17:35:56 +00:00
* LimeSDR
* bladeRF, bladeRF 2.0 micro
* Open Sniffer
* PlutoSDR
2024-02-11 01:46:25 +00:00
## Lekcje
2024-02-11 01:46:25 +00:00
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.
2022-12-03 17:35:56 +00:00
2024-02-11 01:46:25 +00:00
* [Lekcja 1: OpenBTS](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson1\_OpenBTS.md)
* [Lekcja 2: Lua Dissectors](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson2\_LuaDissectors.md)
* [Lekcja 3: Sound eXchange](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson3\_Sound\_eXchange.md)
* [Lekcja 4: Płytki ESP](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson4\_ESP\_Boards.md)
* [Lekcja 5: Śledzenie radiosond](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson5\_Radiosonde\_Tracking.md)
* [Lekcja 6: RFID](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson6\_RFID.md)
* [Lekcja 7: Typy danych](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson7\_Data\_Types.md)
* [Lekcja 8: Niestandardowe bloki GNU Radio](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson8\_Custom\_GNU\_Radio\_Blocks.md)
* [Lekcja 9: TPMS](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson9\_TPMS.md)
* [Lekcja 10: Egzaminy radiowe](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson10\_Ham\_Radio\_Exams.md)
* [Lekcja 11: Narzędzia Wi-Fi](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson11\_WiFi\_Tools.md)
## Roadmap
2024-02-11 01:46:25 +00:00
* [ ] 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
2024-02-11 01:46:25 +00:00
## Współpraca
2024-02-11 01:46:25 +00:00
Zachęcamy do zgłaszania sugestii dotyczących poprawy FISSURE. Zostaw komentarz na stronie [Dyskusje](https://github.com/ainfosec/FISSURE/discussions) lub na serwerze Discord, jeśli masz jakiekolwiek pomysły dotyczące:
2022-12-03 17:35:56 +00:00
2024-02-11 01:46:25 +00:00
* 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
2024-02-11 01:46:25 +00:00
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:
2024-02-11 01:46:25 +00:00
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
2024-02-11 01:46:25 +00:00
Tworzenie [Zgłoszeń](https://github.com/ainfosec/FISSURE/issues) w celu zwrócenia uwagi na błędy jest również mile widziane.
2024-02-11 01:46:25 +00:00
## Współpraca
2024-02-11 01:46:25 +00:00
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.
2024-02-11 01:46:25 +00:00
## Licencja
GPL-3.0
2024-02-11 01:46:25 +00:00
Szczegóły licencji znajdują się w pliku LICENSE.
## Kontakt
2024-02-11 01:46:25 +00:00
Dołącz do serwera Discord: [https://discord.gg/JZDs5sgxcG](https://discord.gg/JZDs5sgxcG)
2024-02-11 01:46:25 +00:00
Obserwuj na Twitterze: [@FissureRF](https://twitter.com/fissurerf), [@AinfoSec](https://twitter.com/ainfosec)
Chris Poore - Assured Information Security, Inc. - poorec@ainfosec.com
2024-02-11 01:46:25 +00:00
Rozwój biznesu - Assured Information Security, Inc. - bd@ainfosec.com
2024-02-11 01:46:25 +00:00
## Uznania
2024-02-11 01:46:25 +00:00
Doceniamy i jesteśmy wdzięczni tym deweloperom:
2024-02-11 01:46:25 +00:00
[Uznania](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/CREDITS.md)
2024-02-11 01:46:25 +00:00
## Podziękowania
2024-02-11 01:46:25 +00:00
Szczególne podziękowania dla dr. Samuela Mantravadi i Josepha Reitha za ich wkład w ten projekt.