241 lines
No EOL
6.8 KiB
Markdown
241 lines
No EOL
6.8 KiB
Markdown
# NetAttack Lab - Izobraževalni Simulator Omrežnih Napadov
|
|
|
|

|
|

|
|

|
|
|
|
## 🎯 Namen
|
|
|
|
**NetAttack Lab** je izobraževalno orodje, zasnovano za demonstracijo tehnik preplavitve omrežja in njihov vpliv na sistemske vire. Namenjeno je študentom, raziskovalcem in strokovnjakom za kibernetsko varnost za razumevanje omrežnih napadov in obrambnih strategij v varnem, kontroliranem okolju.
|
|
|
|
## ⚠️ POMEMBNO VARNOSTNO OPOZORILO
|
|
|
|
```
|
|
🚨 TA APLIKACIJA JE NAMENJENA IZKLJUČNO IZOBRAŽEVALNIM NAMENOM 🚨
|
|
|
|
• Uporabljajte SAMO v lastnih sistemih ali laboratorijskih okoljih
|
|
• Testiraj SAMO localhost (127.x.x.x) ali lokalne IP naslove (192.168.x.x)
|
|
• NIKOLI ne uporabljajte proti zunanjim sistemom brez izrecnega dovoljenja
|
|
• Neupoštevanje lahko povzroči pravne posledice
|
|
• Avtorji ne prevzemajo odgovornosti za napačno uporabo
|
|
```
|
|
|
|
## 🌟 Funkcionalnosti
|
|
|
|
### 🔍 Raziskovalni Modul
|
|
- **Ping Test**: ICMP echo zahteve za testiranje dostopnosti
|
|
- **Sledenje Poti**: Traceroute analiza omrežne poti
|
|
- **Varnostne omejitve**: Samodejno omejevanje na varne IP naslove
|
|
|
|
### ⚡ Generator Prometa
|
|
- **ICMP Echo Poplava**: Simulacija ping flood napadov
|
|
- **TCP SYN Poplava**: Demonstracija TCP handshake izkoriščanja
|
|
- **UDP Paketna Poplava**: UDP flooding na naključnih vratih
|
|
- **Nastavljive parametre**: Trajanje, intenziteta, tip napada
|
|
- **Omejitve varnosti**: Maksimalno 3 sočasne seje, omejena intenziteta
|
|
|
|
### 📊 Sistem Spremljanja
|
|
- **Realno-časovno nadzor**: Aktivne napade in statistike
|
|
- **Podrobne metrike**: Uspešno/neuspešno poslani paketi
|
|
- **Upravljanje sej**: Ročna ustavitev napadov
|
|
- **Zgodovina**: Pregled vseh izvedenih testov
|
|
|
|
## 🚀 Hitri Začetek
|
|
|
|
### Predpogoji
|
|
- Go 1.19 ali novejši
|
|
- Linux/macOS/Windows operacijski sistem
|
|
- Omrežne pravice za ICMP pakete (lahko zahtevajo sudo)
|
|
|
|
### Namestitev
|
|
|
|
1. **Kloniraj repozitorij:**
|
|
```bash
|
|
git clone <repository-url>
|
|
cd ping_of_death
|
|
```
|
|
|
|
2. **Zgradi aplikacijo:**
|
|
```bash
|
|
# Enostavna gradnja
|
|
go build -o netattack-lab .
|
|
|
|
# Ali uporabi build skripto za več platform
|
|
chmod +x build.sh
|
|
./build.sh
|
|
```
|
|
|
|
3. **Zaženi aplikacijo:**
|
|
```bash
|
|
# Linux/macOS
|
|
./netattack-lab
|
|
|
|
# Windows
|
|
netattack-lab.exe
|
|
```
|
|
|
|
4. **Odpri v brskalniku:**
|
|
```
|
|
http://localhost:8090
|
|
```
|
|
|
|
## 📁 Struktura Projekta
|
|
|
|
```
|
|
ping_of_death/
|
|
├── main.go # Glavni Go server z embedded datotekami
|
|
├── go.mod # Go modul definicija
|
|
├── build.sh # Build skripta za več platform
|
|
├── templates/
|
|
│ └── index.html # Glavna spletna stran (slovenščina)
|
|
├── static/
|
|
│ ├── styles.css # Hacker tema CSS stilov
|
|
│ └── app.js # JavaScript interaktivnost
|
|
└── README.md # Ta datoteka
|
|
```
|
|
|
|
## 🔧 Tehnične Podrobnosti
|
|
|
|
### Arhitektura
|
|
- **Backend**: Go HTTP server z REST API
|
|
- **Frontend**: Vanilla JavaScript z real-time posodobitvami
|
|
- **Embedded**: Vse static datoteke vgrajene v binary
|
|
- **Sočasnost**: Goroutine za simultane napade
|
|
- **Varnost**: IP whitelist, rate limiting, session timeout
|
|
|
|
### API Končne Točke
|
|
```
|
|
GET / # Glavna stran
|
|
POST /api/ping # Izvedi ping test
|
|
POST /api/traceroute # Izvedi traceroute
|
|
POST /api/attack # Začni napad
|
|
POST /api/stop # Ustavi napad
|
|
GET /api/status # Pridobi status sej
|
|
```
|
|
|
|
### Varnostne Omejitve
|
|
- **IP Whitelist**: Samo 127.x.x.x, localhost, 192.168.x.x
|
|
- **Maksimalno trajanje**: 60 sekund na napad
|
|
- **Maksimalna intenziteta**: 100 zahtev/sekundo
|
|
- **Sočasne seje**: Maksimalno 3 aktivne napade
|
|
|
|
## 🎓 Izobraževalne Vsebine
|
|
|
|
### Tipi Napadov
|
|
|
|
#### ICMP Echo Poplava (Ping Flood)
|
|
- **Namen**: Demonstracija preplavitve z ICMP paketi
|
|
- **Vpliv**: Poraba pasovne širine in procesnih virov
|
|
- **Obramba**: Rate limiting, ICMP filtering
|
|
|
|
#### TCP SYN Poplava
|
|
- **Namen**: Izkoriščanje TCP handshake procesa
|
|
- **Vpliv**: Izčrpavanje connection pool-a
|
|
- **Obramba**: SYN cookies, connection limiting
|
|
|
|
#### UDP Paketna Poplava
|
|
- **Namen**: Preplavitev z UDP paketi
|
|
- **Vpliv**: Prisiljevanje ICMP unreachable odgovorov
|
|
- **Obramba**: UDP rate limiting, port filtering
|
|
|
|
### Obrambne Strategije
|
|
1. **Omejevanje Hitrosti**: Omejitev zahtev na IP
|
|
2. **Požarna Pravila**: Blokiranje sumljivih vzorcev
|
|
3. **Razporeditev Obremenitve**: Distribucija prometa
|
|
4. **DDoS Zaščita**: Cloud-based rešitve
|
|
5. **Nadzor**: Real-time analiza prometa
|
|
|
|
## 🛠️ Uporaba
|
|
|
|
### 1. Raziskovanje
|
|
```
|
|
Zavihek: Raziskovanje
|
|
1. Vnesi cilj (127.0.0.1 ali localhost)
|
|
2. Klikni "Ping Test" ali "Sledenje Poti"
|
|
3. Opazuj rezultate v terminalu
|
|
```
|
|
|
|
### 2. Generiranje Napadov
|
|
```
|
|
Zavihek: Generiranje Prometa
|
|
1. Nastavi cilj (samo varni IP-ji)
|
|
2. Izberi tip napada
|
|
3. Nastavi trajanje in intenziteto
|
|
4. Klikni "Začni Napad"
|
|
5. Opazuj napredek v terminalu
|
|
```
|
|
|
|
### 3. Spremljanje
|
|
```
|
|
Zavihek: Spremljanje
|
|
- Preglej aktivne seje
|
|
- Preveri statistike uspešnosti
|
|
- Ročno ustavi napade
|
|
```
|
|
|
|
## 🔒 Pravne in Etične Smernice
|
|
|
|
### ✅ Dovoljeno
|
|
- Testiranje lastnih sistemov
|
|
- Lokalni laboratorijski preizkusi
|
|
- Izobraževalne demonstracije
|
|
- Razumevanje varnostnih konceptov
|
|
|
|
### ❌ Prepovedano
|
|
- Napadi na valjene storitve
|
|
- Testiranje brez dovoljenja
|
|
- Zlonamerni nameni
|
|
- Kršenje zakonodaje
|
|
|
|
### Pravna Odgovornost
|
|
Uporabnik je v celoti odgovoren za:
|
|
- Legalno uporabo orodja
|
|
- Pridobitev ustreznih dovoljenj
|
|
- Upoštevanje lokalne zakonodaje
|
|
- Spoštovanje omrežnih politik
|
|
|
|
## 🏗️ Razvoj
|
|
|
|
### Prispevki
|
|
Pozivamo k prispevkom za izboljšave in nove funkcionalnosti:
|
|
- Bug report-i preko Issues
|
|
- Pull request-i za nove funkcionalnosti
|
|
- Dokumentacijske izboljšave
|
|
- Varnostne izboljšave
|
|
|
|
### Testiranje
|
|
```bash
|
|
# Preveri skladnost kode
|
|
go fmt ./...
|
|
go vet ./...
|
|
|
|
# Zaženi teste (če obstajajo)
|
|
go test ./...
|
|
|
|
# Preveri embedded datoteke
|
|
go build -o test-build . && ./test-build
|
|
```
|
|
|
|
## 📝 Licenca
|
|
|
|
Ta projekt je namenjen izključno izobraževalnim namenom. Uporaba zunaj izobraževalnih kontekstov ni dovoljenja brez izrecnega soglasja avtorjev.
|
|
|
|
## 🤝 Podpora
|
|
|
|
Za vprašanja, probleme ali predloge odprite Issue v repozitoriju ali kontaktirajte vzdrževalce projekta.
|
|
|
|
## 📚 Dodatni Viri
|
|
|
|
### Izobraževalni Materiali
|
|
- [OWASP Network Testing Guide](https://owasp.org/)
|
|
- [NIST Cybersecurity Framework](https://www.nist.gov/cyberframework)
|
|
- [RFC 792 - ICMP Protocol](https://tools.ietf.org/html/rfc792)
|
|
|
|
### Obrambni Koncepti
|
|
- DDoS Protection Best Practices
|
|
- Network Monitoring Tools
|
|
- Incident Response Procedures
|
|
|
|
---
|
|
|
|
**Opomnik**: Uporaba tega orodja v zunanjem omrežju ali proti sistemom, ki niso vaši, je lahko nezakonita. Vedno preverite lokalno zakonodajo in pridobite ustrezna dovoljenja pred testiranjem. |