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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 ... 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 [190] 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 ... 287
1891  Comunicaciones / Redes / Re: O no lo sabia o me están viendo la cara sobre listas negras en: 12 Agosto 2019, 23:06 pm
Si es una red local, puede bloquearte por Mac o asignar IP fija a cada PC. Pero esto solo bloquea lo que vaya directamente de tu PC a donde se haga el check. Si estás conectado a la red, lo único que debe estar bloqueado es la salida, por lo que puedes montar un proxy en local y conectarte a traves de este o si estás conectado a la red podrías conectarte a otro PC de la misma y que él se encarge de la salida y entrada a la red y te sirva todo en tu PC.
1892  Foros Generales / Foro Libre / Re: "La Guía Máxima de los Perros" en: 12 Agosto 2019, 22:35 pm
He visto niños subidos encima de Caimanes de 5 metros. Lo tenian en casa en un patio como quien tiene un perro. También hay domadores y personas comunes que tienen leones., tigres y pumas. Hay una familia que el hijo de unos 30 años subía vídeos a youtube, y jugaba con ellos a presa cazador. Se ponía de espaldas a ellos en medio del jardín y ellos atacaban jugando. Después el los perseguía a ellos y jugaban. Les daba la comida con la mano mientras los acariciaba, etc. Los animales no son tan imbéciles como los quieren pintar para restarles valor y así justificar en parte el trato horrible que se les da.
1893  Foros Generales / Dudas Generales / Re: Asignaturas y libros de inteligencia artificial??? en: 12 Agosto 2019, 22:19 pm
Y que quieres tu, hacer la carrera sin ni siquiera acercarte al circuito???...

 :rolleyes: :o :rolleyes:

Saludos.
Yo me he leído más libros universitarios que los propios universitarios de mi edad y por mi experiencia te diré que son una p**a basura, errores, opiniones sesgadas, egolatría diseminada en forma conocimiento. Parece que quien los redacta no ha usado en su vida ni la mitad de lo que finalmente decide publicar.

En resumen, que sea el tema que sea busques a los más prestigiosos PROFESIONALES del sector. No a quien se pasa la vida impartiendo conocimiemtos teóricos y redactando libros muy "técnicos" haciendo afirmaciones sin fundamento y sin una ferrea base práctica sobre la que ergir tan solo un pilar.
1894  Foros Generales / Foro Libre / Re: Oro monoatómico en: 12 Agosto 2019, 22:04 pm
Me has dejado sin palabras. Cunta razón.
1895  Programación / Programación Visual Basic / Re: VB.NET redirect obtener todos los enlaces en: 12 Agosto 2019, 17:10 pm
En el for se hace el navigating a todas las url. En tu caso son 4. Entonces te muestra los 4 about:blank, en la propia salida del programa te dice starting navigating. Empezó la navegación a las 4 url.
Si lo único que te molesta es que aparezca la salida del programa repetida, elimina la línea Console.WriteLine($"Starting navigation: {e.Url}")
Que es la que imprime los about:blank. Igual te interesa empezar la navegación a cada url una por una. En ese caso mete los strings en un array y cuando quieras llamas al siguiente. Por ejemplo cuando se termine de cargar el documento sumas +1 al índice del array y lo imprimes, asi automatizas el proceso y cada vez que se finalice el load del documento se pasará a pedir el siguiente. Usa el método de la clase array con .getupperbound() para obtener una variable índice con el número total de elementos.
Deberías hacerlo de esta forma si vas a manejar un gran número de dominios, porque si no dependiendo del número de dominios y la propia implementación del navigate podría darse el caso de ir acomulándose más page:blank y documentos cargándose de los que se liberan. También deberías procesar el documento cargado nada más finalice la descarga para poder eliminar el documento cargado de memoria cuanto antes. Así optimizas el uso de memoria del programa. Aunque si la aplicación no va a hacer mucha locura tipo descargar documentos de 400 dominios, y procesarlos heavy da un poco igual xD
1896  Seguridad Informática / Análisis y Diseño de Malware / Re: ¿ En que lenguaje de prog. podría empezar a hacer virus y ponerlos a prueba? en: 12 Agosto 2019, 11:19 am
Hay muchos tipos de virus. Cualquier lenguaje que te lo permita. A mi personalmente para malware me gustan javascript y Lua.
Para empezar igual Python es el más sencillo.

