<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Untitled Publication]]></title><description><![CDATA[Untitled Publication]]></description><link>https://allandiego.com.br</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Apr 2026 19:08:07 GMT</lastBuildDate><atom:link href="https://allandiego.com.br/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[AWS Cloud Adoption Framework]]></title><description><![CDATA[Neste artigo vamos abordar o Cloud Adoption Framework (CAF) que a AWS disponibiliza para aderir a nuvem em empresas on-promises, nele será abordado os 6 pilares em que o CAF é composto.
O que é?
O Cloud Adoption Framework (CAF) é um framework de boas...]]></description><link>https://allandiego.com.br/aws-cloud-adoption-framework</link><guid isPermaLink="true">https://allandiego.com.br/aws-cloud-adoption-framework</guid><category><![CDATA[AWS]]></category><category><![CDATA[aws caf]]></category><category><![CDATA[Cloud Adoption Framework]]></category><dc:creator><![CDATA[Allan Diego]]></dc:creator><pubDate>Mon, 22 Dec 2025 17:43:02 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1766405837645/49f50774-d943-4dec-9221-28483c5445f8.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Neste artigo vamos abordar o Cloud Adoption Framework (CAF) que a AWS disponibiliza para aderir a nuvem em empresas on-promises, nele será abordado os 6 pilares em que o CAF é composto.</p>
<h3 id="heading-o-que-e">O que é?</h3>
<p>O Cloud Adoption Framework (CAF) é um framework de boas práticas criado pela AWS com o objetivo de orientar empresas que pretendem migrar para a nuvem AWS. Ele é dividido em seis perspectivas: Governança, Negócios, Pessoas, Plataforma, Segurança e Operações. A seguir, cada uma dessas perspectivas será abordada, destacando suas principais características, a fim de fornecer uma visão macro que auxilie na preparação para o exame CLF-C02.</p>
<h3 id="heading-governanca">Governança</h3>
<p>A perspectiva de Governança garante que a adoração da AWS aconteça de forma controlada, segura, em conformidade e financeiramente viável.</p>
<p><strong>Características principais:</strong></p>
<ul>
<li><p>Controlar riscos;</p>
</li>
<li><p>Garantir compliance;</p>
</li>
<li><p>Evitar custos fora de controle;</p>
</li>
<li><p>Definir regras claras para uso da nuvem.</p>
</li>
</ul>
<p><strong>Principais áreas da governança:</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Área</strong></td><td><strong>Descrição</strong></td><td><strong>Exemplo</strong></td><td><strong>Ferramentas</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Gestão financeira</td><td>Controle e previsibilidade de custos</td><td>Criar alertas quando o gasto mensal ultrapassar o orçamento</td><td>AWS Budgets, Cost Explorer, Cost &amp; Usage Report, Billing Dashboard, Tags de custo</td></tr>
<tr>
<td>Gerenciamento de riscos</td><td>Identificação e mitigação de riscos organizacionais</td><td>Impedir criação de recursos fora de padrões definidos</td><td>AWS organizations, Service Control Policies (SCPs), AWS control tower</td></tr>
<tr>
<td>Conformidade (Compliance)</td><td>Atendimento a leis e normas</td><td>Consultar relatórios de conformidade (ISO, SOC, PCI)</td><td>AWS Artifact, AWS Config, AWS Audit Manager</td></tr>
<tr>
<td>Políticas e Controles</td><td>Regras de uso da nuvem</td><td>Restringir serviços disponíveis para determinadas contas</td><td>IAM, SCPs, AWS Organizations</td></tr>
<tr>
<td>Accountability &amp; Decisão</td><td>Responsabilidade e aprovação de uso</td><td>Definir quem pode criar recursos e quem paga por eles</td><td>IAM, AWS Organizations, Tags</td></tr>
</tbody>
</table>
</div><p><strong>Principais stackholders:</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Stackholder</strong></td><td><strong>Papel na governança</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Executivos (C-Level)</td><td>Definem estratégia, orçamento e apetite a risco</td></tr>
<tr>
<td>Finanças / Controladoria</td><td>Controle de custos, orçamento e previsibilidade financeira</td></tr>
<tr>
<td>Jurídico / Compliance</td><td>Garantir aderência a leis, normas e regulações</td></tr>
<tr>
<td>Gestores de TI / Liderança Técnica</td><td>Definir padrões técnicos e políticas de uso</td></tr>
<tr>
<td>Segurança da Informação</td><td>Apoiar políticas de risco e conformidade</td></tr>
<tr>
<td>Auditoria (interna/externa)</td><td>Verificar se regras e controles estão sendo seguidos</td></tr>
<tr>
<td>Product Owners / Negócio</td><td>Priorizar demandas respeitando orçamento e regras</td></tr>
</tbody>
</table>
</div><h3 id="heading-negocios">Negócios</h3>
<p>A perspectiva de negócios garante que a adoção da nuvem esteja alinhada aos objetivos estratégicos da empresa, focando em valor, resultados e retorno sobre investimento (ROI).</p>
<p><strong>Características principais:</strong></p>
<ul>
<li><p>Foco em valor para o negócio;</p>
</li>
<li><p>Alinhamento com a estratégia da empresa;</p>
</li>
<li><p>Análise de custo-benefício (TCO e ROI);</p>
</li>
<li><p>Justificativa do investimento (Business case);</p>
</li>
<li><p>Agilidade e Inovação.</p>
</li>
</ul>
<p><strong>Principais áreas da Perspectiva de Negócios:</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Área</strong></td><td><strong>Descrição</strong></td><td><strong>Exemplo</strong></td><td><strong>Ferramentas</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Business Value</td><td>Valor gerado pela nuvem</td><td>Comparar custo on-promises vs AWS</td><td>TCO Calculator, AWS Pricing Calculator</td></tr>
<tr>
<td>Busines Case</td><td>Justifica da migração</td><td>Aprovar projeto de migração</td><td>TCO, ROI, estudos de viabilidade</td></tr>
<tr>
<td>Financial Management</td><td>Impacto financeiro no negócio</td><td>Entender Economia gerada</td><td>Cost Explorer</td></tr>
<tr>
<td>Strategic Alignment</td><td>Alinhamento com estratégia</td><td>Mirgrar para escalar o negócio</td><td>CAF + Well-Architected</td></tr>
<tr>
<td>Innovation Enablement</td><td>Inovação e Agilidade</td><td>Criar novos produtos mais rápido</td><td>Serviços gerenciados, serverless</td></tr>
</tbody>
</table>
</div><p><strong>Principais stackholders</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Stakeholder</strong></td><td><strong>Papel principal</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Executivos / Diretoria</td><td>Definir estratégia e aprovar investimentos</td></tr>
<tr>
<td>Gestores de Negócio</td><td>Alinhar objetivos de negócio com a nuvem</td></tr>
<tr>
<td>Product Owner / Product Manager</td><td>Priorizar iniciativas com base em valor</td></tr>
<tr>
<td>Financeiro</td><td>Avaliar custos, ROI e TCO</td></tr>
<tr>
<td>Marketing / Comercial</td><td>Direcionar demandas focadas em crescimento e clientes</td></tr>
</tbody>
</table>
</div><h3 id="heading-pessoas">Pessoas</h3>
<p>A perspectiva de Pessoas garante que a organização tenha as habilidades, pepéis e cultura certos para adorar e operar a nuvem com sucesso.</p>
<p><strong>Características principais:</strong></p>
<ul>
<li><p>Capacitação e treinamento em nuvem</p>
</li>
<li><p>Definição de papéis e responsabilidades</p>
</li>
<li><p>Mudança cultural e mindset ágil</p>
</li>
<li><p>Gestão de talentos e evolução de carreira</p>
</li>
<li><p>Colaboração entre times</p>
</li>
</ul>
<p><strong>Principais áreas da Perspectiva de Pessoas:</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Área</strong></td><td><strong>O que trata</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Capacitação e Treinamento</td><td>Desenvolvimento de habilidades em nuvem</td></tr>
<tr>
<td>Papéis e Responsabilidades</td><td>Definição clara de funções e ownership</td></tr>
<tr>
<td>Gestão de Talentos</td><td>Evolução de carreira e retenção</td></tr>
<tr>
<td>Mudança Cultural</td><td>Adoção de mindset ágil e colaborativo</td></tr>
<tr>
<td>Colaboração e Comunicação</td><td>Integração entre times de negócio e TI</td></tr>
</tbody>
</table>
</div><p><strong>Principais stackholders:</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Stakeholder</td><td>Papel principal</td></tr>
</thead>
<tbody>
<tr>
<td>RH / People Ops</td><td>Planejar capacitação, carreira e mudança cultural</td></tr>
<tr>
<td>Liderança Técnica</td><td>Definir competências técnicas e boas práticas</td></tr>
<tr>
<td>Gestores de Equipe</td><td>Acompanhar desenvolvimento e performance</td></tr>
<tr>
<td>Times de TI e Desenvolvimento</td><td>Aplicar habilidades de nuvem no dia a dia</td></tr>
<tr>
<td>Treinamento / Enablement</td><td>Oferecer cursos, workshops e certificações</td></tr>
</tbody>
</table>
</div><h3 id="heading-plataforma">Plataforma</h3>
<p>A perspectiva de plataforma trata de como a infraestrutura e os serviços da AWS são projetados, construídos e gerenciados para suportar as aplicações na nuvem.</p>
<p><strong>Principais características:</strong></p>
<ul>
<li><p>Base técnica padronizada na nuvem;</p>
</li>
<li><p>Uso de serviços de computação, rede e armazenamento;</p>
</li>
<li><p>Alta disponibilidade e escalabilidade;</p>
</li>
<li><p>Provisionamento automatizado de infraestrutura;</p>
</li>
<li><p>Suporte às aplicações e cargas de trabalho.</p>
</li>
</ul>
<p><strong>Principais áreas da Perspectiva de Plataforma:</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Área</strong></td><td><strong>Descrição</strong></td><td><strong>Exemplo</strong></td><td><strong>Ferramentas AWS</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Arquitetura de Infraestrutura</td><td>Design da base técnica na nuvem</td><td>Definir ambientes de produção e teste</td><td>AWS Well-Architected, AWS Organizations</td></tr>
<tr>
<td>Provisionamento de Recursos</td><td>Criação e gestão de recursos</td><td>Criar infraestrutura de forma padronizada</td><td>AWS CloudFormation, AWS CDK</td></tr>
<tr>
<td>Redes e Conectividade</td><td>Comunicação entre serviços e redes</td><td>Criar VPCs, subnets e rotas</td><td>Amazon VPC, Route Tables, Security Groups</td></tr>
<tr>
<td>Computação</td><td>Execução das aplicações</td><td>Rodar APIs e serviços</td><td>Amazon EC2, AWS Lambda, Amazon ECS</td></tr>
<tr>
<td>Armazenamento e Bancos de Dados</td><td>Persistência de dados</td><td>Armazenar arquivos e dados</td><td>Amazon S3, Amazon RDS, Amazon DynamoDB</td></tr>
</tbody>
</table>
</div><p><strong>Principais stackholders:</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Stakeholder</strong></td><td><strong>Papel principal</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Arquitetos de Solução</td><td>Definir a arquitetura técnica na AWS</td></tr>
<tr>
<td>Engenheiros de Infraestrutura / Cloud</td><td>Implementar e manter a infraestrutura</td></tr>
<tr>
<td>Times de Desenvolvimento</td><td>Consumir e integrar serviços da plataforma</td></tr>
<tr>
<td>DevOps / Platform Engineering</td><td>Automatizar provisionamento e deploy</td></tr>
<tr>
<td>Liderança Técnica</td><td>Definir padrões e boas práticas técnicas</td></tr>
</tbody>
</table>
</div><h3 id="heading-seguranca">Segurança</h3>
<p>A perspectiva de Segurança garante que os dados, sistemas e aplicações estejam protegidos contra acesso não autorizados, ameaças e vazamentos, respeitando o modelo de responsabilidade compartilhada.</p>
<p><strong>Principais características:</strong></p>
<ul>
<li><p>Controle de identidade e acesso (IAM);</p>
</li>
<li><p>Proteção e criptografia de dados;</p>
</li>
<li><p>Segurança de rede e infraestrutura;</p>
</li>
<li><p>Monitoramento e detecção de ameaças;</p>
</li>
<li><p>Resposta a incidentes de segurança.</p>
</li>
</ul>
<p><strong>Principais áreas da Perspectiva de Segurança:</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Área</strong></td><td><strong>Descrição</strong></td><td><strong>Exemplo</strong></td><td><strong>Ferramentas AWS</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Identidade e Acesso</td><td>Controle de quem pode acessar recursos</td><td>Criar permissões por função</td><td>AWS IAM, IAM Roles</td></tr>
<tr>
<td>Proteção de Dados</td><td>Criptografia e proteção de informações</td><td>Criptografar dados em repouso</td><td>AWS KMS, Amazon S3 Encryption</td></tr>
<tr>
<td>Segurança de Rede</td><td>Proteção da infraestrutura de rede</td><td>Restringir tráfego de rede</td><td>Security Groups, NACLs</td></tr>
<tr>
<td>Detecção e Monitoramento</td><td>Identificação de atividades suspeitas</td><td>Detectar comportamento anômalo</td><td>Amazon GuardDuty, AWS CloudTrail</td></tr>
<tr>
<td>Resposta a Incidentes</td><td>Ações para conter e corrigir incidentes</td><td>Isolar recurso comprometido</td><td>AWS Shield, AWS WAF</td></tr>
</tbody>
</table>
</div><p><strong>Principais stackholders:</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Stakeholder</strong></td><td><strong>Papel principal</strong></td></tr>
</thead>
<tbody>
<tr>
<td>CISO / Chief Security Officer</td><td>Definir estratégia e políticas de segurança</td></tr>
<tr>
<td>Equipe de Segurança da Informação</td><td>Implementar controles e monitoramento</td></tr>
<tr>
<td>Engenheiros de Rede / Infraestrutura</td><td>Proteger redes e infraestrutura</td></tr>
<tr>
<td>Equipe de Compliance</td><td>Garantir aderência a normas e regulamentações</td></tr>
<tr>
<td>DevOps / SRE</td><td>Aplicar práticas de segurança em pipelines e deploys</td></tr>
</tbody>
</table>
</div><h3 id="heading-operacoes">Operações</h3>
<p>A perspectiva de operações garante que os serviços e aplicações na nuvem sejam executados de forma confiável, eficiente e monitorada, mantendo a continuidade do negócio.</p>
<p><strong>Principais características:</strong></p>
<ul>
<li><p>Monitoramento e métricas de desempenho;</p>
</li>
<li><p>Automação de tarefas operacionais;</p>
</li>
<li><p>Gerenciamento de incidentes e continuidade;</p>
</li>
<li><p>Gerenciamento de configuração;</p>
</li>
<li><p>Suporte à evolução e escalabilidade de sistemas.</p>
</li>
</ul>
<p><strong>Principais áreas da perspectiva de Operações:</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Área</strong></td><td><strong>Descrição</strong></td><td><strong>Exemplo</strong></td><td><strong>Ferramentas AWS</strong></td><td></td></tr>
</thead>
<tbody>
<tr>
<td>Monitoramento e Observabilidade</td><td>Acompanhar saúde e desempenho dos sistemas</td><td>Monitorar CPU, erros e latência</td><td>Amazon CloudWatch, AWS X-Ray</td><td></td></tr>
<tr>
<td>Gerenciamento de Incidentes</td><td>Detectar e resolver falhas rapidamente</td><td>Responder a indisponibilidade de serviço</td><td>Amazon CloudWatch Alarms, AWS Systems Manager</td><td></td></tr>
<tr>
<td>Automação Operacional</td><td>Automatizar tarefas repetitivas</td><td>Automatizar correções e rotinas</td><td>AWS Systems Manager, AWS Lambda</td><td></td></tr>
<tr>
<td>Gerenciamento de Configuração</td><td>Manter ambientes padronizados</td><td>Aplicar configurações consistentes</td><td>AWS Config, AWS Systems Manager</td><td></td></tr>
<tr>
<td>Continuidade e Recuperação</td><td>Garantir disponibilidade e recuperação</td><td>Recuperar sistema após falha</td><td>Amazon Backup, AWS Elastic Disaster Recovery</td></tr>
</tbody>
</table>
</div><p><strong>Principais stackholders:</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Stakeholder</strong></td><td><strong>Papel principal</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Equipe de Operações / NOC</td><td>Monitorar sistemas e responder a incidentes</td></tr>
<tr>
<td>SRE / DevOps</td><td>Automatizar operações e garantir confiabilidade</td></tr>
<tr>
<td>Engenheiros de Infraestrutura</td><td>Manter ambientes estáveis e disponíveis</td></tr>
<tr>
<td>Suporte Técnico</td><td>Atender e escalar incidentes</td></tr>
<tr>
<td>Gestores de TI</td><td>Garantir continuidade do serviço</td></tr>
</tbody>
</table>
</div><h3 id="heading-conclusao">Conclusão</h3>
<p>Este artigo trouxe uma visão clara do que é o CAF, como usa-lo e quem são os envolvidos durante o processo.</p>
]]></content:encoded></item><item><title><![CDATA[Well-Architected Framework]]></title><description><![CDATA[O Well-Architected Framework é um conjunto de boas práticas recomendadas pela a AWS para criar e projetar arquiteturas que contenham excelência operacional, segurança, confiabilidade, eficiência de performace, otimização de custos e sustentabilidade....]]></description><link>https://allandiego.com.br/well-architected-framework</link><guid isPermaLink="true">https://allandiego.com.br/well-architected-framework</guid><category><![CDATA[AWS]]></category><category><![CDATA[AWS Well-Architected Framework]]></category><category><![CDATA[AWS Cloud Practitioner]]></category><category><![CDATA[clf-c02]]></category><dc:creator><![CDATA[Allan Diego]]></dc:creator><pubDate>Mon, 08 Dec 2025 23:34:01 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1765236790225/f618d171-8de3-4a5e-9a3b-880816fb720a.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>O Well-Architected Framework é um conjunto de boas práticas recomendadas pela a AWS para criar e projetar arquiteturas que contenham excelência operacional, segurança, confiabilidade, eficiência de performace, otimização de custos e sustentabilidade. Este framework é utilizado depois que a empresa já passou pelo o processo de adoção da nuvem na empresa, ou seja, já foi definido que vão utilizar os serviços AWS, agora basta usar das melhores práticas para fazer essa implementação da maneira mais correta possível. Neste artigo, será apresentado os 6 pilares do Well-Architected de maneira resumida como forma de conhecimento para o exame CLF-C02.</p>
<h3 id="heading-excelencia-operacional">Excelência operacional</h3>
<p>A excelência operacional define como operar, monitorar, automatizar e melhorar uma aplicação depois que está em produção. De modo geral, este pilar foca em garantir que as operações do sistema seja organizada, observável, automatizada e capaz de lidar com problemas sem causar impacto grande no negócio.</p>
<h4 id="heading-operar">Operar</h4>
<p>Está parte serve para garantir que uma aplicação continue saudável e estável. Operar a sua aplicação inclui também todo o conceito de monitorar, automatizar, detectar problemas, fazer deploys seguros e previsíveis, responder a incidentes e gerenciar mudanças com segurança. Ou seja, de modo geral é tudo que você faz na excelência operacional para manter a sua aplicação em pé.</p>
<h4 id="heading-monitorar">Monitorar</h4>
<p>O monitoramento dentro da excelência operacional ajuda a entender tudo que está acontecendo dentro de uma aplicação. É nesta etapa que será coletado os logs, métricas e traces para entender o comportamento do sistema, identificar gargalos, acompanhar desempenho e perceber qualquer problema antes do usuário.</p>
<h4 id="heading-automatizar">Automatizar</h4>
<p>A automação é tirar o trabalho manual da operação. É substituir tarefas repetitivas e demoradas por processos automáticos. Isto inclui backups, rotinas de limpeza, escalonamento automático, correções automáticas, patching, verificações de saúde e várias outras atividades.</p>
<h4 id="heading-melhorar-uma-aplicacao-depois-que-esta-em-producao">Melhorar uma aplicação depois que está em produção</h4>
<p>Está etapa é melhorar a aplicação depois que ela está em produção e analisar o que aconteceu, aprender com problemas e ajudar a operação para deixar tudo mais fluído no momento de fazer atualizações.</p>
<h3 id="heading-seguranca">Segurança</h3>
<p>A segurança garante que uma aplicação, os dados e o acesso estejam protegidos contra o uso indevido, ataques e erros humanos sem atrapalhar o funcionamento do sistema. Este pilar funciona em torno de seis bases:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Fundamentos</strong></td><td><strong>Significado</strong></td><td><strong>Exemplo</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Fundamentos de Identidade e acesso</td><td>Controla quem pode fazer o quê na AWS</td><td>IAM Roles e Policies, MFA, IAM Identity Center, acesso mínimo necessário (least privilege)</td></tr>
<tr>
<td>Rastreabilidade</td><td>Registrar atividades, eventos e tudo o que acontece no ambiente</td><td>CloudTrail, AWS Config, Cloud Watch Logs, Event Bridge para alertas</td></tr>
<tr>
<td>Proteção de infraestrutura</td><td>Protege a camada de rede e os recursos que rodam nela</td><td>Security Groups, NACLs, VPC, AWS Shield, WAF e segmentação de rede.</td></tr>
<tr>
<td>Proteção de Dados</td><td>Garantir privacidade, integridade e disponibilidade dos dados</td><td>KMS para criptografia, Secrets Manager, S3 Encryption, RDS snapshots</td></tr>
<tr>
<td>Gerenciamento de Incidentes</td><td>Preparar, Detectar e responder rapidamente a incidentes de segurança</td><td>Playbooks, AWS GuardDuty, Security Hub, automações de resposta com Lambda</td></tr>
<tr>
<td>Melhoria contínua</td><td>Revisar e evoluir constantemente as práticas de segurança</td><td>Auditorias periódicas, simulações com o IAM Access Analyzer e atualizações.</td></tr>
</tbody>
</table>
</div><h3 id="heading-confiabilidade">Confiabilidade</h3>
<p>A confiabilidade garante que o sistema funcione corretamente, tolere falhas e se recupere rapidamente quando algo dá errado. Este pilar é composto de três sub-pilares sendo eles:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Parte da Confiabilidade</strong></td><td><strong>O que significa</strong></td><td><strong>Exemplos</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Fundamentos da Confiabilidade</td><td>São pré-requisitos para que o ambiente seja resiliente e não quebre por limites, má configuração ou falta de planejamento.</td><td>Gerenciar quotas, planejar CIDR da VPC, Service Quotas, Systems Manager Change Manager, AWS Organizations, IAM bem estruturado.</td></tr>
<tr>
<td>Arquitetura Resiliente</td><td>É construir workloads que continuem funcionando mesmo quando alguma parte falhar. Evita pontos únicos de falha e utiliza redundância.</td><td>Multi-AZ, Auto Scaling, Load Balancer, RDS Multi-AZ, DynamoDB com replicação, arquitetura sem servidor (Lambda), SQS para desacoplar.</td></tr>
<tr>
<td>Recuperação (Recovery/DR)</td><td>Estratégias para restaurar o sistema rápido quando ocorre falha, desastre ou perda de dados.</td><td>Backup &amp; Restore, Snapshots, AWS Backup, S3 CRR, Aurora Global Database, Route 53 failover, Pilot Light, Warm Standby, Multi-Site</td></tr>
</tbody>
</table>
</div><h3 id="heading-eficiencia-de-performace">Eficiência de performace</h3>
<p>Este pilar foca no uso de recursos corretos, de forma que uma aplicação consiga performar bem conforme cresce, sem disperdício ou gargalos. Este é composto por quatro sub-pilares:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Fundamento</strong></td><td><strong>O que significa</strong></td><td><strong>Exemplo</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Selection (Escolha de recursos)</td><td>Escolher os melhores serviços, tipos de instância e soluções para maximizar a performance desde o design.</td><td>EC2 Graviton, tipos de instância otimizados (CPU/Mem/GPU), Aurora vs RDS, DynamoDB, Lambda, EBS gp3, S3 Standard vs Glacier.</td></tr>
<tr>
<td>Review (Revisão constante)</td><td>Reavaliar periodicamente se os recursos usados ainda são os melhores conforme a AWS lança novidades.</td><td>Migrar para instâncias mais novas, adotar Graviton, trocar gp2→gp3, migrar para Aurora, usar serviços mais eficientes lançados recentemente.</td></tr>
<tr>
<td>Monitoring (Monitoramento de performance)</td><td>Acompanhar métricas e detectar gargalos antes que afetem o usuário.</td><td>CloudWatch Metrics, X-Ray, métricas de CPU/Memória/IOPS/Latência, alarmes, logs e dashboards.</td></tr>
<tr>
<td>Tradeoffs (Trocas para performance)</td><td>Fazer ajustes que aumentam a performance mesmo que custem mais ou adicionem complexidade.</td><td>ElastiCache/CloudFront para cache, aumentar memória da Lambda, read replicas no RDS, instâncias maiores, paralelização com SQS/Kinesis.</td></tr>
</tbody>
</table>
</div><h3 id="heading-otimizacao-de-custos">Otimização de custos</h3>
<p>A otmização de custos é sobre gastar apenas o necessário para rodar uma aplicação, eliminando disperdícios e escolhendo recursos que entregam o melhor custo-benefício. Este pilar é composto por cinco fundamentos:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Parte da Otimização de Custos</strong></td><td><strong>O que significa</strong></td><td>Exemplo</td></tr>
</thead>
<tbody>
<tr>
<td>Cost-Effective Resources</td><td>Escolher os recursos mais baratos que ainda entregam a performance necessária.</td><td>EC2 Graviton, EC2 Spot, Aurora Serverless, EBS gp3, S3 Intelligent-Tiering, DynamoDB On-Demand.</td></tr>
<tr>
<td>Expenditure Awareness (Visibilidade dos custos)</td><td>Ter clareza total sobre <em>quem</em> está gastando e <em>onde</em>.</td><td>Cost Explorer, AWS Budgets, CUR, Tags de custo, dashboards.</td></tr>
<tr>
<td>Cost Management (Controle ativo)</td><td>Tomar ações práticas para limitar e gerenciar gastos.</td><td>Budgets com alertas, quotas, SCP bloqueando serviços caros, desligar ambientes de dev, bloquear regiões.</td></tr>
<tr>
<td>Elasticity (Elasticidade)</td><td>Escalar automaticamente para não pagar por capacidade ociosa.</td><td>Auto Scaling, Lambda pay-per-use, Aurora Serverless, DynamoDB On-Demand, Kinesis On-Demand.</td></tr>
<tr>
<td>Optimizing Over Time (Melhoria contínua)</td><td>Revisar periodicamente o ambiente para remover desperdícios e ajustar recursos.</td><td>Rightsizing, apagar EBS órfãos, limpar snapshots antigos, Compute Optimizer, reduzir tamanho de RDS, revisar S3 Storage Classes.</td></tr>
</tbody>
</table>
</div><h3 id="heading-sustentabilidade">Sustentabilidade</h3>
<p>Este pilar visa reduzir o impacto ambiental da aplicação, usando a nuvem de forma mais eficiente, com menos desperdício e promovendo práticas que economizam energia e recursos.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Fundamento</strong></td><td><strong>O que significa</strong></td><td><strong>Exemplos</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Region Selection (Escolha da região)</td><td>Escolher regiões com maior uso de energia renovável e menor impacto ambiental.</td><td>Regiões com energia limpa, dados de carbono da AWS, regiões com resfriamento natural.</td></tr>
<tr>
<td>Software Efficiency (Eficiência do software)</td><td>Otimizar o código para consumir menos CPU, memória e operações desnecessárias.</td><td>Queries otimizadas, payloads menores, algoritmos mais eficientes, reduzir chamadas redundantes.</td></tr>
<tr>
<td>Hardware Efficiency (Eficiência do hardware)</td><td>Usar hardware mais eficiente energeticamente e arquiteturas otimizadas.</td><td>EC2 Graviton, Lambda, Aurora, instâncias modernas com melhor performance por watt.</td></tr>
<tr>
<td>Data Management (Gerenciamento de dados)</td><td>Reduzir, otimizar e mover dados para camadas mais eficientes.</td><td>S3 Intelligent-Tiering, expiração de logs, compressão, deduplicação, classes de storage eficientes.</td></tr>
<tr>
<td>Workload Efficiency (Eficiência da carga)</td><td>Evitar recursos ociosos e usar arquiteturas elásticas e sob demanda.</td><td>Serverless, Auto Scaling, jobs sob demanda, paralelização eficiente.</td></tr>
<tr>
<td>Development &amp; Deployment (Ciclo sustentável)</td><td>Reduzir desperdício no ciclo de desenvolvimento e evitar retrabalho.</td><td>Pipelines otimizados, testes eficientes, ambientes temporários, IaC bem estruturado.</td></tr>
</tbody>
</table>
</div><h3 id="heading-conclusao">Conclusão</h3>
<p>Neste artigo foi abordado os 6 pilares do AWS Well-Architected de uma forma bem abrangente, a ideia é ter uma base sólida para se preparar para o exame do CLF-C02. Caso tenha o ajudado, considere compartilhar com alguém que esteja com a ideia de se certificar com o exame.</p>
]]></content:encoded></item><item><title><![CDATA[Observabilidade na AWS]]></title><description><![CDATA[A observabilidade é um conceito muito importante para quando os softwares estão em produção, ela é composta por três pilares sendo eles: logs, métricas e tracing. Cada pilar tem a sua própria funcionalidade e objetivo, os logs servem para rastrear os...]]></description><link>https://allandiego.com.br/observabilidade-na-aws</link><guid isPermaLink="true">https://allandiego.com.br/observabilidade-na-aws</guid><category><![CDATA[AWS]]></category><category><![CDATA[observability]]></category><category><![CDATA[#aws-observability]]></category><dc:creator><![CDATA[Allan Diego]]></dc:creator><pubDate>Sun, 07 Dec 2025 19:34:50 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1764970380421/0a00fb90-e66d-4bca-921e-1fee3bc67e5e.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A observabilidade é um conceito muito importante para quando os softwares estão em produção, ela é composta por três pilares sendo eles: logs, métricas e tracing. Cada pilar tem a sua própria funcionalidade e objetivo, os logs servem para rastrear os erros que são gerados por uma aplicação, as métricas são utilizadas para análisar tráfego de rede, gerar dashboard e saber a necessidade de alocar recursos, entre outras funcionalidades. Por fim, o tracing é responsável por monitorar a comunicação entre os serviços e, é implementado para que os arquitetos de soluções identifiquem problemas de comunicação com serviços externos e internos. Neste artigo, será apresentado as ferramentas que a Amazon Web Service (AWS) disponibiliza para que seus clientes possam fazer essa implementação de maneira simples, rápida e fácil.</p>
<h3 id="heading-aws-cloudwatch">AWS CloudWatch</h3>
<p>O CloudWatch é uma ferramenta completa para o monitoramento e observabilidade, ele coleta métricas, logs, eventos, cria alarmes e dashboards. Ele deverá ser utilizado sempre que é necessário monitorar, analisar ou reagir ao comportamento de recursos de uma aplicação AWS.</p>
<h3 id="heading-aws-cloudtrail">AWS CloudTrail</h3>
<p>Este serviço permite que usuários com acesso privilegiado monitorem todas as chamadas de APIs feitas pelos serviços, ele ajudará a descobrir quem fez o que com um serviço. Ele deverá ser utilizado quando houver a necessidade de auditar alguma ação na AWS, por exemplo: Um dos devs desligou uma VPS e diz que não foi ele; Neste caso, o gestor poderia utilizar o CloudTrail e saber quem realmente efetuou essa operação. A partir deste resumo, é importante saber que ele se encaixa na categoria de auditoria, governança e segurança.</p>
<h3 id="heading-x-ray">X-Ray</h3>
<p>Já o X-Ray está categorizado como um serviço de tracing dentro entre os serviços da AWS, ele ajudará os arquitetos a identificar problemas de comunicação, latência, processamento entre outros problemas que podem acontecer na comunicação dos serviços. Ele é ideal para que os desenvolvedores identificam problemas de componentes externos, por exemplo: O banco de dados do Aurora RDS está demorando para responder; Neste caso o X-Ray ajudaria a identificar este problema no tempo de resposta.</p>
<h3 id="heading-aws-config">AWS Config</h3>
<p>O AWS Config é responsável por guardar as alterações de recursos, estados de antes e depois e o relacionamento estre os recursos. Por exempo: Quando você altera um Elatic block store de 5GB para 10GB, este evento será registrado através do AWS Config; Ele deverá ser utilizado para guardar um histórico de modificações sobre os recursos da AWS.</p>
<h3 id="heading-servicos-complementares">Serviços complementares</h3>
<p>Junto com os serviços de observabilidade também pode ser integrado alguns serviços complementares para ajudar de maneira em gera, sendo eles:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Serviço</strong></td><td><strong>Descrição</strong></td></tr>
</thead>
<tbody>
<tr>
<td>AWS Personal Health Dashboard</td><td>Este serviço mostra eventos sobre os problemas nos serviços da AWS.</td></tr>
<tr>
<td>AWS Health Dashboard</td><td>Este é um painel que mostra incidentes, interrupções, manutenções e disponibilidade dos serviços AWS.</td></tr>
<tr>
<td>AWS Trusted Advisor</td><td>Este é um agente que fica sugerindo a melhora constante nos serviços que estão usando muito ou poucos recursos.</td></tr>
<tr>
<td>AWS Cost Explorer</td><td>O Cost Explorer é utilizado para analisar, visualizar e projetar o uso de recursos da AWS.</td></tr>
</tbody>
</table>
</div><h3 id="heading-conclusao">Conclusão</h3>
<p>Neste artigo foi abordado os 4 principais serviços de observabilidade da AWS, também existem diversos outros serviços auxiliares para que possa ser implementado. Está foi uma apresentação geral sobre os serviços da AWS que permitem adicionar um recurso tão importante sobre as aplicações.</p>
]]></content:encoded></item><item><title><![CDATA[Tipos de cloud na AWS]]></title><description><![CDATA[Neste artigo será abordado de forma resumida um tema muito relevante dentro da AWS, tratando-se dos tipos de cloud que a empresa fornece para os seus clientes.
Introdução
Uma cloud (computação em nuvem) trata-se da disponibilização de recursos comput...]]></description><link>https://allandiego.com.br/tipos-de-cloud-na-aws</link><guid isPermaLink="true">https://allandiego.com.br/tipos-de-cloud-na-aws</guid><category><![CDATA[AWS]]></category><category><![CDATA[AWS Cloud Practitioner]]></category><category><![CDATA[types of cloud computing]]></category><dc:creator><![CDATA[Allan Diego]]></dc:creator><pubDate>Mon, 01 Dec 2025 08:44:50 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1764550451230/50b5e463-f6a4-4641-97f8-733e0e19b62c.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Neste artigo será abordado de forma resumida um tema muito relevante dentro da AWS, tratando-se dos tipos de cloud que a empresa fornece para os seus clientes.</p>
<h1 id="heading-introducao">Introdução</h1>
<p>Uma cloud (computação em nuvem) trata-se da disponibilização de recursos computacionais através da internet, ao invés da empresa manter servidores de serviços locais, ela opta por comprar de uma empresa que fornece este servidor. Atualmente a AWS fornece três tipos de cloud, sendo elas: pública, privada e híbrida. Este modelo permite que as empresas escolham a abordagem mais adequada às suas necessidades de segurança, controle e escalabilidade.</p>
<h1 id="heading-nuvem-publica">Nuvem pública</h1>
<p>A nuvem pública é o padrão utilizado dentro da AWS, ela é implementada por padrão dentro dos serviços de EC2 e permitem que qualquer usuário fora da rede AWS se conectem ao serviço disponibilizado. De modo geral, o serviço ficará exposto a toda internet permitindo que qualquer um possa acessa-lo desde que siga as regras colocadas sobre eles.</p>
<p><strong>Características principais:</strong></p>
<ul>
<li><p>Maior controle sobre a infraestrutura e configurações;</p>
</li>
<li><p>Facilidade de configuração;</p>
</li>
<li><p>Alta escalabilidade e disponibilidade global;</p>
</li>
<li><p>Modelo pay-as-you-go (pague somente o que você utilizada).</p>
</li>
</ul>
<h1 id="heading-nuvem-privada">Nuvem privada</h1>
<p>Uma rede privada é utilizada quando os serviços precisam ser dedicados a uma única organização, ou seja, toda a infraestrutura de servidores, rede, armazenamento e serviços é isolada e não é compartilhada com os outros clientes. Este tipo de uso geralmente é utilizado em setores altamente regulados no caso do setor financeiro, saúde e governo. A rede privada só poderá ser acessada através de algum serviço de conexão privada e nunca através da rede convencional.</p>
<p><strong>Características principais:</strong></p>
<ul>
<li><p>Maior controle sobre a infraestrutura e configurações;</p>
</li>
<li><p>Aumento de segurança com o isolamento completo;</p>
</li>
<li><p>Rigidez no gerenciamento dos servidores.</p>
</li>
</ul>
<h1 id="heading-nuvem-hibrida">Nuvem híbrida</h1>
<p>Está é uma junção da nuvem pública e privada ao mesmo tempo, alguns dos componentes só poderão ser acessados dentro da rede privada, já outros poderão ser acessados através da rede pública. Um exemplo prático na rede privada seria você isolar um banco de dados dentro de uma EC2 em uma VPC e só conseguir acessa-lo através de uma VPN, ou através do mesmo serviço de uma EC2 que conecta na mesma rede VPC e por dentro da rede AWS estabelece uma conexão com o banco de forma privada.</p>
<p><strong>Características principais:</strong></p>
<ul>
<li><p>Maior controle e segurança;</p>
</li>
<li><p>Escalabilidade sob demanda;</p>
</li>
<li><p>Conectividade dedicada e segura.  </p>
</li>
</ul>
<h1 id="heading-conclusao">Conclusão</h1>
<p>Obrigado por ler até aqui. Neste artigo foi abordado de forma resumida os três tipos de cloud que a AWS fornece para os seus clientes.</p>
]]></content:encoded></item><item><title><![CDATA[Como se preparar para o exame AWS Cloud Practioner]]></title><description><![CDATA[Se você está lendo este artigo, é porque você tomou uma boa decisão de tirar uma certificação AWS, seja para aumentar o seu salário ou aumentar seu currículo na forma de conhecimento. Mas para isso é necessário se preparar bem. Neste guia, você vai v...]]></description><link>https://allandiego.com.br/como-se-preparar-para-o-exame-aws-cloud-practioner</link><guid isPermaLink="true">https://allandiego.com.br/como-se-preparar-para-o-exame-aws-cloud-practioner</guid><category><![CDATA[AWS]]></category><category><![CDATA[AWS Cloud Practitioner]]></category><category><![CDATA[Certification]]></category><dc:creator><![CDATA[Allan Diego]]></dc:creator><pubDate>Thu, 28 Aug 2025 23:23:49 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1764969995277/60b54326-d01e-459d-b498-fb13f14ae6b5.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Se você está lendo este artigo, é porque você tomou uma boa decisão de tirar uma certificação AWS, seja para aumentar o seu salário ou aumentar seu currículo na forma de conhecimento. Mas para isso é necessário se preparar bem. Neste guia, você vai ver a forma que utilizei para me preparar para o exame do Cloud Practioner com materiais oficiais, guias oficiais, cursos que fiz e recomendo.</p>
<h3 id="heading-afinal-o-que-e-o-exame-aws-cloud-practioner">Afinal, o que é o exame AWS Cloud practioner?</h3>
<p>Esta é a certificação de mais baixo nível da AWS, ela pode ser utilizada para comprovar o seu conhecimento sobre os serviços, conceitos e gerenciamento de usuários e custos dentro do universo cloud. Praticamente, você não fará nada prático, apenas será introduzido ao essencial para o gerenciamento em nuvem.</p>
<h3 id="heading-o-que-o-exame-aborta">O que o exame aborta?</h3>
<p>De maneira geral, o exame irá abordar todos os serviços AWS de uma maneira rasa, em que o candidato só precisa saber a finalidade do serviço e como ele pode ser utilizado. Além dos serviços, também é considerado em algumas provas a necessidade de saber os pilares do AWS Well-Architected Framework e do AWS Cloud Adoption Framework (CAF), o último não trata de um serviço, mas sim de um conceito de como planejar e gerenciar uma solução em nuvem de uma organização.</p>
<h3 id="heading-por-que-eu-devo-estudar-para-este-exame-se-ele-e-o-mais-basico">Por que eu devo estudar para este exame se ele é o mais básico?</h3>
<p>Estudar para o exame mais básico da <em>AWS</em> poderá abrir portas para as certificações mais avançadas que a empresa fornece, por exemplo, para obter a certificação <em>AWS Solutions Architect</em> que é muito comum ser obtida após a <em>Cloud Essentials</em>, você precisará dominar os conceitos de cada serviço AWS para poder aplicar as soluções necessárias na <em>Solutions Architect</em>, já que se trata de uma certificação mais prática do que conceitual. Outro ponto é se você é um pioneiro no mundo de certificações profissionais, com essa certificação você pode ter a sua primeira experiência de como se preparar, estudar e realizar simulados. No final de tudo, a certificação é só o resultado do conjunto de experiências que você ganhou se preparando para este exame, e a experiência muitas vezes pode abrir oportunidades para novas experiências.</p>
<h3 id="heading-entao-por-onde-comecar-a-estudar">Então por onde começar a estudar?</h3>
<p>Para começar os primeiros passos de estudo para o exame, você terá duas maneiras simples e complementares: materiais oficiais e não oficiais; Os materiais oficiais poderão ser encontrados no próprio site da <a target="_blank" href="https://skillbuilder.aws/"><em>AWS Skill Builder</em></a>, que trata de um site desenvolvido por eles para oferecer os treinamentos sob os seus produtos, nele poderá se cadastrar e se inscrever no curso desta certificação. No site oficial, também é possível encontrar simulados da <em>Cloud Essentials</em>. Como alternativa complementar, também é possível encontrar materiais não oficiais de alta qualidade em plataformas como a Udemy, YouTube e Twitch. Durante o preparatório acredito que combinar somente os materiais oficiais e algum curso da Udemy seja o suficiente. Abaixo há uma lista completa dos materiais:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Material</strong></td><td><strong>Material oficial?</strong></td><td><strong>Descrição</strong></td><td><strong>Plataforma</strong></td></tr>
</thead>
<tbody>
<tr>
<td><a target="_blank" href="https://skillbuilder.aws/">AWS Skill Builder</a></td><td>Sim</td><td>Material oficial disponibilizado pela própria AWS</td><td>Website</td></tr>
<tr>
<td><a target="_blank" href="https://www.udemy.com/share/109dk83@6EraoKsEkShJIDmEpgbGdzgVR8Tm_lMwyhQrVlUcjLHMOyymz4G283zy_mAwkKD4vg==/">AWS Certified Cloud Practioner</a></td><td>Não</td><td>Material criado pelo o instrututor André Lacono, um conteúdo objetivo ao que é abordado na prova</td><td>Udemy</td></tr>
<tr>
<td><a target="_blank" href="https://www.youtube.com/@CloudTreinamentos">Cloud Treinamentos</a></td><td>Não</td><td>Um canal que ensina sobre cloud de maneira geral, nele você encontrará vídeos resolvendo as questões do exame</td><td>YouTube</td></tr>
</tbody>
</table>
</div><h3 id="heading-ja-estudei-tudo-ja-posso-fazer-o-exame">Já estudei tudo, já posso fazer o exame?</h3>
<p>Não. Depois que foi feito quase todo o percurso do exame, agora é hora de focar na resolução de simulados para a preparação. Uma técnica utilizada é a realização de simulados durante 10 dias consecutivos marcando a quantidade de erros e acertos, também é muito importante marcar as questões que estão erradas e fazer revisões cirúrgicas para fixa-las no entendimento, após atingir uma margem de acertos de 90% nos simulados, já está na hora de realizar o exame. Abaixo tem uma lista onde poderá encontrar alguns exames pagos e gratuitos.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Website</strong></td><td><strong>Pago?</strong></td><td><strong>Idioma</strong></td></tr>
</thead>
<tbody>
<tr>
<td><a target="_blank" href="https://kananinirav.com/practice-exam/exams.html">Kananinirav.com</a></td><td>Não</td><td>Inglês</td></tr>
<tr>
<td><a target="_blank" href="https://www.udemy.com/course/simulado-aws-cloud-practitioner-clf-c02-versao-portugues/?referralCode=54B24CF3BE6F3BC2DF56">Simulado AWS Cloud Practitioner CLF-C02 (Exame Oficial Português)</a></td><td>Sim</td><td>Português</td></tr>
<tr>
<td><a target="_blank" href="https://www.udemy.com/course/draft/5614236/?referralCode=D5E76E9726B327A9C27E">Simulado AWS Certified Cloud Practitioner CLF-C02 Exam Questions (Exame em Inglês)</a></td><td>Sim</td><td>Inglês</td></tr>
</tbody>
</table>
</div><h3 id="heading-como-marcar-o-exame">Como marcar o exame?</h3>
<p>Finalmente chegamos à parte mais fácil do exame, o momento de agendar! Para agendar basta acessar <a target="_blank" href="https://aws.amazon.com/pt/certification/certified-cloud-practitioner/">o site da AWS</a> e clicar no botão para realizar o agendamento e o pagamento para fazer a prova.</p>
<h3 id="heading-como-a-prova-e-realizada">Como a prova é realizada?</h3>
<p>No dia da prova você terá duas possibilidades: presencial ou remoto. Para o exame presencial será necessário comparecer 30 minutos antes no local informado com documentos com foto em mãos, já para o exame remoto é necessário está em dia com a webcam, em um lugar silencioso, ter um computador compatível e uma validação do instrutor sob o ambiente antes de iniciar a prova.</p>
<h3 id="heading-agradecimentos">Agradecimentos</h3>
<p>Chegamos ao fim, espero que este guia possa te ajudar a dar os primeiros passos para conquistar a sua certificação <em>AWS Cloud Practioner</em>.</p>
]]></content:encoded></item><item><title><![CDATA[Deploy  ReactJS no CPANEL]]></title><description><![CDATA[Antes de de começar, estou considerendo que você já saiba o que é uma chave SSH e como utilizar o versionamento de código com Git e GitHub. Também é necessário ter uma conta CPANEL já disponível para realizar a instalação e uma conta no GitHub com um...]]></description><link>https://allandiego.com.br/deploy-reactjs-no-cpanel</link><guid isPermaLink="true">https://allandiego.com.br/deploy-reactjs-no-cpanel</guid><category><![CDATA[deployment]]></category><category><![CDATA[cpanel]]></category><category><![CDATA[React]]></category><category><![CDATA[deploy cpanel reactjs]]></category><dc:creator><![CDATA[Allan Diego]]></dc:creator><pubDate>Sat, 14 Jan 2023 20:03:06 GMT</pubDate><content:encoded><![CDATA[<p><em>Antes de de começar, estou considerendo que você já saiba o que é uma chave SSH e como utilizar o versionamento de código com Git e GitHub. Também é necessário ter uma conta CPANEL já disponível para realizar a instalação e uma conta no GitHub com um repositório disponível.</em></p>
<h3 id="heading-adicionando-o-controle-de-versao">Adicionando o controle de versão</h3>
<p>Primeiramente é necessário criar o controle de versionamento de código para adicionar o repositório ao cpanel, para realizar isso basta navegar na página inicial da hospedagem e acessar o controler de versionamento.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673714503390/fd2ad790-0240-44cf-87c0-e20edc91d2a8.png" alt class="image--center mx-auto" /></p>
<p>Após acessar, clique em criar!</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673714556040/c74822a7-028f-4954-9a7a-080adb3f0730.png" alt class="image--center mx-auto" /></p>
<p>Nesta aba é onde será configurado o repositório. Para então adicionar o repositório tem que adicionar uma chave <em>SSH</em> para o <em>CPANEL</em> conseguir se comunicar com o GitHub, em caso de um repositório privado, caso seja um projeto <em>open-source</em> poderá pular a etapa de configuração da chave SSH.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673715325520/ec436a3e-c45e-420a-b676-c8418f461f68.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-adicionando-uma-chave-ssh">Adicionando uma chave SSH</h3>
<p>Para adicionar uma chave <em>SSH</em>, clique em <em>SSH Access</em> dentro da página representada anteriormente. Agora nesta nova aba, clique em <em>Manage SSH Keys.</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673715537275/b459fa4e-7e01-4b5e-a9a3-0caa8e154813.png" alt class="image--center mx-auto" /></p>
<p>Depois de realizar essas operações então em <em>Generate a New key</em> para gerar uma nova chave <em>SSH</em>, essa chave será adicionada porteriormente dentro do GitHub.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673715690342/5186bf5b-ad1f-4e29-bab4-8278b96c7074.png" alt class="image--center mx-auto" /></p>
<p>Com a nova aba aberta, preencha as informações e prossiga clicando em <em>Generate Key</em>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673715797538/ceb6d340-7be3-4a06-af18-a6a5494dae68.png" alt class="image--center mx-auto" /></p>
<p>Depois disso, a chave será criada então volte para a lista de chaves clicando em <em>Go back</em>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673716113526/cdc1c4dc-7307-42b4-8d80-89a5e754aeb7.png" alt class="image--center mx-auto" /></p>
<p>Agora é necessário liberar a chave para uso. Na página inicial do gerênciamento de chave clique em <em>Manage</em>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673719750263/15d59f06-544a-40b3-a4ae-3feedddb8e79.png" alt class="image--center mx-auto" /></p>
<p>E, então clique em <em>Authorize</em> para liberar a sua chave para uso. Feito isso clique em <em>Go Back</em>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673719851619/88ae459a-2d22-47c7-8b96-95c966b245db.png" alt class="image--center mx-auto" /></p>
<p>Na página incial do gerenciamento de chaves há 2 chaves que foram geradas. Clique para visualizar a chave pública em <em>View/Download</em>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673719905081/b38428fa-2e41-4e52-89d1-2428477cf0d4.png" alt class="image--center mx-auto" /></p>
<p>Agora tem a sua chave autorizada, copie ela!</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673716409843/1ddc22c7-3686-4f55-82b6-9dc1bd448036.png" alt class="image--center mx-auto" /></p>
<p>Neste passo, então, abra uma nova aba e acesse a sua conta no GitHub e acesse o seu perfil. No menu lateral clique na opção <em>SSH and GPG Keys.</em> Apos fazer isso clique em <em>New SSH Key.</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673716707763/eb44371f-0946-4d06-a9df-dcdcedb00dd5.png" alt class="image--center mx-auto" /></p>
<p>Adicione um título e cole a chave <em>SSH</em> pública que foi copiada nos passos anteriores. Feito isso, clique em <em>Add SSH key.</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673717859827/a4eac4cd-dcb5-4df9-ad03-75c5893f5f71.png" alt class="image--center mx-auto" /></p>
<p>Agora foi adicionado a chave SSH ao seu GitHub e o CPANEL poderá ter acesso ao seu repositório privado ou público.</p>
<h3 id="heading-finalizando-a-configuracao-do-repositorio">Finalizando a configuração do repositório</h3>
<p><em>Se o seu repositório for privado, é importante que antes de começar está etapa você tenha configurado corretamente a chave SSH,</em> <strong><em>conforme demonstrado na etapa anterior</em></strong>*.*</p>
<p>Para começar vá até o repositório que deseja adicionar ao CPANEL copie o link de cópia dele.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673719009741/716f3344-7e98-42f9-933a-a9ff915bac96.png" alt class="image--center mx-auto" /></p>
<p>Cole o link do seu repositório no campo <em>Clone URL.</em> Logo após, clique em <em>create</em> para criar o versionamento de código do seu repositório.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673719206551/5c6dff56-5406-4753-9657-05285def5858.png" alt class="image--center mx-auto" /></p>
<p>Configuração do repositório finalizada com sucesso no CPANEL, agora clique em <em>Manage</em> para gerenciar o seu repositório adicionado.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673720946225/3b95201a-140d-46ae-bec3-c863d579b325.png" alt class="image--center mx-auto" /></p>
<p>Nesta página poderá realizar algumas configurações, como por exemplo definir qual <em>branch</em> será a padrão do projeto. Neste caso está a branch <em>main</em> como padrão. Mantenha o que está e clique em <em>Pull or Deploy.</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673721134272/a62515f5-fc47-4b58-982a-4dc4a37d48d6.png" alt class="image--center mx-auto" /></p>
<p>Nesta aba é a que será utilizada para realizar o <em>pull</em> e <em>deploy</em> da aplicação.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673721484187/b1430cbe-4133-484b-9b96-26112b1e86cd.png" alt class="image--center mx-auto" /></p>
<p>Entretanto antes de clicar para realizar o pull e deploy da sua aplicação é necessário realizar algumas configurações no seu repositório. Crie um arquivo chamado <code>.cpanel.yml</code> e adicione o seguinte conteúdo:</p>
<pre><code class="lang-yaml"><span class="hljs-attr">deployment:</span>
  <span class="hljs-attr">tasks:</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">export</span> <span class="hljs-string">DEPLOYPATH=/home/hsesafetycom/public_html/</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">rm</span> <span class="hljs-string">-rf</span> <span class="hljs-string">$DEPLOYPATH</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">/bin/cp</span> <span class="hljs-string">-R</span> <span class="hljs-string">build/.</span> <span class="hljs-string">$DEPLOYPATH</span>
