In questa serie ci addentreremo nel mondo del reverse engineering. Inizieremo con una veloce panoramica e una rapida ricapitolazione del cracking e del linguaggio Assembly (non si chiama Assembler come molti pensano!) per poi entrare nel vivo del corso: Reverse Engineering | Come Crackare Un Programma. Buona prima lezione.
Visualizzazione post con etichetta Guide. Mostra tutti i post
Visualizzazione post con etichetta Guide. Mostra tutti i post
giovedì 17 maggio 2018
domenica 6 maggio 2018
Python Hacking | Creare Un Port Scanner In Python
Un port scanner è un strumento utilizzato per fare la scansione di porte su un determinato host (o server). La sua principale funzione è determinare quali delle porte sono aperte e quale servizio è in ascolto su di esse. Una tipologia più avanzata di port scanner è il banner grabber (che analizzeremo nel dettaglio in un futuro articolo).
sabato 5 maggio 2018
Python Hacking | Creare Un Bruteforce In Python
Questa serie di articoli riguarderà l'hacking tramite tool scritti in Python. Impareremo le varie tecniche e metodologia hacking per poi programmare diversi strumenti col linguaggio Python. Il primo articolo di questa serie è il reupload del vecchio post Creare Un Bruteforce In Python 2.0 - Attacco A Dizionario. Sarà un articolo più completa dove entreremo nel dettaglio e vedremo come scrivere il codice di un bruteforce http.
giovedì 7 aprile 2016
Basi Di Crittografia #6 - Decriptare Una Stringa Hash (Bruteforce MD5 In Python)
Dopo aver appreso e approfondito cosa sono le funzioni di hash, in questo articolo (pratico) vediamo come decriptare una stringa hash (ovvero una stringa criptata con una funzione di hash). Ma non avevamo detto, nei precedenti articoli, che una stringa hash non è decriptabile? No, abbiamo detto che è difficile ma non è impossibile, continua a leggere per scoprire alcuni modi per decriptarla (o crackarla, che come termine suona più figo).
venerdì 25 marzo 2016
Basi Di Crittografia #5 - Funzioni di Hash e MD5
Nuovo articolo. Riprendiamo l'argomento della parte precedente inquadrandolo da un punto di vista più pratico. Vediamo, quindi, come criptare una stringa in modo che essa non sia facilmente decriptabile (utilizzeremo funzioni di cifratura non reversibili) anche se ci sono metodi che richiedono tempo e risorse per "cercare" di decriptarla e ne vedremo alcuni.
martedì 22 marzo 2016
Hacking WiFi: Scoprire Password WiFi Con Kali Linux e Aircrack
Considerato che molti di voi me l'hanno chiesto più volte, ecco una guida abbastanza semplice che spiega come hackerare una rete WiFi (scoprire una password WiFi). Bando alle chiacchiere, iniziamo!
domenica 20 marzo 2016
Basi Di Crittografia #4 - Funzioni Non Reversibili
In questa quarta parte vediamo nel dettaglio cos'è e come creare un funzione di cifratura che non sia reversibile, ovvero non è possibile (o meglio, è molto complicato e dispendioso) decriptarla mentre è molto più facile criptarla. Iniziamo subito.
martedì 15 marzo 2016
Basi Di Crittografia #3 - Criptare Un File
Eccoci con un fresco articolo sulla crittografia. Questa parte sarà molto pratica e per niente noiosa, vedremo infatti in maniera approfondita come criptare un file con una nostra funzione personalizzata.
domenica 13 marzo 2016
Basi Di Crittografia #2 - Cifratura A Chiavi
Ecco la seconda parte della tanto attesa guida sulla crittografia. La prima parte è stata un'introduzione a ciò che andremo a studiare più nel dettaglio in questi successivi articoli. Abbiamo scoperto l'importanza della crittografia e abbiamo anche visto un primo esempio banale utilizzando il linguaggio di programmazione Python.
martedì 8 marzo 2016
Basi Di Crittografia #1 - Cos'è La Crittografia?
Crittografia, l'arte di offuscare i messaggi. Fondamentale nel mondo dell'hacking. Ecco, quindi, che decido di scrivere una serie di articoli a riguardo per farti addentrare un questo intrigante mondo della crittografia. Sii assetato di conoscenza. Buona lettura.
sabato 20 febbraio 2016
Creare Un Bruteforce In Python 2.0 - Attacco A Dizionario
Eccoci qui con una video-guida aggiornata su come creare un bruteforce in Python. Nelle scorse guide abbiamo imparato a scrivere in Python un Bruteforce puro che provasse come password ogni possibile combinazione di lettere, numeri e caratteri speciali. In questa guida "fresca" ed aggiornata, invece, vedremo nel dettaglio come creare un bruteforce che compia attacchi a dizionario ovvero provando password prese da una lista.
sabato 10 ottobre 2015
DoS, Denial of Service: Come DoSsare Un Server
Mi sono ripromesso di scrivere una guida aggiornata riguardo alla tecnica DoS perché ormai questo articolo è obsoleto e troppo elementare. Ecco, dunque, che scrivo una guida più dettagliata e completa riguardo alla tecnica DoS, molto discussa ma poco compresa dalla maggior parte delle persone che approcciano il mondo dell'hacking. Questo articolo ha il solo scopo di informarti e di fornirti informazioni valide dato che in giro per il web girano tante guide o tutorial che hanno l'utilità di un piumone il 15 Agosto.
sabato 3 gennaio 2015
Mini-Corso Hacking - Parte 3
Ecco la terza parte del mini-corso hacking. La scorsa volta abbiamo trattato le reti, in questo articolo continueremo trattando l'anonimità in rete e come hackerare un sito web. Tieniti pronto.
martedì 30 dicembre 2014
Come Creare Un Bruteforce in Python - Parte 4
Ecco la quarta parte della serie: "Come Creare Un Bruteforce In Python". In questo articolo vedremo come creare un bruteforce per siti web (via HTTP). Nella scorsa parte abbiamo memorizzato il messaggio di avvenuto login che nel nostro esempio era: "Login effettuato!", in questa parte vedremo come modificare la funzione testaPassword() in modo da testare la password via http.
sabato 27 dicembre 2014
Mini-Corso Hacking - Parte 2
Ecco la seconda parte del mini-corso hacking che ho deciso di tenere su questo blog. Nello scorso articolo abbiamo spiegato il concetto di hacking, cos'è e com'è fatto un computer, il linguaggio macchina e di programmazione. Anche in questo articolo, ahimè, dovrai affrontare un bel po' di teoria (c'è solo un minimo di pratica). Ricorda: non puoi passare alla pratica se prima non sai la teoria, non puoi fare una cosa se non sai come si fa.
venerdì 26 dicembre 2014
Mini-Corso Hacking - Parte 1
Ecco finalmente il mini-corso hacking che ti spiegherà come diventare hacker e ti farà addentrare nell'affascinante mondo dell'hacking. Inizierai da zero (cos'è e come è fatto un computer) fino ad apprendere concetti ed argomenti più tecnici e complessi. Questa prima parte sarà teorica e riguarderà il concetto di hacking e com'è fatto un computer.
Questo corso non può ovviamente essere svolto in un solo post e per questo sarà diviso in più parti. Ma cos'è esattamente questo corso? È frutto di conoscenza e anni di esperienza nel mondo informatico e dell'hacking, apprenderai in maniera semplice i concetti base dell'hacking. A chi è rivolto? È rivolto a chiunque vuole addentrarsi nel mondo dell'hacking, principiante o utente esperto che sia, gli unici requisiti sono quelli elencati nel paragrafo che seguirà.
Per poter seguire al meglio questo corso occorrono i seguenti requisiti:
Introduzione
Partirai da zero, capendo il concetto di hacking e cos'è e come è fatto un computer, per poi apprendere argomento più tecnici e complessi. Il corso, inoltre, sarà sia teorico che pratico, potrai esercitarti e mettere in pratica le tecniche imparate.
Requisiti
- Passione per l'informatica e l'hacking. Ovviamente, occorre che tu sia appassionato di tecnologia e informatica altrimenti potresti abbandonare la lettura del corso.
- Costanza. Questo è il secondo elemento fondamentale, non stancarti mai di apprendere nuove cose, abbi sete di conoscenza.
- Volontà di approfondire. Oltre a seguire questo mini-corso dovrai anche trattare gli argomenti in una maniera più ampia e approfondita. Quello che ti consiglio di fare è di imparare dalla guida Come Diventare Hacker: La Guida Base che ti guiderà passo passo sul sentiero dell'hacking.
Il concetto di hacking
Iniziamo col trattare l'argomento fondamentale del corso: l'hacking. Questo termine è abusato e spesso non si conosce il vero significato di esso. Ma cos'è realmente l'hacking? È la ricerca della conoscenza e di soluzioni a problemi che avviene in maniera creativa. In ambito informatico, quindi, è l'insieme dei metodi, delle tecniche e delle operazioni volte a conoscere, accedere e modificare un sistema hardware o software.
Le tre parole chiave sono: conoscere, accedere e modificare. Esse sono strettamente correlate con la risoluzione di un problema. Risolvere un problema, infatti, consiste in 3 fasi:
Il principale software è il sistema operativo (SO) che è una sorta di interfaccia tra il computer e l'utente (colui che utilizza il PC). Se vuoi rinominare una cartella o spostare un file basta un click e il sistema operativo organizza il lavoro dei componenti hardware per far sì che venga eseguito ciò che hai richiesto. I sistemi operativi più conosciuti sono Windows, Mac OS e Linux.
I compilatori funzionano in questo modo: prendono il file (che contiene il codice in un linguaggio di programmazione) che si vuole tradurre e creano un nuovo file contenente le stesse istruzioni ma in linguaggio macchina. Gli interpreti, invece, prendono man mano le righe di codice (scritto in un linguaggio di programmazione) del file che si vuole eseguire, le convertono in codice binario e le eseguono. In sostanza, quindi, la differenza tra compilatori e interpreti è che gli interpreti non creano nessun nuovo file contenente istruzioni in linguaggio macchina.
Per l'hacking è quindi importantissimo conoscere almeno un linguaggio di programmazione, ti consiglio di iniziare ad imparare il Python che è semplice e potente allo stesso tempo ed è interpretato (viene convertito in codice binario dall'interprete e non dal compilatore). Una volta aver preso dimestichezza con questo linguaggio passa ad uno un po' più complicato ma più potente come il C++ (questo, invece, è compilato non interpretato).
Le tre parole chiave sono: conoscere, accedere e modificare. Esse sono strettamente correlate con la risoluzione di un problema. Risolvere un problema, infatti, consiste in 3 fasi:
- Analisi (conoscere il sistema), ovvero lo studio del sistema sul quale si deve operare e delle possibili soluzioni al problema posto. Questa è la fase più faticosa e che richiede più tempo.
- Sfruttare le falle del sistema (accedere). Questa fase consiste nell'usufruire dei "buchi" di sicurezza del sistema trovati durante la prima fase. In pratica ci si prepara per risolvere praticamente il problema.
- Risoluzione. Una volta che si ha accesso al sistema si ha il controllo parziale o totale di esso e quindi si può procedere nel compiere le operazioni che portano alla risoluzione del problema.
Cos'è e com'è fatto un computer
Un computer è una macchina in grado di compiere operazioni aritmetiche e logiche composta da componenti hardware (componenti fisici) e software (i programmi). I componenti hardware svolgono le funzioni che gli vengono dettate dal software (ad esempio il sistema operativo). I principali elementi fisici (hardware) sono:- La CPU (Central Processing Unit) o microprocessore è fondamentale in quanto permette di compiere operazioni aritmetiche (calcoli) e logiche.
- La RAM (Random Access Memory) o memoria centrale è una memoria che contiene i dati e le istruzioni dei software (programmi) in esecuzione. Essa è una memoria a breve termine perché i dati vengono persi quando si spegne il computer.
- L' Hard Disk o disco rigido è una memoria di massa che permette di conservare dati. Non è a breve termine in quanto i dati non vengono persi quando il PC viene spento.
- Il BUS o canale di trasmissione dei dati è un canale che trasmette dati da un componente hardware ad un altro (ad esempio dalla RAM alla CPU). I dati, dunque, viaggiano attraverso il BUS.
- I dispositivi di input sono tutti quei componenti che permettono al computer di ottenere informazioni date dall'utente. La tastiera è un dispositivo di input in quanto l'utente da in input al computer i tasti premuti (ad ogni tasto corrisponde un determinato segnale). Anche lo scanner è un dispositivo di input in quanto il computer riceve in input un insieme di dati che corrispondono ad una immagine.
- I dispositivi di output, invece, sono quelli attraverso i quali il computer comunica all'utente dei dati o informazioni. Il monitor, ad esempio, è un dispositivo di output in quanto da un output all'utente quello che esso sta compiendo (ad esempio sta spostando un file, aprendo un programma).
Il principale software è il sistema operativo (SO) che è una sorta di interfaccia tra il computer e l'utente (colui che utilizza il PC). Se vuoi rinominare una cartella o spostare un file basta un click e il sistema operativo organizza il lavoro dei componenti hardware per far sì che venga eseguito ciò che hai richiesto. I sistemi operativi più conosciuti sono Windows, Mac OS e Linux.
Il linguaggio macchina
Questo argomento è un po' complicato quanto affascinante. Innanzitutto bisogna capire come fa il sistema operativo o qualsiasi altro software a comunicare con i componenti hardware ovvero come fa a dir loro ciò che devono compiere. Comunica con segnali elettrici che viaggiano attraverso il BUS (canale di trasmissione dei dati). Una sequenza di segnali è una istruzione (o dato) in linguaggio macchina. Quest'ultimo viene rappresentato mediante 2 numeri (ed è per questo che viene anche chiamato codice binario) che sono 0 e 1. Lo 0 rappresenta il segnale nullo (ovvero assenza di segnale) mentre il numero 1 rappresenta la presenza di segnale. Un esempio di istruzione rappresentata in codice binario potrebbe essere: 01001101011110. La componente hardware (ad esempio la CPU) in base alla sequenza di presenza e assenza di segnale si comporta di conseguenza, si dice che compie quella determinata istruzione. Anche i dati sono rappresentati in codice binario, il numero 15 ad esempio si rappresenta così: 00001111.Linguaggi di programmazione
Come hai potuto notare, è complicatissimo per un uomo comunicare con il computer in linguaggio macchina ovvero inviando e non inviando (presenza e assenza di segnale) i segnali elettrici. Per tale ragione sono stati ideati i linguaggi di programmazione che sono linguaggi più vicini all'uomo; le istruzioni, infatti, sono in lingua inglese (che, si sa, è la lingua dell'informatica) e viene fatto uso anche dei vari operatori matematici. I codici scritti nei linguaggi di programmazione vengono "tradotti" in istruzioni binarie da appositi software che sono i compilatori e gli interpreti. L'operazione di "traduzione" è ovviamente complicatissima.I compilatori funzionano in questo modo: prendono il file (che contiene il codice in un linguaggio di programmazione) che si vuole tradurre e creano un nuovo file contenente le stesse istruzioni ma in linguaggio macchina. Gli interpreti, invece, prendono man mano le righe di codice (scritto in un linguaggio di programmazione) del file che si vuole eseguire, le convertono in codice binario e le eseguono. In sostanza, quindi, la differenza tra compilatori e interpreti è che gli interpreti non creano nessun nuovo file contenente istruzioni in linguaggio macchina.
Per l'hacking è quindi importantissimo conoscere almeno un linguaggio di programmazione, ti consiglio di iniziare ad imparare il Python che è semplice e potente allo stesso tempo ed è interpretato (viene convertito in codice binario dall'interprete e non dal compilatore). Una volta aver preso dimestichezza con questo linguaggio passa ad uno un po' più complicato ma più potente come il C++ (questo, invece, è compilato non interpretato).
Conclusioni
Purtroppo, all'inizio la teoria è fondamentale ed è per questa ragione che questo primo articolo è stato abbastanza corposo. La prossima lezione, però, tratterà le rete, sarà ricca di esempi e ci sarà un minimo di pratica.domenica 12 ottobre 2014
Come Creare Un Bruteforce In Python - Parte 3
Come richiesto da un utente, in questa guida spiego come creare un bruteforce per un qualsiasi sito web. Negli scorsi articoli abbiamo preso in esame la tecnica bruteforce per quanto riguarda il login FTP. Ora, invece, vedremo come usare questa tecnica per un login di un sito web (quindi non più FTP bensì HTTP). Ricordo e sottolineo che i contenuti di questa guida sono a solo scopo informativo e non sono di incoraggiamento a compiere reati informatici quali il bruteforcing.
venerdì 28 febbraio 2014
Guida DarkComet v5.3 (2015) Remote Administration Tool (RAT) - Come entrare e hackerare computer altrui
Questo articolo spiega come hackerare un computer e avere il totale controllo su di esso. Non c'è bisogno di conoscenze tecniche e il procedimento per creare il nostro virus è davvero molto semplice. Grazie a DarkComet, un Remote Administration Tool (RAT) tutti sono in grado di costruire il proprio virus e mandarlo alla vittima.
Cos'è un RAT? Cos'è capace di fare?
La parola RAT è formata da Remote Administration Tool (per approfondire clicca qui). Quando avviamo il nostro virus sul computer della vittima, saremo capaci di:
3. Una volta creato l'host, installa No-IP e avvialo. Fai il login anche qui con l'account creato in precedenza, poi vai su Select Hosts, clicca sul tuo e poi Save.
4. Adesso quello che devi fare è aprire la porta 1604 del tuo router sia come UDP che come TCP. Di solito il procedimento è diverso per ogni ruoter, se non sai come fare una breve ricerca su internet ti chiarirà le idee.
Installazione DarkComet
1. Tempo di hacking! Crea una nuova cartella e scompatta il contenuto del rar di DarkComet che hai scaricato in precedenza e avvia subito DarkComet.exe. Clicca sulla spunta "Do not display again the EULA" e poi su I accept. Ti troverai nella scheda Users, spostatati sulla scheda Socket / Net e seleziona la porta 1604 con il tasto destro.
2. Andiamo su canyouseeme.org, in Port to Check metti la 1604 e fai invio. Se hai aperto le porte del router correttamente e hai selezionato la porta 1604 su DarkComet, dovrebbe apparire così:
Se non va ricontrolla d'accapo. Sei sicuro di aver aperto le porte? Disattiva antivirus e firewall.
3. È tempo di creare il nostro virus! Andiamo su Server module -> Full editor (Expert), poi spostati su Network Settings a destra. In IP / DNS metti il link del tuo host creato in precedenza (se non te lo ricordi puoi vederlo andando sul programma No-IP e poi su Select Host), porta 1604 e poi clicca su ADD.
4. Tempo di configurare il nostro file! Andiamo su Module Startup a destra, clicchiamo su Start the stub with windows (module startup) in modo da scegliere il percorso d'installazione del virus sul computer della vittima e avviarlo all'accensione. In Module Shield attiviamo le impostazioni che preferiamo e assicuriamoci che su Keylogger la spunta su Active offline keylogger on server startup sia attiva. Il File Binder è per avviare un altro file insieme al nostro virus. Choose Icon per scegliere l'icona del file (puoi aggiungere altre icone oltre a quelle standard). Infine vai su Stub Finalization e spunta la casella UPX per comprimere il file e avere un peso minore.
Fatto! Il server è pronto. Tutto quello che ti rimane da fare è avviare il tuo virus sul computer della vittima e se tutto è andato a buon fine una volta avviato il virus apparirà l'utente in Users.
Tieni aperti sempre DarkComet e No-IP, così da ricevere la connessione delle vittime.
Non infettarti da solo o provare ad avviare il virus su un altro computer connesso alla tua stessa rete, non funzionerà. Se vuoi infettarti da solo per testare le funzionalità di DarkComet, in Network Settings all'IP/DNS seleziona 127.0.0.1 e la porta 1604, poi assicurati di disinstallare il virus facendo click destro sul tuo computer dalla lista Users. Se invece vuoi infettare un computer connesso alla vostra rete internet in Network Settings all'IP/DNS devi selezionare il tuo indirizzo IP locale e la porta 1604. Puoi vedere il tuo indirizzo locale attraverso il CMD (Windows + R, cmd) scrivendo ipconfig.
Per problemi puoi scrivere nei commenti.
Cos'è un RAT? Cos'è capace di fare?
La parola RAT è formata da Remote Administration Tool (per approfondire clicca qui). Quando avviamo il nostro virus sul computer della vittima, saremo capaci di:
- Vedere il desktop, controllare la webcam e catturare suoni in tempo reale dal microfono
- Totale controllo su mouse e tastiera
- Visualizzare cartelle, modificare, aggiungere, eliminare e cercare file
- Avviare HTML, VB e .bat script
- Keylogger
- Disabilitare il TaskManager, visualizzare, terminare o avviare processi
- Disinstallare programmi, nascondere finestre, totale controllo sul registro, programmi e processi all'avvio
- Visualizzare tutte le password salvate
- Molto altro ancora
Le tantissime opzioni che DarkComet permette di fare lo rendono un potentissimo programma per la creazione di un virus. È completo, ma soprattutto gratuito.
Dopo questa breve premessa, passiamo all'installazione.
Di cosa abbiamo bisogno?
- DarkComet v5.3 (se il link non funziona prova qui)
Installazione No-IP
1. Per prima cosa connettiti al sito ufficiale di No-IP e clicca su Sign up. Registrati e scegli un indirizzo valido per la conferma dell'account.
2. Facciamo il login su No-IP e clicchiamo su Add a host. Scegli un nome a piacimento nel casello a destra di Hostname (devi ricordarlo), puoi anche cambiare il dominio (zapto.org) dal menù a tendina. Lascia tutto così e clicca su Create Host.
Installazione DarkComet
1. Tempo di hacking! Crea una nuova cartella e scompatta il contenuto del rar di DarkComet che hai scaricato in precedenza e avvia subito DarkComet.exe. Clicca sulla spunta "Do not display again the EULA" e poi su I accept. Ti troverai nella scheda Users, spostatati sulla scheda Socket / Net e seleziona la porta 1604 con il tasto destro.
3. È tempo di creare il nostro virus! Andiamo su Server module -> Full editor (Expert), poi spostati su Network Settings a destra. In IP / DNS metti il link del tuo host creato in precedenza (se non te lo ricordi puoi vederlo andando sul programma No-IP e poi su Select Host), porta 1604 e poi clicca su ADD.
Tieni aperti sempre DarkComet e No-IP, così da ricevere la connessione delle vittime.
Non infettarti da solo o provare ad avviare il virus su un altro computer connesso alla tua stessa rete, non funzionerà. Se vuoi infettarti da solo per testare le funzionalità di DarkComet, in Network Settings all'IP/DNS seleziona 127.0.0.1 e la porta 1604, poi assicurati di disinstallare il virus facendo click destro sul tuo computer dalla lista Users. Se invece vuoi infettare un computer connesso alla vostra rete internet in Network Settings all'IP/DNS devi selezionare il tuo indirizzo IP locale e la porta 1604. Puoi vedere il tuo indirizzo locale attraverso il CMD (Windows + R, cmd) scrivendo ipconfig.
Per problemi puoi scrivere nei commenti.
martedì 3 dicembre 2013
Come Diventare Hacker: La Guida Completa
Leggi questa e avrai le idee chiare su come diventare hacker.
Ti dirò i passi da seguire e ti spiego come diventare hacker.
Questa infatti è una guida completa ed esaustiva, una volta letta saprai come muoverti e da dove iniziare per poter iniziare ad hackerare.
Ti dirò i passi da seguire e ti spiego come diventare hacker.
Questa infatti è una guida completa ed esaustiva, una volta letta saprai come muoverti e da dove iniziare per poter iniziare ad hackerare.
domenica 10 novembre 2013
Come Creare Un Bruteforce In Python - Parte 2
Nella prima parte abbiamo visto e analizzato il codice per generare tutte le possibili combinazioni di password data una lista di caratteri. Ecco la seconda parte della guida su come creare un bruteforce in Python.























