Toolverse
Wszystkie skille

ctf-pwn

autor: cyberkaida

Znajdź i wykorzystaj luki w pamięci, aby rozwiązać wyzwania CTF

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Wyświetlenia
4

O skillu

Umiejętność do analizy i eksploatacji podatności związanych z uszkodzeniami pamięci w binarnych wyzwaniach CTF. Odkrywaj buffer overflow'e, format string'i, exploity heap'u i łańcuchy ROP, a następnie wykorzystuj je do odczytania flag'ów. Narzędzie uczy systematycznego podejścia: identyfikuj źródła danych kontrolowanych przez atakującego, mapuj przepływ do bufforów i zmiennych, analizuj założenia bezpieczeństwa programu, a na koniec manipuluj stanem pamięci aby zmienić kontrolę wykonania.

Jak używać

  1. Zainstaluj umiejętność w swoim środowisku Claude/Copilot, wskazując repozytorium cyberkaida/reverse-engineering-assistant i ścieżkę ReVa/skills/ctf-pwn.

  2. Przygotuj binarkę CTF lub kod źródłowy wyzwania. Jeśli masz dostęp do kodu, przeanalizuj go pod kątem miejsc, gdzie dane użytkownika są kopiowane do bufforów o stałym rozmiarze lub gdzie wskaźniki mogą być nadpisane.

  3. Zdefiniuj trzy warstwy analizy: (a) warstwa przepływu danych — gdzie trafiają twoje dane wejściowe (stdin, argumenty, zmienne środowiskowe), (b) warstwa bezpieczeństwa pamięci — jakie założenia robi program o rozmiarach bufforów i ważności wskaźników, (c) warstwa eksploatacji — jak możesz nadpisać adresy powrotu, wskaźniki funkcji lub inne dane krytyczne.

  4. Postaw sobie pytania w kolejności: Co mogę kontrolować? Gdzie trafia moja kontrolowana data? Jakie są granice bufforów? Jakie dane mogę nadpisać lub odczytać? Jak zmienić przepływ wykonania programu?

  5. Opracuj payload eksploitacyjny na podstawie zidentyfikowanej podatności — np. buffer overflow do nadpisania adresu powrotu, format string do wycieku danych, lub ROP chain do wykonania kodu. Testuj payload iteracyjnie, obserwując zachowanie programu.

  6. Uruchom exploit przeciwko binarce i odczytaj flag. Jeśli się nie powiedzie, powróć do kroku 3 i przeanalizuj nowe założenia lub źródła danych, które mogłeś przeoczyć.

Podobne skille