SlideShare une entreprise Scribd logo
1  sur  38
Mamma, da grande voglio essere
un Penetration Tester…
HackInBo 2016 Winter Edition
Simone Onofri
@simoneonofri
mailto:simone@onofri.org
CC BY-ND-NC
Introduzione
Agenda
• Chi è il Penetration Tester
• Quali sono le sue competenze
• Come svilupparle
• Cominciamo insieme
• Domande frequenti
Anzitutto… chi è il Penetration Tester
Un Penetration Tester è una
persona che applica un metodo,
utilizza degli strumenti e delle
tecniche per simulare un attacco
da parte di un agente di minaccia
esterno o interno all’organizzazione
bersaglio.
Hackerman – Kung fury
A livello italiano abbiamo la norma UNI-11621-4 con
L’Analista tecnico per la sicurezza delle informazioni
Cosa possiamo
testare? L’ambito
nell’OSSTMMPhysical
Data
Networ
ks
Telecom
municat
ions
Wireless
Human
COMMSEC
SPECEC
PHYSEC
Application
(new)
Liberamente ispirato all’immagine dello scope
nell’Hackers High School
Asset /
Bersagli
E’ interessante notare che, di
solito, i Penetration Tester sono
chiamati anche «Ethical
Hacker»…
…e almeno un aspetto
accomuna il «Tester» dall’
«hacker»…
«Il mio crimine è la curiosità. Il mio
crimine è giudicare le persone per
quello che dicono e pensano, non
per il loro aspetto»
-- The Mentor (La Coscienza di un Hacker)
https://gist.github.com/FiloSottile/3787073
Il legame tra hacker e tester…
«Qualsiasi cosa possiate aver sentito sugli hacker,
la verità è che sono veramente bravi in una cosa:
scoprire. Gli Hacker sono motivati, pieni di
risorse e creativi. Esaminano con attenzione
come funzionano gli oggetti, al punto che sono in
grado di prenderne il controllo e trasformarli in
altro.
-- Hackers High School v2 (Essere un Hacker)
Cosa bisogna fare?
«Bisogna prima sviluppare le competenze, la
sensibilità e l’intuizione attraverso la pratica
altrimenti si fallirà miseramente.»
-- Hackers High School v2 (Essere un Hacker)
«Un buon tester è spesso un buon
sistemista e un buon sviluppatore,
un ottimo tester è spesso un ottimo
sistemista e un ottimo sviluppatore»
-- ascii, wisec (Pisa 2008)
…ma NON tutti gli «hacker»
sono tester, alcuni si occupano
anche di «costruire» come
scopo ultimo, si può essere
«hacker» in molti modi!
L’altro lato del Penetration Tester di
«professione»
Bisogna saper comunicare, in diversi
modi:
• E’ bello lavorare da soli (sul proprio
PC, possibilmente di notte*), ma si
potrebbe anche dover lavorare in
team.
• Quando abbiamo fatto il nostro
lavoro, scriveremo un report.
• Potrebbero anche chiederci di
presentare i risultati, per esempio
ai vertici dell’azienda.
The day the pentest report is due
-- @liamosaur (infosecreactions)
Competenze...
• Competenze
• Saper programmare*
• Sistemi operativi e Applicazioni
• Reti e protocolli
• Metodologie
• Generali (e.g. OWASP Testing Guide,
ISECOM OSSTMM, PTES)
• Attacchi specifici da testare
• Strumenti
• Che usiamo per lavorare (e che
eventualmente ci facciamo*)
• Tipicamente almeno un proxy e un
browser, strumenti per il probing e
l’exploiting.
-- Vulnerability Stack v2 derived from the original Jeremiah Grossman (2006)
http://blog.jeremiahgrossman.com/2006/11/vulnerability-stack.html
+------------------+
| FW/Proxy/Bilanc. |
+------------------+
| Applicazioni Web |
| Proprietarie |
+------------------+
| Applicazioni Web |
| di terze parti |
+------------------+
| Web/App Server |
+------------------+
| Database |
+------------------+
| Altre applicaz. |
+------------------+
| Sistemi Operativi|
+------------------+
| Reti / Protocolli|
+------------------+
Sulla questione di saper programmare, tra Charlie
Miller, pigrizia e voglia di imparare
«Ricordatevi, la differenza tra uno script kiddie e un professionista è la
differenza tra chi meramente utilizza gli strumenti di altri e chi scrive i
propri»
-- Charlie Miller (Prefazione a Black Hat Python)
Mi interessa
capire a fondo
come funziona
quello che devo
fare? E’
un‘attività noisa
che posso
automatizzare?
Esiste un programma
che fa quello che mi
serve?
Fa quello che mi
serve come voglio io?
No
Si
Si
Usa il programma di
altri
SiNo
Programmalo!
(C/C++, Assembly.
Scripting)
No
Si
Funziona?
No
Quali sono le metodologie
• Metodologie sui WAPT
• ISECOM OSSTMM
• PTES
• OWASP Testing Guide
• Letture interessanti
• Gray hat hacking
• Web Application Hacker’s
Handbook
• Tangled Web
ISECOM
Open Source
Security Testing
Methodology
Manual
(OSSTMM)
OWASP
Testing Guide
Penetration
Testing
Execution
Standard (PTES)
https://www.owasp.org/index.php/OWASP_Testing_Guide_v4_Table_of_Contents
http://www.pentest-standard.org/index.php/Main_Page
http://www.isecom.org/research/osstmm.html
http://mdsec.net/wahh/
Ma la OWASP TOP 10?
A1 – Injection
A2 – Broken Authentication and Session
Management
A3 – Cross Site Scripting
A4 – Insecure Direct Object References
A5 – Security Misconfiguration
A6 – Sensitive Data Exposure
A7 – Missing Function Level Access Control
A8 - Cross-Site Request Forgery (CSRF)
A9 - Using Components with Known Vulnerabilities
A10 – Unvalidated Redirects and Forwards
La TOP 10 sono le principali/più frequenti vulnerabilità/rischi
che possiamo trovare, ma non è tutto! Quello che andiamo a
testare è anche ben altro… no fermiamoci alla TOP 10!
L’importanza dell’esperienza e dell’approccio
pratico
• La teoria della pratica
• Il Testing è strettamente legato
al fare esperienza, avere le
giuste intuizioni e andare per
prove ed errori
• L’importante è fare pratica,
avendo le giuste basi… perché
non possiamo sapere tutto
dall’inizio!
• Non siamo sicuri che quella sia
una SQL Injection fino a che non
proviamo a metterci almeno un
apice1!!’’’!!!1
«se ascolto dimentico, se vedo ricordo, se faccio capisco»
-- Antico proverbio cinese || Confucio
«Il più grande nemico della
conoscenza non è l'ignoranza, ma
l'illusione della conoscenza»
-- Daniel J. Boorstin
Primi passi…
• Installarsi e configurarsi la macchina «attacker»,
cominciamo con:
• Un Browser (e.g. Firefox) con alcuni plugin
(e.g. HackBar, Firebug, LiveHTTPHeaders) e un
web proxy (e.g. OWASP ZAP, Burp)
• Utility di sistema
• Installarsi e configurarsi la macchine «victim»
• Si possono utilizzare dei sistemi volutamente
vulnerabili (e.g. DVWA, Mutillidae)
• Un software Open Source a piacere da testare
• Una macchina con un Capture the Flag (CTF) -
https://www.vulnhub.com/
• Prendere una delle guide e/o un libro (e.g. quelli
indicati)
• Leggere parte del libro e man mano fare le
prove
Il nostro setup di base
• Sistema operativo a nostro piacimento*
• Come browser possiamo usare Firefox, con dei plugin come la
HackBar (per scrivere meglio).
• Ma dobbiamo comunque essere curiosi, e capire cosa succede
«sotto» al browser, strumenti da usare/studiare sono telent (se siamo
in chiaro), netcat e curl.
Il nostro bersaglio
• Molto dipende dal gusto personale
• Per testare una singola vulnerabilità per volta, va bene per le prime
volte «Pentester Lab: Web For Pentester
• https://www.vulnhub.com/entry/pentester-lab-web-for-pentester,71/
• Si può tranquillamente installare in macchina virtuale
Cominciamo!
Ma cosa veramente è successo (almeno al
layer 7)?
GET / HTTP/1.1
Host: 192.168.44.137
User-Agent: antani
Accept:
text/html,application/xhtml+xml,appli
cation/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
(si, ci sono due CRLF prima di questa
riga)
HTTP/1.1 200 OK
Date: Sat, 29 Oct 2016 02:52:00 GMT
Server: Apache/2.2.16 (Debian)
X-Powered-By: PHP/5.3.3-7+squeeze15
X-XSS-Protection: 0
Vary: Accept-Encoding
Content-Length: 6033
Connection: close
Content-Type: text/html
X-Pad: avoid browser bug
<!DOCTYPE html>
Come funziona HTTP?
URIMethod
Header: Value
<CR> <LF>
Header: Value
<CR> <LF>
Header: Value
<CR> <LF>
HTTP Request
Body
<CR> <LF> <CR> <LF>
<SP> Protocol<SP> CodeProtocol
Header: Value
<CR> <LF>
Header: Value
<CR> <LF>
Header: Value
<CR> <LF>
HTTP Response
Body
<CR> <LF> <CR> <LF>
<SP>
Explanati
on
<SP>
https://tools.ietf.org/html/rfc1945
https://www.ietf.org/rfc/rfc2616.txt
Cominciamo! (di nuovo)
$ telnet 192.168.44.137 80
Trying 192.168.44.137...
Connected to 192.168.44.137.
Escape character is '^]'.
GET / HTTP/1.1
(due CRLF)
HTTP/1.1 400 Bad Request
Date: Sat, 29 Oct 2016 03:28:05 GMT
Server: Apache/2.2.16 (Debian)
Vary: Accept-Encoding
Content-Length: 301
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server
could not understand.<br />
</p>
<hr>
<address>Apache/2.2.16 (Debian) Server at
127.0.0.1 Port 80</address>
</body></html>
Secondo giro
$ telnet 192.168.44.137 80
Trying 192.168.44.137...
Connected to 192.168.44.137.
Escape character is '^]'.
GET / HTTP/1.0
(due CRLF)
HTTP/1.1 200 OK
Date: Sat, 29 Oct 2016 03:30:16 GMT
Server: Apache/2.2.16 (Debian)
X-Powered-By: PHP/5.3.3-7+squeeze15
X-XSS-Protection: 0
Vary: Accept-Encoding
Content-Length: 6033
Connection: close
Content-Type: text/html
<!DOCTYPE html>
…
Ma come faccio a far funzionare con HTTP
1.1?
$ telnet 192.168.44.137 80
Trying 192.168.44.137...
Connected to 192.168.44.137.
Escape character is '^]'.
GET / HTTP/1.1
Host: localhost
(due CRLF)
HTTP/1.1 200 OK
Date: Sat, 29 Oct 2016 03:37:05 GMT
Server: Apache/2.2.16 (Debian)
X-Powered-By: PHP/5.3.3-7+squeeze15
X-XSS-Protection: 0
Vary: Accept-Encoding
Content-Length: 6033
Content-Type: text/html
<!DOCTYPE html>
…
Possiamo automatizzare?
$ echo "GET / HTTP/1.1rnrn" | nc 192.168.44.137 80
HTTP/1.1 400 Bad Request
Date: Sat, 29 Oct 2016 04:15:30 GMT
Server: Apache/2.2.16 (Debian)
Vary: Accept-Encoding
Content-Length: 301
Connection: close
Content-Type: text/html; charset=iso-8859-1
$ echo "GET / HTTP/1.1rnrn" | nc 192.168.44.137 80 | grep
"Server"
Server: Apache/2.2.16 (Debian)
<address>Apache/2.2.16 (Debian) Server at 127.0.0.1 Port
80</address>
Prossimi passi? OWASP TG!
• Information Gathering
• Configuration and Deployment
Management Testing
• Identity Management Testing
• Authentication Testing
• Authorization Testing
• Session Management Testing
• Input Validation Testing
• Testing for Error Handling
• Testing for weak Cryptography
• Business Logic Testing
• Client Side Testing
Sintetizzando
• Imparate le basi
• Mettete in pratica, anche da
subito
• Continuare ad imparare
• Partecipate alla vita delle
comunità (e.g. Università, IRC,
forum)
• Collaborate a progetti
• Provate, provate, provate!
Laboratori virtuali, CTF…
Grazie
simone@onofri.org
@simoneonofri
https://onofri.org/
https://linkedin.com/in/simoneonofri
…in particolare il gruppo «Veteran Unix Admins» (Franco, Giovambattista, Giancarlo, Daniele, Gianluca, Luca),
Donato, Angelo, Valerio, Simone e più un generale chi è nella comunità italiana all’ESC, al MOCA… last but not least
Mario e lo staff e i relatori di HiB2016
Domande Frequenti
FAQ per gli amici
Quanto è importante l’Università
• Può dare buone basi su cui lavorare.
• Non è «conditio sine qua non» per diventare un Tester.
• Dipende molto dall’università e attenzione all’approccio.
• Molto utile per incontrare – «anche realmente» – persone interessate
ai nostri stessi argomenti.
Dove studio?
• Libri
• Corsi
• Documentazione
• Codice
• Pratica! Tanta pratica
E’ bene cercare su Google e sui
forum… ma attenzione!
Quanto tempo serve?
--- evilsocket sulla vita sociale di un professionista della
sicurezza informatica
Ma le certificazioni?
• Ce ne sono tante in giro, hanno un
diverso valore, costo ecc…
• Nel «mercato»…
• Hanno poi un valore personale
Se non so tutto prima?
• E’ abbastanza normale non sapere tutto sul bersaglio in una fase
iniziale.
• Intanto comincia! Man mano che servono delle informazioni te le
studi!
• Non dare nulla per scontato!

Contenu connexe

Tendances

White paper - investigating the effects of multiple re-use of Ti6Al4V powder ...
White paper - investigating the effects of multiple re-use of Ti6Al4V powder ...White paper - investigating the effects of multiple re-use of Ti6Al4V powder ...
White paper - investigating the effects of multiple re-use of Ti6Al4V powder ...
Lucy Grainger
 
Finalppt metasploit
Finalppt metasploitFinalppt metasploit
Finalppt metasploit
devilback
 
지능형지속위협공격 최신동향 분석
지능형지속위협공격 최신동향 분석지능형지속위협공격 최신동향 분석
지능형지속위협공격 최신동향 분석
한익 주
 
Metrics for manual testing
Metrics for manual testingMetrics for manual testing
Metrics for manual testing
Anup Panigrahi
 

Tendances (20)

Practical Malware Analysis: Ch 0: Malware Analysis Primer & 1: Basic Static T...
Practical Malware Analysis: Ch 0: Malware Analysis Primer & 1: Basic Static T...Practical Malware Analysis: Ch 0: Malware Analysis Primer & 1: Basic Static T...
Practical Malware Analysis: Ch 0: Malware Analysis Primer & 1: Basic Static T...
 
Case Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by DefaultCase Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by Default
 
User Acceptance Testing in the Testing Center of Excellence
User Acceptance Testing in the Testing Center of ExcellenceUser Acceptance Testing in the Testing Center of Excellence
User Acceptance Testing in the Testing Center of Excellence
 
QPAM ATD 2022.pdf
QPAM ATD 2022.pdfQPAM ATD 2022.pdf
QPAM ATD 2022.pdf
 
Playlist Recommendations @ Spotify
Playlist Recommendations @ SpotifyPlaylist Recommendations @ Spotify
Playlist Recommendations @ Spotify
 
200109-Open AI Chat GPT-4-3.pptx
200109-Open AI Chat GPT-4-3.pptx200109-Open AI Chat GPT-4-3.pptx
200109-Open AI Chat GPT-4-3.pptx
 
White paper - investigating the effects of multiple re-use of Ti6Al4V powder ...
White paper - investigating the effects of multiple re-use of Ti6Al4V powder ...White paper - investigating the effects of multiple re-use of Ti6Al4V powder ...
White paper - investigating the effects of multiple re-use of Ti6Al4V powder ...
 
Shift Left & Shift Right Approach in Testing
Shift Left  &  Shift Right  Approach in TestingShift Left  &  Shift Right  Approach in Testing
Shift Left & Shift Right Approach in Testing
 
Static Analysis with Sonarlint
Static Analysis with SonarlintStatic Analysis with Sonarlint
Static Analysis with Sonarlint
 
Implementing error budgets
Implementing error budgetsImplementing error budgets
Implementing error budgets
 
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)
 
