beginners guide web application penetration testing
Proves de penetració aka Pen Test és la tècnica de proves de seguretat més utilitzada per a aplicacions web.
Les proves de penetració d'aplicacions web es fan simulant atacs no autoritzats internament o externament per obtenir accés a dades sensibles.
Una penetració web ajuda l'usuari final a conèixer la possibilitat que un pirata informàtic accedeixi a les dades des d'Internet, conegui la seguretat dels seus servidors de correu electrònic i també conegui la seguretat del lloc i el servidor d'allotjament web.
Bé, ara cobrim el contingut d’aquest article.
unió exterior esquerra vs unió esquerra
(imatge font )
En aquest tutorial de proves de penetració he intentat tractar:
- La necessitat de Pentest per provar aplicacions web,
- Metodologia estàndard disponible per a Pentest,
- Enfocament de l’aplicació web Pentest,
- Quins tipus de proves podem realitzar,
- Passos a seguir per realitzar una prova de penetració,
- Eines que es poden utilitzar per provar,
- Alguns dels proveïdors de serveis de proves de penetració i
- Algunes de les certificacions per a proves de penetració web
Eines recomanades d'escaneig de vulnerabilitats:
# 1) Aparcador de xarxa
Netsparker és una plataforma automatitzada de proves de seguretat d'aplicacions web fàcil d'utilitzar i que podeu utilitzar per identificar vulnerabilitats reals i explotables als vostres llocs web.
# 2) Kiuwan
Cerqueu i corregiu les vulnerabilitats del vostre codi en totes les etapes del SDLC.
Kiuwan compleix els estàndards de seguretat més estrictes, inclosos OWASP, CWE, SANS 25, HIPPA i molt més. Integreu Kiuwan al vostre IDE per obtenir comentaris instantanis durant el desenvolupament. Kiuwan admet tots els llenguatges de programació principals i s’integra amb les principals eines DevOps.
=> Escaneja el codi gratisQuè aprendreu:
- Per què cal fer proves de penetració?
- Metodologia de proves de penetració web
- Tipus de proves de penetració web
- Enfocament de la prova de bolígrafs web:
- Principals eines de proves de penetració
- Principals empreses de proves de penetració
- Algunes certificacions de proves de penetració:
- Conclusió
- Lectura recomanada
Per què cal fer proves de penetració?
Quan parlem de seguretat, la paraula més habitual que escoltem és Vulnerabilitat .
Quan inicialment vaig començar a treballar com a provador de seguretat, em confonia molt sovint amb aquesta paraula Vulnerabilitat, i estic segur que molts de vosaltres, els meus lectors caurien al mateix vaixell.
Per al benefici de tots els meus lectors, primer aclariré la diferència entre la vulnerabilitat i la prova de bolígrafs.
Què és, doncs? Vulnerabilitat ? La vulnerabilitat és una terminologia que s’utilitza per identificar defectes del sistema que poden exposar el sistema a amenaces de seguretat.
Escaneig de vulnerabilitats o proves de ploma?
L'exploració de vulnerabilitats permet a l'usuari conèixer els punts febles coneguts de l'aplicació i defineix mètodes per solucionar i millorar la seguretat general de l'aplicació. Bàsicament esbrina si s’instal·len pedaços de seguretat, si els sistemes estan configurats adequadament per dificultar els atacs.
Pen Tests simula principalment sistemes en temps real i ajuda l'usuari a esbrinar si poden accedir-hi usuaris no autoritzats, si és així, quins danys es poden causar i a quines dades, etc.
Per tant, l’escaneig de vulnerabilitats és un mètode de control detectiu que suggereix maneres de millorar el programa de seguretat i assegurar que no ressorgeixen les debilitats conegudes, mentre que la prova de llapis és un mètode de control preventiu que proporciona una visió general de la capa de seguretat existent del sistema.
Tot i això, tots dos mètodes tenen la seva importància, però dependrà del que realment s’espera com a part de les proves.
Com a provadors, és imprescindible tenir clar el propòsit de les proves abans de passar a les proves. Si teniu clar l’objectiu, podeu definir molt bé si heu de fer una anàlisi de vulnerabilitats o una prova de llapis.
Importància i necessitat de les proves de llapis d'aplicacions web:
- Pentest Ajuda a identificar vulnerabilitats desconegudes.
- Ajuda a comprovar l’eficàcia de les polítiques de seguretat generals.
- Ajudeu a provar els components exposats públicament com tallafocs, encaminadors i DNS.
- Permet que l'usuari conegui la ruta més vulnerable a través de la qual es pot fer un atac
- Ajuda a trobar les escletxes que poden conduir al robatori de dades sensibles.
Si observem la demanda actual del mercat, hi ha hagut un fort augment de l’ús del mòbil, que s’està convertint en un potencial important d’atacs. L'accés a llocs web mitjançant mòbils és propens a atacs més freqüents i, per tant, a comprometre les dades.
Per tant, les proves de penetració esdevenen molt importants per garantir que creem un sistema segur que pot ser utilitzat pels usuaris sense preocupacions de pirateria o pèrdua de dades.
Metodologia de proves de penetració web
La metodologia no és res més que un conjunt de directrius de la indústria de seguretat sobre com s'han de realitzar les proves. Hi ha algunes metodologies i estàndards famosos i ben establerts que es poden utilitzar per provar, però com que cada aplicació web requereix diferents tipus de proves, els provadors poden crear les seves pròpies metodologies referint els estàndards disponibles al mercat.
Algunes de les metodologies i normes de proves de seguretat són:
- OWASP (Projecte de seguretat d'aplicacions web obertes)
- OSSTMM (Manual de metodologia de proves de seguretat de codi obert)
- PTF (Marc de proves de penetració)
- ISSAF (Marc d'avaluació de la seguretat dels sistemes d'informació)
- PCI DSS (Norma de seguretat de dades de la indústria de les targetes de pagament)
Escenaris de prova:
A continuació s'enumeren alguns dels escenaris de prova que es poden provar com a part Proves de penetració d'aplicacions web (WAPT):
- Creació de guions entre llocs
- Injecció SQL
- Autenticació trencada i gestió de sessions
- Errors de càrrega de fitxers
- Atacs de servidors a la memòria cau
- Males configuracions de seguretat
- Sol·licitud de falsificació entre llocs
- Cracking de contrasenya
Tot i que he esmentat la llista, els verificadors no haurien de crear cegament la seva metodologia de prova basada en els estàndards convencionals anteriors.
Aquí hi ha unexempleper demostrar per què ho dic.
Penseu que se us demana que proveu la penetració d'un lloc web de comerç electrònic, ara penseu-hi si totes les vulnerabilitats d'un lloc web de comerç electrònic es poden identificar mitjançant els mètodes convencionals d'OWASP com XSS, injecció SQL, etc.
La resposta és un no perquè el comerç electrònic funciona en una plataforma i tecnologia molt diferents en comparació amb altres llocs web. Per tal de fer efectives les proves de llapis per al lloc web de comerç electrònic, els verificadors han de dissenyar una metodologia que impliqui defectes com la gestió de comandes, la gestió de cupons i recompenses, la integració de la passarel·la de pagaments i la integració del sistema de gestió de contingut.
Per tant, abans de decidir la metodologia, assegureu-vos molt de quin tipus de lloc web s’espera que es provi i quin mètode ajudarà a trobar les màximes vulnerabilitats.
Tipus de proves de penetració web
Les aplicacions web es poden provar de penetració de 2 maneres. Les proves es poden dissenyar per simular un atac interior o exterior.
# 1) Proves de penetració interna:
Com el seu nom indica, les proves de llapis internes es fan dins de l’organització a través de la LAN, per tant inclouen proves d’aplicacions web allotjades a la intranet.
Això ajuda a esbrinar si hi ha vulnerabilitats que existeixen al tallafoc corporatiu.
Sempre creiem que els atacs només poden ocórrer externament i moltes vegades es passa per alt el Pentest intern o no se li dóna molta importància.
Bàsicament, inclou atacs d’empleats maliciosos per part d’empleats o contractistes descontents que haurien renunciat a la feina però que estiguessin al corrent de les polítiques i contrasenyes de seguretat internes, atacs d’enginyeria social, simulació d’atacs de pesca i atacs amb privilegis d’usuari o ús indegut d’un terminal desbloquejat.
el millor programari de text a veu
Les proves es fan principalment accedint a l’entorn sense les credencials adequades i identificant si es tracta d’un
# 2) Proves de penetració externa -
Són atacs fets externament des de fora de l’organització i inclouen proves d’aplicacions web allotjades a Internet.
Els verificadors es comporten com pirates informàtics que no són molt conscients del sistema intern.
Per simular aquests atacs, als provadors se'ls proporciona la IP del sistema objectiu i no se'ls proporciona cap altra informació. Han de buscar i escanejar pàgines web públiques i trobar la nostra informació sobre els amfitrions objectiu i després comprometre els amfitrions trobats.
Bàsicament, inclou proves de servidors, tallafocs i IDS.
Enfocament de la prova de bolígrafs web:
Es pot dur a terme en 3 fases:
# 1) Fase de planificació (abans de la prova)
Abans que comencin les proves, és aconsellable planificar quins tipus de proves es realitzaran, com es realitzaran les proves, determinar si QA necessita accés addicional a les eines, etc.
- Definició d'abast - És el mateix que les nostres proves funcionals, on definim l’abast de les nostres proves abans d’iniciar els nostres esforços.
- Disponibilitat de documentació per als provadors - Assegureu-vos que els verificadors tinguin tots els documents necessaris, com ara documents que detallen l’arquitectura web, els punts d’integració, la integració de serveis web, etc. El verificador hauria de tenir coneixement dels conceptes bàsics del protocol HTTP / HTTPS i conèixer l’arquitectura d’aplicacions web, les formes d’intercepció del trànsit.
- Determinació dels criteris d'èxit - A diferència dels nostres casos de proves funcionals, on podem obtenir els resultats esperats dels requisits i requisits funcionals de l'usuari, les proves de llapis funcionen amb un model diferent. Cal definir i aprovar els criteris d’èxit o els criteris d’aprovació del cas de prova.
- Revisió dels resultats de les proves de les proves anteriors - Si alguna vegada es van fer proves prèvies, és bo revisar els resultats de la prova per comprendre quines vulnerabilitats existien en el passat i quines solucions es van prendre per resoldre-les. Això sempre dóna una millor imatge dels provadors.
- Comprensió del medi ambient: Els provadors haurien d’adquirir coneixements sobre l’entorn abans de començar les proves. Aquest pas hauria de garantir-los una comprensió dels tallafocs o d'altres protocols de seguretat que caldria desactivar per realitzar la prova. El navegador que s’ha de provar s’hauria de convertir en una plataforma d’atac, normalment canviant de servidor intermediari.
# 2) Atacs / fase d'execució (durant les proves):
Les proves de penetració web es poden fer des de qualsevol lloc, atès que el proveïdor d’Internet no hauria de restringir els ports i els serveis.
- Assegureu-vos d'executar una prova amb diferents rols d'usuari: Els verificadors s’han d’assegurar d’executar proves amb usuaris que tinguin funcions diferents, ja que el sistema pot comportar-se de manera diferent respecte als usuaris que tinguin els diferents privilegis.
- Consciència sobre com gestionar la postexplotació: Els verificadors han de seguir els criteris d’èxit definits com a part de la fase 1 per informar de qualsevol explotació, i també han de seguir el procés definit d’informació de vulnerabilitats trobades durant les proves. Aquest pas implica principalment que el comprovador esbrini què cal fer després que hagin comprovat que el sistema s'ha vist compromès.
- Generació d'informes de proves: Qualsevol prova feta sense informes adequats no ajuda molt l’organització, igual que passa amb les proves de penetració d’aplicacions web. Per garantir que els resultats de les proves es comparteixin adequadament amb totes les parts interessades, els verificadors haurien de crear informes adequats amb detalls sobre les vulnerabilitats trobades, la metodologia utilitzada per a les proves, la gravetat i la ubicació del problema trobat.
# 3) Fase de postexecució (després de la prova):
Un cop finalitzades les proves i compartits els informes de proves amb tots els equips interessats, tots haurien de treballar la llista següent:
conversió char a int c ++
- Suggereix una reparació - Les proves de ploma no només s’han d’acabar identificant les vulnerabilitats. L'equip interessat, inclòs un membre de control de qualitat, hauria de revisar els resultats reportats pels verificadors i, a continuació, debatre sobre la reparació.
- Repetiu les vulnerabilitats: Després de prendre i implementar la reparació, els verificadors haurien de tornar a provar per assegurar-se que les vulnerabilitats solucionades no apareixen com a part de la seva nova prova.
- Netejar - Com a part de la Pentest, els verificadors fan canvis a la configuració del servidor intermediari, de manera que s'hauria de fer una neteja i tornar tots els canvis.
Principals eines de proves de penetració
Ara, com que ja heu llegit l'article complet, crec que ara teniu una idea molt millor de què i com podem provar la penetració d'una aplicació web.
Digueu-me, doncs, podem realitzar proves de penetració manualment o sempre passa automàticament mitjançant una eina. Sens dubte, crec que la majoria de vosaltres dieu Automatització. :)
És cert, perquè l’automatització augmenta la velocitat, evita els errors humans manuals, una excel·lent cobertura i molts altres avantatges, però pel que fa a Pen Test, ens requereix que realitzem proves manuals.
Les proves manuals ajuden a trobar vulnerabilitats relacionades amb Business Logic, reduint els falsos positius.
Les eines són propenses a donar molts falsos positius i, per tant, cal una intervenció manual per determinar si són vulnerabilitats reals.
Llegiu també - Com provar la seguretat de les aplicacions web mitjançant l'eina Acunetix Web Vulnerability Scanner (WVS)
Les eines es creen per automatitzar els nostres esforços de proves. A continuació, trobareu una llista d'algunes de les eines que es poden utilitzar per a Pentest:
Per obtenir més eines, també podeu consultar - 37 potents eines de prova de bolígrafs per a cada provador de penetració
Principals empreses de proves de penetració
Els proveïdors de serveis són empreses que presten serveis atenent a les necessitats de proves de les organitzacions. Normalment excel·len i tenen experiència en diferents àrees de proves i poden realitzar proves en el seu entorn de proves allotjat.
A continuació, esmenten algunes de les empreses líders que proporcionen serveis de proves de penetració:
- PSC (Compliment de la seguretat dels pagaments)
- Netragard
- Securestate
- CoalFire
- Seguretat HIGHBIT
- Netedat
- 360
- NetSPi
- ControlScan
- Skods Minotti
- 2 | Seg
- Avaluació de la seguretat
- Sistemes d'Auditoria de Seguretat
- hacklabs
- CQR
Algunes certificacions de proves de penetració:
Si esteu interessats a obtenir la certificació de la certificació de penetració d'aplicacions web, podeu optar per les certificacions següents:
- OSWE (Expert web ofensiu de seguretat)
- GWAPT (Provador de penetració d'aplicacions web GIAC)
- CWAPT (Tester de penetració d'aplicacions web certificat)
- eWPT (Tester de penetració d'aplicacions web elearnSecurity)
Conclusió
En aquest tutorial, hem presentat una visió general de com es realitzen les proves de penetració per a aplicacions web.
Amb aquesta informació, el provador de penetració pot iniciar proves de vulnerabilitat.
Idealment, les proves de penetració ens poden ajudar a crear programari segur. És un mètode costós, de manera que es pot mantenir la freqüència una vegada a l'any.
Per obtenir més informació sobre les proves de penetració, llegiu els articles relacionats a continuació:
- Un enfocament per a les proves de seguretat d'aplicacions web
- Proves de penetració: guia completa amb casos de prova de mostra
- Com provar la seguretat de les aplicacions: tècniques de proves de seguretat de les aplicacions web i d'escriptori
Comparteix les teves opinions o experiència sobre Pentest a continuació.
Lectura recomanada
- Guia de proves de seguretat d'aplicacions web
- Proves de seguretat de xarxa i millors eines de seguretat de xarxa
- Les millors eines de prova de programari 2021 (Eines d'automatització de proves de control de qualitat)
- Proves alfa i proves beta (guia completa)
- Proves de seguretat (una guia completa)
- Una guia completa de proves de penetració amb casos de prova de mostra
- Eines i proveïdors de serveis de proves de penetració d'aplicacions mòbils
- Diferència entre la prova d'escriptori, el servidor de clients i la prova web