Quando falamos de aplicações webs, podemos falar de problemas de segurança, principalmente hoje em dia com a utilização da internet para prover serviços essenciais e estratégicos no dia a dia.
Por isso a necessidade de proteger esses ambientes se tornou essencial, e consequentemente houve um aumento dos programas de recompensa e muitas empresas estão aderindo para manter seus ambientes auditados e protegidos, além de realizar PenTests semestral para garantir desde da aplicação até as camadas mais embaixos.
Quando pegamos as camadas de segurança nós temos:
Segurança Física:
(Salvaguardar as pessoas, o hardware, os programas, as redes e os dados contra ameaças físicas)
Segurança de Redes:
Protege as redes e seus serviços contra modificação, destruição ou divulgação não autorizada
Segurança de Sistemas:
Protege o sistema e suas informações contra roubo, corrupção, acesso não autorizado ou mau uso
Segurança de Aplicativos:
Abrange o uso de software, hardware e métodos processuais para proteger os aplicativos contra ameaças externas
Segurança de Usuários Finais:
Garante que um usuário válido esteja conectado e que o usuário conectado tenha permissão para utilizar um aplicativo/programa
É claro que a segurança de aplicação é um fator essencial, pois como dito, muitos ataques partem das aplicações atualmente, então temos um grande problema quando se fala de segurnaça de aplicação, temos o OWASP-TOP 10 que auxilia nesse aspecto.
Além de descrever as tops vulnerabilidades atuais, você tem métodos de remediação e as boas práticas de segurança de aplicação, por isso é essencial que um atacante entenda isso, não só para proteger, mas para entender os mecanismos de proteção e como bypassa-los.
Sabemos que uma aplicação é segura quando garante confidencialidade, integridade e disponibilidade de seus recursos restritos! Ou seja, qualquer objeto, dado, recurso ou função de uma aplicação projetada para ser acessada apenas por usuários autorizados.
Qual é o objetivo da Segurança de Aplicação
- Para garantir que a segurança do aplicativo não seja mais uma reflexão tardia, mas uma das principais.
- Estabelecer a base exigida por todos os desenvolvedores de aplicativos e organizações de desenvolvimento, para produzir aplicativos seguros com maior estabilidade e menos riscos à segurança do consumidor, portanto, tornando a segurança o principal pensamento.
- Garantir que as organizações reduzam o risco de perder milhões devido a comprometimentos de segurança que podem surgir a cada etapa do processo de desenvolvimento de aplicativos.
- Ajudar as pessoas a desenvolver o hábito de dar importância ao sacrifício de segurança de sua função no SDLC, abrindo assim a segurança como o principal domínio para testadores, desenvolvedores, administrador de rede etc.
Envolver o seu SDLC com foco em segurança, pode ter certeza que você vai eliminar custos no futuro e além disso, desenvolver uma cultura de segurança da informação, diminuir o custo de retrabalho, reduzindo a presença de vulnerabilidades, além da reutilização dessa aplicação segura em outros projetos!
Para isso você precisa conhecer:
- Conhecimento do Top 10 da OWASP, modelagem de ameaças, SAST e DAST
- Capturando Requisitos de Segurança de um Aplicativo em Desenvolvimento
- Definindo, mantendo e aplicando as melhores práticas de segurança de aplicativos
- Realização de testes de segurança de aplicativos para aplicativos da web para avaliar as vulnerabilidades
- Seguindo os padrões de codificação segura, baseados nas melhores práticas aceitas pelo setor, como o OWASP Guide ou CERT Secure Coding, para solucionar vulnerabilidades comuns de codificação.
- Criando um processo de revisão de código-fonte de software que faz parte dos ciclos de desenvolvimento (SDLC, Agile, CI / CD)
- Impulsionando o desenvolvimento de um programa holístico de segurança de aplicativos
Esse são alguns exemplos, claro existe todo um processo envolvido e cabe a maturidade da empresa em relação a segurança da informação.
Ataques web
Quando falamos de ataques web, estou se referindo em testes de vulnerabilidades que são uma etapa essencial para garantir que seu ambiente não está vulnerável, além da gestão de vulnerabilidades é claro.
Por isso, realizar PenTest e principalmente investr em programas de recompensas, pode ter certeza que vai melhorar sua postura de segurança, diminuir os riscos e ganhar respeito para com outras empresas.
Mas que tipos de vulnerabilidades são bem comuns?
Algumas vulnerabilidades mais comuns são:
- Cross Site Scripting (XSS)
- Cross Site Request Forgery (CSRF)
- SQL Injection
- Remote Command Execution (RCE)
- CRLF Injection
- Request Smuggling
- Privilege Escalation
- Open Redirect
- Broken Authentication – OAuth
- Server Side Request Forgery (SSRF)
- Insecure Direct Object Reference (IDOR)
- Domain Takeover
- User Account Takeover
- XML External Entity Injection (XXE)
- Clickjacking
- Path Transversal
- APIs inseguras
- LFI/RFI
- File Upload
- Injeção de LDAP
- Improper Access Control
- .NET Deserialization
Essas são algumas vulnerabilidades que muita das vezes você encontra em disclosures de bug bounty ou em relatórios de PenTest.
Cada um tem um meio de explorar e com certeza de avançar os degraus, mas o que eu recomendo, manjar de desenvolvimento! Isso auxiliar muito na hora de uma exploração, principalmente para desenvolver suas próprias POCs.
Essas é uma base que eu vim trazer para vocês, infelizmente nada técnico nesse, mas no próximo quero trazer umas ferramentas legais e outras demonstrações, mas enquanto isso, veja outros artigos meus:
https://www.linkedin.com/pulse/ataques-web-b%C3%A1sicos-para-bug-bounty-hunters-pt1-dos-santos/
https://www.linkedin.com/pulse/como-se-tornar-um-mestre-jedi-ctf-joas-antonio-dos-santos/
https://www.linkedin.com/pulse/como-se-tornar-um-engenheiro-e-mestre-em-offensive-dos-santos/
https://www.linkedin.com/pulse/se-tornando-um-offensive-defensive-security-joas-antonio-dos-santos/
https://www.linkedin.com/pulse/ataques-webs-avan%C3%A7ado-hands-on-joas-antonio-dos-santos/
https://www.linkedin.com/pulse/torne-se-um-pentester-web-joas-antonio-dos-santos/
Algumas ferramentas bacanas que eu utilizo:
- Recon Of JAAAH https://github.com/OfJAAH/ReconOfJAAAH (Excelente ferramenta, infelizmente não tinha uma POC em imagem para colocar aqui, mas pretendo gravar algo para essa ferramenta, eu recomendo para todos, ela é um ótimo kit de recon!)
- Burp Suite
- cURL
- CSRF Poc Generator (https://github.com/merttasci/csrf-poc-generator)
- SubOver (https://github.com/Ice3man543/SubOver)
- Knock SubDomain (https://github.com/guelfoweb/knock)
- XSS Payloads (https://gist.github.com/rvrsh3ll/09a8b933291f9f98e8ec)
- SQL Injection Payloads (https://github.com/payloadbox/sql-injection-payload-list)
- Uma Trick de Recon bacana (https://www.linkedin.com/pulse/tricks-de-recon-ataide-junior/?trackingId=lo%2FwG4h%2FSemwGplcWrHIhA%3D%3D)
- Um servidor web para testes locais
- Uma lista de Writeups para abrir a mente um pouquinho (https://pentester.land/list-of-bug-bounty-writeups.html)
- Whatweb
- Webshells
- Netcat
Capture The Flags para brincar
No mundo inteiro você tem diferentes tipos de CTF, aonde você tem competições nacionais e internacionais, vou listar alguns conhecidos e você pode indicar outros que você conhece no chat.
Nacionais
- Capture The Flag – Hacker Security
- Hackaflag
- Hackversity da H2HC
- Sucuri Hacker Club
- Shellter Labs
- CTF básico CyberSecUP
Internacionais
- DEF CON CTF
- Google CTF
- Hack The Box
- CTF365
- Trend Micro CTF
- Rootcon
- OWASP CTF
- Hitcon
- picoCTF
Fonte: https://hackersec.com/os-melhores-capture-the-flag-ctfs/
Certificações legais:
https://www.eccouncil.org/programs/certified-application-security-engineer-case/
https://www.elearnsecurity.com/certification/ewpt/
https://www.offensive-security.com/awae-oswe/
Views: 2325