Cybersecurity, Linux & Networking - L’Informatica Che Appassiona + Roby7979

Ciao, vorrei condividere alcune risorse che ho trovato interessanti durante il mio percorso d’apprendimento sulla sicurezza informatica. Per la precisione vorrei iniziare col dire che questo topic è una testimonianza del mio percorso e spero possa aiutare qualcun’altro nel conseguire i propri obiettivi.

Programmazione

Qualunque sia il tuo scopo quindi: diventare programmatore, cybersecurity expert & Co io credo sia una branca fondamentale per tutta una serie di ragioni:

1° ragione

Secondo me quella più ovvia riguarda il salto di mindset (se così si può chiamare). Credo seriamente che la programmazione dovrebbe essere insegnata in tutte le scuole di qualunque indirizzo poiché permette agli studenti di sviluppare un pensiero più lineare e logico rispetto a qualunque altra materia anche grazie alla sua natura così tecnico / pratica.

2° ragione

L’altra è legata alle skill tecniche che ti porterai dietro. Se hai in programma una carriera come hacker o qualunque cosa abbia a che fare col testing dei sistemi informatici, magari capire a grandi linee com’è formato quel sistema informatico non è malaccio.

Come ho imparato a programmare?

Ad ogni modo, imparai per puro gusto personale online. Chiedendo ad alcuni amici, il linguaggio più semplice / intuitivo su cui concentrare le proprie forze era il C# e a distanza di quasi 5 anni non cambierei mai la mia scelta. La sintassi del linguaggio secondo me può fare la differenza nell’apprendimento e il C# ha un rapporto sintassi / intuitività non IPER SUPER semplicistico come Python nè troppo ostico che lo rende davvero perfetto.

Comprai un libro sul C# 7 che non mi servì praticamente a nulla poiché le discipline tecniche almeno che tu non abbia già una buona infarinatura di quell’ambito, in alcune modalità (come i libri) sono troppo difficili da padroneggiare e quindi migro ad un corso Udemy da 2 soldi ma abbastanza efficace.

Questo corso era bello concentrato, pochi esercizi, molta teoria però ti portava per mano sui concetti / ragionamenti giusti, qualcosa non la capivo e cercavo online finché non trovo il mio Dio fcamuso.

La 1° cosa che dico è che NON voleva un euro questo signore, tutt’oggi registra video nonostante sia pseudo-impopolare e a maggior ragione poiché non riceve un euro si nota la sua passione al 101%.

Tutto ciò però non è bastato però. Infatti non potevo cavarmela seguendo qualche corso qui e lì, mi serviva un progetto serio su cui focalizzarmi e apro un progetto open source che piacque molto alla community del tempo così da continuarlo per quasi 2 anni e grazie ad un progetto di riferimento (più o meno grande) imparai a programmare davvero molto bene e gli effetti dell’allenamento logico continuo lo notai sulla mia vita, in termini di problem solving ovviamente.

OSINT

Cronologicamente alla programmazione imparai la ricerca OSINT poiché fui doxato. È stato onestamente una cosa terribile, per chi non ha idea di cosa significhi doxing, un giorno una persona decide che gli stai un pò troppo antipatico e mediante tools più o meno importanti pubblica online i tuoi dati della vita reale interconnettendo la tua identità digitale con quella reale, anche molestando / spammando ai tuoi contatti nella vita reale per dare fastidio.

Senza dare maggiore contesto, mi preoccupai davvero tanto ma allo stesso tempo mi incuriosiva come avesse fatto questa persona a fare ciò e decido così di provare a capire il meccanismo / magia che avesse applicato per rintracciarmi avendo solamente un nickname da 2 soldi e qualche informazione sparsa, quel giorno non posso dimenticarlo perché ho ufficializzato la mia entrata nella sicurezza informatica.

