Pagine

venerdì 26 febbraio 2010

Strutture dati in Python

Spesso capita di dover elaborare dati riuniti in agglomerati, detti strutture dati. Le strutture sono diverse e vengono caratterizzate dall'organizzazione imposta agli elementi contenuti.

Il migliore degli approccio che si possa avere, nell'uso delle strutture, è quello di crearsele da solo utilizzando l'astrazione che si preferisce, partendo da 0 ed utilizzando un linguaggio di programmazione come il c++, magari includendole in una libreria, per averle pronte all’uso. Ma non è sempre facile fare ciò, per questo ci viene incontro il linguaggio "python" che ha in se tutte le procedure per poter gestire le strutture come liste, pile e code in modo facile ed indolore.


PRINCIPALI METODI DEGLI OGGETTI LISTA

Append (x)

Aggiunge un elemento in fondo alla struttura.

Insert (i,x)

Inserisce un elemento nella posizione fornita. Insert (indice, elemento) .

Index (x)

Restituisce la posizione di x.

Remove (x)

Elimina dalla struttura il valore x.

Pop([i])

Rimuove l’elemento di indice i lo restituisce come risultato dell’operazione.
LISTE


a = [6, 3 , 3, 10, 12, 34.5]
a
[6, 3, 3, 10, 12, 34.5]
a.insert (2, 8 )
a
[6, 3 , 3, 10, 12, 34.5]
a.append (69)
a
[6,  3, 3, 10, 12, 34.5, 69]
a.index (3)
1
a.remove (3)
a
[6,  3, 10, 12, 34.5, 69]

PILE

Le pile sono un particolare tipo di lista. Le pile sono gestite con il metodo LIFO (“last - in, first - out”) ovvero l’ultimo elemento che entra, è il primo ad uscire.

stack = [7, 8, 9]
stack.append (4)
stack
[7,8,9,4]
stack.pop ()
4
stack
[7, 8, 9]

CODE

Insieme alle pile, troviamo anche l’organiazazzione delle liste come una coda, dove il primo elemento aggiunto è il primo ad essere prelevato. Queste sono gestite con il metodo FIFO (“first - in, first - out”).

queue = [7, 8, 9]</code>
queue.append (4)
queue
[7, 8, 9, 4]
queue.pop(0)
7
queue
[ 8, 9, 4]

Ubuntu 10.04 Lucid Lynx alpha 3

E'da poche ore disponibile la terza alpha di Ubuntu Lucid Lynx. In questa ultima release sono stati introdotti copiosi bug-fix, ma poche nuove funzionalità.

Partiamo dalla più curiosa, ovvero il supporto dei driver Nouveau per GPU nVidia che dovrebbero fornire una maggiore accelerazione 2d, ed il supporto al kernel mode setting.

Altra novita, importante per il comparto "social", è l'introduzione dell MeMenu, che si tratta di un menu che va ad interfacciarsi con i principali social network in maniera da poterli amministrare tutti da un unico programma.

Stando alla roadmap, il giorno fissato per il rilascio di una prima beta è il 20 marzo.

giovedì 25 febbraio 2010

Falla critica nel Download Manager di Adobe

Una vulnerabilità è stata trovata nel sistema di aggiornamento dei prodotti Adobe e potrebbe consentire ad un malintenzionato di scaricare e installare software non autorizzato sul sistema di un utente.

Adobe Download Manager, che viene utilizzato per aggiornare un prodotto circa le patch di sicurezza per i computer Windows, ed è stato progettato in maniera che si auto rimuova dal computer in uso al successivo riavvio.

Ha detta di Adobe, chiunque abbia scaricato Adobe Reader per Windows o Flash Player per Windows prima del rilascio del bollettino di sicurezza (CVE-2010-0189) di Martedì 23 è vulnerabile.

Soluzioni proposte :
  • Start > Pannello di controllo> Installazione applicazioni> rimuovere "Adobe Download Manager".
  • Start > Esegui > digitare "services.msc" e cancellare "getPlus(R) Helper" dalla lista dei servizi.

Fonte: Security bulletin

mercoledì 24 febbraio 2010

PC-BSD 8.0 Rilasciato



