1. Šta je penetration testing?
Penetration testing (pentest) je kontrolisano, autorizovano simuliranje napada na računarski sistem, mrežu, aplikaciju ili uređaj s ciljem da se otkriju ranjivosti koje bi napadač mogao iskoristiti. Za razliku od automatizovanih skenera, pentest uključuje ljudsku analizu, kreativno eksploatisanje i procenu rizika.
Cilj: otkriti realne sigurnosne probleme pre nego što ih iskoriste napadači i dati preporuke za njihovo uklanjanje.
2. Vrste pentestiranja prema obimu i znanju
- Black-box: tester nema informacije o cilju (simulira spoljašnjeg napadača).
- White-box: tester ima potpune informacije (kod, arhitektura, nalogi) — detaljan test.
- Gray-box: delimične informacije (npr. validan nalog) — često najrealniji spoj efikasnosti i opsega.
Prema cilju:
- Mrežni pentest (infrastruktura, serveri, firewalle)
- Web aplikacioni pentest (OWASP Top 10: XSS, SQLi, CSRF…)
- Wireless/bezžični pentest
- IoT pentest
- Cloud pentest (AWS, Azure, GCP — po politikama provajdera)
- Social engineering (phishing, pretexting) — zahteva izričitu saglasnost
- Physical pentest (ulazak u objekat, pristup hardveru)
3. Metodologije i standardi (kratko)
Popularne metodologije koje definišu korake i preporuke:
- OWASP Testing Guide (za web aplikacije)
- PTES (Penetration Testing Execution Standard)
- NIST SP 800-115 (tehnički vodič za testiranje)
- OSSTMM (Operational Security Security Testing Methodology Manual)
(Ove metodologije daju strukturu; u praksi se mešaju prema ciljevima i vremenu.)
4. Tipične faze pentesta (korak-po-korak)
1) Planiranje i priprema
- Definisanje ciljeva, opsega i izuzetaka (scope & exclusions).
- Potpisivanje Rules of Engagement (ROE) i ugovora.
- Dogovor o vremenu testiranja i kontaktima za hitne slučajeve.
- Dobijanje pismenog dopuštenja — ključno za legalnost.
2) Rekognoscencija (reconnaissance)
- Passive recon: pregled javno dostupnih informacija (WHOIS, DNS, javni servisi, social media).
- Active recon: skeniranje portova, identifikacija servisa.
Alati/tehnike: whois, nslookup, Google dorking, Shodan, Nmap.
3) Skeniranje i mapiranje ranjivosti
- Identifikacija otvorenih portova, verzija softvera.
- Automatski skeneri ranjivosti (Nessus, OpenVAS) + ručna verifikacija.
- Mapping aplikacione logike (za web: URL mapiranje, API endpointi).
4) Enumeracija i prikupljanje informacija
- Pribavljanje korisničkih/servisnih informacija: baza korisnika, shareovi, konfiguracije.
- Za web: cookie analysis, session management, parameter discovery.
5) Eksploatacija
- Iskorišćavanje ranjivosti da se ostvari pristup (npr. SQLi → dohvat podataka, RCE).
- Korišćenje alata poput Metasploit, sqlmap, Burp Suite Pro (manualni payloadi često potrebni).
- Pažljivo — pratiti uticaj na proizvodne sisteme (izbegavati DoS).
6) Post-exploitation (procena uticaja)
- Podizanje privilegija, lateralno kretanje, ekstrakcija osetljivih podataka.
- Procena koliko daleko napadač može da ode i koje su posledice.
- Prikupljanje dokaza (logovi, snimci) za izveštaj.
7) Čišćenje i povratak u početno stanje
- Uklanjanje alata, naloga ili backdoora koje je tester ostavio.
- Obavezno vraćanje sistema u bezbedno stanje i potvrda sa timom.
8) Izveštavanje
- Detaljan tehnički izveštaj + rezime za menadžment.
- Prioritizovane preporuke za sanaciju (quick wins i dugoročne mere).
- Preporuka za retest nakon sanacije.
5. Alati (uobičajeni primeri)
- Network/Discovery: Nmap, Masscan
- Vulnerability scanning: Nessus, OpenVAS
- Exploitation: Metasploit, Cobalt Strike (komercijalno)
- Web testing: Burp Suite, OWASP ZAP, sqlmap, Nikto
- Password attacks: Hydra, John the Ripper, Hashcat
- Wireless: Aircrack-ng, Kismet
- Packet analysis: Wireshark, tcpdump
- Post-exploit: Mimikatz (Windows), Empire
- Reporting: Dradis, Serpico
(Napomena: korišćenje nekih alata može biti ilegalno bez dozvole.)
6. Primene / gde se koristi pentest
- Procena sigurnosti web aplikacija i API-ja.
- Testiranje mrežne infrastrukture i servera.
- Procena sigurnosti cloud okruženja i konfiguracija.
- Testiranje IoT uređaja i embedded sistema.
- Procena fizičke sigurnosti i ljudskog faktora (social engineering).
- Provera usklađenosti sa standardima (PCI-DSS, ISO27001, GDPR zahtevi).
7. Kako izgleda praktičan plan pentesta (primer)
- Opseg: web aplikacija
app.example.com, APIapi.example.com, dva Linux servera (IP-ovi), baza podataka na unutrašnjoj mreži. - Tip testa: Gray-box — pristup testnom nalogu.
- Vremenski okvir: 5 radnih dana (snimanje rada i normalno radno vreme).
- Dozvole: pisani ROE i kontakt za incidente.
- Ciljevi:
- Otkriti OWASP Top 10 ranjivosti.
- Procena autentikacije i autorizacije.
- Testiranje enkripcije i session managementa.
- Metodologija: OWASP + ručna eksploracija.
- Rezultati: Tehnički izveštaj + executive summary + PoC (proof-of-concept) kod/koraci.
8. Struktura izveštaja — šta uključiti
- Naslovna strana: klijent, datum, opseg.
- Executive summary: kratko za menadžment — glavni rizici i prioriteti.
- Metodologija i opseg: kako je test rađen.
- Detaljni nalazi:
- Ranjivost, opis, koraci za reprodukciju (PoC), težina/rizik, preporuka.
- Tehnički dokazi: logovi, screenshot-ovi, payload output.
- Preporuke za mitigaciju: kratkoročne i dugoročne.
- Plan retesta: nakon izvršenih popravki.
- Appendix: alati, serije komandi, kontakt osobe.
Za ocenu rizika često se koristi CVSS skala + poslovni uticaj (visok/srednji/niski).
9. Pravne i etičke napomene
- Pentest mora biti autorizovan pismeno. Bez dozvole — ilegalno.
- Social engineering i physical pentest zahtevaju eksplicitne odredbe u ROE.
- Test treba da minimizuje prekide u radu — dogovor o vremenu i rollback plan.
- Čuvanje i rukovanje osetljivim podacima — privatnost i usklađenost (npr. GDPR).
10. Najčešće greške i saveti
- Nejasan opseg — dovodi do nesporazuma i rizika.
- Reliance samo na automatske skenere — ručna provera je neophodna.
- Nedostatak komunikacije sa klijentom tokom kritičnih faza.
- Nerealan rok za kompletnu proveru svih sistema.
- Zaboravljanje post-exploit analize — pokazuje stvarni uticaj problema.
11. Primer kratkih preporuka za brzo popravljanje (quick wins)
- Ažurirati softver i patchovati poznate ranjivosti.
- Onemogućiti nepotrebne servise i portove.
- Implementirati strong password politike i 2FA gde je moguće.
- Postaviti WAF (web application firewall) za web aplikacije.
- Omogućiti enkripciju za prenos i skladištenje podataka (TLS, at-rest).
- Logovanje i monitoring — brzo otkrivanje incidenata.
Zaključak
Penetration testing je ključni element moderne bezbednosne strategije: ne samo da identifikuje tehničke ranjivosti, već i osvetljava stvarni poslovni rizik koji te ranjivosti predstavljaju. Dobro izveden pentest kombinuje metodologiju, ručno istraživanje i odgovorno izveštavanje kako bi organizacijama pružio prioritizovane, konkretne preporuke za sanaciju. Ključ uspeha leži u jasnom opsegu, pismenoj dozvoli, odgovornom izvođenju (minimizacija uticaja na sisteme) i praćenju — odnosno retestu nakon implementacije popravki. Ulaganje u redovne pentestove i integrisanje nalaza u proces održavanja i razvoja značajno smanjuje šanse da stvarni napadači iskoriste ranjivosti i pomaže organizacijama da održe poverenje korisnika i usklađenost sa standardima.