Per la precisione imparo questa branca dell’Informatica da un libro chiamato OSINT Techniques: Resources for Uncovering Online Information di Micheal Bazzell, smanettando anche su YouTube e sul Darkweb riuscivo a trovare anche materiale di un certo tipo ma secondo me l’OSINT “canonico” basta e avanza.

Branca davvero molto utile anche per scopi personali come rintracciare qualcuno dopo una truffa e inoltrare una denuncia nei suoi confronti.

Sicurezza informatica

Salto più che scontato in realtà. Grazie a tutte le esperienze passate conobbi degli amici e un giorno questo mio amico mi parla della sicurezza informatica / Ethical Hacking, cercando un pò online capisco che era il nome “legale / canonico” per imparare a violare / proteggere sistemi informatici.

Cerco online qualcosina sia in Italiano che in Inglese e trovavo solo gente che volesse speculare sul trend del “Diventa hacker e frega il sistema come Mr. Robot!” posizionando con tecniche SEO più o meno discutibili online over-valutando i propri corsi da 2 soldi.

Allora questo mio amico mi riporta un attimo sulla giusta strada e mi dice di dare un’occhiata su TryHackMe piattaforma nota per gli hacker novelli. Su questa piattaforma per la precisione trovo una roadmap sul cosa studiare e la roadmap si riassumeva in:

  • Programmazione (opzionale per certe scuole di pensiero, non per me)
  • Conoscenza di Linux
  • Conoscenza sul Networking
  • OSINT, Steganografia, Crittografia e branche affini
  • Sicurezza informatica mirata a: servizi (SSH, Samba & Co), web, hardware ecc…

Linux

Studiare Linux è stata una delle cose più semplici della mia vita, qualunque canale Youtube sprizzava Linux e nozioni più o meno giuste e compatte senza dover spendere un capitale ma in particolare consiglio il canale di roby7979 e Simone Modiga anche lo stesso TryHackMe ha qualcosina gratis che non è male ma è poco. Dopo questi canali ho cambiato sistema operativo impostando come primario Ubuntu 22.04 e così potevo dire davvero di aver imparato Linux.

Networking

Il networking invece è stato un pò più tedioso da recuperare. Non ricordo molto bene dove ho imparato per la precisione perché credo di aver fatto un così grosso misto di risorse che potrei fare un elenco ma ultimamente sono nati canali YouTube come il mio (Informatica Che Appassiona) nato appositamente per accorpare più contenuti possibili sull’apprendimento dell’Informatica, in particolare i contenuti sul Networking sono racchiusi nelle playlist di “Sistemi e Reti”, nome più “scolastico” per il networking, e Simone Modiga che tratta davvero bene e nello specifico il networking e Linux.

Sicurezza Informatica (servizi e web)

Devo dire la verità mi sono disperato molto per studiarla perché ovunque cercassi o si fermavano a livelli poco più che ridicoli o volevano venderti un corso da 300 euro per dirti: non scaricare i programmi dai cattivoni!!! solo che questa non è la sicurezza informatica che volevo studiare…

Allora un altro amico davvero brillante mi consiglia di fare un giro su Hack The Box Academy e lì davvero trovo la pace. Per soli 8,60 al mese (plan studente) ho imparato davvero moltissimo. Per la precisione, per accedere al plan studente basta registrarsi con la propria email istituzionale (sia superiori che uni) e richiedere all’apposito indirizzo email l’attivazione per il vostro dominio mail del plan studente in quanto parte di una scuola, unica piattaforma che davvero sento di consigliare.

Frequentando poi modulo per modulo Hack The Box presumeva delle conoscenze di base su Linux, Networking ecc… e infatti il mio discorso è quello di prepararsi psicologicamente a fallire e all’auto-convincersi che quando ci si approccia ad una nuova branca dovrete soffrire abbastanza per padroneggiarla davvero.

Reverse Engineering

Beh che dire… questa volta mi affido a voi per una risorsa seria! Oltre a ciò ho cercato in diversi modi e con nomi / sinonimi diversi qualcosa di abbastanza corposo ma oltre ad aver ottenuto la roadmap biblica da studiare non ho potuto ottenere, la roadmap in particolare è:

  • Imparare le basi sui componenti hardware, ciclo macchina (Programma di Sistemi e Reti del 3° superiore di un ITIS non scarno)
  • Imparare Assembly
  • Imparare i concetti cardine sui sistemi operativi (circa equivalente ad un esame dell’uni chiamato Sistemi Operativi)
  • Imparare a disassemblare un programma con disassemblatori e debugger!

Sarei disposto anche a pagare un percorso davvero serio che non si fermi magari al setup del laboratorio.

Note

Il mio canale youtube come quello di esadecimale e chiunque carichi attivamente contenuti o cerca di assemblare una community è nato (almeno nel mio caso) per aiutare le persone nell’apprendimento dell’Informatica.

Sono almeno 2/3 anni che cerco di URLARE aiuto e solennità nei confronti di chi vuole uno spazio dove apprendere, decidendo così di fondare il mio canale YouTube, questo forum mi fa ben sperare

Link ai canali citati (max 2)

L’Informatica Che Appassiona (mio canale) - https://www.youtube.com/channel/UCbxbQ-KOWKBKJDi09YgnoPQ
Roby7979 - https://www.youtube.com/channel/UCAwPX5amsoJBiJyj-vmHhcQ

4 Likes

allora in primis vogliamo il link al canale e poi come faccio sovente x me nell’apprendimento in generale ci vuole sete di sapere e curiosità, se uno impara per imparare farà una gran fatica e non imparerà mai veramente in profondità!!!

1 Like

Ben detto e creare uno spazio con una curva d’apprendimento un attimo più ripida dove i contenuti sono sistemati per bene non è male come idea. Ho aggiornato il post con il link al mio canale YouTube e a quello di roby7979 (purtroppo posso mettere solamente 2 link a post) per il resto puoi cercare serenamente il nome su Youtube come per fcamuso, simone modiga ecc…

1 Like

Ringrazio della condivisione!

Commento tecnico: i post su questa sezione sarebbe meglio farli più concentrati sui canali in sé. È un po’ difficile estrapolare i canali di interesse leggendo il post. Penso di aprire una categoria a parte per queste storie più personali, appena ho un’idea su come chiamarla lo scrivo in aggiornamenti!

Esempio:

  • Canale XXX, tratta sicurezza informatica, programmazione, etc, qui il link
  • Canale YYY, tratta programmazione, game development, etc, qui il link

Nuovamente questo non perché la tua storia non è interessante, ma è per facilitare la vita a chi legge in modo da estrapolare i riferimenti.

Inoltre il nome è un po’ troppo generale, te lo cambio con i canali che hai linkato!

Per i posteri:

  • Da “Canali e Risorse Affini a Esadecimale”
  • A “Cybersecurity, Linux & Networking - L’informatica Che Appassiona + Roby7979”
1 Like

Ciao, ti dirò da ciò che ho potuto capire leggendo questo messaggio e vedendo ciò che pubblichi su youtube praticamente tu sai ciò che io non so ma io potrei aiutarti a trovare le fonti per studiare ciò a cui sei interessato.

Allora io ho appena finito il primo anno di università quindi i componenti hardware basici e il ciclo macchina sapevo già cosa fossero prima di iniziare a sbirciare questi argomenti , se vuoi avere un approccio teorico completo(non è obbligatorio ma se vuoi capire davvero come funzionano le cose te lo consiglio) ti consiglio questo libro :
https://www.amazon.it/Architettura-dei-calcolatori-approccio-strutturale/dp/8871929624.

Poi per conoscere le prime tematiche quindi imparare a usare il debugger,capire i registri e iniziare a masticare un po di assembli ti consiglio in primis questo video di Leo: https://www.youtube.com/watch?v=xX9eL-62w9I&t=910s

poi quando le cose ti sono chiare ti consiglio di vedere questa serie in italiano è fatta benissimo ma spesso tralascia la teoria:https://www.youtube.com/watch?v=ztkat5CXG5o&t=3s&pp=ygUrc2VjdXJpdHkgY2VydCBsb3cgbGV2ZWwgaGFja2luZyBkYXJpeCBkZXJvcw%3D%3D

e ti consiglio di vedere anche questa serie se mastichi un po di inglese:https://www.youtube.com/watch?v=iyAyN3GFM7A&list=PLhixgUqwRTjxglIswKp9mpkfPNfHkzyeN

detto questo ti posso assicurare che prima di capire a pieno queste cose ti ci vuole del tempo, poi chiaramente dipende sempre che obbiettivo ti poni ma è un argomento molto vasto dove secondo me possono esserci parecchi approcci diversi ,secondo me scrivere exploit per rompere i programmini in C senza mitigations è un inizio carino.Per esercitarti ti consiglio :
picoCTF - CMU Cybersecurity Competition (sezione binary exploitation e reversing)
Phoenix :: Andrew Griffiths' Exploit Education (scarica la macchina virtuale phoneix e smanetta con quella)
https://pwnable.kr/play.php (alcune challenge tipo bof parlano di queste cose)

2 Likes

Grazie mille per il tuo aiuto, anche se forse non ho specificato bene il livello di RE che desideravo nè il mio livello. Avevo raggiunto un buon livello di Reverse Engineering (per le CTF) ma non direttamente applicabile nel mondo reale almeno che i produttori di software non fossero dei totali ebeti.

Quello che offrono tutti questi canali è un RE molto accademico mentre il livello che desidero è da esperto e sì, lo so che mi servirebbe fare solamente pratica su pratica ma di sicuro un tutorial su come ricostruire le struct, classi, librerie & Co non farebbe schifo, qualcuno che metti insieme ecco tutta la teoria in uno spazio, come lo faccio io.

Se proprio vogliamo dirla tutta il 90% del RE con contesto più reale che ho imparato è stato sul darkweb su un sito da 2 soldi che aveva una cosa come 15 sezioni e partiva dal presentarti i debugger / disassemblatori fino a farti crackare i primi programmi con delle tecniche che sono APPENA menzionate da chiunque porti questo tipo di serie.

Sul mio canale YouTube volevo portare il mio livello di RE che è una specie di maxi merge di qualunque cosa si trovi online dal binary exploitation abc al crackare semplici programmi ma già quando si parla di: virtualizzatori, offuscazione (tranne che in C#, VB.NET e linguaggi di programmazione interpretati), keygen, ricostruire codici e/o ambientarsi su sorgenti molto molto molto grandi mi perdo perché evidentemente sono contenuti NON accademici e così tanto di nicchia che non proprio tutti potrebbero sapere.

Guarda secondo me nelle risorse che ti sono state linkate c’è veramente tanta roba (infatti ringrazio @marco.udinicl), molte delle quali sono anche difficili.

Ad esempio pwnable.kr contiene chal per niente banali, sul canale ne ho portate ma solo le prime ed erano molto semplici, quelle più avanzate sono belle toste.

Non c’è un singolo livello di CTF rispetto a cose come la RE. Ci sono CTF facili, medie, difficili, e poi ci sono CTF talmente difficili che sono molto più difficili del software moderno (vedi ad esempio la FlareOn challenge https://flare-on.com/, che è veramente ma veramente tosta).

Imho non c’é bisogno di andare sul darkweb per queste cose. È tutta questione di

  1. Definire un obiettivo specifico (tipo, voglio fare RE su questo software per capire il meccanismo X).
  2. Capire il gap di knowledge che ti limita nell’ottenere quel risultato.
  3. Trovare materiale / fare pratica per colmare quel gap.
2 Likes