Netattack Lab initial commit
This commit is contained in:
parent
0ae784f234
commit
beed99171a
9 changed files with 2042 additions and 0 deletions
241
ping_of_death/README.md
Normal file
241
ping_of_death/README.md
Normal file
|
|
@ -0,0 +1,241 @@
|
|||
# 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue