Exploit – Cosa sono e come si programmano

La realizzazione di exploit è uno dei pilastri dell’hacking, un programma si compone di un complesso insieme di regole che seguono un flusso
d’esecuzione prestabilito, il quale determina il comportamento del computer. L’exploit è essenzialmente sfruttare la vulnerabilità di quel programma, per farsì che il computer si comporti come vogliamo noi.
Trovare le falle e correggerle richiede molta esperienza e creatività, però bisogna tenere in considerazione che molte volte il programmatore non sempre scrive quello che intendeva realmente fare… Le cause sono di vario tipo, come:

Cambiamenti di sintassi, cambio di idee oppure semplicemente distrazioni.

Ora ne elencheremo i varii tipi:

Fuori-di-uno:
Come ad’esempio una falla di una vecchia versione di OpenSSH:

if (id < 0 || id > channels_alloc) {

che invece si sarebbe dovuta scrivere:
if (id < 0 || id >= channels_alloc) {

Buffer Overflow:
Un exploit che riguarda la corruzione della memoria, ovvero quando per errore o per malizia, vengono inviati più dati della capienza del buffer destinato a contenerli, i dati extra vanno a sovrascrivere le variabili interne del programma, o il suo stesso stack; come conseguenza di ciò, a seconda di cosa è stato sovrascritto e con quali valori, il programma può dare risultati errati o imprevedibili, bloccarsi, o (se è un driver di sistema o lo stesso sistema operativo) bloccare il computer.

Execution of arbitrary code:
l’exploit dei formati delle stringhe.
Con queste tecniche, lo scopo ultimo è quello di assumere il controllo del flusso di esecuzione del
programma target, facendolo saltare a un punto in memoria nel quale è stato posizionato un frammento
di codice malevolo.

Code injection:
Iniettare codice all’interno di un programma per cambiare il corso d’esecuzione.
Tra i più famosi stanno:
–SQL-Injection
-SSI-Injection
-XSS (cross-site scripting)
-HTML-Injection

____________________________________________________________

Ora che sappiamo la differenza tra gli exploit, nei prossimi articoli ci sarà la parte tecnica e pratica, e non solo dal punto di vista dell’uso! Ma anche dal punto di vista della programmazione.

Author: Neb

$whoami
Neb

$cat neb.txt

Keen on Computer Science, He always studies Computer Programming, Managment of Computer Systems and CyberSecurity (Offensive Side).
Have interest in experimental the use of new technologies. Co-founder of FreeNIX Security

My skills are:

Programming Skills:

– Web Development: JavaScript, PHP and HTML
– Desktop Application: Python3(Qt or GTK), C++(Qt)
– CLI Application: Python, C/C++, Crystal, Assembly and Rust

System Skills:

– Knowledge Unix Server System (CentOS, Ubuntu, Debian and BSD)
– Windows Server Administrator (AD, DC and many other)
– Virtualization with VMware, VirtualBox and Qemu

Network Skills:

– Indipendent Study of Routing and Switching

CyberSecurity Skills:

– Penetration Testing (Check Vuln):
– Exploitation
– Report

Location: Taranto, Apulia, Italy
Age: 18
Sex: Male