Subdomain Finder
Publicado por Perfil removido (última atualização em 07/03/2014)
[ Hits: 4.850 ]
Esse script procura por subdomínios em sites e retorna os IPs desses subdomínios.
#include <stdio.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <stdlib.h>
#define RED "{FONTE}33[0;31m"
#define GREEN "{FONTE}33[0;32m"
#define CYAN "{FONTE}33[1;36m"
#define RESET "{FONTE}33[0m"
/*
%# date
Wed Mar 5 00:38:56 BRT 2014
%# hostname
hc0der.blogspot.com
%# cat readme
*/
char *chomp(char *sub){
int len = strlen(sub)-1;
if(sub[len] == '\n')
sub[len] = '{FONTE}';
return sub;
}
void check_host(char *host){
struct hostent *hostname;
struct in_addr **address_list;
int i;
hostname = gethostbyname(host);
if(hostname == NULL){
fprintf(stdout,"%s[-]%s Unknown host\n",RED,RESET);
return;
}
address_list = (struct in_addr **) hostname->h_addr_list;
fprintf(stdout,"%s[+]%s %s { ",GREEN,RESET,host);
for(i=0;address_list[i] != NULL; i++)
fprintf(stdout,"'%s' ",inet_ntoa(*address_list[i]));
fprintf(stdout,"}\n");
}
void help(){
fprintf(stderr,"\n[%s+%s] Subdomain Finder by MMxM\n",GREEN,RESET);
fprintf(stderr,"[%s*%s] Usage: ./sub <target> <subdomain_wordlist>\n\n",CYAN,RESET);
exit(1);
}
int main(int argc, char *argv[]){
if(argc != 3)
help();
const char *target = argv[1];
const char *arquivo = argv[2];
char line[100];
char *result;
FILE *arq;
if( (arq = fopen(arquivo, "rt")) == NULL ){
fprintf(stdout,"%s[-]%s fopen(\"%s\",\"rt\"): %s \n",RED,RESET,arquivo,strerror(errno));
return 1;
}
while(!feof(arq)){
result = fgets(line,100,arq);
if(result){
chomp(result);
int size = strlen(result)+strlen(target)+2;
char *subdominio = (char *) malloc(size);
sprintf(subdominio,"%s.%s",result,target);
fprintf(stdout,"%s[*]%s Checking => %s\n",CYAN,RESET,subdominio);
check_host(subdominio);
free(subdominio);
}
}
return 0;
}
Simulação de controle de fluxo usando sockets
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Podem me chamar de 1mbecil :) (7)
diferença entre o Tor baixado pelo Gerenciador de Aplicativos e o Tor ... (8)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (16)









