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.net. Anche 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:
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.net. Anche 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