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

#121
Dudas y pedidos generales / Re:Sockets y HTTP
Agosto 02, 2016, 12:49:13 AM
A pesar de que es un request correcto según las especificaciones rfc7230 (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) algunos servidores lo rechazan. Puedes probar agregando el header "Host" con el nombre del dominio:

Código: text
GET / HTTP/1.1\r\nHost: host:port\r\n\r\n


Si obtienes un código de estado 301, es posible que el servidor al que consultas utilice SSL, con lo cual el servidor quizás no pueda brindarte el contenido que deseas si no es a través de ese medio.


Saludos
#122
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
1- ¿se debe complementar con otras ramas de la seguridad?

No es necesario, pero así suele ser.

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
2- ¿Sinceramente vale la pena estudiar esto (perfeccionar) ?

Ciertamente, este es un tema esencial en muchas ramas de la (in)seguridad informática.

Para las prácticas te vas a apoyar de un lenguaje de programación y vas a comprender el funcionamiento de algún protocolo.

Existe una serie de desafíos prácticos llamados "Matasano Crypto Challenges" los cuales te obligan a tener bases teóricas de criptografía. Además, en un post referido a estos desafíos, quien escribe especifica los conocimientos que le han sido necesarios para poder realizar las prácticas.

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

Matasano Crypto Challenges:
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
#123
Las opciones más directas son a través de configuraciones del archivo xorg.conf (si no lo tienes, este archivo lo puedes crear en /etc/X11/xorg.conf) o colocando la linea de comandos a ejecutar en el archivo ~/.xprofile.

Tengo entendido que Kali utiliza Gnome como entorno de escritorio, entonces puedes utilizar gdm startup scripts. Precisamente la wiki de ubuntu te brinda información de las opciones:

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

Puedes buscar más información en:

man 5 xorg.conf


Saludos
#124
Este es un problema a detectar desde el lado del cliente porque, de lo contrario, nunca obtendrías ninguna notificación.

Desde javascript tienes dos opciones:

* XHR requests para comprobar si algún recurso se encuentra en línea.
* La propiedad 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/o los eventos online y offline.

Pero las dos alternativas no son del todo efectivas ya que si pones tu navegador en "modo offline" no podrás obtener respuestas a los requests 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 será true.

fuentes:
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
#125
Cómo dominar el desarrollo


Es probable que los siguientes enunciados te parezcan obvios pero créeme, aún cuando ya sabemos programar en otros lenguajes, no nos damos cuenta de lo que tenemos que hacer.


Comprende la estructura de archivos de los proyectos

En diferentes ocasiones puede darse el caso de que no sabemos cómo empezar a analizar o a programar un proyecto de software desarrollado en el lenguaje que estamos aprendiendo o ya conocemos. Al ver muchos archivos, posiblemente de diferentes formatos, y directorios inmediatamente nos viene a la cabeza la idea de que dicho proyecto es muy complejo o de que no estamos lo suficientemente capacitados como para adentrarnos en el mismo.

Hoy en día es normal que existan proyectos con muchos archivos y directorios. Incluso los IDEs de desarrollo crean toda una estructura de archivos para tu primer 'hola mundo'. Muchos archivos de configuración, scripts, templates, dependencias, referencias, patrones, frameworks, uso de build systems, continuous integration, versionado. Esto es porque las comunidades de desarrollo siempre buscan una mayor facilidad y una mejor comodidad. Realmente lleva el costo de una curva de aprendizaje muy larga para el principiante, pero créeme, una vez que entiendes estos conceptos el mundo del desarrollo se vuelve sencillo.


La estructura de los proyectos complejos como aquellos basados en las autotools pueden ser muy difíciles de seguir. Pero una vez que entiendes los motivos detrás de ellos resulta sencillo encontrar lo que buscas.

Si eres un principiante entonces a empieza curiosear tus propios proyectos. Es muy probable que tengas un IDE o un framework de herramientas que te ayude en el desarrollo como Netbeans para Java, Visual Studio para .NET, el framework Ruby On Rails para Ruby, etc. Cuando creas un proyecto desde cero ya tienes toda una estructura de archivos pero vamos que es lo más básico que puedes tener. Analiza cada uno de estos archivos, busca y encuentra su significado y utilidad, averigua si son necesarios y porque están allí.


La organización utilizada para programar aplicaciones nativas de Android es útil tanto para el desarrollador como para el build system.

Quizás sólo creas scripts o archivos compilables. Intenta ir más lejos, aprende como modularizar tu código en diferentes archivos, librerías o paquetes. Aprende a utilizar un build system.

Si eres conocedor, entonces debes empezar por el entry point. Observa el ante-último consejo.


