Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - @XSStringManolo

#2811
Hacking / Re: Como se oculta un atacante
7 Mayo 2019, 00:00 AM
Conexion inversa de la vixtima a un servidor con mucho trafico al cual tengas acceso ilimitado
Al tener acceso al servidor puedes borrar tu rastro o dejarlo estar entre miles.

Al usar el servidor de intermediario la victima es totalmemte imposible que averigue quien es el atacante real. Ya que tpdas las ordenes son enviadas al servidor y el servidor envia sus propias ordenes sin contener datos del atacante real.

Se podrian cotejar horarios y revisar el servidor durante varios ataques para detectar la conexion del atacante real. Si esta conexion se hace mediante redes como tor, p2p y proxychains bien configurados es muy complicado llegar al atacante. Aunque hay metodos de cotejar conexiones si se tiene acceso a un nodo de salida y al servidor de una web qie se visite habitualmente.
Para mas seguridad se pueden utilizar equipos con piezas de "basurero" modificando los datos identificatorios unicos y amtenas wi-fi "basurero" para conectarse a redes como.un centro comercial sin ser grabado por camaras de seguridad. En ese punto se complica.

Segun lo que hagas los recursos y la respuesta empleada sera en consecuencia
Si haces algo muy grave lo mejor es una cabeza de turco ya que no pararan hasta encpntrar al responsable.

Cada uno usa sus conocimientos y metodos.  No hay una guia para ocultarse. Solo guias de conceptos basicos a aplicar.

Usa siempre opensource y no utilices software privativo, aunque de todas formas es imposible saber quien te obvserva a menos que hayas disenhado tu propio hardware. xD




#2812
Lee libros. Lee noticias. Frecuenta paginas actualizadas.
#2813
Criptografía / Re: descifrar payload
6 Mayo 2019, 20:47 PM
Encontre un post en reddit https://www.reddit.com/r/codes/comments/apazqq/seemed_like_base64_to_me_but_what_now/

El texto que se lee buscando en google me lleva a un programador y a su github con varios codigos en c++ javascipt, etc.

Comprobe todos los fuentes a ver si suele utilizar alguma funcion o libreria para cifrar, pero no encontre  nada.

Mas tarde lo mirare en profundidad.
Puedes pasar.captura de la web? Tengo problemas de red en el pc, lo uso offline y en este disposotivo (no mio) no puedo instalar el orbot.
Si el contenido es mas texto puedes probar a sustituir comprobando la frecuencia de letras usadas en el castellano.

La url de onion no es al azar f2tc es la empresa mr xuoxm es el nombre del programador o el grupo de prpgramacion al que le revise los cpdogos fuente en github.
#2814
https://sourceforge.net/projects/websecuritydojo/
Es un sistema operativo en formato .ova

Es un formato para importar en el programa virtualbox.

Seleccioma importar y el dojo.ova
Si no carga reinicia la maquima y ya va.

Es un sistema xubuntu que trae multiples herramientas instaladas como numerosos proxy para interceptar el trafico del navegador y asi poder modificar cabeceras, cookies etc. Metasploit framework por consola escaneres, frueza bruta, etc.

Tiene tambien targets y multiples aplicaciones webs y servidores locales con aplicaciones vulnerables.

Extensa documentacion sobre las herramientas, sus funcionalidades, y sobre los propios targets con sus vulmerabilidades, como explotarlas y como solucionarlas o evitarlas.

Mira por la carpeta home del escritorio.

Tienes un meno desplegable para utilizar herramientas y arrancar servidores locales como por ejemplo una web de un casino al que puedes acceder con blindsql en el perfil de un jugador del casino y desde ahi mirando en las cabeceras aprovechar diversas vulnerabilidades para crear una url para spoofing por email y hacer que los jugadores que accedan desde ese link te transfieran sus fichas.

Te recomiendo usar el sistema offline ya que es vulnerable a ataques reales.

Muy util para aprender lo basico y sobretodo para generar una idea mental para poder aprendiendo y saber por donde tirar.

Deberias informarte del estado actual de todas esas vulnerabilidades, nuevas, etc.

Cuando acabes con todo te recomiendo centrarte mas en aprender sobre servidores y un lenguaje versatil como Phyton.

En esta misma web hay una warzone para estrenar tus conocimientos,  aprender de cifrados y algunas cosas interesantes. Es divertido, no se si sigue funcionando.
#2815
Tienes el enlace para descargar el .rar? Ponlo aqui
De donde salio?
Sube el archivo a la web virustotal a ver que dice.
Puede moverse a otra carpeta, abrir otro proceso esconderse en el sistema de muchas formas eliminar el contenido del rar.
Si no tienes el enlace a la descarga del archivo puede ser complicado de encontrar.
Puede hacer algo tan sencillo como modificar un documento para cambiarte los dns, y es muy dificil detectar esos cambios sin el archivo original sin ejecutar.
Si no consigues el enlace a la descarga sube el archivo y compartelo.
#2816
Estoy aprendiendo a usar SDL.
Escribi un programa simple con la idea de que muestre 3 imagenes en pantalla.
La idea es que se muestre la primera imagen y tras unos segundos se muestre la siguiente.
Quiero hacer un juego simple sin mucha funcionalidad para ir asimilamdo conceptos e ir aprendiendo el uso de SDL.

Quiero hacer como la tipica pantalla de inicio de juegos como pokemon.
La primera imagen es el titulo del juego.
Tras unos segundos la imagen cambia y se suele mostrar un video introductorio.
En mi caso de momento es la imagen2.

La imagen3 seria la imagen del menu principal. Mi idea es poner rectangulos sobre la superficie de cada
opcion del menu. Por ejemplo Nueva Partida. Y que al hacer click en el rectangulo se
llame a una funcion BucleDelJuego.



Tengo 1 error que no entiendo muy bien por que sucede.
Se me esta complicando aprender debido a que encuentro poca documentacion actualizada
para SDL2, me voy guiando por libros antiguos intentando actualizarlos mirando las cabeceras en la carpeta includes de SDL2 y siguiendo los ejemplos de Lazy Foo que son los unicos que me compilan sin
modificarlos.

main.cpp
Código (cpp) [Seleccionar]
         
#include <SDL.h>
#include <iostream>
#include <string>

const int ANCHO_DE_VENTANA = 640;
const int ALTO_DE_VENTANA = 480;

enum SuperficiesDeImagenes
{
imagen1 = 1,
imagen2,
imagen3,
numeroDeImagenes
};


//Funcion para cargar una imagen:
SDL_Surface* cargarSuperficie(std::string path);

//Ventana sobre la que renderizar:
SDL_Window* gVentana = NULL;

//Superficie sobre la ventana:
SDL_Surface* gScreenSurface = NULL;

//Imagen mostrada actualmente:
SDL_Surface* gCurrentSurface = NULL;

//Imagenes que corresponden a las superficies
SDL_Surface* gSuperficiesDeImagenes[numeroDeImagenes];

bool Inicializar()
{
bool Inicializado = true;

//Inicializar SDL:
if (SDL_Init(SDL_INIT_VIDEO) <0)
{
std::cout << "Error inicializando  -> " << SDL_GetError() << std::endl;
Inicializado = false;
}

else
{
//Crear Ventana:
gVentana = SDL_CreateWindow("Titulo de la ventana", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, ANCHO_DE_VENTANA, ALTO_DE_VENTANA, SDL_WINDOW_SHOWN);

//Si el puntero a ventana esta vacio: (no se creo) muestra error.
if (gVentana == NULL)
{
std::cout << "Error al crear la ventana -> " << SDL_GetError() << std::endl;
Inicializado = false;
}

//Si la ventana está en el puntero:
else
{
//Obtener superficie de la ventana:
gScreenSurface = SDL_GetWindowSurface(gVentana);
}
}

return Inicializado;
}


