# NetAttack Lab - Izobraževalni Simulator Omrežnih Napadov ![License: Educational](https://img.shields.io/badge/License-Educational-yellow.svg) ![Go Version](https://img.shields.io/badge/Go-1.19+-blue.svg) ![Platform](https://img.shields.io/badge/Platform-Cross--Platform-green.svg) ## 🎯 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 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.