Nytro Posted August 19, 2014 Report Posted August 19, 2014 Poate o sa para ciudat, dar am facut aceasta lista pentru ca asa am gandit ca evolueaza lucrurile. Am luat in pasi marunti lucrurile, de la folosirea unor programe pentru a face diverse rahaturi, la invatarea unor limbaje simple ca HTML, evolutia la niste limbaje pe parte de server (PHP) si comunicatia cu bazele de date (MySQL). Ei bine, numai dupa invatarea acestor lucruri poate sa inteleaga cineva ce e ala XSS si SQLI, dar exista multe persoane care citesc doua tutoriale de 2 lei si considera ca "stiu" aceste notiuni.Am incadrat apoi doua limbaje (mai des folosite) pentru programare aplicatiilor Desktop. Consider ca nivelul acestora si cunostintele necesare sunt mai ridicate decat pentru un limbaj pe parte de server, deosebirea principala fiind aceea ca pe parte de server limbajele sunt de scripting (interpretate) iar pe Desktop sunt limbaje de programare (compilate). In general.Trecem apoi la partea de retele incepand cu HTTP, notiune pe care ar trebui sa o cunoasca toata lumea, apoi la lucruri mai avansate: TCP/IP dar la nivel de protocoale: header TCP si header IP, realizarea in 3-4 pasi (SYN...) a unei conexiuni TCP etc. Sunt destul de putine persoane care se intereseaza de astfel de noituni care devin uneori complicate, de aceea le-am plasat atat de jos.Trecem si la sisteme de operare. Desi pentru Windows-ul nu e neaparat asa simplu cum pare, e o trecere destul de dificila de la Windows la Linux pentru ca sunt pur si simplu diferite. Exista insa doua tipuri de oameni: aia cu Ubuntu (majoritatea fiind ca "aia cu Windows") - adica persoane care nu stiu sa dea 2-3 comenzi in terminat, doar un sudo apt-get install, si cealalta categorie care stie sa instaleze un program din surse, sa configureze un server si sa opreasca niste servicii. Mai sunt apoi persoanele care stiu sa scrie un script in bash, sa faca un grep, un sed sau un script awk.Notiunea "Penetration testing" am pus-o in mod deliberat dupa toate aceste notiuni deoarece consider ca un penetration tester trebuie sa cunoasca TOATE aceste notiuni. Spun asta deoarece observ multi ratati care se considera pentesteri deoarece pun un <script>alert(1)</script> intr-un textbox de search si "Vai, am gasit XSS!". Nu. Lucrez ca Penetration Tester si asta inseamna sa cunosti "mult din fiecare".Dupa acest nivel, exista dupa parerea mea, "nivelul low-level". Aici ajung cei care au cunostinte de Assembler, dar merg mai departe la intelegerea interna a sistemelor de operare (adica kernel), cei care fac reverse engineering (pe malware, chiar si crack-uri) si cel mai avansat nivel la care poate ajunge cineva consider ca e la nivelul de "Exploit development". Asadar, cei care gasesc si exploateaza un Use-after-Free in Internet Explorer, un Type-confusion in Adobe Reader etc. se afla pe cel mai stimabil nivel.IT Security level:0. Vreau sa sparg parole (generic vorbind)1. Folosire Trojan/Keylogger (ceea ce ii atrage pe incepatori - "hackuri")2. Folosire scanner (va simtiti? ) - Luati-o altfel: folosirea diverselor programe (click, click, shit)3. HTML (un tabel, un iframe, niste imagini cu link...)4. HTML + Javascript (cel putin notiuni elementare de Javascript)5. XSS (pentru ca sunt persoane care [cred ca] "stiu" chiar daca nu stiu PHP) 6. SQL Injection (ca mai sus, persoane care nu stiu ce face acel "union" dar se lauda ca "stiu" SQLI)7. PHP (ASP, JSP - cunoasterea limbajului)8. MySQL (Oracle, MSSQL - macar SELECT/UPDATE/INSERT/DELETE)9. Linux (Ubuntu sau alt "GUI only")10. C# & .NET (diverse clase)11. C/C++ (pointeri, clase)12. HTTP (request/response)13. Networking (TCP/IP)14. Linux (RedHat/CentOS - configurare, instalare din surse)15. Shell scripting (grep, sed, awk)16. Penetration testing (tot ce e mai sus: Web security, Linux, Networking, Programare)17. ASM (mov, push, pop, lucruri de baza)18. OS internals (memory management, procese, formate PE/ELF)19. Reverse Engineering (debugging)20. Exploit development (scriere shellcodes, gasire si exploatare buffer overflows, use after free...)Am facut aceasta lista pentru a putea privi cu totii in mare ceea ce inseamna sa fii "Security researcher" sa zicem (generic vorbind) si sa poata vedea cu totii unde au ajuns si unde ar putea sa ajunga. Sunt constient ca unele lucruri nu au legatura intre ele (ASM si SQLI) dar consider ca notiunile necesare sunt mult mai avansate pentru ASM fata de SQL Injection. Nu ma intelegeti gresit, nu subestimez niciun nivel si nu consider ca cineva trebuie sa cunoasca la perfectie toate notiunile enumerate pentru ca nu exista persoane care pot face acest lucru. Sunt 100% sigur ca nu exista aici o persoana care a cunoasca TOATE tag-urile si atributele din HTML. Acelasi lucru se aplica si pentru celelalte lucruri.Sigur, lista nu este nici pe departe completa, dar ofera o idee de ansablu. Daca nu sunteti de acord sau aveti idei de imbunatatire astept comentarii.In principal astept de la toti un post cu un numar. Atat. De fapt, nici nu e nevoie sa postati, doar ganditi-va la cunostintele voastre privind ansamblul de cunostinte pe care le poate avea cineva.O sa incep eu: sunt pe la nivelurile 18-19, ma lupt cu ele, dar mai e cale lunga pana sa le stapanesc. Quote
Rubaka Posted August 19, 2014 Report Posted August 19, 2014 9-10, dar nu ar strica sa fac o recapitulare de la 5. Quote
Gushterul Posted August 19, 2014 Report Posted August 19, 2014 Eu sunt la 21 Social engineering of 1-20 Quote
Nytro Posted August 19, 2014 Author Report Posted August 19, 2014 Adica esti bun doar la dat din gura. Quote
Wav3 Posted August 19, 2014 Report Posted August 19, 2014 Interesanta scara si destul de apropiata de realitate, dar nu in totalitate. Pot fi persoane care cunosc un anumit punct din lista, dar nu si pe toate celelalte de dinaintea acelui punct. Mai ales in prima parte a listei.Imi place sa cred ca sunt pe la 8. Quote
albertynos Posted August 19, 2014 Report Posted August 19, 2014 Ma uit peste lista si daca e sa o luam in ordine sunt varza adica stiu dar pe sarite, asta insemnand :1-56-913-14Nu a-si putea spune la ce nivel sunt luandu-le in ordinea aceasta.Ma bag si pe altele dar nu am multe cunostinte, stiu basic si atat. Quote
Bateria Posted August 19, 2014 Report Posted August 19, 2014 14 - 15. dar nu prea stapanesc 10-11. Quote
GarryOne Posted August 19, 2014 Report Posted August 19, 2014 (edited) Cand am citit lista, aveam impresia ca a fost facuta pentru mine. Deci mergeau toate punctele consecutiv, una dupa alta, chiar cum le-am invatat eu, fara sa fie vreo una in plus, de fapt, doar C# & .NET, (nu-mi place Microsoft-ul).Sunt la 15. Edited August 19, 2014 by GarryOne Quote
phantomas90 Posted August 19, 2014 Report Posted August 19, 2014 17 - lucruri de baza. Pt celalalte puncte doar cunostiinte foarte vagi. @Nytro: Lista e ok, ideea e ca daca ai avut de-a face cu domeniile astea ar fi indicat sa dai niste titluri de carti de unde se poate invata mai usor, pt ca nu toate documentatiile sau manualele sunt asa "learning friendly". Quote