Conviértete en un compilador humano

Esto suena vago, pero a la vez muy abarcativo. No te pido que sepas como crear instrucciones en código máquina (física o virtual) a partir de un código fuente. Tampoco sugiero que conozcas a la perfección cada estructura o librería que te brinda tu lenguaje.

Lee código. Si no entiendes una estructura entonces no terminas de entender el lenguaje. Si no entiendes los conceptos, vocablo y palabras clave que suele utilizar la comunidad, no terminas de entender el lenguaje.

Si eres un principiante entonces utiliza un debugger para ver paso a paso lo que hace tu compilador o intérprete y así comprender mejor. Esto puede parecer complejo en un principio, pero créeme, el debugger puede enseñarte muchas cosas. Pero no abuses de esta herramienta (puedes volverte un adicto), sólo debes utilizarlo una vez que te hayas golpeado mil veces la cabeza contra la pantalla.


El debugger de Visual Studio es una herramienta interactiva que, además, puede realizar acciones bajo demanda (lazy loading).

Lee los manuales y referencias oficiales. Documentaciones como manpages, info files, MSDN Library, perldocs, The Python Standard Library, etc, no existen solamente para ocupar un espacio en internet.


Utiliza los conceptos y términos propios del lenguaje y de las herramientas

Siempre trato de resaltar lo importante que es esto. Suelo encontrarme con personas, ya sean principiantes o programadores sin organización, con las cuales es difícil entablar una conversación ya que no saben utilizar correctamente palabras propias del lenguaje o del entorno de programación. Existen veces que utilizamos incorrectamente los conceptos, o que ni siquiera los utilizamos, y alargamos diálogos sin sentido.


Cuando te encuentras en entornos como el que brinda el framework Angular debes tener muy en claro los conceptos que se utilizan.

Nunca dejamos de aprender, pero aprendemos muy bien a ignorar. El mundo de las computadoras y de la programación se basa en conceptos bien definidos. Cuando leas documentación, toma las palabras claves y aprende el significado y no supongas nada ya que un lenguaje y su entorno pueden guardar funcionalidades y características que no conoces.


Empieza el análisis por el entry point del codebase

Todo sistema tiene un entry point y por lo tanto todo proyecto de software tiene su entry point. Tanto para el analista de proyectos de terceros como para el principiante aprendiz de un lenguaje es muy útil saber cuál es ese punto de entrada en el que su programa es un ente en ejecución.

Entry Point, lifecycle y Codebase son conceptos muy utilizados en internet. Cuando quieras saber acerca del entry point, estructura del codebase de un lenguaje o tipo de proyecto, o lifecycle de una aplicación que comúnmente cumple el rol de servidor, entonces utiliza esas palabras en el buscador o en foros, por ejemplo stackoverflow.

Es sabido que el entry point de lenguajes como Java, C# o C/C++ es una función con ciertas características. Pero en lenguajes de scripting y proyectos implementados con un framework, no es tan fácil saber por dónde comienza la ejecución. En ocasiones, las prácticas comunes y recomendaciones de la comunidad, especifican una cierta organización y codificación para poder identificar el entry point. Por ejemplo, Python por defecto puede ejecutar el código de cualquier archivo con código fuente, sin embargo los desarrolladores suelen limitar esto a través de cláusulas en el código (por ejemplo, if __name__ == "__main__":) y con nombres de archivo identificables como (por ejemplo, __main__.py).


Tener conocimiento del entry point y de los diferentes módulos utilizados por una aplicación es esencial para poder analizar e innovar. El HTTP Message lifecycle de un 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 WEB API nos brinda pautas para poder hacer un seguimiento de la funcionalidad del web service.


Sigue las convenciones utilizadas

Cuando veas código, ya sea cuando estas siguiendo alguna documentación o analizando proyectos de terceros, presta atención a las formas de codificación, a la organización y a los patrones utilizados.

Todo lenguaje, en cuanto a la codificación y organización, tiene sus lineamientos estándar de codificación, sus buenas prácticas, sus prácticas comunes y sus patrones comunes de desarrollo. Los proyectos suelen utilizar algunas de estas prácticas y patrones, pero además crean sus propias convenciones.


La comunidad de desarrolladores C# suele seguir los lineamientos y convenciones utilizados por ReSharper y los diferentes MSDN guidelines and conventions.

También existen convenciones para la organización de los archivos de un proyecto. Analiza y averigua la razón de tal organización.



Visita #UNDERtips en el 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
#126
Como puedes ver, el error es porque se busca componenetes y paquetes para una arquitectura no existente:

main/binary-i368/Packages

Comandos como dpkg --print-architecture (para imprimir la arquitectura por defecto para los paquetes, y para la cual dpkg ha sido compilada) y dpkg --print-foreign-architectures (para arquitecturas extra) deberían mostrar las arquitecturas para las cuales dpkg busca los paquetes.

Prueba quitando esta arquitectura:

Código: text

dpkg --remove-architecture i368
apt-get update



NOTA: quizás tu computadora tenga una arquitectura x64 (o amd64) y quieras agregar la arquitectura i386, esto lo haces con la opción --add-architecture:

Código: text
dpkg --add-architecture i386
apt-get update


Saludos
#127
Es correcto,

el código es muy críptico, pero al final termina cumpliendo su propósito. Si invocas lg.Insertar(2, 15) logras colocar un Nodo en la posición 2.

Saludos
#128
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
Bueno, al principio raiz apunta a null.
raiz = null;

Luego viene un nodo con la informacion 10.
lg.Insertar (1, 10);

Luego, el campo sig de este nodo apunta a raiz, que contiene null.
nuevo.sig = raiz;

Luego viene otro nodo con la informacion 20.
lg.Insertar (2, 20);

Luego el campo sig del nodo con la informacion 10 apunta al nodo con la informacion 20? Y con eso el nodo con la informacion 10 deja de apuntar al nodo raiz=null?
Código: csharp

Nodo reco = raiz;

while (reco.sig != null)
{
    reco = reco.sig;
}

reco.sig = nuevo;
nuevo.sig = null;


Tu lógica es correcta, como puedo ver el Nodo con info 10 ahora referencia al Nodo con info 20 en su campo sig. Y este último (el Nodo con info 20) referencia a null en su campo sig.

Saludos
#129
El módulo tiene dos procedimientos y, como lo veo yo, deberías usar solo uno de los dos para cambiar el color de un control.

Para cambiar el color de un control, en este caso un label, se suele utilizar la propiedad ForeColor (foreground color of the control). Esta propiedad requiere de un objeto tipo System.Drawing.Color, que es justamente lo que obtienes con el método Color.FromArgb(). Entonces, suponiendo que tienes un control Label1, puedes hacer:


Código: vbnet
Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click
    Me.Label1.ForeColor = RandomRGBColor()
End Sub


o

Código: vbnet
Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click
    Me.Label1.ForeColor = RandomQBColor()
End Sub


Saludos
#130
Tengo entendido que lamentablemente no existe públicamente un exploit Remote Code Execution para este CVE. Una vez se ha publicado un script python llamado "MS12-020 Exploit by Sabu" pero resultó ser un fake.

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
#131
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 Grep , sorprendentemente ayer mismo hice un vídeo sobre esto . la verdad es que es casualidad también que tu ayer escribas sobre esto. sinceramente es una gozada poder leerlo también y no solo disfrutarlo en vídeo . Saludos ;)

P.D : Aquí dejo el vídeo por si alguien lo quiere ver -> 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

Mucha casualidad de verdad, gracias por el aporte @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
#132
Dudas y pedidos generales / Re:Juegos BBS en FTP
Julio 19, 2016, 11:28:03 PM
Quizás ya lo sepas, pero dejo lo siguiente a modo de aporte.

Esos juegos son programas llamados BBS doors.

Un BBS door (conocido en el mundo BBS como door o external program) es un programa que corre fuera del entorno de un BBS (bulletin board system) pero que se comunica con el mismo a traves de una interfaz (dropfiles y un I/O Method).

Para empezar con el desarrollo primero debes de tener configurado el entorno.

Necesitas un Bulletin Board System Software (o BBS Software) para brindar el servicio BBS en tu computadora. Además debes comprobar el soporte para BBS doors que brinda el mismo. Un BBS Software muy conocido es Synchronet.

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

Comunmente se utiliza un BBS door development kit (o door kit) para facilitar el desarrollo. Los BBS doors eran desarrollados con lenguajes clásicos como C, Pascal, Turbo Pascal y BASIC. Pero ahora, ya que el software BBS puede correr en plataformas modernas, se pueden programar en otros lenguajes como C++, Javascript y C#.