El malware ponlo a prueba en cualquiera plataforma compatible con las tecnologías que utilizases para el desarrollo. Para qué vas a analizar tu propio malware si sabes como lo has programado? Podrías encontrar un fallo de seguridad en tu propia aplicación, pero poco vas a analizar si estás empezando, hay libros sobre exploits que enseñan a analizar el código en busca de vulnerabilidades si es eso a lo que te refieres.

Personalmente pienso que el lenguaje da un poco igual mientras no te limite o te complique mucho o te alarge mucho el proyecto.

Se pueden instalar hasta fuera del sistema. Lo mejor es analizar lo que hace el malware con ingeniería inversa, teniendo monitorizada la red, y todos los cambios en procesos, servicios y archivos, lo cual requiere de mucho tiempo. También un firewall para detectar actividades sospechosas. También usa una máquina virtual con una sandbox como laboratorio, pero ten cuidado que no es seguro al 100% y menos si lo configuras erroneamente.

Sitios frecuentes suelen ser system32,  %temp%, también la carpeta en la que están las aplicaciones que se inician automáticamente al arrancar el sistema, carpetas usadas por navegadores, etc.


1897  Foros Generales / Foro Libre / Re: Oro monoatómico en: 12 Agosto 2019, 10:30 am
Estaría en mano de quien lo inventó, del señor que le paga el suelo y del señor que le compre la fórmula, ordene matarlos a los 2 y quemar el laboratorio. Jajaja. El ser humano en todo su explendor.

No está dentro de la ética desarrollar nada así porque seríamos demasiados, lo cual empeoraría la vida de todos.
1898  Foros Generales / Foro Libre / Re: La ONU plantea cambiar la dieta para frenar el calentamiento global en: 12 Agosto 2019, 10:23 am
Lo paradógico es que las mismas personas que no se creen "el reciclaje" después si dan credibilidad a teorías conspiranoicas de todo tipo. Aliens, asaltar el area51, alquimia, espíritus, jorge bush mandó estrellar al avión contra las torres gemelas, la tierra es plana, la tierra es hueca, la tierra está en el centro del universo, la tierra es verde musgo... Todo esto es verdad y ellos te lo demostrarán. Ahora, lo del reciclaje que pueden ir a visitar fábricas por todo el mundo y comprobarlo, eso si es mentira. Y así con todo.
1899  Foros Generales / Foro Libre / 7.4 millones de usuarios infectados con Bundled Software. Parte del proceso. en: 12 Agosto 2019, 09:44 am
Hoy estaba leyendo el siguiente artículo:

Citar
Investigadores del departamento de seguridad de Google han descubierto que más de 7,4 millones de dispositivos Android han sido infectados con un malware preinstalado.

Los malwares preinstalados han sido utilizados para controlar los dispositivos de forma remota.

La presencia de este malware se debe a que muchos fabricantes de bajo coste han utilizado software de terceros al incorporar el sistema operativo de Android. Dichos softwares muchas veces vienen de fuentes dudosas y como Android tiene un sistema de código abierto, cualquier grupo de ciberdelincuentes puede ofrecer su software con malware preinstalado dentro de las apps que vienen con los dispositivos.
https://www.trecebits.com/2019/08/09/mas-de-7-millones-de-dispositivos-android-tienen-un-malware-preinstalado/

Me ha parecido interesante y lo he realizado como POC asique voy a mostrar parte del proceso para que observemos la dificultad técnica y todo el control que una aplicación infectada nos puede ofrecer sobre el dispositivo.

Lo primero que voy a hacer es elegir una aplicación de código abierto. Al ser código abierto, el código para crear la aplicación está disponible en internet para cualquiera usuario. Cualquiera usando las herramientas pertinentes puede generar la aplicación o una muy similar a partir del código abierto.

Utilizaré esta lista entre los miles de listas disponibles para seleccionar la aplicación de código abierto. https://en.wikipedia.org/wiki/List_of_free_and_open-source_Android_applications

