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ú

Temas - ze0rX

#1
Criptografía / Verificar hash desde PowerShell
Junio 16, 2024, 03:38:58 AM
Hola Underc0der's!!

Veamos como podemos verificar la integridad de un archivo o la firma o clave en base a la función especificada de un archivo.

Para este ejemplo vamos a usar una archivo ejecutable para windows donde la firma es un algoritmo MD5 que es un protocolo criptográfico.

 MD5 (Message Digest Algorithm) = Algoritmo de Resumen del Mensaje

Abrimos nuestro PowerShell y haremos uso del cmdlet Get-FileHash para verificar la integridad o el contenido de un archivo.

Mi archivo se llama Snort_2_9_20_Installer.x64.exe y para verificar su descargar usaremos la que nos indica el fabricante: af994274e16f61cf29b5195ffc10b3cf

Dentro de PowerShell la forma mas simple de extraer o calcular el valor del hash es con el comando:

        ~> Get-FileHash Snort_2_9_20_Installer.x64.exe | Format-List

Lo que nos dará el siguiente resultado:

Algorithm : SHA256
Hash      : 68F1942D4944FE8D131E1B59D4998757DE33A64632FAAD8F852EEC356DF4ECE6
Path      : C:\tmp\Snort_2_9_20_Installer.x64.exe

Como ven nos dio el resultado predeterminado de una función en base al algoritmo SHA256, la que requerimos para validar la integridad del archivo es el algoritmo MD5 y lo haremos mediante el el parámetro Algorithm

        ~> Get-FileHash -Algorithm MD5 Snort_2_9_20_Installer.x64.exe | Format-List

Algorithm : MD5
Hash      : AF994274E16F61CF29B5195FFC10B3CF
Path      : C:\tmp\Snort_2_9_20_Installer.x64.exe

De esta manera con un par de comandos podemos usar PowerShell para verificar la integridad de nuestras descargas utilizando el algoritmo especificado.
Ahora para comprobar la cadena de texto desde PowerShell pondremos un signo de $ y enseguida la cadena que queremos comparar, por ejemplo la firma que tenemos $af994274e16f61cf29b5195ffc10b3cf después de un espacio pondremos el operador -eq que nos dará como resultado True o False según sea el caso, terminaremos de completar nuestro comando con el signo $ y la salida que nos dio PowerShell al calcular el algoritmo MD5 $AF994274E16F61CF29B5195FFC10B3CF, al final quedaría así:

           ~> $af994274e16f61cf29b5195ffc10b3cf -eq $AF994274E16F61CF29B5195FFC10B3CF

Lo cual nos da como resultado True.

Utilizando el parámetro -Algorithm podemos calcular los algoritmos MD5, SHA1, SHA256, SHA384, SHA512
Si quieres profundizar mas en su funcionalidad completa te dejo el enlace a la documentación oficial de Microsoft.

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Saludos Underc0der's
Hail Underc0de!
 
#2
Android / Jetpack Compose Kotlin (Text)
Mayo 12, 2024, 12:52:33 AM
Hola Underc0der's!!

Jetpack compose es una forma de programar aplicaciones Android junto con kotlin ya que para la lógica y la vista puedes usar el mismo lenguaje, la diferencia es que para una función de la vista debe ser con la siguiente anotación @Composable, estas funciones solo se pueden llamar desde otra función composable, ya dentro de un proyecto de Android studio baja la empty activity y un proyecto composable, podemos agregar un nuevo file con el formato kt y ponerle el nombre que queramos, ya abierto el archivo en el ide de Android la forma mas simple seria:

 @Composable
 fun MiBotonParaGuardar() {

     //FILA (Row)
     //COLUMNA (Column)
     //ESPACIO (Spacer)
     //TEXTO (Text)
     //ICONO (Icon)
     //IMAGEN (Bitmap,drawable)
     //LIENZO (Canvas)
     //QUERY (Room)
     //SERVICIO (Retrofit)
     //ETC ETC ETC

 }