OpenAI Gym & Universe
OpenAI Gym & UniverseOpenAI Gym & Universe
OpenAI Gym & Universe
 
ATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven DevelopmentATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven Development
 
Finalppt metasploit
Finalppt metasploitFinalppt metasploit
Finalppt metasploit
 
지능형지속위협공격 최신동향 분석
지능형지속위협공격 최신동향 분석지능형지속위협공격 최신동향 분석
지능형지속위협공격 최신동향 분석
 
QA metrics in Agile (GUIDE)
QA metrics in Agile (GUIDE)QA metrics in Agile (GUIDE)
QA metrics in Agile (GUIDE)
 
Load Testing using Continuous Integration tools
Load Testing using Continuous Integration toolsLoad Testing using Continuous Integration tools
Load Testing using Continuous Integration tools
 
ChatGPT: Le bon la brute et le changement
ChatGPT: Le bon la brute et le changementChatGPT: Le bon la brute et le changement
ChatGPT: Le bon la brute et le changement
 
Metrics for manual testing
Metrics for manual testingMetrics for manual testing
Metrics for manual testing
 
Sonar Overview
Sonar OverviewSonar Overview
Sonar Overview
 

En vedette

Introduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWL
Introduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWLIntroduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWL
Introduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWL
Simone Onofri
 
Netiquette e uso ragionato di internet e delle nuove tecnologie
Netiquette e uso ragionato di internet e delle nuove tecnologieNetiquette e uso ragionato di internet e delle nuove tecnologie
Netiquette e uso ragionato di internet e delle nuove tecnologie
Simone Onofri
 

En vedette (20)

ISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practicesISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practices
 
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
 
Hackers vs Developers - SQL Injection - Attacco e Difesa
Hackers vs Developers - SQL Injection - Attacco e DifesaHackers vs Developers - SQL Injection - Attacco e Difesa
Hackers vs Developers - SQL Injection - Attacco e Difesa
 
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
 
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
 
Agile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e KanbanAgile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e Kanban
 
TEDX TorVergataU - Intuition, Hacking e Nuove Tecnologie
TEDX TorVergataU -  Intuition, Hacking e Nuove TecnologieTEDX TorVergataU -  Intuition, Hacking e Nuove Tecnologie
TEDX TorVergataU - Intuition, Hacking e Nuove Tecnologie
 
Agile e Lean Management
 Agile e Lean Management Agile e Lean Management
Agile e Lean Management
 
Security Project Management: Esperienze nella gestione di Vulnerability Asses...
Security Project Management: Esperienze nella gestione di Vulnerability Asses...Security Project Management: Esperienze nella gestione di Vulnerability Asses...
Security Project Management: Esperienze nella gestione di Vulnerability Asses...
 
ORM Injection
ORM InjectionORM Injection
ORM Injection
 
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...
 
Il Web del Futuro: RDFa per l organizzazione della conoscenza sul web - Web S...
Il Web del Futuro: RDFa per l organizzazione della conoscenza sul web - Web S...Il Web del Futuro: RDFa per l organizzazione della conoscenza sul web - Web S...
Il Web del Futuro: RDFa per l organizzazione della conoscenza sul web - Web S...
 
Introduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWL
Introduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWLIntroduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWL
Introduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWL
 
Hackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMM
Hackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMMHackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMM
Hackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMM
 
Il Web del Futuro - Progettare applicazioni con il Web Semantico
Il Web del Futuro - Progettare applicazioni con il Web SemanticoIl Web del Futuro - Progettare applicazioni con il Web Semantico
Il Web del Futuro - Progettare applicazioni con il Web Semantico
 
Anonymous for fun and profit - e-privacy 2011
Anonymous for fun and profit - e-privacy 2011Anonymous for fun and profit - e-privacy 2011
Anonymous for fun and profit - e-privacy 2011
 
Netiquette e uso ragionato di internet e delle nuove tecnologie
Netiquette e uso ragionato di internet e delle nuove tecnologieNetiquette e uso ragionato di internet e delle nuove tecnologie
Netiquette e uso ragionato di internet e delle nuove tecnologie
 
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
 
Strumenti e risorse attuali presenti sul Web utili per la PA
Strumenti e risorse attuali presenti sul Web utili per la PAStrumenti e risorse attuali presenti sul Web utili per la PA
Strumenti e risorse attuali presenti sul Web utili per la PA
 
Owasp italy day sparql injection attacking triple store semantic web applicat...
Owasp italy day sparql injection attacking triple store semantic web applicat...Owasp italy day sparql injection attacking triple store semantic web applicat...
Owasp italy day sparql injection attacking triple store semantic web applicat...
 

Similaire à Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 Winter