Suponemos que el dispositivo en el que se instalará la aplicación tendrá Google Play instalado como es frecuente en estos dispositivos. Para que los cambios que hagamos persistan eligiré una aplicación que no se encuentre en la tienda de Google Play y por lo tanto que no va a ser actualizada por parte del usuario con el objetivo de que no se substituya por una versión sin mi código.

En el caso de que en el código original venga reflejada alguna forma de actualizar la aplicación por medios externos a Glogle Play se puede deshabilitar o modificar esa parte del código.

Para tomar la decisión sobre que aplicación elegir tengo en cuenta lo siguiente:
-Comprobar el lenguaje en el cual está escrita la aplicación y que lenguajes soporta para poder añadir mi código en ese u otros lenguajes que soporte la aplicación.

-Comprobar si la aplicación es compatible con la versión o versiones de Android a las que está destinada la aplicación modificada.

-Intentar que el código no sea demasiado extenso para poder analizarlo fácilmente y asegurarme que no utilice herramientas externas a las cuales no vaya a tener acceso, ya que podría verificar o actualizar la aplicación  no permitiéndome modificarla a mi antojo.

-Si el control que tiene o debería tener este tipo de aplicación coincide con mi objetivo final. Si decido utilizar un bloc de notas sería un comportamiento extraño que se comunicase por la red, asique es otro factor importante a tener en cuenta.

Siguiendo estas pautas la aplicación que elegí fue - https://en.m.wikipedia.org/wiki/Adblock_Plus
Una extensión para navegadores que tiene escrito código en los lenguajes de programación javascript, Css y XUL. Este último es un dialecto de XML enfocado en realizar la parte visible de la interfaz para facilitar el uso de la aplicación por el usuario final.

Una vez elegida la aplicación me dirijo al lugar en dónde esté publicado el código fuente de la aplicación buscándolo en google. Lo encuentro en una de las múltiples plataformas que dan soporte a la publicación de código abierto como suele ser frecuente. https://github.com/adblockplus

Aquí hay varias versiones. Al entrar en el primer enlace dice que trás actualizaciones del navegador Mozilla ya no funciona en versiones modernas (superiores a la versión 47) asique me dirijo al segundo enlace.
Aquí sale un resumen del archivo LEEME que abro por completo con el siguiente link
 https://github.com/adblockplus/adblockpluschrome/blob/master/README.md En este documento vienen explicados el proceso y las herramientas necesarias para poder construir la aplicación:

Citar
Adblock Plus for Chrome, Opera, Microsoft Edge and Firefox
El nombre de la aplicación junto a los distintos navegadores en los cuales funciona.

Citar
This repository contains the platform-specific Adblock Plus source code for Chrome, Opera, Microsoft Edge and Firefox. It can be used to build Adblock Plus for these platforms, generic Adblock Plus code will be extracted from other repositories automatically (seedependencies file).
Explica que en estos repositorios solo se encuentra la parte del código específica para cada navegador. El resto del código necesario para otros navegadores será descargado automáticamente de otros repositorios.

Citar
Note that the Firefox extension built from this repository is the new WebExtension. The source code of the legacy Adblock Plus extension can be found here.
Dice de que la versión Adblockplus para el navegador Firefox utiliza la API de Mozilla. Nos la provee Mozilla para facilitar el trabajo y aumentar la calidad final de las extensiones realizadas por los programadores de todo el mundo. En el siguiente enlace podremos ver una introducción a la API WebExtensions para saber como funciona:
 https://developer.mozilla.org/es/docs/Mozilla/Add-ons/WebExtensions/Tu_primera_WebExtension
Esta API fue incluida a partir de la versión 45 del navegador, por lo que las extensiones que utilicen WebExtensions solo funcionarán en navegadores con una versión superior.

Citar
Building
Requirements
Mercurial or Git(whichever you used to clone this repository)
Python 2.7
The Jinja2 module(>= 2.8)
For signed builds:PyCrypto module
Node.js (>= 8.9)
Aquí se encuentran los distintos programas y tecnologías necesarias para poder construir la extensión.
Mercurial o Git son programas que nos permiten descargar todo el código, documentación y archivos necesarios automáticamente para construir la aplicación. Así no tenemos que ir link por link buscando todo el código necesario copiando, pegando y guardándolo con las extensiones de archivo necesarias para cada archivo que contenga código. O descargando los archivos uno por uno. Nos ahorra tiempo y simplifica el proceso guardando todo automáticamente en una carpeta de nuestro ordenador.