Il team dietro le sviluppo del progetto PC-BSD ha rilasciato la nova release di PC-BSD 8.0  nome in codice Hubble EDITION ed è basato su FreeBSD 8.0 .

PC-BSD 8.0 porta con se una serie di miglioramenti e modifiche rispetto alle versioni  7.x. per cui si consulti il changelog.

Alcune delle modifiche più importanti sono:
  • FreeBSD 8.0-RELEASE-P2
  • KDE 4.3.5
  • Nuovo sistema di installazione
  • Modalità live-DVD
  • Updated Software Manager, per l'istallazione diretta delle applicazioni
  • Supporto per l'accelerazione 3D con i driver NVIDIA su AMD64
La versioen 8.0 della distro PC-BSD è disponibile per il download.

martedì 23 febbraio 2010

Zero-Day in Firefox 6.5

Il blog ufficiale di Mozilla, nella giornata di ieri, porta a conoscenza dei lettori la probabile presenza di una falla zero-day in Firefox 6.5, presentata sul sito secunia.com.

Mozilla prende le dovute distanze riguardo la falla segnalata, in quanto non è supportata da alcuna documentazione o exploit e il ricercatore che l'ha trovata, dopo essere stato contattato, tarda a rispondere.

L'exploit, che è stato testato su windows XP (SP3)  e Vista, permette agli aggressori di prendere il controllo remoto di un PC, per ora l'unica soluzione proposta e di non visitare siti non attendibili o seguire i link non affidabili.

Fonte: blog.mozilla.com

lunedì 22 febbraio 2010

Hacker da ballot screen

Secondo le recenti dichiarazioni di un ricercatore della nota azienda Sophos, Graham Cluley, il nuovo sistema ideato da microsoft per scegliere il browser da istallare, il ballot screen, potrebbe essere usato da degli hacker per portare a segno i propri attacchi.



Cluley ritiene che, forse milioni di persone che vedono la schermata per la scelta del browser, potrebbero essere tratti in inganno da delle false finestre pop-up, portando l'utente ignaro o poco esperto a scaricare ciò che credono di essere un browser alternativo ma in realtà potrebbe trattarsi di un software che mini la sicurezza del proprio PC.

sabato 20 febbraio 2010

GIT per il controllo di versione

GIT, è un sistema per il controllo di versione e tramite esso possiamo tenere traccia delle modifiche effettuate su un insieme di file. Modifiche , aggiunte e cancellazioni vengono memorizzate in uno storico.

Con git è possibile lavorare in più persone sugli stessi file e poi fondere le modifiche tramite un sistema che gestisce gli eventuali conflitti.

Quello che differenzia git da altri sistemi per il controllo della gestione come CVS e Subversion, è che non necessita di un server centrale di appoggio perché essendo un sistema distribuito, lo sviluppatore ha in locale una copia del progetto con cui può lavorare.

Ma passiamo ora al lato pratico di GIT elencando una panoramica dei principali comandi per la gestione.

Creare il repository per un proprio progetto
git init
Con il comando init si creerà nelle directory in cui si esegue un ambiente (repository).

Scaricare un progetto
git clone git://url-progetto.org/progetto.git
Aggiungere file
git add .
Questo comando aggiunge tutte le directory presenti. E'possibile altresì selezionare specifici file o directory specificandone i o il nome.

"Committare" il progetto
git commit -m "msg"
Questo comando invia le modifiche apportate e tramite il parametro -m allega un messaggio.
Bisogna essere posizionati nella directory del repository.

Stato
git status
Verifica i file modificati.

Differences
git diff -staged
Controllare ciò che i cambiamenti hanno modificato, con il parametro -staged visualizza solo le ultime.

Storico commit
git log
Sul sito del progetto è presente l'ultima release di GIT, funzionante da riga di comando. Per chi invece desidera un programma provvisto di GUI; per windows c'è TortoiseGit e per Linux gitg.

Chi fosse anteressato ad una documentazione esiste un ottimo libro, rilasciato sotto locenza Creative Commons, Pro Git.  Sul sito è presente una versione online ma è anche acquistabile negli estore web.

venerdì 19 febbraio 2010

Pwn2Own edizione 2010

