Visualizzazione post con etichetta Hacking. Mostra tutti i post
Visualizzazione post con etichetta Hacking. Mostra tutti i post

giovedì 17 maggio 2018

Come Crackare Un Programma | Reverse Engineering - Lezione 1

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.

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.

martedì 22 marzo 2016

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.

lunedì 1 febbraio 2016

lunedì 19 ottobre 2015

Il Mio Viaggio Nel Mondo Dell'Hacking - OverTheWire: Wargames (Bandit Level 3-5)

Nel precedente articolo ho introdotto i wargames (sfide hacking) del sito OverTheWire di cui sono rimasto affascinato. Ho deciso quindi di intraprendere una serie di post in merito ed ho riscontrato entusiasmo nei lettori. Le wargames piacciono e c'è poco da discutere. L'importante è saperle usare per comprendere l'hacking, non leggerle come se fosse un passatempo (puoi anche farlo ma non ne riceverai nulla in cambio). Bene. Ora superiamo i prossimi livelli.

martedì 13 ottobre 2015

Il Mio Viaggio Nel Mondo Dell'Hacking - OverTheWire: Wargames (Bandit Level 0-2)

Poco tempo fa mi sono imbattuto in questo sito: OverTheWire: Wargames. Esso propone delle sfide "hacking" chiamate wargames. Ho pensato tra me e me "Why not?" ed ho iniziato dal livello Bandit (il sito stesso consiglia di iniziare da tale livello, il più facile). Ho completato le prime sfide. Mi si è aperto un mondo davanti. Ho deciso, quindi, di descrivere il mio viaggio nel mondo dell'hacking attraverso queste sfide. Non sarà una serie di Gameplay. Sarà un'opportunità per migliorare me stesso e chi legge, spiegherò il pensiero e il procedimento che c'è dietro il completamento delle sfide.

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.

giovedì 8 ottobre 2015

sabato 29 agosto 2015

XSS: Cross-site scripting - Parte 1

La sicurezza online non esiste. Non c'è neanche un sito web sicuro al 100%. Per questo motivo i grandi colossi come Google e Facebook pagano profumatamente hacker ed esperti in sicurezza per testare continuamente e trovare falle nella sicurezza delle loro pagine web ed applicazioni. Una tecnica che accompagna l'SQL Injection è l'XSS (che sta per cross-site scripting) e consiste nell'iniettare stringhe di codice (spesso Javascript) nei form e farle eseguire per ottenere informazioni o rubare i cookie (e di conseguenza la sessione di un utente).

venerdì 30 gennaio 2015

Come Nascondere Un File All'Antivirus - Parte 1

Promisi tempo fa di scrivere un articolo su come è possibile nascondere un file all'antivirus. Ecco che finalmente arriva uno degli articoli che, a mio avviso, ci fanno rendere l'idea che la sicurezza sui computer è solo un'illusione. Qualsiasi computer non è mai sicuro al 100%. Soprattutto se scarichi file di cui non ne sai la provenienza. Come fanno gli hacker (o meglio i cracker) a rendere un virus invisibile e non rilevabile, ovvero come nascondere un file all'antivirus.

Come Nascondere Un File All'Antivirus

sabato 3 gennaio 2015

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.

Come Creare Un Bruteforce in Python

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.

Introduzione

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à.
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

Per poter seguire al meglio questo corso occorrono i seguenti requisiti:
  1. Passione per l'informatica e l'hacking. Ovviamente, occorre che tu sia appassionato di tecnologia e informatica altrimenti potresti abbandonare la lettura del corso.
  2. Costanza. Questo è il secondo elemento fondamentale, non stancarti mai di apprendere nuove cose, abbi sete di conoscenza.
  3. 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:
  1. 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.
  2. 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.
  3. 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).
Questi sono i componenti principali ma il computer può anche possederne altri come ad esempio la scheda grafica ecc...

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:
  • 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.



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.

mercoledì 29 gennaio 2014

Come craccare un programma

Ecco una guida sul come craccare un programma interamente scritta da me. In questa guida verrà mostrato la tecnica attraverso la quale creare programmi crackati. Ovvero, verrà spiegato come togliere limitazioni o bypassare l'inserimento del seriale su un qualsiasi software. La reputo un'ottima guida per i principianti.

giovedì 28 novembre 2013

Python e l'arte dell'Hacking

Python e l'arte dell'hacking. Finalmente è arrivata. La guida pratica completamente gratuita in formato PDF che ti spiega cosa c'è dietro al pensiero di un hacker, come si ragiona e come si risolvono problemi apparentemente difficili. Tutto questo verrà fatto utilizzando il linguaggio di programmazione Python. Imparerai ad utilizzare al meglio questo linguaggio e capirai i concetti base dell'hacking.