Python 2.7 es una versión de Python, un lenguaje de programación usado frecuentemente, pero no de forma exclusiva, en aplicaciones de comunicaciones a través de la red.

Jinja2 es un motor escrito en Python que nos ofrece plantillas y muchas funcionalidades orientadas a mejorar la productividad y la seguridad de la aplicación.

Pycripto es un conjunto de algoritmos de cifrado. Se utiliza para cifrar y descifrar las firmas en comunicaciones cliente-servidor o para firmar la aplicación con un certificado digital, util para instalar aplicaciones en Android. Un mecanismo que evita que un usuario o aplicación actualice o acceda a datos de otra aplicación que no le pertenece. https://source.android.com/devices/tech/ota/sign_builds

Node.js es un entorno de ejecución que nos permite ejecutar el código escrito en javascript fuera del navegador, también añade funcionalidades extra al lenguaje.

Citar
Building the extension
Run one of the following commands in the project directory, depending on your target platform:
./build.py build -t chrome -k adblockpluschrome.pem
./build.py build -t edge
./build.py build -t gecko
Gecko es un motor que nos permite la ejecución de varias tecnologías como XUL en cualquier sistema operativo. Es uno de los motores que utiliza el navegador Firefox. Nosotros construiremos la aplicación para firefox asique tendremos que usar el comando
Citar
./build.py build -t gecko
trás el cual se nos generará el archivo adblockplusfirefox-1.2.3.nnnn.xpi.

Citar
The Firefox extension will be unsigned, and therefore is mostly only useful for upload to Mozilla Add-ons. You can also load it for testing purposes underabout:debugging or by disabling signature enforcement in Firefox Nightly.
Aquí explica que la extensión que voy a construir está sin firmar, con lo cual me limita a subirla a la plataforma de extensiones de Mozilla. También indica una alternativa para poder probar la aplicación sin firmar directamente en el dispositivo. Deshabilitar el forzado de firmas en el navegador Firefox Nightly. Una versión del navegador Firefox para que los desarrolladores prueben sus aplicaciones. O en el apartado de depuración about:debugging el cual ofrece herramientas para comprobar el funcionamiento de nuestro programa, principalmente para corregir errores.

Citar
Development environment
To simplify the process of testing your changes you can create an unpacked development environment. For that run one of the following commands:
./build.py devenv -t chrome
./build.py devenv -t edge
./build.py devenv -t gecko

This will create a devenv.*directory in the repository. You can load the directory as an unpacked extension, underchrome://extensions in Chrome, underabout:debugging in Firefox or inExtensions menu in Microsoft Edge, after enabling extension development features inabout:flags. After making changes to the source code re-run the command to update the development environment. In Chrome and Firefox the extension should reload automatically after a few seconds.

En este apartado se explica como podemos generar un entorno de desarrollo para las tareas de programación. Usaremos el comando
Citar
./build.py devenv -t gecko
para generar una versión no enpaquetada/construida de la aplicación en una carpeta de nuestro ordenador. Podremos cargar la extensión en el navegador de Firefox trás habilitar la opción que para el desarrollo de extensiones escribiendo la dirección about:flags en el navegador Firefox. Tras realizar cambios en el código de la extensión hay que volver a usar el comando
Citar
./build.py devenv -t gecko
para reflejar los cambios que hagamos en la extension.

Por último en el documento se ofrecen varias maneras de comprobar que todo funciona en la aplicación. Por ejemplo con Qunit se puede comprobar que el código javascript funciona correctamente. Muy útil para cuando en un proyecto se aúnen varios lenguajes de programación poder identificar cual de ellos es el que crea el conflicto para posteriormente corregirlo.

Veamos lo que hay en la carpeta:
 https://github.com/adblockplus/adblockpluschrome?files=1

Dentro se encuentran varios archivos y carpetas con distintas extensiones y propósitos.
Observando el nombre de cada uno de los archivos junto a su extensión en muchos casos podemos identificar para que podría servir cada archivo.

