Alucard - scan de redes defensivo
Publicado por felipe (última atualização em 25/02/2025)
[ Hits: 1.334 ]
Esse programa busca um range de ips e busca informação de cada ip do range.
Ele deve rodar em segundo plano, com comando ./alucard & esse programa deve ser usado como root,
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <netdb.h>
struct sockaddr_in addr;
struct timeval timeout;
FILE *fr, *fw, *op;
char ip[256], buff[256];
// portas pela qual a aplicação irá
// ficar rodando.
int lport[] = {21, 22, 23, 80, 443, 445, 465};
int sock = 0, cnx = 0;
char cmdBuff[256];
// pega dados e cria arquivo
void add(){
printf("Getway: ");
fgets(ip, 256, stdin);
fw = fopen("/var/log/alucard_ips.txt", "w");
ip[strlen(ip)-3] = '\0';
for(int loop = 1; loop < 256; loop++){
fprintf(fw, "%s.%d\n", ip, loop);
}
fclose(fw);
}
// verifica se o arquivo getway existe
// caso não, ele será criado.
void ok(){
op = fopen("/var/log/alucard_ips.txt", "r");
if(op == NULL){
add();
}
}
int main(){
ok();
timeout.tv_sec = 1;
timeout.tv_usec = 0;
//roda as portas definidas
for(int run = 0; run < 7; run++){
fr = fopen("/var/log/alucard_ips.txt", "r");
while(fgets(buff, 256, fr) != NULL){
addr.sin_addr.s_addr = inet_addr(buff);
addr.sin_port = htons(lport[run]);
addr.sin_family = AF_INET;
sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock < 0){
perror("sock error");
return 1;
}
setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout));
setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
cnx = connect(sock, (struct sockaddr *)&addr, sizeof(addr));
if(cnx == 0){
strcpy(cmdBuff, "nmap -sT -O -A -v ");
strcat(cmdBuff, buff);
op = popen(cmdBuff, "r");
fw = fopen("/var/log/alucard_log.txt", "a");
fprintf(fw, "=== [*]log[*] ===\n");
while(fgets(buff, 256, op) != NULL){
fprintf(fw, "%s", buff);
}
fclose(op);
fclose(fw);
}
}
}
return 0;
}
Usando sockets para monitorar servidores
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Scripts ou binários [RESOLVIDO] (3)
VOL já não é mais como antes? (10)
Pergunta: Meu teclado não está respondendo direito como e consertar? ... (4)