</code></pre>
<p>Neste conteúdo estamos dizendo que vamos deletar e copiar todos os arquivos de dentro pasta <code>build</code> para a pasta <code>public_html</code>. Para que isso seja obedecido é necessário remover do <code>.gitignore</code> a pasta build.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673724165809/c470d336-0703-4389-86a4-eb555dd7c2cd.png" alt class="image--center mx-auto" /></p>
<p>Agora compile o seu projeto rodando <code>npm run build</code> e então efetue o <code>push</code> para a sua branch remota. Sua branch de deploy terá que conter a pasta build pois ela será movida para a public no momento do deploy.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673724715883/fa24262a-51fc-41a4-8352-000938383595.png" alt class="image--center mx-auto" /></p>
<p>Se o seu repositório estiver assim na branch de deploy você pode voltar para o Cpanel baixar as atualizações e clicar em deploy.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673724978027/96994ffa-1c3a-4a9f-8df1-6f8e82958a20.png" alt class="image--center mx-auto" /></p>
<p>Recarregue a página e clique <em>Deploy HEAD Commit</em> feito isso seu deploy já está pronto. Agora toda alteração dentro da sua <code>branch main</code> você terá que entrar no CPANEL, baixar as atualizações e realizar o deploy! Para confirmar se está certo você poderá acessar o <code>file manager</code> e clicar em <code>public_html</code> feito isso seus arquivos da pasta build vão estar lá!</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1673726213391/5081243f-c92d-4ddb-872b-b2588ebd59af.png" alt class="image--center mx-auto" /></p>
<p>OBS: Infelizmente não consegui deixar isso automatizado e essa foi a melhor forma para fugitr do FTP.</p>
]]></content:encoded></item><item><title><![CDATA[Security Misconfiguration]]></title><description><![CDATA[Previous...
Sorry about any english errors, I'm practicing and learning english. 
What is Security Misconfiguration?
A security misconfiguration is a vulnerability that explore the bad configuration in application. This can be included: 

Apps with d...]]></description><link>https://allandiego.com.br/security-misconfiguration</link><guid isPermaLink="true">https://allandiego.com.br/security-misconfiguration</guid><dc:creator><![CDATA[Allan Diego]]></dc:creator><pubDate>Sun, 31 Jul 2022 13:58:45 GMT</pubDate><content:encoded><![CDATA[<h4 id="heading-previous">Previous...</h4>
<p>Sorry about any english errors, I'm practicing and learning english. </p>
<h3 id="heading-what-is-security-misconfiguration">What is Security Misconfiguration?</h3>
<p>A security misconfiguration is a vulnerability that explore the bad configuration in application. This can be included: </p>
<ul>
<li>Apps with default credentials</li>
<li>Bad configuration on the server like S3 bucket. </li>
<li>Error messages that allow the attacker explore more about the system. </li>
<li>IoT devices with default passowords.</li>
</ul>
<p>Generally this vulnerability allow the attacker lead to more vulnerabilities like data explosure, XXE Attacks, RCE and others. </p>
<h3 id="heading-where-to-find-labs-to-practice">Where to find labs to practice?</h3>
<p>Labs to practice can be find on some platforms like <a target="_blank" href="https://tryhackme.com/">Try Hack Me</a> and another alternative is practice yourself devices that have default credentials with this your leave more security the house devices and avoid the external attacks while are praticing. </p>
]]></content:encoded></item><item><title><![CDATA[Toxic - Hack the box]]></title><description><![CDATA[E ai tudo Ok? Hoje será a resolução do challenge Toxic - Hack the Box. 
Obs: 
Para começar o reconhecimento deste desafio é necessário fazer o download dos arquivos do web site dentro da plataforma do hack the box. 
Reconhecimento
Depois de fazer o d...]]></description><link>https://allandiego.com.br/toxic-hack-the-box</link><guid isPermaLink="true">https://allandiego.com.br/toxic-hack-the-box</guid><category><![CDATA[hack-the-box]]></category><category><![CDATA[PHP]]></category><category><![CDATA[Challenge Toxic]]></category><category><![CDATA[Remote Code Execution]]></category><category><![CDATA[RCE]]></category><dc:creator><![CDATA[Allan Diego]]></dc:creator><pubDate>Sat, 25 Jun 2022 17:48:16 GMT</pubDate><content:encoded><![CDATA[<p>E ai tudo Ok? Hoje será a resolução do challenge Toxic - Hack the Box. </p>
<p><strong>Obs:</strong> 
Para começar o reconhecimento deste desafio é necessário fazer o download dos arquivos do web site dentro da plataforma do hack the box. </p>
<p><strong>Reconhecimento</strong></p>
<p>Depois de fazer o download dos arquivos comecei então a navegar pela página web do site para ver se encontrava algum campo que possibilitasse a exploração de alguma vulnerabilidade, entretanto foi sem sucesso e então comecei a analisar o código em PHP. 
Logo de cara me deparei que a página principal do site estava sendo <code>serializada</code> dentro do <code>cookie</code> que é gerado ao carregar a página <code>index</code>. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656177986749/dd3qJItQv.png" alt="image.png" /></p>
<p>Analisando previamente esse código o que ele está fazendo é: </p>
<p>Ao carregar a página é invocado a função <code>spl_autoload_register</code> que armazena uma função anônima que inclui um arquivo PHP. Após essa inclusão é verificado se existe um <code>cookie</code> na sessão identificado por <code>PHPSESSID</code>, caso não tenha será registrado utilizando a função <code>setcookie</code>
onde: </p>
<ul>
<li><code>PHPSSEID</code>: é a chave de acesso para o cookie;</li>
<li><code>base64_encode(serialize($page))</code>: é o conteúdo do cookie; </li>
<li><code>time()+60\*60\*24</code>: é o tempo que o cookie vai durar;</li>
<li><code>/</code>: é o local em que o <code>cookie</code> ta indexado. </li>
</ul>
<p>Mas o mais importante neste caso é o conteúdo do cookie que possui um objeto serializado: </p>
<pre><code> Utilizando a <span class="hljs-function"><span class="hljs-keyword">fun</span>ção <span class="hljs-title">serialize</span><span class="hljs-params">($page)</span></span> para serializar um objeto você obterá a seguinte saída: 