para esta ocasión usaremos un Text() el cual tiene todas estas propiedades:

    text: String,
    modifier: Modifier = Modifier,
    color: Color = Color.Unspecified,
    fontSize: TextUnit = TextUnit.Unspecified,
    fontStyle: FontStyle? = null,
    fontWeight: FontWeight? = null,
    fontFamily: FontFamily? = null,
    letterSpacing: TextUnit = TextUnit.Unspecified,
    textDecoration: TextDecoration? = null,
    textAlign: TextAlign? = null,
    lineHeight: TextUnit = TextUnit.Unspecified,
    overflow: TextOverflow = TextOverflow.Clip,
    softWrap: Boolean = true,
    maxLines: Int = Int.MAX_VALUE,
    minLines: Int = 1,
    onTextLayout: ((TextLayoutResult) -> Unit)? = null,
    style: TextStyle = LocalTextStyle.current

si usamos el Android studio por defecto podemos leer la documentación de cada uno y profundizar en su funcionamiento. Centrémonos en el primero que es de tipo string, para llamarlo y pasarle el parámetro del texto que queremos imprimir en la pantalla de Android seria la siguiente:

  Text(text = "Hi! Underc0der!!")

y con esto ya tenemos nuestro texto en la pantalla sin ningún formato, ni layout ni nada, un solo texto en pantalla y ya.
Para visualizarlo sin iniciar el emulador o nuestro dispositivo solo hay que agregar la anotación arriba de Composable de la siguiente forma:

@Preview
@Composable
fun MiBotonParaGuardar() {
     Text(text = "Hi! Underc0der")
}

Se vería de la siguiente forma:


Así es como se ve nuestro saludo, para ver el background y que no se vea así hay que agregar entre paréntesis seguido de la anotación @Preview(showbackground = true)



Nuestro texto esta listo para ser leído, ahora agregaremos nuestro botón de la siguiente manera debajo de nuestro text:

Button(onClick = { /*TODO*/ }) {
       
}



Como vemos se encima uno de otro porque no tiene un layout básico que los ordene, usaremos un componible Column que ordenara uno debajo de otro nuestro texto y nuestro nuevo botón:



Para ponerle una descripción a nuestro botón usaremos de nuevo nuestro componible Text()

@Preview(showBackground = true)
@Composable
fun MiBotonParaGuardar() {
    Column {
        Text(text = "Hi! Underc0der")
        Button(onClick = { /*TODO*/ }) {
            Text(text = "Recomponer")
        }
    }
}

ahora declararemos una variable que inicializaremos vaciá y para que el componible lo recomponga debemos agregarle un estado con la siguiente definición:
var underSaludo by remember { mutableStateOf("") }

se declara el by remember para permitir la delegacion de los valores usando el estado que necesitamos para recomponer nuestro underSaludo y a nuestro onClick le agregaremos el nuevo valor a nuestra variable que queremos que recomponga en la vista:



Excelente, tenemos todo para poner a prueba nuestro boton: ;D



Y listo, nuestra UI recompone nuestro string, para alinear nuestros dos componentes dentro de nuestra columna agregamos paréntesis seguido del componible
Column(horizontalAlignment = Alignment.CenterHorizontally) y lo que hará es alinear dando direccion a todo el contenido.


Deseo sea útil esta pequeño tutorial sobre como recomponer la vista de Android usando solo kotlin con jetpack compose.

Hail Underc0de!
#3
:)  :)  Hola Underc0der's, he estado desactualizado por 2 años en temas de seguridad informática y este apasionante mundo y quiero compartirles una ruta hecha por cisco academy que me parece una alternativa para aprender si no sabes por donde empezar en la seguridad o el hacking por la masiva información de que es un hacker, que hace un hacker, como sé que soy un hacker, que tengo que hacer para ser un hacker, cuanto gana un hacker, cuantos tipos de hacker's hay, etc., etc. quiero decirte que debemos digerir poco a poco esta información, ya que requiere mucho leer y mucho practicar para comprender y entender mejor como funciona un ataque, cuáles son las superficies de ataque, como implementar y detectar un ataque y después como parchear mediante código o herramientas especializadas para eso.

Bueno, primero deben tener un correo electrónico válido y de preferencia pongan su nombre completo para que las insignias que vayan ganando puedan compartirlas en redes como LinkedIn y sumar valor a su cv aunque precisamente no trabajen en este momento de esto, puede ser para adquirir nuevos conocimientos, pero esa es la finalidad, ¿de acuerdo?, o igual por si lo quieres tomar por puro periodo vacacional que excelente decisión...

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Este tiene una duración de 6 horas en las que introduce conceptos que se usan comúnmente en el mundo de la ciberseguridad.

