venerdì 22 aprile 2016

Hacking in Python: preparazione dell'ambiente di lavoro

Python è uno dei linguaggi di programmazione più usati nell’ambito del penetration testing. La sua sintassi chiara e asciutta, ma al tempo stesso molto potente, permette di sviluppare strumenti anche complessi con un codice intuitivo e una fluidità basata sull’essenziale. Per tutti coloro che si avvicinano al mondo dell’hacking e vogliono imparare a scrivere da soli i propri script o a modificare quelli esistenti, Python è sicuramente una scelta azzeccata. L’installazione viene fornita con una comoda e funzionale libreria standard, in cui è presente un’ampia varietà di moduli per lo svolgimento dei compiti più disparati. Possiamo infatti avvalerci del modulo socket, contenente i costrutti basilari del networking e della programmazione a basso livello, per creare un piccolo programmino che trova l’ip di un server:
 import socket   
 host = 'www.sitoweb.com'   
 port = 80  
 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
 ip_server = socket.gethostbyname(host)  
 print ip_server  
Oppure usare il modulo urllib2 per implementare un client http in grado restituirci il contenuto di una pagina web:
 import urllib2  
 richiesta = urllib2.Request('http://www.sitoweb.com/')  
 risposta = urllib2.urlopen(richiesta).read()  
 print risposta  
E questo è niente rispetto alle grandi potenzialità che Python ci offre. Ad ogni modo, prima di addentrarci nella sintassi e di mettere mano al codice, dobbiamo installare tutti gli strumenti necessari. Trattandosi di un linguaggio interpretato, per scrivere ed eseguire programmi Python c’è bisogno di un interprete. Rechiamoci dunque sul sito www.python.org e nella sezione download scarichiamo la versione 2.7. Questo procedimento vale solo per gli utenti Windows, in quanto sui sistemi Linux e MAC OS, Python di solito è preinstallato. Una volta terminato il tutto, settiamo la variabile d’ambiente PATH in modo da poter richiamare i nostri script .py da qualsiasi directory:



Al fine di rendere più agevole l’interazione con gli applicativi Microsoft (Office, Explorer, Outlook e così via), scarichiamo e installiamo il pacchetto pywin32 disponibile su sourceforge.netAnche in questo caso, l’installazione è molto semplice e basta seguire le indicazioni, ma se riscontrate problemi fatemelo sapere nei commenti. 

Come ultimo step andremo a configurare uno strumento molto interessante di nome PyInstaller. Grazie ad esso, è possibile generare file .exe compatibili con diverse piattaforme. In pratica l’utente sarà in grado di eseguire il nostro applicativo stand-alone senza installare alcun inteprete Python. Questo passaggio risulta particolarmente utile se vogliamo iniettare una backdoor sul pc vittima. 

Dopo aver scaricato PyInstaller dal sito ufficiale, estraiamo l’intero contenuto nella directory dove risiede Python. Nel mio caso c:\Python27:



Apriamo il prompt dei comandi e portiamoci sul percorso della cartella appena decompressa. Quindi diamo il comando dir per visualizzarne i file: 


A noi interessa il file setup.py, da cui possiamo avviare l’installazione del programma digitando:
 python setup.py install   
Se non ci sono problemi, nel giro di pochi secondi il nostro PyInstaller sarà pronto a fare il suo dovere. Prossimamente, vedremo come sfruttarlo per impacchettare un piccolo malware e camuffarlo da jpeg. 

Nessun commento:

Posta un commento