Aggiornare a FreeBSD 9.0 RC1

FreeBSD 9.0

FreeBSD 9.0

FreeBSD 9.0 è alle porte, la prima Release Candidate è stata rilasciata e ne dovrebbero seguire altre due prima del rilascio della versione finale. Avendo una virtual machine ferma a FreeBSD 9.0 Beta 1 ho deciso di aggiornare alla RC1, i passi che descrivo di seguito sono gli stessi che servono anche ad aggiornare da FreeBSD 8.2 a FreeBSD 9.0 RC1:

Il primo passo non è obbligatorio e consiste nel determinare, se già non lo sappiamo, quale versione di FreeBSD stiamo per aggiornare:

# uname -rs
FreeBSD 9.0-BETA1

Passiamo adesso agli step necessari ad aggiornare. La prima cosa da fare è modificare freebsd-update (del grande Colin Percival), lo script che utilizzeremo per l’aggiornamento di versione, in questo modo:

# sed -i '' -e 's/=_/=%@_/' /usr/sbin/freebsd-update

A questo punto possiamo lanciare freebsd-update per l’aggiornamento:

# freebsd-update upgrade -r 9.0-RC1

Al termine verranno mostrati a video i seguenti messaggi:

The following components of FreeBSD seem to be installed:

kernel/generic world/base

The following components of FreeBSD do not seem to be installed:
src/src world/doc world/games

Does this look reasonable (y/n)?

Lanciamo a questo punto l’installazione degli aggiornamenti binari:

# freebsd-update install

Terminato anche questo step riceveremo questo messaggio:

Kernel updates have been installed. Please reboot and run

“/usr/sbin/freebsd-update install” again to finish installing updates

Seguendo l’indicazione avuta sarà necessario riavviare:

# shutdown -r now

e lanciare nuovamente:

freebsd-update install

Arrivati a questo punto verrà chiesto da freebsd-update di ricompilare i software di terze parti installati, come ad esempio i “ports” che potremo aggiornare installando portmanager:

# pkg_add -r portmanager

Una volta installato questo tool sarà necessario prima un aggiornamento del ports tree con portsnap:

# portsnap fetch extract

infine un aggiornamento di tutti i ports usando portmanager con il comando:

# portmanager -u

Terminato questo aggiornamento completo dei ports, che può richiedere qualche ora per essere completato, dovremo dare un ultimo comando con freebsd-update per aggiornare effettivamente a FreeBSD 9.0 RC1:

# freebsd-update install

Infine consiglio una ripulita ai ports, per far questo dovremo installare portupgrade in questo modo:

# pkg_add portupgrade

e pulire le working directories dei ports in questo modo:

# portsclean -C

oppure molto più rozzamente e senza richiedere installazione di software aggiuntivi si potrà dare:

# rm -rf /usr/ports/*/*/work

slowhttptest: DoS contro Apache con la vulnerabilità range header (ma non solo)

Il 19 agosto scorso, sulla Full Disclosure Mailing List, è comparso un messaggio di Kingcope con allegato “killapache.pl” uno script PERL che ha messo a nudo una vulnerabilità in Apache in grado di consentire un DoS del webserver (dunque un DoS Layer 7 di cui ho già parlato in precedenza anche se mi riferivo a DDoS) open source. Basta che ad eseguire lo script da un solo PC per mettere in ginocchio Apache e la macchina che lo esegue a causa dell’elevato consumo di RAM e CPU. Lo script è tutt’altro che perfetto e non sempre affidabile nello sfruttare la vulnerabilità. Dai test che ho potuto effettuare spesso il bersaglio veniva riconosciuto come non vulnerabile pur essendolo.

A distanza di meno di una settimana dal messaggio di Kingcope la possibilità di sfruttare la vulnerabilità “range header handling” di Apache è stata inclusa nel tool slowhttptest versione 1.1. Il team di Apache ha rilasciato da pochi minuti una nuova release del web server, Apache HTTP Server 2.2.20, proprio per correggere la vulnerabilità, ma si può far ricorso comunque a slowhttptest per effettuare dei test sui propri web server o su server che non siano aggiornati (è probabile che le maggiori distribuzioni Linux includano l’aggiornamento tra le patch di sicurezza rilasciate nelle prossime ore). Vediamo come installarlo e utilizzarlo.

