wikiHow è una "wiki"; questo significa che molti dei nostri articoli sono il risultato della collaborazione di più autori. Per creare questo articolo, 30 persone, alcune in forma anonima, hanno collaborato apportando nel tempo delle modifiche per migliorarlo.
Questo articolo è stato visualizzato 10 922 volte
Il modo migliore per essere certo che il proprio database sia al sicuro dall'attacco degli hacker, consiste nel pensare esattamente come uno di loro. Se fossi un hacker che tipo di informazioni potrebbero attirare la tua attenzione? Come potresti tentare di entrarne in possesso? Al mondo esistono numerose tipologie di database e molti modi diversi per violarli, ma la maggior parte degli hacker predilige tentare di scoprire la password di amministrazione o di eseguire un exploit (si tratta di uno script o di un programma che sfrutta una specifica vulnerabilità del database per accedere ai dati memorizzati). Se sai usare il codice SQL e hai le conoscenze di base relative alla struttura e al funzionamento di un database, possiedi tutto ciò che ti serve per provare a violarne uno.
Passaggi
-
1Scopri se il database è vulnerabile a questo tipo di attacco.[1] Per poter utilizzare questo metodo, devi saper gestire senza problemi i comandi, la struttura e il funzionamento di un database. Avvia il browser internet e usalo per accedere all'interfaccia web di login del database, quindi digita il carattere ' (apice singolo) all'interno del campo relativo al nome utente. Infine, premi il pulsante "Login". Se compare un messaggio di errore simile al seguente "SQL Exception: quoted string not properly terminated" o "invalid character", significa che il database è vulnerabile a un attacco di tipo "SQL injection".
-
2Individua il numero di colonne della tabella.[2] Ritorna alla pagina di login del database (oppure a qualunque pagina del sito il cui URL termini con le stringhe "id=" o "catid="), quindi clicca all'interno della barra degli indirizzi del browser. Posiziona il cursore del testo alla fine dell'URL, premi la barra spaziatrice e digita il codice
order by 1
, quindi premi il tasto Invio. A questo punto, sostituisci il numero 1 con il numero 2 e premi nuovamente Invio. Continua a incrementare tale numero di un'unità finché non ricevi un messaggio di errore. Il numero precedente a quello che ha generato il messaggio di errore rappresenta il numero di colonne della tabella che contiene le informazioni di login al database. -
3Individua quali colonne accettano delle query SQL. Posiziona il cursore del testo alla fine dell'URL presente nella barra degli indirizzi del browser, quindi modifica il codice
catid=1
oid=1
incatid=-1
oid=-1
. Premi la barra spaziatrice e digita il codiceunion select 1,2,3,4,5,6
(se la tabella sottostante è caratterizzata da 6 colonne). In questo caso, devi inserire la sequenza di numeri corrispondenti alle colonne individuate nel passaggio precedente e ogni valore deve essere separato da una virgola. Infine, premi il tasto Invio. Dovresti visualizzare come output i numeri corrispondenti alle colonne che accettano una query SQL. -
4Inserisci il codice SQL all'interno di una colonna. Ad esempio, se desideri conoscere l'utente attuale e inserire il codice all'interno della colonna numero 2, elimina tutti i caratteri presenti dopo la stringa "id=1" o "catid=1" dell'URL, quindi premi la barra spaziatrice. A questo punto, digita il codice
union select 1,concat(user()),3,4,5,6--
. Infine, premi il tasto Invio. A video dovrebbe apparire il nome dell'utente attualmente connesso al database. A questo punto, puoi usare qualunque comando SQL per ottenere informazioni dal database; ad esempio, puoi richiedere la lista di tutti i nomi utente e delle relative password censiti nel database per violare i rispettivi account.Pubblicità
-
1Prova a eseguire il login alla base dati come utente amministratore o root utilizzando la password predefinita. Per impostazione predefinita, alcuni database non hanno una password di accesso per l'utente amministratore (root o admin), quindi potresti essere in grado di effettuare il login semplicemente lasciando vuoto il campo di immissione della password. In altri casi, la password dell'account "root" o "admin" è ancora quella predefinita a cui si può risalire eseguendo una semplice ricerca online all'interno del forum di supporto del database.
-
2Prova a usare le password più comuni. Se l'accesso all'account utente amministratore del database è protetto con una password (situazione più probabile), puoi provare a violarlo utilizzando le combinazioni di nomi utente e password più diffuse. Alcuni hacker pubblicano le liste delle password che sono riusciti a individuare durante lo svolgimento delle loro attività. Prova alcune combinazioni di nomi utenti e password.
- Uno dei siti web più affidabili dove è possibile reperire questo tipo di informazioni è https://github.com/danielmiessler/SecLists/tree/master/Passwords.
- Testare le password a mano è un'attività che richiede un'enorme quantità di tempo, ma non c'è niente di male nel fare qualche tentativo prima di avvalersi dell'aiuto di strumenti molto più performanti.
-
3Utilizza gli strumenti per la verifica automatica delle password. Esistono diversi strumenti in grado di testare in breve tempo migliaia di combinazioni di parole, lettere, numeri e simboli utilizzando il metodo denominato "forza bruta" (dall'inglese "brute force") o "ricerca esaustiva" finché non viene individuata la password di accesso corretta.
- Programmi come DBPwAudit (per database Oracle, MySQL, MS-SQL e DB2) e Access Passview (per database Microsoft Access) sono strumenti molto conosciuti e usati per il controllo delle password dei database più diffusi al mondo.[3]
Per individuare strumenti di hacking sempre nuovi e moderni, progettati specificamente per il database che desideri, puoi eseguire una ricerca con Google. Ad esempio, se hai la necessità di violare un database Oracle, esegui una ricerca online usando la seguente stringa:
password auditing database oracle
opassword audit tool oracle db
. - Se possiedi un account di accesso al server che ospita il database da violare, puoi eseguire un programma speciale denominato "hash cracker", ad esempio "John the Ripper", per analizzare e violare il file che contiene le password di accesso al database. La cartella in cui è memorizzato tale file varia in base al database in uso.[4]
- Ricordati di scaricare dati e programmi solo da siti web affidabili e sicuri. Prima di usare uno qualunque degli strumenti che hai reperito, esegui una ricerca online per leggere le recensioni di tutti gli utenti che li hanno già usati.
Pubblicità - Programmi come DBPwAudit (per database Oracle, MySQL, MS-SQL e DB2) e Access Passview (per database Microsoft Access) sono strumenti molto conosciuti e usati per il controllo delle password dei database più diffusi al mondo.[3]
Per individuare strumenti di hacking sempre nuovi e moderni, progettati specificamente per il database che desideri, puoi eseguire una ricerca con Google. Ad esempio, se hai la necessità di violare un database Oracle, esegui una ricerca online usando la seguente stringa:
-
1Individua un exploit adatto al database.[5] Il sito web Sectools.org cataloga da più di dieci anni tutti gli strumenti per la sicurezza dei database (inclusi gli exploit). Questi strumenti sono affidabili e sicuri, difatti vengono usati giornalmente dagli amministratori di database e sistemi informatici di tutto il mondo per verificare la sicurezza dei propri dati. Sfoglia il contenuto del loro database "Exploitation" (oppure individua un altro sito web simile di cui ti fidi) per individuare lo strumento o il documento che ti permetta di individuare le falle nella sicurezza del database che desideri violare.
- Un altro sito web di questo tipo è www.exploit-db.com. Accedi alla pagina web e seleziona il link "Search", quindi esegui una ricerca relativa al database che desideri violare (ad esempio "oracle"). Inserisci il codice Captcha apparso nell'apposito campo di testo, quindi esegui la ricerca.
- Assicurati di individuare tutti gli exploit che desideri provare per sapere cosa fare nell'eventualità di riuscire a individuare una potenziale falla nella sicurezza.
-
2Individua una rete Wi-Fi da usare come ponte per attaccare il database in esame. Per farlo, utilizza la tecnica denominata "wardriving".[6] Si tratta di eseguire una ricerca di una rete wireless non protetta all'interno di un'area specifica, muovendosi in macchina, in bicicletta o a piedi e utilizzando un apposito scanner di segnali radio (come ad esempio NetStumbler o Kismet). Il "wardriving" è tecnicamente una procedura legale; ciò che è illegale è il fine che si vuole raggiungere usando la rete wireless non protetta individuata tramite tale procedimento.
-
3Accedi alla rete non protetta per eseguire l'exploit sul database che desideri violare. Se sai che quello che stai per fare è proibito, ovviamente non è una buona idea agire direttamente dalla tua rete locale domestica. Per questo motivo, occorre individuare una rete wireless non protetta, tramite il "wardriving", per poi eseguire l'exploit selezionato senza paura di essere scoperto.Pubblicità
Consigli
- Conserva sempre i dati sensibili e le informazioni personali all'interno di un'area della rete protetta da un firewall.
- Assicurati di proteggere l'accesso alla tua rete Wi-Fi tramite una password, in modo che i "wardriver" non possano accedere alla tua rete casalinga per eseguire un exploit.
- Individua e chiedi consigli e informazioni utili ad altri hacker. A volte le nozioni e le conoscenze migliori in termini di hacking si possono apprendere al di fuori di internet.
- Esistono dei programmi appositi che eseguono automaticamente questo genere di attacchi. SQLMap è il più popolare programma open source per verificare la vulnerabilità di un sito a un attacco di SQL-Injection.
Avvertenze
- Studia la legislazione del paese in cui vivi e comprendi quali ripercussioni personali potresti subire violando un database o un sistema informatico di cui non sei il proprietario.
- Non cercare mai di accedere in modo illegale a un sistema o a un database utilizzando direttamente l'accesso internet della tua rete privata.
- Ricorda che accedere o violare un database di cui non sei il legittimo proprietario è sempre un'azione illegale.
Riferimenti
- ↑ http://blog.red-database-security.com/2009/01/17/tutorial-oracle-sql-injection-in-webapps-part-i/
- ↑ https://blog.udemy.com/sql-injection-tutorial/
- ↑ http://opensourceeducation.net/database-auditing-with-open-source-tool/
- ↑ http://www.openwall.com/john/doc
- ↑ http://sectools.org
- ↑ http://www.seattletimes.com/business/seattles-packed-with-wi-fi-spots/