Come quasi da tradizione, tutti i migliori hacker del mondo si danno appintamento al conterst annuale Pwn2Own, che si svolgerà proprio a Vancouver, dal prossimo 24 marzo.

I partecipanti si sfideranno a suon di bug e zero-day per vedere chi sarà il primo ad exploitare un sistema e mettere a nudo le falle esistenti. Le cifre messe in palio sono grandiose e partono da 10mila dollari per i  browser, e 15mila per gli smartphone.

Come di consueto i partecipanti a avranno a disposizione delle macchine equipaggiare con IE 8, Safari 4, Chrome 4 e Firefox 3 su Windows 7, Vista e Snow Leopard ed in più cellulari di ultima generazione come iPhone 3GS e il Blackberry Bold 9700.

giovedì 18 febbraio 2010

Eliminare ID univoco con Chrome Privacy Protector

Il browser di casa Google si sta sempre più affermando come un  prodotto leggero, molto veloce e sopratutto sicuro (grazie alla sandbox). L'unico neo che si potrebbe riscontrare è, però, il sistema di tracciamento tramite ID univoco, che permette l’identificazione di ciascun utente che abbia il programma installato.

Chrome privacy protector aiuta ad "limitare" questo tracciamento, sostituendo il proprio ID univoco con un valore Null in modo che il browser non possa essere più identificato. Tutte le funzionali di Chrome rimarranno inalterate da questa modifica.



Il programma effettuerà una scansione automatica di Google Chrome e provvederà a rimuovere la variabile in questione. Nella schermata principale avrete a disposizione un riepilogo della situazione.

Scarica: Chrome privacy protector

lunedì 15 febbraio 2010

Gym for hackers

Nelle sicurezza informatica uno dei principi fondamentali è quello di comprendere le tecniche con le quali si potrebbe essere attaccati, in generale molto importante è saper testare il proprio "prodotto" (o quello altrui ;-) )al fine di rilevare eventuali vulnerabilità.

Per imparare a fare ciò possiamo servirici di un'ambiente di "allenamento" per testare le nostre capacità come Damn Vulnerable Web App (DVWA).

DVMA è una web application piena di vulnerabilità da testare distribuite su più livelli di attenzione;
  • SQL Injection
  • XSS (Cross Site Scripting)
  • LFI (Local File Inclusion)
  • RFI (Remote File Inclusion)
  • Command Execution
  • Upload Script
  • Login Brute Force

Questo video ne mostra il processo di istallazione.



Ogni vulnerabilità ha tre diversi livelli di sicurezza, bassa, media e alta. I vari livelli di sicurezza danno all'hacker una sensazione di sfida:

Alto: Questo livello di vulnerabilità offre all'utente un esempio di come garantire la vulnerabilità tramite i metodi di codifica sicura. Esso consente all'utente di capire in che modo la vulnerabilità può essere misurata. Questo livello di sicurezza dovrebbe essere un-hackable.

Medium: Lo scopo di questo livello di sicurezza è quello di dare al 'pirata' una sfida nello sfruttamento e dare un esempio di cattiva codifica delle pratiche di sicurezza.

Basso: Questo livello di sicurezza è destinato a simulare un sito web senza protezione. Si dà all'hacker la possibilità di perfezionare le proprie capacità di sfruttamento.

E'consigliabile scaricare e installare XAMP sulla macchina locale che viene utilizzata esclusivamente per le prove.

Scarica: dvwa_v1.0.6.zip

sabato 13 febbraio 2010

Twitter da shell

Sono sempre più le persone che utilizzano il servizio di microblogging Twitter per scambiare messaggi veloci con i propri contratti utilizzando spesso si utilizzano sofisticati software dotati di pesanti interfacce.

Se siamo però utilizzatori di linux ed utilizzatori della shell' possiamo usare quest'ultima per aggiornare il proprio status.

Quello che ci occorre è la libreria cURL:

sudo apt-get install curl

Mentre lo script che andremo ad utilizzare è:

#!/bin/sh

user="user"
pass="password"
curl="/usr/bin/curl"
if [ "$LC_CTYPE" != "UTF-8" ]
then
echo "Converting from $LC_CTYPE to UTF-8 ..."
twit=$(echo "$@" | iconv -f "$LC_CTYPE" -t UTF-8)
else
twit=$@
fi 