No se encuentra mucha documentación del tema. Pero existen algunos repositorios con código fuente de diferentes lenguajes para el desarrollo de BBS doors. Los repositorios de Rick Parrish son ideales para entrar en el tema ya que tiene su propio BBS Software (GameSrv), dos librerías door kit (RMDoor para Pascal y RMLib para C#), y varios juegos.

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

Otra 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

Saludos
#133
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 es Mail harvesting?

Regards,
Snifer

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

corregido, gracias
#134
Tu análisis es correcto,

en los primeros dos ciclos del bucle for, en donde la variable minuto es 0 y 1, el programa no ejecutará el cuerpo del bloque if. Osea, no se realiza ninguna acción.

Saludos
#135

Email Harvesting

El siguiente es un procedimiento de Information Gathering (uno de los pasos programados en el pentesting) que se denomina Email Harvesting y puede ser utilizado por el atacante para realizar una campaña de pishing contra una organización apuntando a emails de los miembros de la misma. Por suspuesto, no debemos suponer que esta técnica es efectiva ya que solamente basa en la utilización de los buscadores.

Uno de los tantos módulos que el Framework Metasploit ofrece es search_email_collector el cual realiza búsquedas de email asociados a un dominio utilizando google, bin y yahoo. La localización de este módulo es: auxiliary/gather/search_email_collector

Accedemos a Metasploit a través de la interface msfconsole, pero si prefieres puedes usar otra de las existentes.

Código: text

[ metasploit]$ msfconsole
                                                 
_                                                    _
/ \    /\         __                         _   __  /_/ __
| |\  / | _____   \ \           ___   _____ | | /  \ _   \ \
| | \/| | | ___\ |- -|   /\    / __\ | -__/ | || | || | |- -|
|_|   | | | _|__  | |_  / -\ __\ \   | |    | | \__/| |  | |_
      |/  |____/  \___\/ /\ \\___/   \/     \__|    |_\  \___\


       =[ metasploit v4.12.13-dev                         ]
+ -- --=[ 1562 exploits - 904 auxiliary - 269 post        ]
+ -- --=[ 455 payloads - 39 encoders - 8 nops             ]
+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]

msf >



Podemos encontrar este módulo de la siguiente forma:

Código: text
sf > search type:auxiliary name:email
[!] Module database cache not built yet, using slow search

Matching Modules
================

   Name                                     Disclosure Date  Rank    Description
   ----                                     ---------------  ----    -----------
   auxiliary/client/smtp/emailer                             normal  Generic Emailer (SMTP)
   auxiliary/gather/search_email_collector                   normal  Search Engine Domain Email Address Collector
   auxiliary/vsploit/pii/email_pii                           normal  VSploit Email PII


msf >



Seleccionamos el módulo:

Código: text
msf > use auxiliary/gather/search_email_collector
msf auxiliary(search_email_collector) >



Ejecutamos el comando 'info' o 'show options':

Código: text
msf auxiliary(search_email_collector) > info

       Name: Search Engine Domain Email Address Collector
     Module: auxiliary/gather/search_email_collector
    License: Metasploit Framework License (BSD)
       Rank: Normal

Provided by:
  Carlos Perez <[email protected]>

Basic options:
  Name           Current Setting  Required  Description
  ----           ---------------  --------  -----------
  DOMAIN                          yes       The domain name to locate email addresses for
  OUTFILE                         no        A filename to store the generated email list
  SEARCH_BING    true             yes       Enable Bing as a backend search engine
  SEARCH_GOOGLE  true             yes       Enable Google as a backend search engine
  SEARCH_YAHOO   true             yes       Enable Yahoo! as a backend search engine

Description:
  This module uses Google, Bing and Yahoo to create a list of valid
  email addresses for the target domain.

msf auxiliary(search_email_collector) > show options

Module options (auxiliary/gather/search_email_collector):

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   DOMAIN                          yes       The domain name to locate email addresses for
   OUTFILE                         no        A filename to store the generated email list
   SEARCH_BING    true             yes       Enable Bing as a backend search engine
   SEARCH_GOOGLE  true             yes       Enable Google as a backend search engine
   SEARCH_YAHOO   true             yes       Enable Yahoo! as a backend search engine

msf auxiliary(search_email_collector) >



Vemos que mínimamente necesitamos configurar la opción DOMAIN para poder ejecutar este módulo. Procedemos (utilizando un dominio de ejemplo como blanco):

Código: text
msf auxiliary(search_email_collector) > set DOMAIN uni.edu.com
DOMAIN => uni.edu.com
msf auxiliary(search_email_collector) >



Ejecutamos el módulo y esperamos para ver si obtenemos algún resultado:

Código: text
msf auxiliary(search_email_collector) > run

[*] Harvesting emails .....
[*] Searching Google for email addresses from uni.edu.com
[*] Extracting emails from Google search results...
[*] Searching Bing email addresses from uni.edu.com
[*] Extracting emails from Bing search results...
[*] Searching Yahoo for email addresses from uni.edu.com
[*] Extracting emails from Yahoo search results...
[*] Located 23 email addresses for uni.edu.com
[*] [email protected]
[*] [email protected]
[*] [email protected]
[*] [email protected]
[*] [email protected]
.
.
.
[*] [email protected]
[*] Auxiliary module execution completed
msf auxiliary(search_email_collector) >



