6.8 KiB
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
- Kloniraj repozitorij:
git clone <repository-url>
cd ping_of_death
- Zgradi aplikacijo:
# Enostavna gradnja
go build -o netattack-lab .
# Ali uporabi build skripto za več platform
chmod +x build.sh
./build.sh
- Zaženi aplikacijo:
# Linux/macOS
./netattack-lab
# Windows
netattack-lab.exe
- 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
- Omejevanje Hitrosti: Omejitev zahtev na IP
- Požarna Pravila: Blokiranje sumljivih vzorcev
- Razporeditev Obremenitve: Distribucija prometa
- DDoS Zaščita: Cloud-based rešitve
- 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
# 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
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.