Discussione Non conoscere alcun programming language è davvero così deleterio per un hacker?

Stato
Discussione chiusa ad ulteriori risposte.

Netcat

Utente Jade
17 Gennaio 2022
455
129
331
691
Sul web si parla della piaga degli script kiddies, una categoria di hacker che hanno le seguenti caratteristiche:
1. Non possiedono conoscenza di scripting alcuna;
2. Sono guerrieri ciechi: attaccano i target saltando delle fasi importantissime dell'attacco, come l'information gathering, l'analisi e l'enumerazione delle vulnerabilità del target;
3. Completa delegazione delle operazioni a tool creati da altri hacker;
4. Durante la fase di un attacco (riuscito per lo più grazie a tecniche di scam) risultano dei veri e propri impiastri (non sanno muoversi, compieno errori che riconducono a loro)

terrorizzato dall'idea di rientrare nella fascia delle pecore nere? Tranquillo, ho buone notizie per te.

Se non conosci alcun linguaggio di programmazione, puoi diventare un hacker a tutti gli effetti. La mancata conoscenza di programming language, imposterà dei limiti che non potrai mai superare, perché non potrai ottenere tutto quello che vuoi operando esclusivamente come ricercatore, ma nonostante ciò avrai accesso ad una conoscenza dell'hacking a livello scolastico. La differenza fra te e un hacker che sa programmare sarà come quella fra chi sa l'inglese di madre lingua e chi invece l'ha studiato a scuola. Per quanto riguarda gli script kiddies, il loro problema non sta tanto nell'ignoranza di scripting, il vero problema che hanno, è che non sanno letteralmente quello che fanno. È presente solamente una pulsione primitiva che li spinge a voler attaccare un target. Oltre a quello non c'è altro. Quindi se sei ignorante di scripting language, non sentirti inferiore. Di sicuro non potrai compiere grandi imprese, ma avrai accesso a una discreta abilità.
 
il loro problema non è neanche quello che hai descritto, bensì l'aver visto qualche documentario / video / altro sugli "hacker".
Questo ha fatto il danno, l'aver la bacchetta magica per "distruggere" siti / altro.
 
La differenza fra te e un hacker che sa programmare sarà come quella fra chi sa l'inglese di madre lingua e chi invece l'ha studiato a scuola.
Secondo me la differenza fra un hacker che non sa programmare e uno che sa farlo è come avere due corridori: il primo con le stampelle e l'altro che corre libero da ogni impedimento. Il secondo sarà sempre in vantaggio e migliore rispetto al primo. La programmazione ti apre un mondo, lascia stare. Non è indispensabile conoscere completamente molti linguaggi, ma è molto comodo avere un'infarinatura generale di più linguaggi e torna utile sapere scrivere script personalizzati da utilizzare nell'evenienza.
 
