Tarefa 1 — Preparação
Carregamento do dataset e seperação dos dados (treino e teste)
age sex cp trestbps chol fbs restecg thalach exang oldpeak slope \
0 63 1 3 145 233 1 0 150 0 2.3 0
1 37 1 2 130 250 0 1 187 0 3.5 0
2 41 0 1 130 204 0 0 172 0 1.4 2
3 56 1 1 120 236 0 1 178 0 0.8 2
4 57 0 0 120 354 0 1 163 1 0.6 2
ca thal target
0 0 1 1
1 0 2 1
2 0 2 1
3 0 2 1
4 0 2 1
Dimensões: (303, 14)
Distribuição das classes (target):
target
1 165
0 138
Name: count, dtype: int64
Tarefa 2 — Treinamento dos modelos
Treinar o modelo nos algoritmos:
Análise de dados com Python
Objetivos
- Importar bibliotecas e carregar dataset
- Explorar o dataset
- Tratar os dados
- Criação de histogramas
- Criação de boxplots
- Criação de gráficos e análise
- Comparação de médias
- Criação scatterplots: Glucose × BMI e Age × BMI
- Treinar uma regressão logística
- Análise de PCA utilizando 3 parâmetros
TL;DR:
Neste projeto prático de Data Analytics com Python, explorei o dataset Pima Indians Diabetes desde a limpeza de dados e análise exploratória (EDA) até a aplicação de modelos de Machine Learning. Após tratar valores inconsistentes e criar visualizações gráficas para mapear distribuições e outliers, treinei um modelo de Regressão Logística que atingiu 79,3% de acurácia na previsão de diagnósticos. Por fim, uma análise de componentes principais (PCA), criando uma separação clara entre indivíduos saudáveis e diabéticos.
Intro
In this CTF challenge, the initial foothold was gained through a Command Injection vulnerability, which allowed for a reverse shell and, consequently, access to the server. Subsequently, privilege escalation to root was achieved by identifying and exploiting a binary with insecurely configured permissions.
Reconnaissance/Enumeration
The reconnaissance phase began with a SYN Scan on the target to identify open ports. With the list of active ports, a subsequent scan was performed to enumerate the services and their respective versions, using the Banner Grabbing technique.
Intro
A reconnaissance of active ports was initiated, identifying the following ports: 22, 80, and 8081.
Ports 80 and 8081 have web services running, while port 8081 displays only a blank page.
Port 80 hosts a website that allows user registration, but its registration fields are vulnerable to XSS (cross-site scripting). Through this attack vector, it is possible to obtain the moderator’s session cookies.
The moderator’s panel has a subdomain with social network management functions. The system administrator can be contacted via a chatbot, which is also vulnerable to XSS attacks. Through this vulnerability, a form was crafted that does not require user interaction, allowing the administrator’s password to be changed and thereby granting administrative access.
Uma race condition é uma situação em programas de computador onde o tempo dos eventos influencia o comportamento e o resultado do programa. Normalmente acontece quando uma variável é acessada e modificada por vários threads. Devido à falta de mecanismos de bloqueio adequados e sincronização entre os diferentes threads, um invasor pode abusar do sistema e aplicar um desconto várias vezes ou fazer transações de dinheiro além do seu saldo.
A CTF focused on injection and enumeration attacks, where we first identify the field vulnerable to SQL injection. After that, we must use obfuscation techniques to bypass the verification of special characters. Once access is obtained, we need to understand the behavior of the update feature to carry out a second-order SQL attack, thereby deleting the table and triggering the default credentials registration. In the administrative panel, we should analyze which server template is in use to perform the SSTI attack.
NoSQL
As informações não são armazenadas em tabelasmas sim em documentos.
Exemplo de banco de dados em NoSQL: MongoDB.
MongoDB
Em um banco de dados NoSQL os valores são salvos em pares: chave-valor, por exemplo, um banco de dados do departamento de RH.
{"_id" : ObjectId("5f077332de2cdf808d26cd74"), "username" : "lphillips", "first_name" : "Logan", "last_name" : "Phillips", "age" : "65", "email" : "lphillips@example.com" }
Objetivos
- Conceitos essenciais sobre OAuth 2.0.
- O fluxo do OAuth 2.0.
- Identificar serviços de OAuth.
- Explorar técnicas.
- Evolução do OAuth 2.1.
A aula pode ser encontrada aqui room 0Auth
Irei documentar a aula e seus exercícios propostos.
Conceitos chaves
Proprietário do recurso
O proprietário do recursos pode ser uma pessoa ou sistema, que controla um certo tipo de dado e pode autorizar uma aplicação a acessar este dado em seu nome. O conceito fundamental gira em torno do usuário, seu consentimento e controle, por exemplo, você é o proprietário do recurso como um cliente da cafeteria. Você pode controlar as informações da sua conta e conceder permissão ao aplicativo móvel da cafeteria para acessar seus dados.
Introdução
Este CTF faz parte da trilha Web Application Pentesting. Nele, são praticados conceitos de gerenciamento de sessão, autenticação de dois fatores (2FA), força bruta, scripting e JSON Web Tokens (JWT).
Inicialmente, realizamos o reconhecimento da aplicação, suas portas e serviços. Em seguida, passamos para a enumeração da aplicação, analisando como ela se comporta no processo de recuperação de senha. Concluímos com a análise do JWT e a exposição de informações sensíveis.
Requisitos
Neste CTF, é necessário ter conhecimentos sobre:
- Subdomínios
- Brute Force
- Command Injection
- Binários com SUID
- Engenharia reversa
- Funcionamento do sudo
- Armazenamento de chaves SSH
Reconhecimento
Para analisar a superfície de ataque, utilizaremos o Nmap para realizar uma varredura SYN Scan, usando o comando abaixo.
Temos apenas um servidor web e a porta 22 do serviço SSH disponível.
Introdução
Multi-Factor Authentication (MFA) tem uma papel importante em aplicações modernas, adicionando uma camada extra de proteção contra ataques. MFA utiliza diferentes combinações, por exemplo:
- Senha.
- Algo que você tem (celular).
- Algo que você possui (biometria).
O objetivo da aula é entender melhor, os conceitos de MFA, como também sua importância no fortalecimento da segurança. Além de explorar diferentes tipos de fatores de autenticação utilizando MFA, ao final da aula teremos um melhor entendimento sobre essa tecnologia, através de estudo em cenários práticos onde o MFA é implementado para proteger informações sensíveis.
Reconhecimento
Realizado varredura de portas
Acessando a aplicação na porta 80, recebemos uma tela de erro, que o método GET não é permitido.
Objetivos
- Aprender sobre autenticação baseada em token.
- Aprender sobre JSON web tokens (JWTs).
- Aprender o porque JWT são populares.
- Aprender sobre segurança no uso de JWT.
- Aprender como atacar vulnerabilidade na implementação de JWT.
Introdução
Um dos motivos da popularidade das API (Application Programming Interfaces) é sua vantagem de ser usada em diversas interfaces diferentes, com uma única API podemos conversar com uma aplicação web ou mobile, simultaneamente se necessário, além disso, pensando pelo lado da segurança, podemos implementar controles mais centralizados do lado do servidor.
Nesse artigo irei estudar e documentar, a aula disponível de JWT na plataforma TryHackMe.
Introdução
Nesta aula, são ensinados os métodos para explorar cada vulnerabilidade do OWASP Top 10. Documentarei e detalharei as etapas de cada uma das vulnerabilidades mencionadas na aula.
Para acessar a aula clique aqui OWASP TOP 10
Injeção
É uma vulnerabilidade comum nas aplicações atuais. A falha ocorre porque a entrada de dados enviada pelo usuário é interpretada como comandos ou parâmetros, sem validação ou sanitização dos dados enviados. Assim, o atacante pode executar comandos arbitrários no sistema, como acessar, modificar e até mesmo deletar informações contidas no servidor. Exemplos de códigos podem ser injetados.