complete penetration testing guide with sample test cases
És el procés per identificar les vulnerabilitats de seguretat en una aplicació avaluant el sistema o la xarxa amb diverses tècniques malicioses. Els punts febles d’un sistema s’exploten en aquest procés mitjançant un atac simulat autoritzat.
L'objectiu d'aquesta prova és assegurar dades importants de persones externes, com ara pirates informàtics que poden tenir accés no autoritzat al sistema. Un cop identificada la vulnerabilitat, s’utilitza per explotar el sistema per accedir a informació sensible.
Una prova de penetració també es coneix com a prova de ploma i un provador de penetració també es coneix com un hacker ètic.
Què aprendreu:
- Què són les proves de penetració?
- Causes de les vulnerabilitats
- Eines i empreses de proves de penetració
- Eines de proves de penetració recomanades
- Empresa recomanada de proves de penetració
- Per què les proves de penetració?
- Què s'ha de provar?
- Tipus de proves de penetració
- Tècniques de proves de ploma
- Prova de penetració Casos de prova de mostra (escenaris de prova)
- Conclusió
Què són les proves de penetració?
Podem esbrinar les vulnerabilitats d’un sistema informàtic, una aplicació web o una xarxa mitjançant proves de penetració.
Una prova de penetració indica si les mesures defensives existents que s’utilitzen al sistema són prou fortes com per evitar violacions de seguretat. Els informes de proves de penetració també suggereixen les contramesures que es poden prendre per reduir el risc de pirateig del sistema.
Causes de les vulnerabilitats
- Errors de disseny i desenvolupament : Hi pot haver defectes en el disseny de maquinari i programari. Aquests errors poden posar les vostres dades essencials en risc d’exposició.
- Mala configuració del sistema : Aquesta és una altra causa de vulnerabilitat. Si el sistema està mal configurat, pot introduir llacunes a través de les quals els atacants poden entrar al sistema i robar la informació.
- Errors humans : Els factors humans com l'eliminació incorrecta de documents, deixar els documents desatesos, errors de codificació, amenaces privilegiades, compartir contrasenyes a llocs de pesca, etc. poden provocar incompliments de seguretat.
- Connectivitat : Si el sistema està connectat a una xarxa no segura (connexions obertes), arriba a l'abast dels pirates informàtics.
- Complexitat : La vulnerabilitat de seguretat augmenta proporcionalment a la complexitat d’un sistema. Com més funcions tingui un sistema, més possibilitats hi ha d'atacar.
- Contrasenyes : Les contrasenyes s’utilitzen per evitar accessos no autoritzats. Han de ser prou forts perquè ningú no pugui endevinar la vostra contrasenya. Les contrasenyes no s'han de compartir amb ningú a cap preu i les contrasenyes s'han de canviar periòdicament. Malgrat aquestes instruccions, de vegades les persones revelen les seves contrasenyes a altres persones, les escriuen en algun lloc i conserven contrasenyes fàcils d’endevinar.
- Entrada d’usuari : Heu sentit a parlar d'injecció SQL, desbordaments de memòria intermèdia, etc. Les dades rebudes electrònicament mitjançant aquests mètodes es poden utilitzar per atacar el sistema receptor.
- Gestió : La seguretat és difícil i costosa de gestionar. De vegades, les organitzacions no tenen una gestió adequada dels riscos i, per tant, s’indueix la vulnerabilitat al sistema.
- Manca de formació del personal : Això provoca errors humans i altres vulnerabilitats.
- Comunicació : Canals com xarxes mòbils, Internet i telèfon obren l'abast del robatori de seguretat.
Eines i empreses de proves de penetració
Es poden utilitzar eines automatitzades per identificar algunes vulnerabilitats estàndard presents en una aplicació. Les eines Pentest analitzen el codi per comprovar si hi ha un codi maliciós que pugui provocar una possible violació de la seguretat. Les eines Pentest poden verificar les escletxes de seguretat presents al sistema examinant tècniques de xifratge de dades i calculant valors codificats com el nom d’usuari i la contrasenya.
Criteris per seleccionar la millor eina de penetració:
- Ha de ser fàcil de desplegar, configurar i utilitzar.
- Hauria d’escanejar el vostre sistema fàcilment.
- Hauria de classificar les vulnerabilitats en funció de la gravetat que necessiti una solució immediata.
- Hauria de poder automatitzar la verificació de vulnerabilitats.
- Hauria de tornar a verificar les explotacions trobades anteriorment.
- Ha de generar informes i registres de vulnerabilitat detallats.
Un cop hàgiu sabut quines proves heu de realitzar, podeu entrenar els recursos de proves interns o contractar consultors experts perquè facin la tasca de penetració.
Eines de proves de penetració recomanades
# 1) Acunetix
Acunetix WVS ofereix als professionals de la seguretat i als enginyers de programari una gamma de funcions impressionants en un paquet fàcil, directe i molt robust.
=> Proveu aquí la millor eina de prova de bolígrafs
# 2) Intrús
Intrús és un potent escàner de vulnerabilitats que detecta els punts febles de la ciberseguretat a la vostra propietat digital, explica els riscos i ajuda a la seva correcció abans que es produeixi una infracció. És l'eina perfecta per ajudar a automatitzar els esforços de proves de penetració.
Característiques clau :
- Més de 9.000 comprovacions automatitzades a tota la vostra infraestructura de TI.
- Comprovacions d'infraestructures i de capes web, com ara injecció SQL i scripts entre llocs.
- Analitza automàticament els vostres sistemes quan es detecten noves amenaces.
- Múltiples integracions: AWS, Azure, Google Cloud, API, Jira, Teams i molt més.
- Intruder ofereix una prova gratuïta de 30 dies del seu pla Pro.
Empresa recomanada de proves de penetració
# 1) ImmuniWeb®
ImmuniWeb® és una empresa de proves de penetració amb seu a Ginebra, Suïssa. La seva plataforma de proves de penetració d’aplicacions habilitada per DevSecOps combina humans amb intel·ligència artificial i inclou zero SLA falsos positius, detecció de vulnerabilitats més altes i informes actius.
ImmuniWeb ofereix proves integrals de penetració d'aplicacions d'aplicacions mòbils i web internes i externes, API i serveis web, servidors de correu, dispositius IoT i molt més.
Característiques clau:
- Detecció contínua de nous codis.
- Proves manuals ràpides i rendibles.
- Capacitats de pegat virtual d'un clic.
- Accés 24/7 a analistes de seguretat.
- Integració de DevSecOps i CI / CD.
- Comanda instantània i lliurament ràpid.
- Tauler de control de múltiples funcions.
Altres eines gratuïtes:
Serveis comercials:
També podeu consultar la llista següent disponible a STH que parla de 37 poderoses eines de prova de penetració => Eines de prova de penetració potents per a tots els provadors de penetració
millor programa per controlar els temps de la CPU
Per què les proves de penetració?
Deu haver sentit a parlar de l’atac de ransomware de WannaCry que va començar el maig del 2017. Va bloquejar més de 2 lakh d’ordinadors a tot el món i va exigir pagaments de rescat a la criptomoneda Bitcoin. Aquest atac ha afectat moltes organitzacions importants de tot el món.
Amb aquests ciberatacs massius i perillosos que es produeixen en aquests dies, s’ha convertit en inevitable fer proves de penetració a intervals regulars per protegir els sistemes d’informació contra les violacions de seguretat.
Per tant, les proves de penetració es requereixen principalment per a:
- Les dades financeres o crítiques s’han de protegir mentre es transfereixen entre diferents sistemes o a través de la xarxa.
- Molts clients demanen proves de bolígrafs com a part del cicle de llançament de programari.
- Per protegir les dades de l'usuari.
- Per trobar vulnerabilitats de seguretat en una aplicació.
- Per descobrir les escletxes del sistema.
- Avaluar l'impacte empresarial dels atacs amb èxit.
- Per complir amb el compliment de la seguretat de la informació a l'organització.
- Implementar una estratègia de seguretat eficaç a l’organització.
Qualsevol organització ha d’identificar problemes de seguretat presents a la xarxa interna i als ordinadors. L’ús d’aquesta organització d’informació pot planificar una defensa contra qualsevol intent de pirateria. La privadesa dels usuaris i la seguretat de les dades són les preocupacions més importants actualment.
Imagineu-vos si algun hacker aconsegueix obtenir dades d’usuari de les xarxes socials com Facebook. L'organització pot afrontar problemes legals a causa d'una petita escletxa que queda en un sistema de programari. Per tant, les grans organitzacions busquen certificacions de conformitat PCI (Payment Card Industry) abans de fer cap negoci amb clients de tercers.
Què s'ha de provar?
- Programari (sistema operatiu, serveis, aplicació)
- Maquinari
- Xarxa
- Processos
- Comportament de l'usuari final
Tipus de proves de penetració
# 1) Prova d’enginyeria social: En aquesta prova, s’està intentant que una persona reveli informació sensible com ara contrasenyes, dades essencials per a l’empresa, etc. Aquestes proves es fan principalment a través del telèfon o d’Internet i s’orienten a determinats centres d’ajuda, empleats i processos.
Els errors humans són les principals causes de vulnerabilitat de seguretat. Tots els membres del personal haurien de seguir les normes i polítiques de seguretat per evitar intents de penetració en enginyeria social. Un exemple d’aquests estàndards inclou no mencionar cap informació sensible a la comunicació per correu electrònic o telefònica. Es poden dur a terme auditories de seguretat per identificar i corregir els defectes del procés.
# 2) Prova d'aplicacions web: Mitjançant mètodes de programari es pot verificar si l'aplicació està exposada a vulnerabilitats de seguretat. Comprova la vulnerabilitat de seguretat de les aplicacions web i els programes de programari ubicats a l’entorn objectiu.
# 3) Prova de penetració física: S'apliquen mètodes de seguretat física forts per protegir les dades sensibles. Això s'utilitza generalment en instal·lacions militars i governamentals. Tots els dispositius de xarxa i punts d'accés físics es comproven per veure si hi ha possibles violacions de seguretat. Aquesta prova no és gaire rellevant per a l'abast de les proves de programari.
# 4) Prova de serveis de xarxa : Aquesta és una de les proves de penetració més comunament realitzades on s’identifiquen les obertures de la xarxa mitjançant les quals s’està fent l’entrada als sistemes de la xarxa per comprovar quin tipus de vulnerabilitats hi ha. Es pot fer de manera local o remota.
# 5) Prova del client : Té com a objectiu buscar i explotar vulnerabilitats en programes de programari del client.
# 6) Marcatge de guerra de marcatge remot : Cerca mòdems a l’entorn i intenta iniciar la sessió als sistemes connectats a través d’aquests mòdems mitjançant una endevinació de contrasenyes o forçament brut.
# 7) Prova de seguretat sense fils : Descobreix els punts d'accés o xarxes Wi-Fi oberts, no autoritzats i menys segurs i es connecta a través d'ells.
Les set categories anteriors que hem vist són una manera de classificar els tipus de proves de bolígrafs. També podem organitzar els tipus de proves de penetració en tres parts, tal com es mostra a continuació:
Analitzem aquests enfocaments de prova un per un:
- Proves de penetració de caixa negra : En aquest enfocament, el provador avalua el sistema, la xarxa o el procés objectiu sense que se’n coneguin els detalls. Només tenen un nivell d’entrada molt alt, com ara l’URL o el nom de l’empresa, amb què penetren a l’entorn objectiu. No s’està examinant cap codi en aquest mètode.
- Proves de penetració de caixa blanca : En aquest enfocament, el provador està equipat amb detalls complets sobre l'entorn objectiu: sistemes, xarxa, SO, adreça IP, codi font, esquema, etc. Examina el codi i detecta errors de disseny i desenvolupament. És una simulació d’un atac de seguretat intern.
- Proves de penetració de caixes grises : En aquest enfocament, el verificador té detalls limitats sobre l'entorn objectiu. És una simulació d'atacs de seguretat externs.
Tècniques de proves de ploma
- Prova de penetració manual
- Utilització d’eines de prova de penetració automatitzades
- Combinació de processos manuals i automatitzats
El tercer procés és més comú per identificar tot tipus de vulnerabilitats.
Prova de penetració manual
És difícil trobar totes les vulnerabilitats mitjançant eines automatitzades. Hi ha algunes vulnerabilitats que només es poden identificar mitjançant un escaneig manual. Els provadors de penetració poden realitzar millors atacs a les aplicacions en funció de les seves habilitats i coneixements del sistema que es penetra.
Els mètodes com l’enginyeria social només els poden fer els humans. La comprovació manual inclou el disseny, la lògica empresarial i la verificació del codi.
Procés de prova de penetració:
Analitzem el procés real que segueixen les agències de proves o els verificadors de penetració. La identificació de les vulnerabilitats presents al sistema és el primer pas important d’aquest procés. Es prenen mesures correctores contra aquesta vulnerabilitat i es repeteixen les mateixes proves de penetració fins que el sistema sigui negatiu per a totes aquestes proves.
Podem categoritzar aquest procés amb els mètodes següents:
# 1) Recollida de dades: S'utilitzen diversos mètodes, inclosa la cerca de Google, per obtenir dades del sistema objectiu. També es pot utilitzar la tècnica d’anàlisi del codi font de la pàgina web per obtenir més informació sobre les versions del sistema, del programari i dels connectors.
Hi ha moltes eines i serveis gratuïts disponibles al mercat que us poden proporcionar informació com ara noms de bases de dades o taules, versions de base de dades, versions de programari, el maquinari utilitzat i diversos connectors de tercers utilitzats al sistema de destinació.
# 2) Avaluació de la vulnerabilitat: Basant-se en les dades recollides al primer pas, es pot trobar la debilitat de seguretat al sistema objectiu. Això ajuda els provadors de penetració a llançar atacs mitjançant punts d'entrada identificats al sistema.
# 3) Explotació real: Aquest és un pas crucial. Requereix habilitats i tècniques especials per llançar un atac al sistema objectiu. Els provadors experimentats de penetració poden utilitzar les seves habilitats per llançar un atac al sistema.
# 4) Resultat en l'anàlisi i la preparació d'informes: Després de completar les proves de penetració, es preparen informes detallats per prendre mesures correctores. En aquests informes es detallen totes les vulnerabilitats identificades i els mètodes correctius recomanats. Podeu personalitzar el format de l’informe de vulnerabilitat (HTML, XML, MS Word o PDF) segons les necessitats de la vostra organització.
Prova de penetració Casos de prova de mostra (escenaris de prova)
Recordeu que no es tracta de proves funcionals. A Pentest el vostre objectiu és trobar forats de seguretat al sistema. A continuació es mostren alguns casos de prova genèrics i no necessàriament aplicables a totes les aplicacions.
- Comproveu si l’aplicació web és capaç d’identificar atacs de correu brossa als formularis de contacte que s’utilitzen al lloc web.
- Servidor intermediari: comproveu si el trànsit de la xarxa està supervisat pels aparells intermediaris. El servidor intermediari dificulta als pirates informàtics obtenir detalls interns de la xarxa, protegint així el sistema dels atacs externs.
- Filtres de correu electrònic brossa: comproveu si es filtra el trànsit de correu electrònic entrant i sortint i si es bloquegen els correus electrònics no sol·licitats.
- Molts clients de correu electrònic inclouen filtres de correu brossa integrats que cal configurar segons les vostres necessitats. Aquestes regles de configuració es poden aplicar a les capçaleres del correu electrònic, al tema o al cos.
- Tallafoc: assegureu-vos que tota la xarxa o els equips estiguin protegits amb tallafocs. Un tallafoc pot ser programari o maquinari per bloquejar l'accés no autoritzat a un sistema. Un tallafoc pot evitar l'enviament de dades fora de la xarxa sense el vostre permís.
- Proveu d'explotar tots els servidors, sistemes d'escriptori, impressores i dispositius de xarxa.
- Verifiqueu que tots els noms d’usuari i contrasenyes estiguin xifrats i transferits mitjançant connexions segures com https.
- Verifiqueu la informació emmagatzemada a cookies del lloc web . No hauria de tenir un format llegible.
- Verifiqueu les vulnerabilitats trobades anteriorment per comprovar si la correcció funciona.
- Verifiqueu si no hi ha cap port obert a la xarxa.
- Verifiqueu tots els dispositius telefònics.
- Verifiqueu la seguretat de la xarxa WIFI.
- Verifiqueu tots els mètodes HTTP. Els mètodes PUT i Delete no s’han d’habilitar en un servidor web.
- Verifiqueu si la contrasenya compleix els estàndards requerits. La contrasenya ha de tenir com a mínim 8 caràcters i contenir almenys un número i un caràcter especial.
- El nom d'usuari no ha de ser com 'administrador' o 'administrador'.
- La pàgina d'inici de sessió de l'aplicació hauria de bloquejar-se en alguns intents d'inici de sessió fallits.
- Els missatges d’error han de ser genèrics i no han d’esmentar detalls d’error específics, com ara “Nom d’usuari no vàlid” o “Contrasenya no vàlida”.
- Verifiqueu si els caràcters especials, les etiquetes HTML i els scripts es gestionen correctament com a valor d’entrada.
- Els detalls interns del sistema no s’han de revelar en cap missatge d’error ni d’alerta.
- Els missatges d’error personalitzats s’han de mostrar als usuaris finals en cas d’error de la pàgina web.
- Verifiqueu l'ús d'entrades de registre. La informació sensible no s’ha de conservar al registre.
- Cal escanejar tots els fitxers abans de penjar-los al servidor.
- Les dades sensibles no s’han de passar als URL mentre es comuniquen amb diferents mòduls interns de l’aplicació web.
- No hauria d’haver cap nom d’usuari ni contrasenya codificats al sistema.
- Verifiqueu tots els camps d'entrada amb una cadena d'entrada llarga amb i sense espais.
- Verifiqueu si la funcionalitat de restabliment de la contrasenya és segura.
- Verifiqueu la sol·licitud de Injecció SQL .
- Verifiqueu la sol·licitud de Creació de scripts entre llocs .
- Les validacions d’entrada importants s’han de fer al costat del servidor en lloc de comprovar JavaScript al costat del client.
- Els recursos crítics del sistema només haurien d’estar disponibles per a persones i serveis autoritzats.
- Tots els registres d’accés s’han de mantenir amb els permisos d’accés adequats.
- Verifiqueu que la sessió de l'usuari finalitzi en tancar la sessió.
- Verifiqueu que la navegació de directoris estigui inhabilitada al servidor.
- Verifiqueu que totes les aplicacions i versions de la base de dades estiguin actualitzades.
- Verifiqueu la manipulació d’URL per comprovar si una aplicació web no mostra cap informació no desitjada.
- Verifiqueu la fuga de memòria i el desbordament de memòria intermèdia.
- Verifiqueu si s’analitza el trànsit de xarxa entrant per trobar atacs de Troia.
- Verifiqueu si el sistema està protegit contra els atacs de força bruta: un mètode de prova i error per trobar informació confidencial, com ara contrasenyes.
- Comproveu si el sistema o la xarxa estan protegits contra atacs DoS (denial-of-service). El pirata informàtic pot orientar la xarxa o un únic ordinador amb sol·licituds contínues a causa dels quals es sobrecarreguen els recursos del sistema objectiu, cosa que provoca la denegació del servei per a sol·licituds legítimes.
- Verifiqueu l'aplicació per a atacs d'injecció de seqüències HTML.
- Verifiqueu els atacs COM i ActiveX.
- Verifiqueu els atacs de falsificació. El spoofing pot ser de diversos tipus: falsificació d’adreces IP, falsificació d’identificadors de correu electrònic,
- Spoofing ARP, spoofing referrer, spoofing ID de trucades, intoxicació de xarxes per compartir fitxers, spoofing GPS.
- Comproveu si hi ha un atac de cadena de format incontrolat: un atac de seguretat que pot provocar un bloqueig de l'aplicació o executar l'script perjudicial.
- Verifica l'atac d'injecció XML: s'utilitza per alterar la lògica prevista de l'aplicació.
- Verifiqueu els atacs de canonització.
- Verifiqueu si a les pàgines d'errors es mostra informació que pot ser útil per a un pirata informàtic per entrar al sistema.
- Verifiqueu si hi ha dades crítiques com la contrasenya emmagatzemades en fitxers secrets del sistema.
- Verifiqueu si l’aplicació proporciona més dades de les necessàries.
Aquests són només els escenaris bàsics de prova per començar a utilitzar Pentest. Hi ha centenars de mètodes avançats de penetració que es poden fer manualment o amb l'ajut d'eines d'automatització.
Per llegir més:
Normes de proves de ploma
- PCI DSS (Norma de seguretat de dades de la indústria de les targetes de pagament)
- OWASP (Projecte de seguretat d'aplicacions web obertes)
- ISO / IEC 27002 , OSSTMM (El manual de metodologia de proves de seguretat de codi obert)
Certificacions
- GPEN
- Provador de seguretat associat ( AST )
- Probador de seguretat sènior (SST)
- Probador de penetració certificat ( CPT )
Conclusió
Finalment, com a provador de penetració, heu de recollir i registrar totes les vulnerabilitats del sistema. No ignoreu cap escenari tenint en compte que no serà executat pels usuaris finals.
quina és la meva clau de seguretat de xarxa per al punt d'accés de Verizon
Si sou un provador de penetració, ajudeu els nostres lectors amb la vostra experiència, consells i exemples de casos de proves sobre com realitzar proves de penetració amb eficàcia.
Lectura recomanada
- 19 potents eines de prova de penetració utilitzades pels professionals el 2021
- Guia per a principiants sobre proves de penetració d'aplicacions web
- Proves alfa i proves beta (guia completa)
- Proves de seguretat de xarxa i millors eines de seguretat de xarxa
- Guia de proves de seguretat d'aplicacions web
- Guia completa de proves de verificació de compilació (proves BVT)
- Proves funcionals contra proves no funcionals
- Les millors eines de prova de programari 2021 (Eines d'automatització de proves de control de qualitat)