$curl --basic --user "$user:$pass" --data-ascii \
"status=`echo $twit | tr ' ' '+'`" \
"http://twitter.com/statuses/update.json" >& /tmp/stu$$ 

error=$(grep -i "Something is technically wrong" /tmp/stu$$)  
if [ -n "$error" ]
then
echo "Something is technically wrong with Twitter. :-("
else
echo "Twitter updated. :-)"
fi
rm /tmp/stu$$
exit 0

E'da ricordare che questo script necessita di permessi per l'esecuzione e di conseguenza prima di utilizzarlo è necessario chmod +x nome_file

venerdì 12 febbraio 2010

Bug in Oracle 11g

Il famoso hacker di database David Litchfield ha presentato all' Blackhat DC 2010, uno zero day riguardante una falla nei database della Oracle nella versione 11g.

Questa falla permette a tutti gli utenti con privilegi di sessione, con l'utilizzo del pacchetto DBMS_JVM_EXP_PERMS, possono ottenere tutti i privilegi Java.

Il codice fornito da Litchfield è presente sul sito notsosecure.

Litchfield dimostra l'utilizzo della versione "release 2" della suddetta base di dati, come una gestione troppo permissiva del java consenta agli utenti di con bassi  privilegi, di ottenere il controllo del database.

martedì 9 febbraio 2010

Passive reconnaissance

Ai professionisti della sicurezza (e hacker) spesso capita di avere bisogno di trovare informazioni su di un dominio. Se per la navigazione ci serviamo di browser come chrome e firefox la ricerca diventa più semplice ed immediata.

Ci vengono subito mostrate informazioni come;

  • DNS


  • Email


  • Enumeration


  • Google


  • IP


  • Whois



  • Più di 20 opzioni sono disponibili per interrogare molte banche dati contemporaneamente. Le query sono suddivisi in gruppi, per esempio, whois e ricerche di dominio.
    Se operiamo su Firefox possiamo adoperare il plug-in PassiveRecon




    PassiveRecon fornisce ai professionisti della sicurezza informatica pa possibilita di eseguire "packetless" per scoperta utilizzando risorse disponibili pubblicamente.
    Se usiamo Chrome o (linux non è ancora supportato)possiamo utilizzare l'estensione Domain Details.


    Questa fornisce informazioni come;
    • Indirizzo IP del server
    • Location
    • Software Server
    • Visualizza le intestazioni di risposta del server entro la proroga
    • Dominio Whois
    Questi programmi si rivelano molto utili in quanto consentono di avere molte informazioni utili in un solo passaggio.

    lunedì 8 febbraio 2010

    torrent in anonimo

    Al giorno d' oggi la privacy è una condizione imprescindibile a maggior ragione quando si è connessi ad internet.

    Uno dei protocolli più tormentati in tal senso è proprio il protocollo torrent. Oggi volevo presentare una soluzione leggera versatile per proteggere il propri dati mentre si sta scaricando, la soluzione è anomos. Il programma garantisce la privacy degli utenti grazie ad un sofisticato sistema di crittografia.

    Anomos è una soluzione basata su python e sfrutta l'algoritmo di crittografia AES.

    Scarica Anomos

    sabato 6 febbraio 2010

    Code name "Aurora"

    E' stato recentemente rilasciato l'exploit usato dagli hacker cinesi per sfurttare una falla presente in Internet Explorer 6, il suo nome in codice è "Aurora".




    This video is for educational purposes only
    Il video mostra come l'hacker avviando una sessione di Metasploit e scegliendo l'exploit ie_aurora, è in grado di avere sotto il proptio totale controllo il PC della vittima.

    Nel video si nota come l'hacker scegliendo il suddetto exploit, inserendo l'IP e port number necessari al payload Meterpreter, può aprire un canale di tipo  reverse-TCP o anche detto Back Channel verso la propria macchina, e quando la vittima si connetterà con l URL http://172.17.20.194:8080/BYE il PC della vittima sarà soggiogato dell'hacker.

    Su internet è presente anche una versione dell'exploit Aurora scritta in Python.