Después de que hayan terminado y quieran continuar con su aprendizaje, les recomiendo tomar 3 cursos que son gratuitos:

1- No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
2- No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
3- No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Esto es importante de saber para los laboratorios que seguirán en el curso intermedio de hacking ético

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Todos los cursos generan insignias y esto suma a nuestros conocimientos para poder en el futuro, en caso de que así lo decidan, laborar en la industria, hacer una certificación como CCNA  o divertirse...

El total de horas para los cursos que les dejo en este post son de 128 horas a su propio ritmo.


Espero que sea de útil esta información y recuerden que el hacking no es un crimen, es un arte.
Hail Underc0de!
#4
GNU/Linux / Subsistema de Linux para Windows
Abril 01, 2023, 04:09:48 PM
¡¡Que tal underc0ders!!

Les comparto una guía sobre cómo tener montada una distribución Linux sin VMware y sin virtual box pesando 95.80 MB, para trabajar o hacer pruebas con la terminal de comandos de Linux y aprovechar los recursos de Windows.

Primero vamos a cerrar todos los programas que tengamos abiertos porque se necesita reiniciar el equipo.

INSTALACIÓN DE CARACTERISTICAS DE WINDOWS
Vamos abrir una ventana de cmd y vamos a teclear: control appwiz.cpl y enter, nos abrirá una ventana del panel de control de windows y buscaremos del lado izquierdo Activar o desactivar las caracteristicas de Windows.       
En segundo lugar vamos a bajar hasta el final y buscaremos la característica Subsistema de Windows para Linux, la seleccionamos y damos aceptar, esperamos que termine y reiniciamos Windows.

INSTALACIÓN DE WLS
Nuevamente vamos abrir una ventana de cmd y vamos a teclear: start ms-windows-store:. Dentro de la tienda de aplicaciones de Microsoft en la barra de búsqueda teclearemos Debian.
Le damos Obtener esperamos la descarga y la instalación, una vez que termine nos pedirá un nombre de usuario y contraseña igual que cualquier distribución Linux.

Ahora podemos abrir nuestro terminal de Linux escribiendo Debian en el buscador de windows.

ACTUALIZACIÓN DE WSL
Una vez abierto nuestro terminal vamos a teclear sudo apt-get update y sudo apt-get upgrade, en ambos comandos vamos a confirmar con la tecla Y y enter.

INSTALACIÓN DE APACHE2 Y LANZAMIENTO
Una vez actualizado nuestro pequeño subsistema, vamos a instalar apache2 para que se den una idea de lo que pueden hacer, vamos a teclear sudo apt-get install apache2 y confirmamos con la tecla Y.
Cuando termine vamos a validar si el servicio se encuentra corriendo o detenido con el siguiente comando:
sudo service apache2 status, nos mostrara un mensaje como el siguiente: apache2 is not running ... failed! , para solucionar esto escribimos dentro de nuestra terminal de Linux el siguiente comando: sudo service apache2 start y nos dará la siguiente salida: Starting Apache httpd web server: apache2. . Comprobamos que el servicio este corriendo nuevamente con: sudo service apache2 status y veremos la siguiente salida: apache2 is running.


INSTALACIÓN DE HERRAMIENTAS DE RED
Como la distro que instalamos es muy sencillita, vamos a ponerle un poco de ambiente e instalaremos net-tools, para poder ver interfaces de red y modificarlas a nuestro beneficio. Teclearemos sudo apt-get install net-tools

VISUALIZACIÓN DE APACHE2
Dentro de la consola de Linux vamos a validar la IP que tenemos asignada, en mi caso es la 172.21.200.249, colocare esa IP en mi navegador y me mostrara la página de default de apache.

Y ya está, tenemos un pequeño Linux dentro de windows sin necesidad de virtual box o VMware.

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Espero les sea de utilidad para explorar nuevas funciones o servicios.
Si tienen algún problema con gusto los ayudo

¡¡Saludos Underc0ders!!