Como agregado final, también podemos configurar la opción OUTFILE para especificar un archivo en donde almacenar esta lista de emails.

Saludos
#136
Dudas y pedidos generales / Re:impresion de billetes
Julio 18, 2016, 10:43:33 PM
No tienes idea de los recaudos que toma la seguridad nacional y del mundo. El dinero mueve al mundo. Si fuera tan sencillo el proceso de falsificación, e inconfundible la moneda, todo sería un caos.

Hablando específicamente del papel moneda, el mismo suele tener características y procesos que no son accesibles para cualquiera.

* Los métodos de impresión no son públicamente conocidos.

* La impresión digital y de barrido (por ejemplo, laser y inyección de tinta) no pueden generar réplicas del papel moneda legal.

* Se suele usar fibra de algodón y lino. No papel de arbol.

* La composición química del papel y de la tinta es confidencial.

* Se utiliza la técnica Intaglio (Intaglio printmaking) para el grabado de líneas. Imposible de reproducir para el papel moneda no original (Counterfeit Money) ya que el papel moneda de curso legal tiene un alto nivel de detalle.

* Las fibras suelen cambiar de color al inclinar el papel contra la luz.

* Se utiliza micro-printing para el grabado. El detalle y el tamaño de ciertas partes, como las pequeñas palabras grabadas, es imposible de replicar con impresoras de oficina.

* En el proceso de fabricación del papel moneda legal se aplica un peso de miles de kilos para obtener un papel más delgado.

* El papel moneda nuevo debe sentirse crujiente al doblarlo.

* Existen fibras de colores que los falsificadores no pueden imitar. Esto es porque en el papel moneda original estas líneas forman parte del papel, y no son impresas sobre el mismo.

* Los billetes falsos suelen tener imágenes borrosas o con líneas que no son claras o contínuas.

* Una de los mayores características de seguridad son los hilos de plástico embebidos en el papel. Los mismos son visibles a traves de la luz ultravioleta y no en la luz blanca.

* Suele existir una marca de agua que debe poder verse en ambos lados del billete.

* Los números de serie deben ser únicos y reconocibles por los bancos.
#137
Con 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(0, 2) no vas a poder obtener el valor 2. Next() asegura la siguiente regla matemática:

a <= valor_a_devolver < b

Osea, valor_a_devolver será mayor o igual que 0 y menor pero NO igual a 2.

Saludos
#138
Veamos:

Random ale = new Random();

Se crea una variable tipo Random llamada ale, y seguidamente inicializamos esta variable con una instancia de la clase Random. Esto es obvio, la variable es de tipo Random y solo puede referenciar a una instancia de tipo Random (o alguna clase derivada).

Random es una clase definida en el namespace System (de la librería mscorlib.dll). Como tu código tiene un using System; entonces tu código puede crear variables tipo Random e instancias tipo Random.

Random permite generar números aleatorios(en realidad pseudo-números aleatorios). Viendo tu código tenemos algunas partes en donde invocas, por ejemplo, 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(0, 2). El método Next(a, b) devuelve un int aleatorio entre a y b  (el valor devuelto puede ser mayor o igual a a, y menor que b).

Resumiendo, aquí un ejemplo:

Código: csharp
Random generador = new Random(); // creamos un generador de números aleatorios
int nuevoNumero = generador.Next(0, 2); // nuevoNumero será un numero mayor o igual a 0 y menor que 2



Saludos
#139
Dudas y pedidos generales / Re:Programas en Ruso
Julio 18, 2016, 12:12:16 PM
Esto que te digo ya es un tema de prueba y error, prueba una de las siguientes alternativas, preferiblemente la primera:

a.- Si no puedes acceder a la ventana de opciones de qbittorrent para cambiar el idioma, puedes buscar el archivo qBittorrent.ini y modificas su opcion de locale, por ejemplo:
General\Locale=ru a General\Locale=es_ES

b.- Juega con la variable y la instalación de qbittorrent, osea, cambia LANG, desinstala qbittorrent, vuelve a cambiar LANG, instala qbittorrent.

c.- Además de la variable LANG, puedes fijarte en las variables LC_XXX que también cumplen el propósito de cambio de idioma:
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
#140
Si usas Metasploit, el módulo MS12-020 Microsoft Remote Desktop Use-After-Free DoS (o  ms12_020_maxchannelids) es para provocar un DoS.