O:<span class="hljs-number">9</span>:<span class="hljs-string">"PageModel"</span>:<span class="hljs-number">1</span>:{s:<span class="hljs-number">4</span>:<span class="hljs-string">"file"</span>;s:<span class="hljs-number">15</span>:<span class="hljs-string">"/www/index.html"</span>;}

Onde: 
   O:<span class="hljs-number">9</span>:<span class="hljs-string">"PageModel"</span>: representa o objeto serializado; 
   s:<span class="hljs-number">4</span>:<span class="hljs-string">"file"</span>; Representa o atributo da classe que está sendo utilizado; 
   s:<span class="hljs-number">15</span>:<span class="hljs-string">"/www/index.html"</span>; Representa o conteú<span class="hljs-keyword">do</span> <span class="hljs-keyword">do</span> atributo file e também o arquivo que será incluí<span class="hljs-keyword">do</span> na página ao ser carregada;

E por <span class="hljs-keyword">final</span> temos a <span class="hljs-function"><span class="hljs-keyword">fun</span>ção base64_encode que codifica em base64 a string retornada pelo <span class="hljs-title">serialize</span><span class="hljs-params">()</span></span>. 
Representando a seguinte saída: 

Tzo5OiJQYWdlTW9kZWwiOjE6e3M6NDoiZmlsZSI7czoxNToiL3d3dy9pbmRleC5odG1sIjt9
</code></pre><p>Agora que o código está explicado fica fácil de continuar a exploração, significa então que podemos alterar essa string codificada em <em>base64</em> apontando o arquivo que queremos encontrar na raiz do sistema e incluí-lo na página. Então utilizando o <em>burp suite Community</em> utilizei o recurso de <em>proxy</em> para interceptar a requisição e mandar para o repeater para conseguir enviar <em>payloads </em>ao servidor de uma forma mais fácil.  </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656178497480/orV2panfO.png" alt="image.png" /></p>
<p>Dentro do repeater podemos então modificar o cabeçalho da requisição, mas antes de começarmos a injetar payloads vamos dar uma analisada no arquivo de configuração do servidor que é o <em>nginx.conf</em>, esse arquivo é responsável por toda a configuração do servidor. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656178540202/XH_Yq90aq.png" alt="image.png" /></p>
<p>Neste arquivo temos: </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656178561547/AzVDLBQd8.png" alt="image.png" /></p>
<p>O mais interessante deste arquivo é que temos o caminho completo do arquivo de <em>log do servidor</em>, com isso sabemos que todo o <em>header da requisição é registrada neste arquivo</em>.
Sabendo disso podemos visualizar o arquivo de log seguindo a mesma lógica que é codificar o <em>objeto serializable</em> e colocar no <em>PHPSESSID</em>. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656178626748/jyq4Fr5Qd.png" alt="image.png" /></p>
<p>Depois de codificado em <em>base64</em> é necessário colocar essa string no <em>header da aplicação</em> e enviá-lo para o servidor nos retornando assim o arquivo de logs. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656178673020/Y6Wd75FI6.png" alt="image.png" /></p>
<p>Bom, agora que sabemos que todo o <em>header é registrado</em> neste arquivo de log e que podemos acessar este arquivo através do payload, vamos evoluir essa exploração para <strong>execução de código remoto </strong>enviando um código em PHP através do <em>body</em>. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656178724386/mHOdTnRYR.png" alt="image.png" /></p>
<p>Note que o payload foi executado com sucesso e que temos um arquivo de flag no diretório raiz do sistema, podemos então usar a mesma lógica que é usada para acessar o arquivo de log para acessar o arquivo de flag!  </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656178758963/Iwi4E5bDU.png" alt="image.png" /></p>
<p>E agora é só substituir o novo valor do <em>PHPSESSID </em>e pontuar!!! </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656178782590/7LZMwRTLL.png" alt="image.png" /></p>
]]></content:encoded></item><item><title><![CDATA[Machine Late - Hack the box]]></title><description><![CDATA[Antes de tudo...
Fala galera eai? Esse é meu primeiro Writeup que escrevo… espero que fique bem claro de como foi o processo que eu segui para resolver esta máquina. 
Vamos lá!
Reconhecimento: Para iniciar o reconhecimento da máquina comecei com uma ...]]></description><link>https://allandiego.com.br/machine-late-hack-the-box</link><guid isPermaLink="true">https://allandiego.com.br/machine-late-hack-the-box</guid><category><![CDATA[CTF]]></category><category><![CDATA[hack-the-box]]></category><category><![CDATA[Write Up]]></category><dc:creator><![CDATA[Allan Diego]]></dc:creator><pubDate>Thu, 16 Jun 2022 18:01:36 GMT</pubDate><content:encoded><![CDATA[<p><strong>Antes de tudo...</strong><br />
Fala galera eai? Esse é meu primeiro Writeup que escrevo… espero que fique bem claro de como foi o processo que eu segui para resolver esta máquina. </p>
<h4 id="heading-vamos-la">Vamos lá!</h4>
<p><strong>Reconhecimento:</strong> Para iniciar o reconhecimento da máquina comecei com uma varredura utilizando o <em>nmap</em>.<br /></p>
<p><code>sudo nmap -sV -sC 10.10.11.156</code> </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655400706053/_kpNaD8zG.png" alt="image.png" /></p>
<p><strong>Enumeração:</strong> Note que há 2 serviços rodando nesta máquina, um fornecendo um acesso ao site através do protocolo <em>HTTP </em>e o outro um acesso <em>SSH</em>. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401047114/L6arS_jiv.png" alt="image.png" /></p>
<p>Após acessar o site, resolvi então navegar um pouco no código fonte para ver se encontrava algo de útil para começar a explorar mais a fundo e encontrei o seguinte trecho de código: </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401072157/P7T-3y8tN.png" alt="image.png" /></p>
<p>Repare que há um link dizendo que podemos utilizar um editor de imagem dentro do site, no entanto para conseguir acessar este <em>subdomínio </em>é necessário configurar o arquivo <em>hosts </em>da sua máquina local ficando da seguinte forma: </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401114096/0KULinPTB.png" alt="image.png" />
Salve o arquivo e agora você poderá acessar o através do <em>dns images.late.htb</em>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401160864/wYIW7VGsv.png" alt="image.png" />
Repare que nesta página tem várias informações úteis para dar início a uma exploração mais avançada, como com o que foi desenvolvido o conversor de imagem para texto. Antes de sair buscando por vulnerabilidades da tecnologia do <em>Flask</em> resolvi testar um pouco e entender como funciona o conversor de imagem, então subi uma imagem <em>JPG</em> e o conversor me retornou um arquivo <em>results.txt</em> contendo:<br />
<code>&lt;p&gt;&lt;/p&gt;</code></p>
<p>Através desse resultado não ficou muito claro o que estava fazendo em si, então resolvi buscar alguns conversores de imagem para texto no GitHub feito em flask e encontrei o seguinte exemplo: <a target="_blank" href="https://github.com/nikssardana/flaskOcr/blob/master/app.py">Extractor Image Text</a>.  </p>
<p>Com esse código ficou mais claro o que o conversor estava fazendo que era: pegar uma imagem e extrair o texto que está nela e não um texto que está como esteganografia; Sabendo disso, então resolvi injetar alguns <em>payloads</em> de <em>Server Side Template Injection (SSTI)</em> como texto das imagens e para isso eu desenvolvi um exploit para facitar a manipulação dos payloads e envio da imagem para ser através do script e não do site.</p>
<p>Exploi: <a target="_blank" href="https://github.com/allandiegoasilva/exploit-late-htb">Late Hack the Box - Exploit  SSTI</a></p>
<p>Utilizando o exploit que criei, então fiz um payload simples: </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401388113/T6T3Cz72O.png" alt="image.png" /></p>
<p>Olhe que há um teste de soma, se o aplicativo estiver vulnerável o exploit deverá retornar o 2 como saída pois foi efetuado a soma, e ao executar o exploit temos a seguinte saída: </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401408531/VKI0d9z1V.png" alt="image.png" /></p>
<p>Boom! Está vulnerável, agora podemos buscar payloads mais avançados e evoluir a exploração para <em>remote code execution</em>, para isso eu utilizei o repositório <a target="_blank" href="https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Template%20Injection#jinja2">Payload All The Things</a> e peguei o seguinte payload: </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401496503/R7YvDw0e0.png" alt="image.png" /></p>
<p>Veja que eu peguei um payload que me permite fazer a excução de comandos do sistema operacional, e alterei o exploit para que ele receba esse novo payload com os comandos do sistema operacional, ao executar o <em>exploit.py</em> com essa alteração ele retornará a seguinte saída: </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401533094/7-dzjnqM1.png" alt="image.png" /></p>
<p>O comando <em>ls -l</em> foi executado com sucesso! Agora podemos visualizar os usuários do sistema com o os_command: <em>cat /etc/passwd</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401561939/noiIBu3HE.png" alt="image.png" /></p>
<p>Repare que temos um usuário chamado <em>svc_acc</em> e que também podemos visualizar o diretório deste usuário com: <em>ls -la /home/svc_acc</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401592283/C8g5R2Sek.png" alt="image.png" /></p>
<p>Neste diretório temos um arquivo chamado <em>user.txt</em> que representa a nossa primeira flag! </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401612492/aQYD-LwOF.png" alt="image.png" /></p>
<p>Mas e agora, Acabou a exploração? Ainda não! Precisamos da segunda flag que é a <em>system</em> e para isso precisamos conseguir acesso ao sistema operacional para elevar nossos níveis de usuário e procurar a próxima flag. Ué, mas já temos acesso ao sistema por command injection não temos? Sim, mas desta forma é muito ruim para manter uma exploração efetiva dentro do sistema, teremos que usar o serviço de <em>ssh</em> para conseguir acesso. Para isso vemos na listagem dos arquivo dos usuário <em>svc_acc</em> que tem um diretório <em>.ssh</em> que geralmente costumam ficar as chaves de acesso <em>ssh</em>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401690051/xcXQzR4_l.png" alt="image.png" /></p>
<p>Temos uma chave ssh para acessar o sistema como o usuário <em>svc_acc</em>, para pega-lá execute: <em>cat /hove/svc_acc/.ssh/id_rsa</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401731443/auVpOY5yg.png" alt="image.png" /></p>
<p>Bom, conseguimos a chave <em>id_rsa </em>agora podemos utiliza-lá para conectar através do protocolo ssh como o usuário <em>svc_acc</em>. Copie a chave id_rsa para um arquivo chamado <em>id_rsa </em>e utilize: <strong><em>ssh svc_acc@[machine_ip] -i id_rsa</em></strong> para conectar como o usuário <em>svc_acc</em>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401801656/KMfCZWfIH.png" alt="image.png" /></p>
<p>Provavelmente ao tentar se conectar o seu pode ter dado este erro também, isso se dá porque a chave pode ser lida pelo usuário, grupo e qualquer acesso remoto ao computador e sendo assim é considerada uma chave não segura. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401828909/GJCbsfSub.png" alt="image.png" /></p>
<p>Para resolver basta alterar as permissões de acesso da chave para somente o usuário conseguir acessar/ler/escrever na chave com: <em>chmod 600 id_rsa</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401853878/wl2niFI-k.png" alt="image.png" /></p>
<p>Agora que foi alterado a permissão podemos executar novamente: <strong><em>ssh svc_acc@[machine_ip] -i id_rsa</em></strong> para conectar a máquina.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401882444/k6LM9YtCS.png" alt="image.png" /></p>
<p><strong>ATENÇÃO</strong>: cuidado ao copiar a chave id_rsa, pois qualquer linha a mais mesmo em branco pode resultar na saída que a chave está inválida.</p>
<p>Então já que temos acesso precisamos conseguir acesso root ao sistema. Primeiro vamos olhar o que há no <em>crontab</em> do sistema.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655401937456/HqRQU4S6y.png" alt="image.png" /></p>
<p>O <em>PATH:/usr/local/sbin/</em> é o caminho onde fica os scripts de execução do <em>cronjob </em>no sistema, se você der <em>crontab -e</em> não mostrará nenhuma configuração adicionada pois essa configuração foi realizada somente para o usuário <em>root</em> então pode existir <em>X jobs</em> configurados se você não tiver permissão não irá conseguir ver. Agora liste os arquivos do diretório <em>/usr/local/sbin/</em> e teremos:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655402001901/2sCdH1H05.png" alt="image.png" /></p>
<p>Um arquivo executável que provavelmente será executado em algum momento por algum <em>trigger</em> ou agendamento de tarefas, repare também que podemos ler e executar esse arquivo, então iremos ler primeiramente: </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655402036952/irOyuF9QM.png" alt="image.png" /></p>
<p>Com uma leitura básica do código da para perceber que o <em>script </em>é acionado toda vez que um usuário acessar a máquina via SSH. Sabendo disso vamos ver as propriedades do arquivo através do comando <em>lsattr </em>esse comando permite fazer alguns tipos de alterações no arquivo, caso não conheça pode dar uma olhada em: </p>
<p><a target="_blank" href="http://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/trabalhando-com-atributos-de-arquivos-lsattr-e-chattr-linux-lpic-1/">Trabalhando com atributos de arquivos</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655402155902/iWiFDbQCs.png" alt="image.png" /></p>
<p>Note que possui o atributo <em>“a”</em> que significa que podemos modificar este arquivo anexando o conteúdo nele, então com isso podemos atribuir um <em>shell-reverso</em> dentro do arquivo <em>ssh-alert.sh</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655402185338/gcULOxnuS.png" alt="image.png" /></p>
<p>Agora pode conferir se o shell foi atribuído ao arquivo que será executado:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655402218612/mJBjE1s1H.png" alt="image.png" /></p>
<p>Repare que o comando foi adicionado ao arquivo e assim que o arquivo for executado já poderemos acessar através do shell reverso, para isso ligue uma porta para ouvir uma conexão do alvo:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655402247297/djs9MuIZO.png" alt="image.png" /></p>
<p>Agora com o <em>nc</em> ouvindo a conexão podemos executar o <em>trigger </em>do arquivo <em>ssh-alert.sh</em> através de uma nova conexão <em>ssh</em> com o usuário<em> svc_acc</em>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655402287347/2mjnuotbz.png" alt="image.png" /></p>
<p>E então conseguimos acesso root ao sistema!!!!</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655402302637/832yWYnLlK.png" alt="image.png" /></p>
<p>Agora é só visualizar a sua flag e pontuar!!!</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655402322577/1Cd1zRed3.png" alt="image.png" /></p>
<p><strong>Considerações finais:</strong><br />
Pessoalmente achei esta máquina relativamente difícil pois não estava conseguindo encontrar uma forma de conseguir acesso root, e para isso precisei olhar alguns outros writeups desta máquina. Entretanto de modo geral consegui resolver 85% da máquina conseguindo chegar até ao acesso do usuário <em>svc_acc </em>sozinho.</p>
]]></content:encoded></item></channel></rss>