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 - ???????

#81
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
@You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login Probé poniendo mi usuario y nada.. se queda esperando algo más en la línea inferior. Probé poniendo mi usuario y después mi contraseña y también nada.

Ha intentado reestablecer el entorno de escritorio desde un live CD?

-Kirari


Mi notebook no trae lectora de cd, y no tengo usb con la imagen quemada de ubuntu tampoco.
PD: gracias por responder

Perdón quise decir Live USB. Formatee el que tiene Parrot y utilice una aplicación, por ejemplo Rufus, para crear el pendrive booteable, pero obviamente primero descargue la imagen ISO de Ubuntu, luego hace todo el proceso dicho anteriormente (claro, si usted quiere tener Parrot como S.O. secundario, también no hay problema, puede instalar el mismo). Al momento de empezar con la instalación borré solo la partición en la que se encuentre Ubuntu. Como dijo el usuario anterior, mientras tengas el /home/ separado, no habrá problemas, pero si te da igual la eliminación de todo y no hay datos importantes, entonces, puede borrar todo esa partición, crear una nueva e instalarlo ahí.

Espero haberle ayudado en algo!
Saludos.
-Kirari
#82
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
@You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login Probé poniendo mi usuario y nada.. se queda esperando algo más en la línea inferior. Probé poniendo mi usuario y después mi contraseña y también nada.

Ha intentado reestablecer el entorno de escritorio desde un live CD?

-Kirari
#83
Añadiendo a lo que dice el compañero @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login, para las versiones móviles, en lugar de que los usuarios entren desde el navegador, puede utilizar Apache Cordova que es para aplicaciones web híbridas, aunque claro tiene sus ventajas y desventajas. Todo depende de que tipo de sistema quieras desarrollar. Acá le dejo un enlace:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos!
-Kirari
#84
Presentaciones y cumpleaños / Re:Presentación
Julio 15, 2020, 12:35:04 PM
Bienvenido a bordo @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login!

Saludos!
-Kirari
#85
Python / Cifrado Katya
Julio 15, 2020, 03:11:21 AM
Prefacio

Muy buenas a todos! Espero que estén muy bien.

Hoy les traigo un tipo de cifrado que he inventado, teniendo algunos procesos ya existentes como el CBC para mejorar el sistema de encriptado. No soy matemático, por lo que las fórmulas que he escrito para el mismo no son nada del otro mundo, son bastantes simples, incluso combinándolo con el cifrado afín. Así que no hay nada de magia por detrás (aunque pueden verlo así si quieren).

Así que sin más preámbulos, comencemos.


¿Que es Katya?

Katya es un algoritmo de cifrado simétrico simple desarrollado en Python.

Cómo funciona el cifrado?

Debido a que el proceso es bastante largo de explicar por acá, les invito a leer la documentación completa que les dejaré en un rato, para así no alargarme demasiado.  ;D ;D

Cómo descargar e instalar dependencias?

Para instalar las dependencias, tipeamos lo siguiente:

Código: bash
pip install sympy


Al instalar las dependencias, como siempre, clonamos el repositorio y lógicamente, accedemos al directorio:


Código: bash

git clone https://github.com/Kirari-Senpai/Katya-Crypt.git
cd Katya-Crypt/


Documentación completa: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Cómo se usa Katya?

Acá viene lo divertido  ;D. Abrimos nuestro intérprete de Python e importamos el módulo Katya:

Código: python

from katya import Katya


Creamos el objeto katya:

Código: python

katya = Katya()


Establecemos el abecedario (o como quieran llamarlo :p):

Código: python

katya.set_ABC()


Se nos creará el siguiente abecedario:



Nota: por defecto el valor del método está en 0, por lo que si desea crear un ABC personalizado, entonces deberá pasarle una lista con una longitud de 91 elementos y los mismos no deben estar repetidos.

Ahora que tenemos todo preparado, empezaremos con el proceso de cifrado.

Cifrado

Para encriptar un mensaje, usaremos el método encrypt:

Parámetros:

- Cadena a cifrar
- Contraseña (menor o igual longitud que la cadena a cifrar)
- Vector de Inicialización (por defecto se genera de manera aleatoria, pero puede hacerlo usted mismo, aunque no es recomendable).


Código: python

msg = katya.encrypt("Hola Mundo!","katya")


Salida:



Al momento de cifrar el mensaje, se generará el IV. Para poder verlo, solo escriba:

Código: python

katya.iv


Se verá parecido a este, en longitud me refiero:



El mismo es importante, ya que servirá para descifrar el primer bloque del mensaje. Si no sabe a que me refiero, le dejo un link para que vea de que trata, ya que como dije en el prefacio, utiliza el modo de operación CBC:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


Volviendo al tema de Katya... Vieron que es bastante simple? Pero eso no es todo, más adelante les mostraré otras funciones que tiene el mismo. Ahora vamos a desencriptar.

Descifrado

Para desencriptar el mensaje, usaremos el método decrypt():

Parámetros:

- Cadena *
- Contraseña *
- Vector de Inicialización (IV) usado para cifrar el primer bloque del mensaje *
- seed (lo veremos en la siguiente sección)
- subkey1 (lo veremos en la siguiente sección)
- subkey2 (lo veremos en la siguiente sección)


Código: python
katya.decrypt("¿bbd¡#¿bch¡e¿bfa¡)¿bcg¡c¿bbh¡Y¿bbg¡*¿bcg¡X¿beh¡U¿bcg¡i¿bbd¡`¿bbd¡%¿bcg¡G¿bfb¡B¿bcg¡O¿bbg¡´¿bbd¡.¿bcg¡X¿bfa¡4¿bcf¡S¿bbh¡O","katya",katya.iv)


Salida:




Necesito más seguridad, es posible?

Por supuesto! Hay varios métodos:

Método random_ABC() y set_seed()

Con el método random_ABC() alterarás el orden original del alfabeto, por lo que darás más dificultad al atacante para saber cuál es el orden correcto. De modo que al individuo que intenta desencriptar el mensaje, no le servirá de nada obtener la contraseña si no sabe el orden de los elementos.

La salida del mismo es la semilla, es decir, el número en el cual estará ordenado tu ABC:




Lo mismo podemos hacer con el método set_seed(). A diferencia del anterior, este es personalizado:



Ejemplo sencillo



Y en efecto, se puede apreciar que la cadena de cifrado no es la misma que mostramos en el ejemplo anterior. Ahora, a descifrar, le pasamos como argumento seed, el valor entero obtenido:



El mismo ejemplo se puede aplicar también para el método set_seed().

Advertencia: hay que considerar que si pierde el numero de orden o semilla, entonces, no podrá recuperar la información al momento de querer descifrarla.


Método subkeys()

Con este método se puede establecer las dos subclaves de las que estábamos hablando antes. Bueno, con la primer subclave estableceremos un número coprimo con 91 y con la segunda un número de desplazamiento para la cadena misma. Veamos un ejemplo sencillo:



Los parámetros del método son:

Parámetros

- subkey1
- subkey2

Si no tiene idea que número coprimo utilizar, no se preocupe, no tiene que calcular nada, puede utilizar el método show_possible_subkeys():

Código: python
katya.show_possible_subkeys()

[1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 27, 29, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 43, 44, 45, 46, 47, 48, 50, 51, 53, 54, 55, 57, 58, 59, 60, 61, 62, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90]


Los valores de la subclave 2 debe ser de 1 a 91.

Para desencriptar, solo pasamos los argumentos de la siguiente manera:


Código: python
katya.decrypt(msg,"katya",katya.iv,subkey1=80,subkey2=10)


Muestra



Si bien este último método no es muy seguro, se puede combinar con los métodos anteriores y así mejorar la seguridad. Eso suena bien eh? :o

Encriptar y desencriptar archivos

Advertencia: se recomienda utilizar el método reset_all() para reestablecer todos los valores (iv,subkeys,ABC) a su estado original para evitar conflictos al momento de cifrar los archivos. Esto es para que parezca que empieza de 0.

Katya nos permite cifrar archivos de una manera muy sencilla:

Código: python
katya.file_encrypt("ruta_archivo","tu_password")


Al terminar el proceso, al archivo se le añadirá la extensión .katya y además se creará otro archivo con extensión .key donde se almacenará tu contraseña, a este último debes guardarlo en un lugar secreto.

Crearé un archivo de prueba llamado testing.txt con el contenido de "Hola Mundo!":



Y empiezo a cifrar:

Código: python
katya.file_encrypt("testing.txt","katya")




Para descifrar:

Código: python
katya.file_decrypt("testing.txt.katya","katya.key")


La salida final será, obviamente, el contenido descifrado, y el archivo .key, se eliminará.

Nota: para file_decrypt() se pueden utilizar los mismos parámetros que el descifrado común.


Mostrar mensajes cifrados de manera elegante

Realmente este método no es importante, es solo para mostrar en pantalla el mensaje cifrado de una forma más clara, nada del otro mundo :p El fin, se usa de la siguiente manera:


Código: python
print(katya.elegant(msg))




En este ejemplo, cifré el siguiente mensaje:

Código: text
Hola Mundo! Katya es un cifrado simétrico muy simple. Saludos a todos! 


Final

Bueno compañeros, espero que les haya gustado  ;D. Simplemente después de un parcial, quise relajarme un poco, y se me vino a la cabeza esto, así que decidí programarlo y plasmarlo en el foro jaja.

Falta mucho por mejorar, pero se irá viendo poco a poco, cualquier aporte al mismo, es bienvenido!

Saludos!
-Kirari
#86
No sé mucho del tema de editores de audio, pero he leído y encontrado una posible alternativa, que es el autotalent:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Espero que le sirva. Saludos!
-Kirari
#87
Ha conectado el dispositivo con la máquina virtual? Si no es así, entonces diríjase (una vez abierta la VM) a la pestaña de Dispositivos, luego vaya a la sección USB, y marque su adaptador. Con eso, debería funcionarle.

Espero haberle ayudado. Saludos!
-Kirari
#88
Buenas @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:)

He visto varios errores en tu código.

Para empezar, si quiere mostrar todos estos valores:


Código: python

parametros = 'status,country,countryCode,region,regionName,city,zip,lat,lon,timezone,isp,org,as,query'
data = {"fields":parametros}


Entonces, realmente no hace falta que hagas un string con los mismos, lo mismo va para la variable data, ya que al hacer la petición, basta con enviarle la misma IP y nada más.

En la función ip_scraping, si *ip=""* quiere decir que al ingresar nada, devuelva los datos de su propia ip, entonces, podría solo dejar el parámetro ip, ya que al concatenarla con la cadena *api_url* va a ser igual a la misma.

Luego tenemos el for:


Código: python

par = parametros.split(",")
   for x in par:
      print(x.upper(), ":")
      print(ip_scraping(ip)<ul class="bbc_list"><li type="square">)[/li][/list]
      print("\n")


En esta sección del código se itera sobre todos los valores de la lista par. Por cada iteración, se imprime el mismo objeto JSON. Y además, no sé que quiso hacer acá, además de lo dicho anteriormente, aunque lo más probable es que se haya confundido:

Código: python

print(ip_scraping(ip)<ul class="bbc_list"><li type="square">)[/li][/list]


Hay otro par de errores que mencionar, pero creo que le falta aprender un poco más sobre Python. Acá le dejo un manual que le guiará bastante a mejorar todo lo dicho.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Y además, le dejo mi versión de su código (lo hice más módular) para que lo examine. No dude en preguntar, acá estaremos para ayudarlo  ;) ;)

Código: python

import requests
import json

# URL de la API
api_url = "http://ip-api.com/json/"

# Obtener toda la informacion acerca de la IP
def get_info(ip):
    # el .decode() sirve para decodicar la cadena que está en bytes
    res = requests.get(api_url+ip).content.decode()
    return res

# Obtener objeto JSON
def get_object(request_obj):
    api_json_res = json.loads(request_obj)
    return api_json_res

# Guardar resultados
def save_results(info):
   
    # Obtener la info como un objeto
    ip_object = get_object(info)

    results = "\n"
   
    # Recorrer objeto por identificador key y almacenar en results la cadena
    for key in ip_object:
        results += key + ": " + str(ip_object[key]) + "\n"

    return results

if __name__ == '__main__':
   
    # Solicitamos la entrada
    ip = input("Ingrese la dirección IP: ")
   
    info = get_info(ip)
   
    results = save_results(info)

    # Mostrar resultados
    print (results)