il loro problema non è neanche quello che hai descritto, bensì l'aver visto qualche documentario / video / altro sugli "hacker".
Questo ha fatto il danno, l'aver la bacchetta magica per "distruggere" siti / altro.
La bacchetta magica non esiste nell'hacking ma si può diventare bravi fino a dare l'impressione di averla, praticamente devi arrivare a un livello dove non è arrivato nessun altro ma è difficilissimo. Devi saper scoprire vulnerabilità pericolose tipo Eternal Blue, scriverci da solo degli exploit che sfruttano la falla che hai scoperto (e lo puoi fare solo con le tue mani dato che l'hai scoperta tu, scordati ExploitDB). Poi non esiste nessun hacker che fa tutto questo lavoro da solo, ci possono volere anche mesi di ricerca a seconda di quanta sicurezza usa il target... Gli hacker lavorano sempre in gruppo quando si tratta di fare cose complicate tipo attaccare i big (Siti bancari internazionali, Facebook ecc.) perché è troppo complicato... Devono essere come minimo in 4... Uno che si occupi dell'information gathering, un altro addetto all'exploit development, un altro dell'analisi forense della vulnerabilità e il quarto del post-exploitation. Che poi siano in un contesto etico o no, lo fanno comunque per soldi. Montagne di soldi. Gli script kiddies al massimo possono fare i pagliacci con i login falsi...
 
Io penso che in questo ambito non sia tanto fondamentale saper scrivere codice quanto più saperlo leggere. La ricerca di vulnerabilità si basa molto sulla comprensione del codice, e non saper leggere nessun linguaggio è un grosso blocco. Resto poi dell'idea che, comunque, qualsiasi individuo voglia lavorare in questo settore debba essere in grado, almeno in parte, di scrivere linee di codice. Non codice efficiente, non è lo scopo principale, ma almeno degli script.

Essere un programmatore (o esserlo stato), però, ti dà molti vantaggi: ti permette di avere un intuito sul possibile funzionamento di un sito o di un programma, permettendoti quindi di fare speculazioni a volte anche accurate. Per esempio un programmatore PHP sarà a conoscenza, senza dover fare grosse ricerche, delle vulnerabilità di type confusion tipiche del linguaggio, e di conseguenza gli verrà naturale pernsare a queste falle durante dei test. Lo stesso vale per chi programma anche in altri linguaggi. Non è tanto la capacità di scrivere codice efficiente il valore aggiunto, ma più il mindset che questo genere di lavoro ti fornisce
 
Io penso che in questo ambito non sia tanto fondamentale saper scrivere codice quanto più saperlo leggere. La ricerca di vulnerabilità si basa molto sulla comprensione del codice, e non saper leggere nessun linguaggio è un grosso blocco. Resto poi dell'idea che, comunque, qualsiasi individuo voglia lavorare in questo settore debba essere in grado, almeno in parte, di scrivere linee di codice. Non codice efficiente, non è lo scopo principale, ma almeno degli script.

Essere un programmatore (o esserlo stato), però, ti dà molti vantaggi: ti permette di avere un intuito sul possibile funzionamento di un sito o di un programma, permettendoti quindi di fare speculazioni a volte anche accurate. Per esempio un programmatore PHP sarà a conoscenza, senza dover fare grosse ricerche, delle vulnerabilità di type confusion tipiche del linguaggio, e di conseguenza gli verrà naturale pernsare a queste falle durante dei test. Lo stesso vale per chi programma anche in altri linguaggi. Non è tanto la capacità di scrivere codice efficiente il valore aggiunto, ma più il mindset che questo genere di lavoro ti fornisce
Però le backdoor e altri tipi di malware e/o spyware non sono scritti in linguaggi di programmazione? Penso di sì…
 
Però le backdoor e altri tipi di malware e/o spyware non sono scritti in linguaggi di programmazione? Penso di sì…
Certo che sì, però quando si parla di hacking, almeno per me, non prendo quasi mai in considerazione lo sviluppo di malware perché lo considero abbastanza una cosa a parte. L'hacking ha molte sottocategorie, alcune che necessitano fortemente di saper programmare, però non per la maggiore.

Per me lo sviluppo di malware non è hacking, è appunto programmazione software. Hacking è trovare la vulnerabilità da sfruttare, evadere le restrizioni.

Ovviamente non esiste un giusto o sbagliato, sicuramente saper programmare ti permette di avere molte più risorse a tuo vantaggio e spaziare in più ambiti, però non è al 100% necessario :)
 
Certo che sì, però quando si parla di hacking, almeno per me, non prendo quasi mai in considerazione lo sviluppo di malware perché lo considero abbastanza una cosa a parte. L'hacking ha molte sottocategorie, alcune che necessitano fortemente di saper programmare, però non per la maggiore.

Per me lo sviluppo di malware non è hacking, è appunto programmazione software. Hacking è trovare la vulnerabilità da sfruttare, evadere le restrizioni.

Ovviamente non esiste un giusto o sbagliato, sicuramente saper programmare ti permette di avere molte più risorse a tuo vantaggio e spaziare in più ambiti, però non è al 100% necessario :)
Concordo con te, ho scritto quel discorso poco fa per vedere se quello che sapevo io era giusto, a quanto pare si😃
Messaggio unito automaticamente:

Concordo con te, ho scritto quel discorso poco fa per vedere se quello che sapevo io era giusto, a quanto pare si😃
@0xbro ora ritorno a scervellarmi, debian non rileva la mia scheda wi-fi…
 
Io non ho conoscenze approfondite di scripting; anzi, le mie capacità in merito sono quasi inesistenti. Non mi definisco hacker: semplicemente, sono un appassionato di hacking. Mi piace utilizzare gli strumenti, capire la logica che sta dietro un attacco, acquisire nuove conoscenze. Sfortunatamente, non ho fatto un percorso di studio che mi ha permesso di acquisire abilità a livello di scripting e/o programmazione: questo mi ha abbastanza limitato nelle mie imprese, perché mi sono sempre dovuto appoggiare a terzi, i quali mi hanno costruito gli strumenti che mi servivano per operare. Mi sarebbe piaciuto approcciarmi alla programmazione, però non so se posso fare qualcosa: la programmazione è un qualcosa che, secondo me, devi già impararla fin da quando sei piccolo; altrimenti è molto difficile. Quand'ero più giovane, mi sentivo molto inferiore rispetto a coloro che già sapevano programmare. Provavo molto disagio quando alcuni mi definivano lamer o script-kiddie. Conosco un ragazzo di soli 18 anni, che è bravissimo a fare tutto: questa persona ha iniziato ad avvicinarsi al mondo della programmazione da quando aveva circa 11 anni. Adesso è diventato quasi un guru. Lui mi chiede qualche consiglio perché mi crede un maestro e ha molta stima di me. Tra qualche anno diventerà ancora più bravo, e sarò io a dover chiedere consigli a lui.

Detto ciò, hai scritto un bellissimo post. Non mi aspettavo di leggere un topic simile. Forse, se l'avessi letto quand'ero più giovane, mi avrebbe aiutato a non sentirmi inferiore agli altri.
 
  • Love
Reazioni: 0xbro
Secondo me conoscere anche solo un linguaggio di programmazione ti aiuta a capire la logica dietro a un programma e come è strutturato.
Per esperienza personale pur avendo studiato c++, java, php, javascript, sql e assembler a livello scolastico mi trovo in difficoltà nel leggere alcuni codici, non oso immaginare chi non ha nemmeno le basi e non sa cos'è un puntatore o un ciclo for, poi magari sono io che sono duro! :boh:
In compenso non sto trovando particolari difficoltà nell'imparare python.
Altri argomenti che ritengo fondamentali (qui però vado off topic) è conoscere i protocolli di rete, il funzionamento dell'hardware, allocazione memoria (penso a un attacco buffer overflow) ecc...​
 
  • Mi piace
Reazioni: --- Ra ---
Secondo me conoscere anche solo un linguaggio di programmazione ti aiuta a capire la logica dietro a un programma e come è strutturato.
Per esperienza personale pur avendo studiato c++, java, php, javascript, sql e assembler a livello scolastico mi trovo in difficoltà nel leggere alcuni codici, non oso immaginare chi non ha nemmeno le basi e non sa cos'è un puntatore o un ciclo for, poi magari sono io che sono duro! :boh:
In compenso non sto trovando particolari difficoltà nell'imparare python.
Altri argomenti che ritengo fondamentali (qui però vado off topic) è conoscere i protocolli di rete, il funzionamento dell'hardware, allocazione memoria (penso a un attacco buffer overflow) ecc...​
Ma veramente conoscere un linguaggio di programmazione è triviale, se apri uno script e leggi le stringhe già capisci ad intuito quello che vuole fare, poi documentando ogni singola istruzione riesci a ricostruire anche la logica senza aver mai studiato niente. La difficoltà nei linguaggi sta nello scrivere qualcosa da 0, che rappresenta la vera sfida. A quello mi riferivo, perché non tutti possono farlo e richiede pratica ed esercizio. Io stesso alle prime prese con python facevo tante cagate, ma per fortuna la natura open source del linguaggio mi ha permesso di capire quantomeno come funzionano le librerie, le classi ecc.
 
Stato
Discussione chiusa ad ulteriori risposte.