bool CargarImagenes()
{
bool ImagenFueCargada = true;

//Cargar primer imagen:
gSuperficiesDeImagenes[imagen1] = cargarSuperficie("nombredeimagen1.bpm");
if (gSuperficiesDeImagenes[imagen1] = NULL)
{
std::cout << "Error cargando la primer imagen" << SDL_GetError() << std::endl;
ImagenFueCargada = false;
}

//Cargar segunda imagen:
gSuperficiesDeImagenes[imagen2] = cargarSuperficie("nombredeimagen2.bpm");
if (gSuperficiesDeImagenes[imagen2] = NULL)
{
std::cout << "Error cargando la segunda imagen" << SDL_GetError() << std::endl;
ImagenFueCargada = false;
}

//Cargar tercer imagen:
gSuperficiesDeImagenes[imagen3] = cargarSuperficie("nombredeimagen3.bpm");
if (gSuperficiesDeImagenes[imagen3] = NULL)
{
std::cout << "Error cargando la tercer imagen" << SDL_GetError() << std::endl;
ImagenFueCargada = false;
}

return ImagenFueCargada;
}


void Cerrar()
{

//Eliminar superficies de la memoria;
for (int i = 0; i < (numeroDeImagenes-1); i++)
{
SDL_FreeSurface( SuperficiesDeImagenes[ i ] );
SuperficiesDeImagenes[i] = NULL;
}

//Eliminar la Ventana:
SDL_DestroyWindow(gVentana);
gVentana = NULL;

//Cerrar SDL
SDL_Quit();
}

//Funcion cargar la superficie
SDL_Surface* cargarSuperficie(std::string path)
{
//Cargar imagen en ruta especifica
SDL_Surface* superficieCargada = SDL_LoadBMP( path.c_str() );

if (superficieCargada = NULL)
{
std::cout << "Error al cargar la superficie " << path.c_str() <<" Error:" << SDL_GetError() << std::endl;
}

return superficieCargada;
}


int main ( int argc, char* args[])
{
//Iniciar SDL y crear la ventana:
//Si la funcion Inicializar devuelve "false" = error:
if (!Inicializar())
{
std::cout << "No se pudo Inicializar" << std::endl;
}

else
{
if (!CargarImagenes())
{
std::cout << "No se pudo Cargar Imagenes" << std::endl;
}

else //Si todo ha funcionado:
{
bool salirDeBucle = false;

//Variable para obtener entrada:
SDL_Event e;

//Imagen por defecto o primer imagen a cargar.
gCurrentSurface = gSuperficiesDeImagenes[imagen1];

while (salirDeBucle == false)
{
//Procesa cola de eventos hasta que no queden:
while ( SDL_PollEvent(&e) !=0 )
{

//Si el usuario presiona la X de cerrar ventana
if(e.type == SDL_QUIT)
{
salirDeBucle = true;
}
}
//Aplica la imagen actual:
SDL_BlitSurface(gCurrentSurface, NULL, gScreenSurface, NULL);

    //Actualiza la superficie que pertenece a la ventana gVentana:
SDL_UpdateWindowSurface(gVentana);

//Pausa la imagen actual X segundos
SDL_Delay(7000);

//Carga la imagen2 en la superficie actual:
gCurrentSurface = gSuperficiesDeImagenes[imagen2];

SDL_BlitSurface(gCurrentSurface, NULL, gScreenSurface, NULL);
SDL_UpdateWindowSurface(gVentana);
SDL_Delay(7000);

//Carga la imagen3 en la superficie actual:
gCurrentSurface = gSuperficiesDeImagenes[imagen3];

SDL_BlitSurface(gCurrentSurface, NULL, gScreenSurface, NULL);
SDL_UpdateWindowSurface(gVentana);
SDL_Delay(7000);



}
}
}

Cerrar();

return 0;
}



Error de compilacion:
||=== Build: Debug in SDL2TESTLIBS (compiler: GNU GCC Compiler) ===|
|In function 'bool CargarImagenes()':| 73|warning: suggest parentheses around assignment used as truth value [-Wparentheses]
81|warning: suggest parentheses around assignment used as truth value [-Wparentheses]|
89|warning: suggest parentheses around assignment used as truth value [-Wparentheses]|
|In function 'void Cerrar()':|
105|error: expected primary-expression before '[' token|
106|error: expected unqualified-id before '[' token|
|In function 'SDL_Surface* cargarSuperficie(std::__cxx11::string)':|
123|warning: suggest parentheses around assignment used as truth value [-Wparentheses]| ||=== Build failed: 2 error(s), 4 warning(s) (0 minute(s), 0 second(s)) ===|

Agradezco referemcias a documemtacion actualizada y cualquier ayuda con el codigo