Saludos!
-Kirari
#89
Los de las películas tienden a mostrar las cosas muy exageradas para atraer al espectador (lo típico es mostrar decenas de ventanas negras por segundo xD), por lo que se aleja mucho de la realidad. En cuanto a los hackers reales, si Hollywood tuviera que mostrar el proceso real del hacking, las películas sobre los mismos sería muy aburrido para la gran mayoría del público (no siempre ocurre eso, por ejemplo, la serie Mr. Robot vale la pena, es fantasiosa pero se acerca más a la realidad que otras películas o series). 

Saludos!
-Kirari
#90
GNU/Linux / Re:Unknown_
Julio 12, 2020, 05:49:29 PM
Fua desconocía de esta distro, se ve bastante buena, gracias por el aporte compañero!

Saludos!
-Kirari
#91
@You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login Uuuh muchas gracias!!  ;D ;D
#92
Me ha gustado mucho como has implementado mi viejo script en tu gran proyecto, sin duda la idea del cracking distribuido resulta grandiosa. Nuevamente felicitaciones amigo por todos estos grandes aportes  ;D ;D ;D

Ya tendremos esa GUI esperada, un poco de paciencia  :D

Saludos!
-Kirari
#93
Como le dije anteriormente, al intentar inyectar código, el mismo sitio puede que lo evite y lo redireccione un error 403. Sin embargo, entrando desde el navegador no se "notaría nada raro", por lo que una vez que se detecta algo inusual, directamente es bloqueado. Te dejo un enlace de un post del foro, en el que explica cómo puede detectar el WAF mediante la misma herramienta y bypassearlo (obviamente, esto no siempre funciona), de ahí puede que se saque la duda:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Espero haberte ayudado en algo. Saludos!
-Kirari
#94
Buenas! Los problemas pueden ser varios, entre ellos de que no tenga los permisos suficientes para analizar ese directorio o también que haya un Firewall Web o IDS que esté evitando cualquier tipo de inyección de código, por lo que lo redirige a un error 403.

Saludos!
-Kirari
#95
Buenas @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login!

Citar
¿Con Visual studio 2019 Community 2019 se puede usar PowerShell?

Respondiendo a esta pregunta, si se puede. Acá le dejo un link que habla con respecto a ello: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Y respondiendo a esto:

Citar
Quiero adaptar este código de Python 2.7 a PowerShell.

¿Es posible?

Parte del código básico lo vas a poder adaptar, el problema viene con el módulo TKinter. Pero no creo que sea un problema, ya que Powershell cuenta con formas de crear GUIs. Aunque no le recomendaría mucho usarlo para lo que interfaces respecta, a pesar de que esté desarrollado en C#. Todo esto implica que usando el propio C#, valga la redundancia, pueda obtener un mejor resultado.

De todas formas, acá le dejo unos links de orientación:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Espero haberle ayudado en algo. Saludos!
-Kirari
#96
Muy buen aporte compañero, muchas gracias por el mismo, lo probaré  :D :D

Saludos!
-Kirari
#97
Hacking / Re:Fallas de seguridad en el codigo fuente
Julio 05, 2020, 06:20:08 PM
Una experiencia bastante curiosa e interesante. Los desarrolladores deberían tener más cuidado al momento de lanzar sus proyectos.

Muy bueno @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login  ;D ;D
#98
Así como el compañero @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login le dijo que pase la cadena a una de tipo bytes para enviar, al recibir el mensaje también hay que decodificarlo. Por lo que la cadena recibida que está en bytes, deberá pasarlo nuevamente a un string con codificación UTF-8 por default, de la siguiente manera:

Código: python
CMD = subprocess.Popen(command.decode(), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)


Saludos!
-Kirari
#99
Dudas y pedidos generales / Re:Informatica
Junio 26, 2020, 02:47:06 PM
Puede pasarse por este post de nuestra compañera @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login  ;D

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos!
-Kirari
#100
Dudas y pedidos generales / Re:Generar trafico
Junio 26, 2020, 02:41:37 PM
Puede implementar Python de una manera muy sencilla, de la siguiente manera:

Código: python


import socket

host = "www.google.com.ar"
port = 80

request = "GET / HTTP/1.1\r\nHost:{}\r\n\r\n".format(host)

s = socket.socket()
s.connect((host,port))

# Y haces la petición
s.send(request.encode())

# Puede ver la respuesta de una manera sencilla:
respuesta = s.recv(4096)

print(respuesta)



Hay muchas formas, pero acá le dejo una.

Espero haberte entendido y ayudado. Saludos!
-Kirari