festival ICT 2013: Gestire criticità in maniera efficiente per liberare slot ...
festival ICT 2013: Gestire criticità in maniera efficiente per liberare slot ...festival ICT 2013: Gestire criticità in maniera efficiente per liberare slot ...
festival ICT 2013: Gestire criticità in maniera efficiente per liberare slot ...
festival ICT 2016
 
La complessità del malware: analisi strutturale ed ambienti di sviluppo
La complessità del malware: analisi strutturale ed ambienti di sviluppoLa complessità del malware: analisi strutturale ed ambienti di sviluppo
La complessità del malware: analisi strutturale ed ambienti di sviluppo
Marco Ferrigno
 
Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...
Marco Ferrigno
 
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisureCCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
walk2talk srl
 
festival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2013: Vivere open source dalle applicazioni ad arduinofestival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2016
 
Data hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open sourceData hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open source
Marco Ferrigno
 

Similaire à Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 Winter (20)

Introduzione all'Information Gathering
Introduzione all'Information GatheringIntroduzione all'Information Gathering
Introduzione all'Information Gathering
 
Security and hacking Engineering
Security and hacking EngineeringSecurity and hacking Engineering
Security and hacking Engineering
 
festival ICT 2013: Gestire criticità in maniera efficiente per liberare slot ...
festival ICT 2013: Gestire criticità in maniera efficiente per liberare slot ...festival ICT 2013: Gestire criticità in maniera efficiente per liberare slot ...
festival ICT 2013: Gestire criticità in maniera efficiente per liberare slot ...
 
Simulazione di un Penetration Test
Simulazione di un Penetration TestSimulazione di un Penetration Test
Simulazione di un Penetration Test
 
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioni
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioniBackdoor Coding: Analisi di una semplice backdoor e prime applicazioni
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioni
 
La complessità del malware: analisi strutturale ed ambienti di sviluppo
La complessità del malware: analisi strutturale ed ambienti di sviluppoLa complessità del malware: analisi strutturale ed ambienti di sviluppo
La complessità del malware: analisi strutturale ed ambienti di sviluppo
 
Corso Java - Introduzione
Corso Java - IntroduzioneCorso Java - Introduzione
Corso Java - Introduzione
 
Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...
 
Exploitation windows7
Exploitation windows7Exploitation windows7
Exploitation windows7
 
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisureCCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
 
LinuxDay 2005: Computer Virus e rilevamento
LinuxDay 2005: Computer Virus e rilevamentoLinuxDay 2005: Computer Virus e rilevamento
LinuxDay 2005: Computer Virus e rilevamento
 
Computer Virus e rilevamento
Computer Virus e rilevamentoComputer Virus e rilevamento
Computer Virus e rilevamento
 
Automotive Security
Automotive SecurityAutomotive Security
Automotive Security
 
festival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2013: Vivere open source dalle applicazioni ad arduinofestival ICT 2013: Vivere open source dalle applicazioni ad arduino
festival ICT 2013: Vivere open source dalle applicazioni ad arduino
 
CMS - Analisi Vulnerabilità
CMS - Analisi VulnerabilitàCMS - Analisi Vulnerabilità
CMS - Analisi Vulnerabilità
 
Linux Day 2018 Roma - Web Application Penetration Test (WAPT) con Linux
Linux Day 2018 Roma - Web Application Penetration Test (WAPT) con LinuxLinux Day 2018 Roma - Web Application Penetration Test (WAPT) con Linux
Linux Day 2018 Roma - Web Application Penetration Test (WAPT) con Linux
 
Data hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open sourceData hiding - metodologie e strumenti open source
Data hiding - metodologie e strumenti open source
 
Linux, sicurezza & social hacking
Linux, sicurezza & social hackingLinux, sicurezza & social hacking
Linux, sicurezza & social hacking
 
Privacy in enigmate
Privacy in enigmatePrivacy in enigmate
Privacy in enigmate
 
Installazione Software Applicativo
Installazione Software ApplicativoInstallazione Software Applicativo
Installazione Software Applicativo
 

Plus de Simone Onofri

ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
Simone Onofri
 

Plus de Simone Onofri (16)

Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
 
Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
 
Attacking Ethereum Smart Contracts a deep dive after ~9 years of deployment
Attacking Ethereum Smart Contracts  a deep dive after ~9 years of deploymentAttacking Ethereum Smart Contracts  a deep dive after ~9 years of deployment
Attacking Ethereum Smart Contracts a deep dive after ~9 years of deployment
 
Agile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazioneAgile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazione
 
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
 
Agile Project Framework
Agile Project FrameworkAgile Project Framework
Agile Project Framework
 
Agile nei servizi di cyber security (Security Summit Edition)
Agile nei servizi di cyber security (Security Summit Edition)Agile nei servizi di cyber security (Security Summit Edition)
Agile nei servizi di cyber security (Security Summit Edition)
 
Security Project Management - Agile nei servizi di Cyber Security
Security Project Management - Agile nei servizi di Cyber SecuritySecurity Project Management - Agile nei servizi di Cyber Security
Security Project Management - Agile nei servizi di Cyber Security
 
Cyber Defense - How to be prepared to APT
Cyber Defense - How to be prepared to APTCyber Defense - How to be prepared to APT
Cyber Defense - How to be prepared to APT
 
Nuove minacce nella Cyber Security, come proteggersi
Nuove minacce nella Cyber Security, come proteggersiNuove minacce nella Cyber Security, come proteggersi
Nuove minacce nella Cyber Security, come proteggersi
 
Agile lean conference - Agile, Lean & Business
Agile lean conference - Agile, Lean & BusinessAgile lean conference - Agile, Lean & Business
Agile lean conference - Agile, Lean & Business
 
Lean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project ManagementLean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project Management
 
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
 
IPMA 2014 World Congress - Stakeholder Engagement between Traditional and Ag...
IPMA 2014 World Congress -  Stakeholder Engagement between Traditional and Ag...IPMA 2014 World Congress -  Stakeholder Engagement between Traditional and Ag...
IPMA 2014 World Congress - Stakeholder Engagement between Traditional and Ag...
 
Meetmagento 2014 hackers_onofri
Meetmagento 2014 hackers_onofriMeetmagento 2014 hackers_onofri
Meetmagento 2014 hackers_onofri
 
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Applica...
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Applica...Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Applica...
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Applica...
 

Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 Winter

  • 1. Mamma, da grande voglio essere un Penetration Tester… HackInBo 2016 Winter Edition Simone Onofri @simoneonofri mailto:simone@onofri.org CC BY-ND-NC
  • 3. Agenda • Chi è il Penetration Tester • Quali sono le sue competenze • Come svilupparle • Cominciamo insieme • Domande frequenti
  • 4. Anzitutto… chi è il Penetration Tester Un Penetration Tester è una persona che applica un metodo, utilizza degli strumenti e delle tecniche per simulare un attacco da parte di un agente di minaccia esterno o interno all’organizzazione bersaglio. Hackerman – Kung fury A livello italiano abbiamo la norma UNI-11621-4 con L’Analista tecnico per la sicurezza delle informazioni
  • 6. E’ interessante notare che, di solito, i Penetration Tester sono chiamati anche «Ethical Hacker»…
  • 7. …e almeno un aspetto accomuna il «Tester» dall’ «hacker»…
  • 8. «Il mio crimine è la curiosità. Il mio crimine è giudicare le persone per quello che dicono e pensano, non per il loro aspetto» -- The Mentor (La Coscienza di un Hacker) https://gist.github.com/FiloSottile/3787073
  • 9. Il legame tra hacker e tester… «Qualsiasi cosa possiate aver sentito sugli hacker, la verità è che sono veramente bravi in una cosa: scoprire. Gli Hacker sono motivati, pieni di risorse e creativi. Esaminano con attenzione come funzionano gli oggetti, al punto che sono in grado di prenderne il controllo e trasformarli in altro. -- Hackers High School v2 (Essere un Hacker)
  • 10. Cosa bisogna fare? «Bisogna prima sviluppare le competenze, la sensibilità e l’intuizione attraverso la pratica altrimenti si fallirà miseramente.» -- Hackers High School v2 (Essere un Hacker)
  • 11. «Un buon tester è spesso un buon sistemista e un buon sviluppatore, un ottimo tester è spesso un ottimo sistemista e un ottimo sviluppatore» -- ascii, wisec (Pisa 2008)
  • 12. …ma NON tutti gli «hacker» sono tester, alcuni si occupano anche di «costruire» come scopo ultimo, si può essere «hacker» in molti modi!
  • 13. L’altro lato del Penetration Tester di «professione» Bisogna saper comunicare, in diversi modi: • E’ bello lavorare da soli (sul proprio PC, possibilmente di notte*), ma si potrebbe anche dover lavorare in team. • Quando abbiamo fatto il nostro lavoro, scriveremo un report. • Potrebbero anche chiederci di presentare i risultati, per esempio ai vertici dell’azienda. The day the pentest report is due -- @liamosaur (infosecreactions)
  • 14. Competenze... • Competenze • Saper programmare* • Sistemi operativi e Applicazioni • Reti e protocolli • Metodologie • Generali (e.g. OWASP Testing Guide, ISECOM OSSTMM, PTES) • Attacchi specifici da testare • Strumenti • Che usiamo per lavorare (e che eventualmente ci facciamo*) • Tipicamente almeno un proxy e un browser, strumenti per il probing e l’exploiting. -- Vulnerability Stack v2 derived from the original Jeremiah Grossman (2006) http://blog.jeremiahgrossman.com/2006/11/vulnerability-stack.html +------------------+ | FW/Proxy/Bilanc. | +------------------+ | Applicazioni Web | | Proprietarie | +------------------+ | Applicazioni Web | | di terze parti | +------------------+ | Web/App Server | +------------------+ | Database | +------------------+ | Altre applicaz. | +------------------+ | Sistemi Operativi| +------------------+ | Reti / Protocolli| +------------------+
  • 15. Sulla questione di saper programmare, tra Charlie Miller, pigrizia e voglia di imparare «Ricordatevi, la differenza tra uno script kiddie e un professionista è la differenza tra chi meramente utilizza gli strumenti di altri e chi scrive i propri» -- Charlie Miller (Prefazione a Black Hat Python) Mi interessa capire a fondo come funziona quello che devo fare? E’ un‘attività noisa che posso automatizzare? Esiste un programma che fa quello che mi serve? Fa quello che mi serve come voglio io? No Si Si Usa il programma di altri SiNo Programmalo! (C/C++, Assembly. Scripting) No Si Funziona? No
  • 16. Quali sono le metodologie • Metodologie sui WAPT • ISECOM OSSTMM • PTES • OWASP Testing Guide • Letture interessanti • Gray hat hacking • Web Application Hacker’s Handbook • Tangled Web ISECOM Open Source Security Testing Methodology Manual (OSSTMM) OWASP Testing Guide Penetration Testing Execution Standard (PTES) https://www.owasp.org/index.php/OWASP_Testing_Guide_v4_Table_of_Contents http://www.pentest-standard.org/index.php/Main_Page http://www.isecom.org/research/osstmm.html http://mdsec.net/wahh/
  • 17. Ma la OWASP TOP 10? A1 – Injection A2 – Broken Authentication and Session Management A3 – Cross Site Scripting A4 – Insecure Direct Object References A5 – Security Misconfiguration A6 – Sensitive Data Exposure A7 – Missing Function Level Access Control A8 - Cross-Site Request Forgery (CSRF) A9 - Using Components with Known Vulnerabilities A10 – Unvalidated Redirects and Forwards La TOP 10 sono le principali/più frequenti vulnerabilità/rischi che possiamo trovare, ma non è tutto! Quello che andiamo a testare è anche ben altro… no fermiamoci alla TOP 10!
  • 18. L’importanza dell’esperienza e dell’approccio pratico • La teoria della pratica • Il Testing è strettamente legato al fare esperienza, avere le giuste intuizioni e andare per prove ed errori • L’importante è fare pratica, avendo le giuste basi… perché non possiamo sapere tutto dall’inizio! • Non siamo sicuri che quella sia una SQL Injection fino a che non proviamo a metterci almeno un apice1!!’’’!!!1 «se ascolto dimentico, se vedo ricordo, se faccio capisco» -- Antico proverbio cinese || Confucio
  • 19. «Il più grande nemico della conoscenza non è l'ignoranza, ma l'illusione della conoscenza» -- Daniel J. Boorstin
  • 20. Primi passi… • Installarsi e configurarsi la macchina «attacker», cominciamo con: • Un Browser (e.g. Firefox) con alcuni plugin (e.g. HackBar, Firebug, LiveHTTPHeaders) e un web proxy (e.g. OWASP ZAP, Burp) • Utility di sistema • Installarsi e configurarsi la macchine «victim» • Si possono utilizzare dei sistemi volutamente vulnerabili (e.g. DVWA, Mutillidae) • Un software Open Source a piacere da testare • Una macchina con un Capture the Flag (CTF) - https://www.vulnhub.com/ • Prendere una delle guide e/o un libro (e.g. quelli indicati) • Leggere parte del libro e man mano fare le prove
  • 21. Il nostro setup di base • Sistema operativo a nostro piacimento* • Come browser possiamo usare Firefox, con dei plugin come la HackBar (per scrivere meglio). • Ma dobbiamo comunque essere curiosi, e capire cosa succede «sotto» al browser, strumenti da usare/studiare sono telent (se siamo in chiaro), netcat e curl.
  • 22. Il nostro bersaglio • Molto dipende dal gusto personale • Per testare una singola vulnerabilità per volta, va bene per le prime volte «Pentester Lab: Web For Pentester • https://www.vulnhub.com/entry/pentester-lab-web-for-pentester,71/ • Si può tranquillamente installare in macchina virtuale
  • 24. Ma cosa veramente è successo (almeno al layer 7)? GET / HTTP/1.1 Host: 192.168.44.137 User-Agent: antani Accept: text/html,application/xhtml+xml,appli cation/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Connection: close (si, ci sono due CRLF prima di questa riga) HTTP/1.1 200 OK Date: Sat, 29 Oct 2016 02:52:00 GMT Server: Apache/2.2.16 (Debian) X-Powered-By: PHP/5.3.3-7+squeeze15 X-XSS-Protection: 0 Vary: Accept-Encoding Content-Length: 6033 Connection: close Content-Type: text/html X-Pad: avoid browser bug <!DOCTYPE html>
  • 25. Come funziona HTTP? URIMethod Header: Value <CR> <LF> Header: Value <CR> <LF> Header: Value <CR> <LF> HTTP Request Body <CR> <LF> <CR> <LF> <SP> Protocol<SP> CodeProtocol Header: Value <CR> <LF> Header: Value <CR> <LF> Header: Value <CR> <LF> HTTP Response Body <CR> <LF> <CR> <LF> <SP> Explanati on <SP> https://tools.ietf.org/html/rfc1945 https://www.ietf.org/rfc/rfc2616.txt
  • 26. Cominciamo! (di nuovo) $ telnet 192.168.44.137 80 Trying 192.168.44.137... Connected to 192.168.44.137. Escape character is '^]'. GET / HTTP/1.1 (due CRLF) HTTP/1.1 400 Bad Request Date: Sat, 29 Oct 2016 03:28:05 GMT Server: Apache/2.2.16 (Debian) Vary: Accept-Encoding Content-Length: 301 Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>400 Bad Request</title> </head><body> <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand.<br /> </p> <hr> <address>Apache/2.2.16 (Debian) Server at 127.0.0.1 Port 80</address> </body></html>
  • 27. Secondo giro $ telnet 192.168.44.137 80 Trying 192.168.44.137... Connected to 192.168.44.137. Escape character is '^]'. GET / HTTP/1.0 (due CRLF) HTTP/1.1 200 OK Date: Sat, 29 Oct 2016 03:30:16 GMT Server: Apache/2.2.16 (Debian) X-Powered-By: PHP/5.3.3-7+squeeze15 X-XSS-Protection: 0 Vary: Accept-Encoding Content-Length: 6033 Connection: close Content-Type: text/html <!DOCTYPE html> …
  • 28. Ma come faccio a far funzionare con HTTP 1.1? $ telnet 192.168.44.137 80 Trying 192.168.44.137... Connected to 192.168.44.137. Escape character is '^]'. GET / HTTP/1.1 Host: localhost (due CRLF) HTTP/1.1 200 OK Date: Sat, 29 Oct 2016 03:37:05 GMT Server: Apache/2.2.16 (Debian) X-Powered-By: PHP/5.3.3-7+squeeze15 X-XSS-Protection: 0 Vary: Accept-Encoding Content-Length: 6033 Content-Type: text/html <!DOCTYPE html> …
  • 29. Possiamo automatizzare? $ echo "GET / HTTP/1.1rnrn" | nc 192.168.44.137 80 HTTP/1.1 400 Bad Request Date: Sat, 29 Oct 2016 04:15:30 GMT Server: Apache/2.2.16 (Debian) Vary: Accept-Encoding Content-Length: 301 Connection: close Content-Type: text/html; charset=iso-8859-1 $ echo "GET / HTTP/1.1rnrn" | nc 192.168.44.137 80 | grep "Server" Server: Apache/2.2.16 (Debian) <address>Apache/2.2.16 (Debian) Server at 127.0.0.1 Port 80</address>
  • 30. Prossimi passi? OWASP TG! • Information Gathering • Configuration and Deployment Management Testing • Identity Management Testing • Authentication Testing • Authorization Testing • Session Management Testing • Input Validation Testing • Testing for Error Handling • Testing for weak Cryptography • Business Logic Testing • Client Side Testing
  • 31. Sintetizzando • Imparate le basi • Mettete in pratica, anche da subito • Continuare ad imparare • Partecipate alla vita delle comunità (e.g. Università, IRC, forum) • Collaborate a progetti • Provate, provate, provate! Laboratori virtuali, CTF…
  • 32. Grazie simone@onofri.org @simoneonofri https://onofri.org/ https://linkedin.com/in/simoneonofri …in particolare il gruppo «Veteran Unix Admins» (Franco, Giovambattista, Giancarlo, Daniele, Gianluca, Luca), Donato, Angelo, Valerio, Simone e più un generale chi è nella comunità italiana all’ESC, al MOCA… last but not least Mario e lo staff e i relatori di HiB2016
  • 34. Quanto è importante l’Università • Può dare buone basi su cui lavorare. • Non è «conditio sine qua non» per diventare un Tester. • Dipende molto dall’università e attenzione all’approccio. • Molto utile per incontrare – «anche realmente» – persone interessate ai nostri stessi argomenti.
  • 35. Dove studio? • Libri • Corsi • Documentazione • Codice • Pratica! Tanta pratica E’ bene cercare su Google e sui forum… ma attenzione!
  • 36. Quanto tempo serve? --- evilsocket sulla vita sociale di un professionista della sicurezza informatica
  • 37. Ma le certificazioni? • Ce ne sono tante in giro, hanno un diverso valore, costo ecc… • Nel «mercato»… • Hanno poi un valore personale
  • 38. Se non so tutto prima? • E’ abbastanza normale non sapere tutto sul bersaglio in una fase iniziale. • Intanto comincia! Man mano che servono delle informazioni te le studi! • Non dare nulla per scontato!

Notes de l'éditeur

  1. Sono Simone Onofri, lavoro per Hewlett Packard Entetprise dove sono in Cyber Defense Lead per il Sud Europa (quindi mi occupo attività relative ai PT e di Digital Investigation) Collaboro con organizzazioni come ISECOM (HHS), OWASP (TG) e UNINFO (APNR IT Security) Disclamer: tutto quello che dico è il mio mero punto di vista
  2.  "How to became a Hacker Hacker's Manifesto | My crime is that of curiosity Differeza SR e Consultant Certificazioni Università Competenze Approccio
  3. Le palline più chiare sono le classi, quelle più scure interne sono i vettori
  4. Consulting skill Ci sono una serie di competenze e capacità più generali dei «Consulenti», al netto che in alcuni casi il Penetration Tester si interfaccia con un Project Manager e/o un Tester più navigato. Anzitutto possibilità di essere «customer facing» (e.g. test on-site) quindi avere uno standing e una capacità di relazionarsi. Reporting skill Quindi l’annosa questione di un Penetration Test, quello che consegnamo al Cliente (oltre al sistema compromesso ) è un Report (un documento) tipicamente è fatto il Word e ha diversi gradi di automatizzazione… ma una parte è scritta tipicamente «a mano» Dopotutto il PT è sempre un attività manuale (e non lanciare strumenti più o meno a caso).
  5. Linguaggi di programmazione Se dobbiamo testare un applicazione web, conoscere il linguaggio con cui è sviluppata è un vantaggio, o fare un Code Review. Possiamo sviluppare da soli i nostri strumenti. Per questo è utile concentrarci su: Linguaggi di più basso livello, come il C e l’assembly. Linguaggi di alto livello come Python e Ruby. Sistemi e reti dipende molto da dove andiamo a lavorare e cosa usiamo per lavorare, tipicamente sistemi linux sono dei must (anche perché essendo open source possiamo curiosare facilmente), ma anche Windows è particolarmente interessante.