Różnice między wybraną wersją a wersją aktualną.
Poprzednia rewizja po obu stronachPoprzednia wersjaNowa wersja | Poprzednia wersja | ||
notatki:ftp_bruteforce [2025/06/19 18:11] – administrator | notatki:ftp_bruteforce [2025/06/19 20:09] (aktualna) – administrator | ||
---|---|---|---|
Linia 1: | Linia 1: | ||
- | ====== FTP Bruteforce (Patator i CICFlowMeter) ====== | + | ====== |
===== Schemat i opis środowiska testowego ===== | ===== Schemat i opis środowiska testowego ===== | ||
Linia 15: | Linia 15: | ||
Każda z Maszyn ma dysk o rozmiarze 8GB ([[https:// | Każda z Maszyn ma dysk o rozmiarze 8GB ([[https:// | ||
- | Dyski maszyn można pobrać z linków | + | Dyski maszyn można pobrać z linka poniżej: |
+ | https:// | ||
+ | Hasło do linka: '' | ||
===== Oprogramowanie wykorzystane do wykonania eksperymentu ===== | ===== Oprogramowanie wykorzystane do wykonania eksperymentu ===== | ||
Linia 23: | Linia 24: | ||
| System operacyjny maszyn wirtualnych | | System operacyjny maszyn wirtualnych | ||
| Hypervisor | | Hypervisor | ||
- | | Serwer FTP | 3.0.3 | VSFTPD | + | | Serwer FTP | 3.0.5 | VSFTPD |
| Narzędzie ataku | 1.0 | Patator | | Narzędzie ataku | 1.0 | Patator | ||
| Przechwytywanie ruchu | 4.99.1 | | Przechwytywanie ruchu | 4.99.1 | ||
- | | Analiza Ruchu | 0.4.2 | CICFlowMeter | + | | Analiza Ruchu | 0.4.2 | CICFlowMeter |
| Słownik do ataku | ok. 14 MB, 14344392 haseł | | Słownik do ataku | ok. 14 MB, 14344392 haseł | ||
Linia 234: | Linia 235: | ||
* '' | * '' | ||
- | ⚠️ | + | <WRAP center round important 60%> |
+ | W tym przypadku atak się nie powiedzie, ponieważ utworzone hasło nie znajduje się w rockyou.txt – i o to właśnie chodzi: chodzi o symulację nieudanego ataku, który będzie wyraźnie widoczny w ruchu. | ||
+ | </ | ||
====== Efekty Ataku ====== | ====== Efekty Ataku ====== | ||
Linia 294: | Linia 298: | ||
[TUTAJ CIĄGNIE SIĘ DALEJ] | [TUTAJ CIĄGNIE SIĘ DALEJ] | ||
</ | </ | ||
+ | |||
+ | Pełna wersja logów do pobrania {{: | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | Po 765 próbach (~122min) zatrzymano eksperyment | ||
+ | </ | ||
+ | |||
+ | |||
====== Użycie CICFlowMeter (Python) i ekstrakcja cech ====== | ====== Użycie CICFlowMeter (Python) i ekstrakcja cech ====== | ||
<code bash> | <code bash> | ||
- | cicflowmeter -f ftp_attack.pcap -o output/ | + | administrator@attacker: |
+ | reading from file ftp_attack.pcap, | ||
+ | administrator@attacker: | ||
+ | total 186M | ||
+ | drwxr-x--- 7 administrator administrator 4.0K Jun 19 17:16 . | ||
+ | drwxr-xr-x 3 root root 4.0K Jun 19 15:07 .. | ||
+ | -rw------- 1 administrator administrator 1.1K Jun 19 15:25 .bash_history | ||
+ | -rw-r--r-- 1 administrator administrator | ||
+ | -rw-r--r-- 1 administrator administrator 3.7K Mar 31 2024 .bashrc | ||
+ | drwx------ 4 administrator administrator 4.0K Jun 19 17:15 .cache | ||
+ | drwx------ 2 administrator administrator 4.0K Jun 19 17:15 .config | ||
+ | -rw-rw-r-- 1 administrator administrator 263K Jun 19 17:16 ftp_attack.csv | ||
+ | -rw-r--r-- 1 tcpdump | ||
+ | drwxrwxr-x 7 administrator administrator 4.0K Jun 19 15:13 patator | ||
+ | -rw-r--r-- 1 administrator administrator | ||
+ | -rw------- 1 administrator administrator 134M Sep 23 2015 rockyou.txt | ||
+ | -rw-rw-r-- 1 administrator administrator | ||
+ | drwx------ 2 administrator administrator 4.0K Jun 19 15:07 .ssh | ||
+ | -rw-r--r-- 1 administrator administrator | ||
+ | drwxrwxr-x 6 administrator administrator 4.0K Jun 19 15:16 venv_patator | ||
+ | -rw-rw-r-- 1 administrator administrator | ||
+ | -rw------- 1 administrator administrator | ||
+ | administrator@attacker: | ||
+ | src_ip, | ||
+ | 10.10.10.1, | ||
+ | [I TAK DALEJ] | ||
</ | </ | ||
- | W katalogu '' | ||
+ | Wynik przechwytywania do pobrania {{: | ||
+ | |||
+ | Wynik ekstrakcji cech do pobrania {{: | ||
+ | |||
+ | ===== Kluczowe cechy wyniku (Analiza pierwszego wiersza CSV) ===== | ||
+ | |||
+ | < | ||
+ | src_ip=10.10.10.1, | ||
+ | flow_duration=103.3 s | ||
+ | tot_fwd_pkts=10, | ||
+ | flow_byts_s ≈ 12.13 B/s, flow_pkts_s ≈ 0.165 pkt/ | ||
+ | pkt_len_mean ≈ 73.7 B | ||
+ | flow_iat_mean ≈ 16.47 s | ||
+ | bwd_blk_rate_avg ≈ 0.7 (ilość pakietów w tył do przodu) | ||
+ | </ | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ===== Uproszczona sygnatura ataku ===== | ||
+ | |||
+ | Poniżej prosty skrypt wizualizujący dane wyjściowe z programu CICFlowMeter: | ||
+ | <code python signature_grapher.py> | ||
+ | import pandas as pd | ||
+ | import matplotlib.pyplot as plt | ||
+ | |||
+ | # Wczytanie danych z pliku CSV | ||
+ | df = pd.read_csv(' | ||
+ | |||
+ | # Wybór interesujących cech | ||
+ | features = [' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | df_selected = df[features] | ||
+ | |||
+ | # Normalizacja danych (opcjonalnie) | ||
+ | df_normalized = (df_selected - df_selected.mean()) / df_selected.std() | ||
+ | |||
+ | # Wizualizacja | ||
+ | plt.figure(figsize=(12, | ||
+ | for feature in df_normalized.columns: | ||
+ | plt.plot(df_normalized.index, | ||
+ | plt.title(' | ||
+ | plt.xlabel(' | ||
+ | plt.ylabel(' | ||
+ | plt.legend() | ||
+ | plt.grid(True) | ||
+ | plt.show() | ||
+ | </ | ||
+ | |||
+ | {{.: | ||
+ | ====== Wnioski ====== | ||
+ | * Skuteczność ataku brute-force zależy od słownika – jeśli hasło użytkownika nie jest w słowniku, atak się nie powiedzie, choć nadal generuje duży ruch i może zostać wykryty. | ||
+ | * Monitorowanie logów serwera FTP jest kluczowe – logi wyraźnie pokazują wielokrotne, | ||
+ | * Przechwytywanie i analiza ruchu (tcpdump + CICFlowMeter) – umożliwiają szczegółową analizę zachowania sieci podczas ataku, co może być wykorzystane do budowy systemów wykrywania włamań (IDS). | ||
+ | * Ograniczenie szybkości ataku (--rate-limit=50) – jest istotne, aby nie przeciążyć serwera i lepiej symulować realistyczne warunki ataku. | ||
+ | * Silne, losowe hasło zabezpiecza konto – stosowanie silnych haseł, które nie występują w popularnych słownikach, | ||
+ | * Środowisko testowe oparte na VM i Hyper-V – pozwala na bezpieczne i kontrolowane przeprowadzanie eksperymentów bezpieczeństwa. |