Installazione di slowhttptest:

$ tar -xzvf slowhttptest-1.1.tar.gz

$ cd slowhttptest-1.1

$ ./configure --prefix=/usr/local/
$ make

$ sudo make install

Per verificare la tenuta di Apache allo sfruttamento della vulnerabilità range header possiamo far riferimento alla documentazione presente su ApacheRangeTest, per esempio si potrà eseguire il seguente comando:

slowhttptest -R -u http://127.0.1.1/ -t GET -c 1000 -a 10 -b 3000 -r 500

Se invece avete necessità di verificare la resistenza di Apache a un “normale” DoS (una sorta di stress test un po’ brutale) basterà usare slowhttptest nel modo che segue:

./slowhttptest -c 1000 -B -g -o my_server_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u http://www.mioserverditest.com -x 10

Per il significato dei parametri passati rimando a slowhttptest installazione e uso.

Importante: evitate di lanciare attacchi DoS con slowhttptest su server che non siano di vostra proprietà, si tratta di azioni punibili penalmente.

Riferimenti:

Jailbreakme: ecco come funziona il jailbreak per iPad 2 (aggiornato)

Avevo già analizzato alcuni aspetti della beta di Jailbreakme ma @comex si è superato nella realizzazione della versione definitiva del jailbreak per iPad 2 (e non solo). Il primo step da superare per visualizzare il sorgente pagina di Jailbreakme è ricorrere allo user agent spoofing per scaricare il sorgente completo visualizzato da un iPad.

Per far questo ho utilizzato il programma per Windows Malzilla, basterà impostare il seguente user agent:

Mozilla/5.0 (iPad; U; CPU OS 4_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F190 Safari/6533.18.5

Fatto questo su Malzilla sarà sufficiente impostare ovviamente la URL da scaricare, cioè www.jailbreakme.com, e cliccare su Get. Così facendo otterremo il sorgente pagina come se venisse visualizzato da iPad, per comodità l’ho postato su Pastebin (qui in formato raw).

L’exploit risiede, come sappiamo, in un PDF che però non viene scaricato da nessuna cartella o dominio esterno, bensì è codificato in base64 in uno script JavaScript, posto solo un pezzo del codice:

<script>pdf = ‘data:application/pdf;base64,JVBERi0xLjMKJeLjz9MNCjIg</script>

La decodifica del PDF da base64 genera un documento non proprio corretto per essere un vero e proprio PDF (se volete provare da voi la decodifica potete usare Malzilla oppure usare questo decoder Base64 web based. Il problema vero e proprio è che il PDF contiene al suo interno uno stream compresso con Flatedecode che contiene al suo interno l’exploit vero e proprio. Sinceramente non sono riuscito a decomprimerlo né con pdf-parser di Didier Stevens, né con PDF Stream Dumper, né con Ghostscript come spiegato qui. Diciamo che però l’aver continuato a far domande su Hacker News (il nickname che ho usato è demonfly) ha smosso comex in persona che ha così spiegato l’exploit usato:

It’s compressed with FlateDecode; if you decompress it you can see the embedded .pfb, which has the actual exploit

Sostanzialmente l’exploit che permette il jailbreak è costituito da un font .pfb.

Grazie ai suggerimenti di Gianni Amato sono riuscito non solo a individuare con pdf-parser il font ma anche ad estrarlo. La procedura che ho seguito è la seguente:

python pdf-parser.py -f pdfexploit.pdf

Usate il nome che volete al posto di pdfexploit.pdf, potete scaricare il pdf da qui, Il risultato mostra che l’oggetto 4, indicato come obj 4 0, sia proprio un Font (Type: /Font). A questo punto per estrarlo ho dato il seguente comando:

python pdf-parser.py --object 4 --filter --raw YuPrMhiE.pdf > font.pfb

Così facendo in font.pfb ho salvato il font che contiene l’exploit di comex, per memoria futura e per consentire di analizzarlo ho caricato il dump del font su Pastebin.

Jailbreak iPad 2: basta un PDF

Chi si aspettava qualcosa di più complesso da parte di comex rimarrà deluso, il nuovo jailbreak che mette fine alla inviolabilità di iPad 2 è racchiuso in un PDF, come era già accaduto nella precedente versione di jailbreakme. Se visitando il sito non trovate alcun riferimento al PDF “magico” è perché uno dei betatester di comex ha pubblicato prima del tempo il nuovo jailbreak senza aver avuto l’autorizzazione da comex.

Il PDF era utilizzabile per il jailbreak di iPad 2 (ma non solo) visitando il sito ipad2jailbreakpdf.weebly.com che però è stato rimosso dopo alcune ore. Sono riuscito a scaricare il PDF e ho provato ad visualizzarlo con Safari su iPad 2, aggiornato ad iOS 4.3.3: mettetevi l’anima in pace, con la versione 4.3.3 il PDF provoca “soltanto” la chiusura improvvisa di Safari. Sembra invece che chi ha lasciato iOS 4.3 (senza aggiornare alla 4.3.3) riesca ad effettuare il jailbreak e ad installare Cydia.

Leggi tutto

Governo.it traballa ma regge ai colpi degli Anonymous

governo.it palazzochigi

governo.it palazzochigi

Dalle 15 di oggi, le 14 GMT, gli Anonymous stanno martellando www.governo.it. Come al solito è stato tutto anticipato via Twitter ma anche attraverso il blog.

Devo dire che mi sarei aspettato qualcosa di più, nell’attacco a Visa e Mastercard i siti sono andati giù in pochi minuti, mentre Governo.it è stato ed è attualmente molto lento ma non è completamente impossibile visualizzarlo. Non mi risulta che vi siano stati spostamenti verso altri server, l’IP è sempre lo stesso 195.66.10.19. Comhttps://www.bufferoverflow.it/wp-admin/edit-comments.phpe Web server gli Anonymous se la stanno vedendo con Microsoft IIS 6.0 e sistema operativo Windows Server.

Attualmente, se si effettua un traceroute verso www.governo.it ci si ferma a:

9 16 ms 48 ms 10 ms rt-rm2-ru-pdc.rm2.garr.net [193.206.131.50]

O sono stati pochi gli Anonymous che hanno deciso di colpire il governo italiano oppure il CASPUR, che a quanto vedo dal NIC dovrebbe essere l’organizzazione che gestisce tecnicamente il dominio, ha fatto un buon lavoro. Qualche informazione in più sulla struttura di router su cui poggia Governo.it può essere ricavata da qui ma anche da Hurricane Electric che offre dettagli sul router AS24869 della Presidenza del Consiglio dei Ministri e sui due router peer AS137 (GARR Italian academic and research network) e AS5397 (CASPUR).

P.S. Sempre su Hurricane Electric ho trovato un elenco di tutti i router italiani dove ovviamente è anche presente il router della Presidenza del consiglio.

Armitage arriva in Metasploit Framework: usarla su Ubuntu

HD Moore ha annunciato via Twitter che l’interfaccia grafica Armitage è stata inclusa in Metasploit Framework. La msfgui non è stata affatto abbandonata, Armitage si va per ora solo ad affiancare alla GUI di default, considerata da molti utenti poco usabile.

Basta eseguire un update di Metasploit attraverso msfupdate, oppure dare un svn update sulla directory “/opt/metasploit3/msf3”, per scaricare Armitage. Per eseguire correttamente Armitage su Ubuntu (io l’ho testata su Ubuntu 10.10) è necessario seguire i seguenti passaggi:

Leggi tutto

LOIC, il software che permette i DDoS a favore di Wikileaks

LOIC DDoS Wikileaks

Gli Anonymous usano una botnet per portare i propri attacchi a PayPal, Mastercard, Visa (l’attacco al sito Web di quest’ultima è ancora in corso in queste ore). Ma non si tratta di una botnet di computer zombie infetti, controllati da qualche command-and-control server (“C&C”). Si tratta di computer “consenzienti”, computer appartenenti a persone che volontariamente decidono di prendere parte agli attacchi contro società colpevoli di aver “girato le spalle” a Julian Assange, l’ormai arcinoto capo di Wikileaks. Lo strumento che permette agli Anonymous di attaccare sfruttando una potenza di fuoco enorme si chiama LOIC ed è liberamente scaricabile da GitHub.

Leggi tutto