*Para aquellos que estén especializados en un solo lenguaje de programación les recomiendo buscar la extensión en google, por ejemplo .js para saber a que lenguaje o aplicación pertenece. Descargar un manual de referencia del lenguaje, consultar la estructura básica del mismo, varios códigos, buscar las keywords que no entiendan y las librerías usadas para poder comprender que hace cada línea de código en cada archivo. 

Paso a comentar los archivos uno por uno hasta que encontrar algo relevante dentro de mis propósitos. Una vez obtenido lo comentaré y lo dejaré ahí, ya que se tendrán suficientes herramientas y pistas para conseguir finalizar el proceso con éxito. Algo que no voy explicar para no dar pie a que cualquiera sin conocimientos se dedique a robar contraseñas de facebook replicando los pasos y haciendo uso de la extensión sin necesidad de tener conocimientos sobre los pasos o que código añadir.

+Las carpetas con el nombre github contienen documentos informativos a cerca de como documentar fallos que encontremos en la aplicación para que se puedan corregir, así como otros relacionados con la plataforma.

+En la carpeta appx_assets hay tres imágenes que corresponden al icono de la aplicación en distintos tamaños. +En gecko.js dentro de la carpeta "target" que se encuentra dentro de "build" está el primer código.
Se añade info para aplicar el parser, metadatos, y toda la información asociada con la nueva build de la aplicación.

+En nightlies.html.tmpl dentro de la carpeta "templates" que se encuentra dentro de "build" está el archivo en el que se muestran los mensajes con información sobre las diversas builds generadas de la aplicación.

+En .eslintrc.json dentro de la carpeta "build" está el código para utilizar node.js con Eslint. Las dos últimas siglas "rc" en el nombre del archivo hacen referencia a "resources" en español dependencias. Eslint se encarga de mantener una calidad en el código en base a reglas y patrones. Se genera un AST para el conformar el estilo y la estructura del código https://es.m.wikipedia.org/wiki/%C3%81rbol_de_sintaxis_abstracta
Este es el parser que utiliza Eslint - https://esprima.org/demo/parse.html
Aquí más información sobre el uso de Eslint con node.js - https://medium.com/the-node-js-collection/why-and-how-to-use-eslint-in-your-project-742d0bc61ed7
El objetivo es mantener el código bajo unas reglas para que todo el mundo pueda modificarlo bajo el mismo estilo y estructura. Se pueden descargar pluggins para añadir más reglas.

+En buildlist.js en la misma carpeta que el anterior archivo tenemos la explicación del código entre comentarios /*  */ asique me ahorro comentar la finalidad del archivo, el nombre del archivo ya es bastante descriptivo.

+publish.js el último archivo dentro de "build" se encarga de los argumentos para el parser.

+background.js dentro de "ext" tiene numerosas funciones. Se chequean las respuestas http en busca de indicios de contenido html. Se identifica la apertura de nuevas pestañas o el cambio de pestaña activa. Maneja el contenido en ventanas emergentes y en el propio fondo. Mantiene la estructura del frame actualizada. Prerenderiza iconos...

La funcionalidad más interesante, obtiene la página web y la muestra en un iframe. Asi es como la extensión tiene control sobre la página web antes de ser mostrada y la puede modificar antes de ser mostrada al usuario. Esto todo con el objetivo de eliminar la publicidad de la página web y que el usuario no la vea. https://www.w3schools.com/html/html_iframe.asp

Este archivo es interesante.

Podemos añadir nuestro código malicioso. El iframe nos permite cargar cualquier tipo de contenido. scripts, páginas web externas, anuncios publicitarios... Revisando el código a parte de tener acceso absoluto al iframe antes de mostrarlo al usuario, también tenemos acceso a la direccion URL de la pestaña. Modificando el código podemos cargar contenido específico según la URL de la pestaña al compararla con un string. Como la página solicitada por el usuario no se muestrá directamente, ya que la extensión captura la página web, en esta etapa tenemos el control absoluto sobre todo lo que se le va a mostrar al usuario.
1900  Programación / Programación Visual Basic / Re: VB.NET redirect obtener todos los enlaces en: 12 Agosto 2019, 00:37 am
Tienes que esperar a que las páginas terminen de cargarse. https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.webbrowser.documentcompleted?redirectedfrom=MSDN&view=netframework-4.8
Páginas: 1 ... 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 [190] 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 ... 287
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines