mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
187 lines
13 KiB
Markdown
187 lines
13 KiB
Markdown
# FISSURE - Ramy RF
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|
||
|
||
**Zrozumienie i inżynieria wsteczna sygnałów opartych na SDR niezależnych od częstotliwości**
|
||
|
||
FISSURE to otwartoźródłowa ramy RF i inżynierii wstecznej zaprojektowana dla wszystkich poziomów umiejętności, z interfejsami do wykrywania i klasyfikacji sygnałów, odkrywania protokołów, wykonywania ataków, manipulacji IQ, analizy podatności, automatyzacji oraz AI/ML. Ramy zostały stworzone, aby promować szybkie integrowanie modułów oprogramowania, radii, protokołów, danych sygnałowych, skryptów, grafów przepływu, materiałów referencyjnych i narzędzi firm trzecich. FISSURE to narzędzie umożliwiające przepływ pracy, które utrzymuje oprogramowanie w jednym miejscu i pozwala zespołom na łatwe przyspieszenie pracy, dzieląc się tą samą sprawdzoną konfiguracją bazową dla konkretnych dystrybucji Linuxa.
|
||
|
||
Ramy i narzędzia zawarte w FISSURE są zaprojektowane do wykrywania obecności energii RF, rozumienia charakterystyki sygnału, zbierania i analizowania próbek, opracowywania technik nadawania i/lub wstrzykiwania oraz tworzenia niestandardowych ładunków lub wiadomości. FISSURE zawiera rosnącą bibliotekę informacji o protokołach i sygnałach, aby wspierać identyfikację, tworzenie pakietów i fuzzing. Istnieją możliwości archiwizacji online do pobierania plików sygnałowych i budowania list odtwarzania w celu symulacji ruchu i testowania systemów.
|
||
|
||
Przyjazna baza kodu w Pythonie i interfejs użytkownika pozwala początkującym szybko nauczyć się popularnych narzędzi i technik związanych z RF i inżynierią wsteczną. Nauczyciele w dziedzinie cyberbezpieczeństwa i inżynierii mogą skorzystać z wbudowanego materiału lub wykorzystać ramy do demonstrowania własnych aplikacji w rzeczywistych warunkach. Programiści i badacze mogą używać FISSURE do codziennych zadań lub do prezentowania swoich nowatorskich rozwiązań szerszej publiczności. W miarę jak świadomość i wykorzystanie FISSURE rośnie w społeczności, tak samo wzrośnie zakres jego możliwości i różnorodność technologii, które obejmuje.
|
||
|
||
**Dodatkowe informacje**
|
||
|
||
* [AIS Page](https://www.ainfosec.com/technologies/fissure/)
|
||
* [GRCon22 Slides](https://events.gnuradio.org/event/18/contributions/246/attachments/84/164/FISSURE\_Poore\_GRCon22.pdf)
|
||
* [GRCon22 Paper](https://events.gnuradio.org/event/18/contributions/246/attachments/84/167/FISSURE\_Paper\_Poore\_GRCon22.pdf)
|
||
* [GRCon22 Video](https://www.youtube.com/watch?v=1f2umEKhJvE)
|
||
* [Hack Chat Transcript](https://hackaday.io/event/187076-rf-hacking-hack-chat/log/212136-hack-chat-transcript-part-1)
|
||
|
||
## Rozpoczęcie
|
||
|
||
**Obsługiwane**
|
||
|
||
W FISSURE znajdują się trzy gałęzie, aby ułatwić nawigację po plikach i zredukować redundancję kodu. Gałąź Python2\_maint-3.7 zawiera bazę kodu opartą na Python2, PyQt4 i GNU Radio 3.7; gałąź Python3\_maint-3.8 jest oparta na Python3, PyQt5 i GNU Radio 3.8; a gałąź Python3\_maint-3.10 jest oparta na Python3, 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 statusie beta. Są w fazie rozwoju i wiadomo, że brakuje kilku funkcji. Elementy w instalatorze mogą kolidować z istniejącymi programami lub nie instalować się, 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 programowe nie działają na każdym systemie operacyjnym. Odwołaj się do [Software And Conflicts](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Help/Markdown/SoftwareAndConflicts.md)
|
||
|
||
**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ą znalezione.
|
||
|
||
Następnie wybierz opcję, która najlepiej odpowiada twojemu systemowi operacyjnemu (powinna być wykryta automatycznie, jeśli twój system operacyjny odpowiada opcji).
|
||
|
||
| Python2\_maint-3.7 | Python3\_maint-3.8 | Python3\_maint-3.10 |
|
||
| :--------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------: |
|
||
|  |  |  |
|
||
|
||
Zaleca się zainstalowanie FISSURE na czystym systemie operacyjnym, aby uniknąć istniejących konfliktów. Wybierz wszystkie zalecane pola wyboru (przycisk domyślny), aby uniknąć błędów podczas korzystania z różnych narzędzi w FISSURE. W trakcie instalacji pojawi się wiele komunikatów, głównie pytających o podwyższone uprawnienia i nazwy użytkowników. Jeśli element zawiera sekcję "Weryfikacja" na końcu, instalator uruchomi polecenie, które następuje, i podświetli element pola 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.
|
||
|
||

|
||
|
||
**Użycie**
|
||
|
||
Otwórz terminal i wpisz:
|
||
```
|
||
fissure
|
||
```
|
||
Odwołaj się do menu pomocy FISSURE, aby uzyskać więcej informacji na temat użytkowania.
|
||
|
||
## Szczegóły
|
||
|
||
**Komponenty**
|
||
|
||
* Dashboard
|
||
* Central Hub (HIPRFISR)
|
||
* Identyfikacja sygnału docelowego (TSI)
|
||
* Odkrywanie protokołów (PD)
|
||
* Wykres przepływu i wykonawca skryptów (FGE)
|
||
|
||

|
||
|
||
**Możliwości**
|
||
|
||
| _**Detektor sygnału**_ | _**Manipulacja IQ**_ | _**Wyszukiwanie sygnału**_ | _**Rozpoznawanie wzorców**_ |
|
||
| --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
||
| _**Ataki**_ | _**Fuzzing**_ | _**Playlisty sygnałów**_ | _**Galeria obrazów**_ |
|
||
| _**Tworzenie pakietów**_ | _**Integracja Scapy**_ | _**Kalkulator CRC**_ | _**Rejestrowanie**_ |
|
||
|
||
**Sprzęt**
|
||
|
||
Poniżej znajduje się lista "obsługiwanych" urządzeń o różnym poziomie 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, aby zapoznać się z różnymi technologiami i technikami. Wiele z nich zawiera kroki dotyczące korzystania z różnych narzędzi zintegrowanych z FISSURE.
|
||
|
||
* [Lekcja1: OpenBTS](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson1\_OpenBTS.md)
|
||
* [Lekcja2: Lua Dissectors](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson2\_LuaDissectors.md)
|
||
* [Lekcja3: Sound eXchange](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson3\_Sound\_eXchange.md)
|
||
* [Lekcja4: ESP Boards](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson4\_ESP\_Boards.md)
|
||
* [Lekcja5: Śledzenie radiosond](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson5\_Radiosonde\_Tracking.md)
|
||
* [Lekcja6: RFID](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson6\_RFID.md)
|
||
* [Lekcja7: Typy danych](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson7\_Data\_Types.md)
|
||
* [Lekcja8: Niestandardowe bloki GNU Radio](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson8\_Custom\_GNU\_Radio\_Blocks.md)
|
||
* [Lekcja9: TPMS](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson9\_TPMS.md)
|
||
* [Lekcja10: Egzaminy na radioamatora](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson10\_Ham\_Radio\_Exams.md)
|
||
* [Lekcja11: Narzędzia Wi-Fi](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/Lessons/Markdown/Lesson11\_WiFi\_Tools.md)
|
||
|
||
## Plan rozwoju
|
||
|
||
* [ ] Dodaj więcej typów sprzętu, protokołów RF, parametrów sygnału, narzędzi analitycznych
|
||
* [ ] Wsparcie dla większej liczby systemów operacyjnych
|
||
* [ ] Opracuj materiały dydaktyczne dotyczące FISSURE (Ataki RF, Wi-Fi, GNU Radio, PyQt itp.)
|
||
* [ ] Stwórz kondycjonera sygnału, ekstraktora cech i klasyfikatora sygnału z wybieralnymi technikami AI/ML
|
||
* [ ] Wprowadź mechanizmy demodulacji rekurencyjnej do produkcji strumienia bitów z nieznanych sygnałów
|
||
* [ ] Przenieś główne komponenty FISSURE do ogólnego schematu wdrożenia węzła czujnikowego
|
||
|
||
## Wkład
|
||
|
||
Sugestie dotyczące poprawy FISSURE są zdecydowanie zachęcane. Zostaw komentarz na stronie [Dyskusje](https://github.com/ainfosec/FISSURE/discussions) lub na serwerze Discord, jeśli masz jakiekolwiek uwagi dotyczące:
|
||
|
||
* Sugestii nowych funkcji i zmian w projekcie
|
||
* Narzędzi programowych z krokami instalacji
|
||
* Nowych lekcji lub dodatkowych materiałów do istniejących lekcji
|
||
* Interesujących protokołów RF
|
||
* Więcej sprzętu i typów SDR do integracji
|
||
* Skryptów analizy IQ w Pythonie
|
||
* Poprawek i ulepszeń instalacji
|
||
|
||
Wkład w poprawę FISSURE jest kluczowy dla przyspieszenia jego rozwoju. Każdy wkład jest bardzo doceniany. Jeśli chcesz przyczynić się do rozwoju kodu, proszę, zrób fork repozytorium i stwórz pull request:
|
||
|
||
1. Zrób fork projektu
|
||
2. Stwórz swoją gałąź funkcji (`git checkout -b feature/AmazingFeature`)
|
||
3. Zatwierdź swoje zmiany (`git commit -m 'Dodaj jakąś AmazingFeature'`)
|
||
4. Wypchnij do gałęzi (`git push origin feature/AmazingFeature`)
|
||
5. Otwórz pull request
|
||
|
||
Tworzenie [Zgłoszeń](https://github.com/ainfosec/FISSURE/issues) w celu zwrócenia uwagi na błędy jest również mile widziane.
|
||
|
||
## Współpraca
|
||
|
||
Skontaktuj się z Assured Information Security, Inc. (AIS) w celu zaproponowania i sformalizowania wszelkich możliwości współpracy z FISSURE – niezależnie od tego, czy chodzi o poświęcenie czasu na integrację swojego oprogramowania, czy o to, aby utalentowani ludzie z AIS opracowali rozwiązania dla Twoich wyzwań technicznych, czy o 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](https://discord.gg/JZDs5sgxcG)
|
||
|
||
Śledź na Twitterze: [@FissureRF](https://twitter.com/fissurerf), [@AinfoSec](https://twitter.com/ainfosec)
|
||
|
||
Chris Poore - Assured Information Security, Inc. - poorec@ainfosec.com
|
||
|
||
Rozwój biznesu - Assured Information Security, Inc. - bd@ainfosec.com
|
||
|
||
## Podziękowania
|
||
|
||
Uznajemy i jesteśmy wdzięczni tym deweloperom:
|
||
|
||
[Podziękowania](https://github.com/ainfosec/FISSURE/blob/Python3\_maint-3.8/CREDITS.md)
|
||
|
||
## Uznania
|
||
|
||
Szczególne podziękowania dla dr. Samuela Mantravadi i Josepha Reitha za ich wkład w ten projekt.
|
||
|
||
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|