Tracert – A traceroute tool

Tracert è un piccolo tool che ho scritto in Python, usando scapy, che permette di effettuare un traceroute:

In Informatica si definisce traceroute un’applicazione, scritta in qualunque linguaggio, che si occupa di ricavare il percorso seguito dai pacchetti sulle reti informatiche, ovvero l’indirizzo IP di ogni router attraversato per raggiungere il destinatario.[1][2]

Il termine traceroute indica, oltre all’applicazione, anche il percorso restituito dall’applicazione stessa.

Le opzioni del tool sono:

  • -h, –help Show this help message.
  • -t TARGET, –target=TARGET Target address.
  • -p PROTO, –proto=PROTO Protocol (ICMP/UDP/TCP).
  • -f FIND, –find=FIND Find specific ip address.
  • -n NODE, –node=NODE Number of nodes/hops.

Ad esempio

./tracert.py -t 12.13.14.15
./tracert.py -t 12.13.14.15 -p tcp -n 5 -f 16.17.18.19

Il codice lo trovate su GitHub al link https://github.com/n0pe/Tracert

Over Monitor – Controlla il tuo Server Linux

OverMonitor è una Web App creata da Andrea Draghetti, che ti permette di tenere sotto controllo il tuo server Linux tramite Smartphone.
Permette di controllare:

  • Versione del Sistema Operativo;
  • Versione del Kernel;
  • Versione e Caratteristiche della CPU;
  • Uptime del server;
  • Load Average (1minuto, 5 minuti e 10 minuti);
  • Memoria Disponibile, Usate e Totale;
  • Utilizzo dei dischi;
  • Traffico di rete generato in Upload e Download.

È stata rilasciata la versione stabile 1.0.
Per installarla basta scaricare il codice sorgente ed estrarlo in una cartella sul proprio web server.
Dopodichè basta accedere da Smartphone all’URL del vostro web server e autenticarvi.
In questo modo avrete i dati in realtime.

overmonitor2

overmonitor

Il codice sorgente più la documentazione la trovate su github https://github.com/drego85/OverMonitor o sul sito ufficiale http://overmonitor.org/.

Emoticode – Share your Code!

Emoticode.net è un’aggregatore di codici sorgenti, scritto da Evilsocket aka Simone Margaritelli, nato con l’intento conservare sul sito codici sorgenti divisi in sezioni per i vari linguaggi di programmazione esistenti.

L’idea è quella che ogni sviluppatore può aiutarsi a vicenda postando i propri codici, perchè ogni singola riga di codice potrebbe servire ad un altro programmatore nei suoi progetti o nei vari problemi che si incontrano programmando.

Dal sito:

EmotiCODE is a collaborative source code snippets aggregator and search engine but mostly a place where developers can find the answers they are searching for and contribute with their own contents to help others with the same needs.

The main concept behind emoticode is “as a developer i own a lot to people publishing source codes, snippets and guides on the internet, the less i can do is do my best to help the internet back”, therefore we encourage people to register ( the process is pretty straightforward ) and post every bit of code they have/use/find on the internet, because even the smallest three-line-snippet could solve someone else problems while developing a project … you never know :)

You can also, as a registered user, mark snippets you find more interesting and/or usefull to you as your favorites, clicking on the icon on the left of every element. This will allow you to find them easily in the future on your profile page and will let other user have an idea on your tastes or specific needs.

Ci si può registrare con un normale form di registrazione oppure loggare tramite Facebook o GitHub.

Honeyd – Creare un Honeypot

Honeyd è un tool scritto in C che ci permette di creare facilmente degli host virtuali con i relativi servizi, formando ciò che viene definito un Honeypot (descrizione presa da Wikipedia):

Un honeypot è un sistema o componente hardware o software usato come “trappola” o “esca” a fini di protezione contro gli attacchi di pirati informatici. Solitamente consiste in un computer o un sito che sembra essere parte della rete e contenere informazioni preziose, ma che in realtà è ben isolato e non ha contenuti sensibili o critici; potrebbe anche essere un file, un record, o un indirizzo IP non utilizzato.

Il valore primario di un honeypot è l’informazione che esso dà sulla natura e la frequenza di eventuali attacchi subiti dalla rete. Gli honeypot non contengono informazioni reali e quindi non dovrebbero essere coinvolti da nessun’attività; rilevazioni in senso opposto possono rivelare intrusioni non autorizzate o malevole in corso.

Gli honeypot possono portare dei rischi ad una rete, e devono essere maneggiati con cura. Se non sono ben protetti, un attacker potrebbe usarli per entrare in altri sistemi.

Per installarlo su distribuzioni Ubuntu e derivate basta dare il comando

sudo apt-get install honeyd

altrimenti potete scaricare il codice sul sito http://www.honeyd.org/ per poi compilarlo ed eseguirlo.

Honeyd si basa su un file di configurazione, che chiameremo honeyd.conf.

Un esempio di questo file di configurazione puo essere questo:

### Windows NT4 web server
create windows
set windows personality "Windows NT 4.0 Server SP5-SP6"
add windows tcp port 80 "/perl_scripts/iis_095/iisemul8.html"
add windows tcp port 139 open
add windows tcp port 137 open
add windows udp port 137 open
add windows udp port 135 open
set windows default tcp action reset
set windows default udp action reset

che va a creare un host Windows con varie porte e servizi attivi (per altri tipi di configurazione visitate il sito http://www.honeyd.org/configuration.php).

Dopodichè per avviarlo basta lanciare da terminale il comando

honeyd -d -f honeyd.conf

Se volete avere un file di log dei tentativi di accesso o di scan, aggiungete l’opzione -l /nomefile.txt.

Ecco un video che mostra il suo utilizzo

dSploit – Android Penetration Testing Toolkit

dSploit è un tool per Android sviluppato da Simone Margaritelli aka Evilsocket, che permette di effettuare un’analisi della rete ed un penetration test molto completo.
Riporto la descrizione presa dal blog di Simone:

dSploit è una suite per Android per l’analisi e la penetrazione di rete, che mira ad offrire ai professionisti ed i geek della IT Security lo strumento professionale più avanzato e completo per eseguire security assesments di rete su un dispositivo mobile. Una volta avviata l’applicazione, l’utente sarà in grado di mappare la propria rete, identificare i sistemi operativi ed i servizi in esecuzione sugli altri endpoint, cercare le relative vulnerabilità note, craccare procedure di login dei più comuni sistemi di autenticazione, eseguire attacchi di tipo man in the middle e conseguentemente avere il totale controllo del traffico di rete, sia passivo con un password sniffer e dei dissector dei protocolli più comuni, che attivo manipolando in tempo reale i pacchetti da e verso le altre macchine connesse sulla nostra stessa rete, ecc ecc.

Ecco un video dimostrativo in inglese:

Per maggiori informazioni riguardo le caratteristiche e i requisiti, visitate il sito ufficiale www.dsploit.net

GNU/Linux – Migliori Ambienti di Sviluppo (IDE)

Un’ IDE (integrated development environment) è un software che aiuta il programmatore a sviluppare il proprio codice, integrando in se molte funzioni.

Riporto in questo articolo quelli che secondo me sono gli IDE migliori ed open source, relativi al settore GNU/Linux (anche se molti sono multipiattaforma).

Per ognuno di essi aggiungerò una breve descrizione, ma per conoscere tutte le funzioni che un IDE ha a disposizione, vi consiglio di andare a leggere sui siti ufficiali oppure di provarlo direttamente, in modo da trovare quello che vi soddisfa di più.

Ovviamente questi software non sono orientati agli utenti che amano usare il minimale, come gedit, oppure il terminale come Vim.

Eclipse Logo

Eclipse è un IDE ideato da un’unione di società come Ericsson, HP, IBM, Intel ed altre, sotto il nome di Eclipse Foundation.

Il programma è sviluppato in Java, ed è quindi possibile avviarlo su sistemi Linux, HP-UX, AIX, Mac OS X e Windows.
La sua grafica, molto snella e personalizzabile, è stata creata tramite il toolkit SWT e l’intero programma è basato su plugins (elencati sul sito http://marketplace.eclipse.org/) che permettono di estendere le sue caratteristiche e di supportare diversi linguaggi di programmazione.

È ottimo soprattutto per lo sviluppo di codice nei linguaggi C++, PHP, Javascript, XML e in Java, dove ha anche un Visual Editor per sviluppare applicazioni che necessitano di una GUI, rendendolo quindi un ambiente RAD.

I linguaggi supportati li trovate al link http://www.eclipse.org/home/categories/languages.php, mentre è possibile scaricarlo sul sito http://www.eclipse.org/downloads/ nelle sue varie forme e versioni.

NetBeans Logo (NetBeans)

NetBeans è un IDE interamente scritto in Java (quindi multipiattaforma) dalla Oracle Corporation.
È utile per sviluppare in Java, linguaggio che supporta molto bene, ma anche in altri linguaggi come PHP e C/C++.
Ha una grafica molto pulita ed ordinata, e presenta anche lui la possibilità di installare plugins di terze parti.

Potete trovare tutte le funzioni e i linguaggi supportati al link http://netbeans.org/features/all.html.

La pagina di download permette di scegliere quali linguaggi deve supportare la versione che andremo a scaricare, permettendo di sceglierli anche tutti.

Anjuta Logo (Anjuta DevStudio)

Anjuta DevStudio è un IDE sviluppato dal progetto GNOME.
È completamente scritto in C, come lo sono i suoi plugins e le sue API.
Prendo dal sito ufficiale alcune sue caratteristiche e tools integrati che lo descrivono brevemente:

user interface
simple flexible clean usable configurable dockable

editing
highlighting folding calltips autocomplete symbols classes C python C++ Vala Java JavaScript

tools
git valgrind gdb profiler subversion scratchbox automake glade inheritance cvs devhelp wizards tasks terminal

Come vedete ha integrati alcuni tools come Glade, usato per disegnare le interfaccie grafiche, e devhelp che consente di avere una documentazione sulle API.

È possibile scaricarlo sul sito http://projects.gnome.org/anjuta/.

Code::Blocks Logo

Code::Blocks è un IDE scritto interamente in C++ usando il toolkit grafico wxWidgets.
È orientato allo sviluppo di codice in C/C++ e presenta vari plugins, elencati sul sito http://wiki.codeblocks.org/index.php?title=Code::Blocks_Plugins.

È disponibile per Windows, Linux e Mac OS X.
Le sue principali caratteristiche, prese dalla pagina di Wikipedia, sono:

Caratteristiche relative al compilatore

  • Supporto per diversi compilatori
  • MinGW / GCC C/C++
  • Digital Mars C/C++
  • Digital Mars D (con alcune limitazioni)
  • SDCC (Small device C compiler)
  • Microsoft Visual C++ Toolkit 2003
  • Microsoft Visual C++ Express 2005 (con alcune limitazioni)
  • Borland C++ 5.5
  • Watcom
  • Compilatore Intel C++
  • GNU Fortran
  • GNU ARM
  • GNU GDC
  • Progetti multi-target

  • Supporto per ambienti di lavoro (workspace)
  • Importazione progetti da Dev-C++
  • Importazione progetti e workspace da MSVC
  • Caratteristiche dell’interfaccia

  • Evidenziazione del codice
  • Code folding
  • Autocompletamento del codice
  • Browser delle classi
  • Motore di scripting Squirrel
  • Gestione della lista delle attività da completare (To-do list) tra utenti diversi
  • Supporto Devpack (i pacchetti d’installazione di Dev-C++)
  • Plugin wxSmith, strumento RAD (Rapid application development) basato su wxWidgets

È possibile scaricarlo sul sito http://www.codeblocks.org/downloads.

Geany Logo (Geany)

Geany è un editor di testo che racchiude in sè alcune funzionalità elementari di un’IDE.
È scritto in C usando il toolkit grafico GTK+, occupa poco spazio ed è molto veloce e personalizzabile.

Puo essere avviato su sistemi Windows, Linux, Mac OSX[1], BSD e Solaris ed i linguaggi supportati sono C, C++, C#, Java, JavaScript, PHP, HTML, LaTeX, CSS, Python, Perl, Ruby, Pascal e Haskell.

Ecco alcune SUE funzionalità prese dalla pagina di Wikipedia:

  • Auto-completamento
  • Supporto a documenti multipli
  • Supporto a progetti
  • Evidenziazione della sintassi
  • Code folding (parzialmente)
  • Liste di simboli
  • Navigazione del codice
  • Terminale virtuale integrato[3]
  • Sistema per compilare ed eseguire il codice
  • Supporto a estensioni

Si puo scaricare sul sito http://www.geany.org/Download/Releases.

MonoDevelop Logo

MonoDevelop è un IDE realizzato principalmente per il linguaggio C# e altri linguaggi .NET.
È multipiattaforma e fa parte del progetto Mono.
È possibile scaricarlo sul sito http://monodevelop.com/Download.

Per suggerimenti o altre richieste, vi invito ad usare i commenti :)

Sicurezza Informatica – Siti per esercitarsi

Ho recentemente scoperto due siti inglesi molto interessanti che offrono esercizi (o hackgame) suddivisi in vari livelli, relativi alla sicurezza informatica e alle varie vulnerabilità che esistono.
Come ad esempio un buffer overflow di un programma oppure un’sql injection per quanto riguarda le applicazioni web, o ancora livelli relativi alla crittografia e molti altri argomenti.

Sono davvero utili per imparare e offrono molte sfide, ognuna diversa dall’altra.

Il primo è Overthewire.org:

The wargames offered by the OverTheWire community can help you to learn and practice security concepts in the form of fun-filled games.
To find out more about a certain wargame, just visit its page linked from the menu on the left.
If you have a problem, a question or a suggestion, you can join us on IRC.

Il secondo è http://exploit-exercises.com/:

exploit-exercises.com provides a variety of virtual machines, documentation and challenges that can be used to learn about a variety of computer security issues such as privilege escalation, vulnerability analysis, exploit development, debugging, reverse engineering.

Vi consiglio di seguire anche il blog di Matt Andreko http://www.mattandreko.com/ dove potrete trovare le soluzioni ai livelli dei due siti web e chiedere informazioni.

Chiunque sia a conoscenza di altri siti come questi, puo segnalarli nei commenti :)

DotDotPwn – Directory Traversal Fuzzer

DotDotPwn è un tool da linea di comando incluso in distribuzioni dedicate al penetration testing come BackTrack, che ha da poco raggiunto la versione 3.01.
Questo tool cerca vulnerabilità di tipo Directory Traversal in vari servizi come HTTP o FTP.
I moduli di fuzzing sono:

  • HTTP
  • HTTP URL
  • FTP
  • TFTP
  • Payload (Protocol independent)
  • STDOUT

Per installarlo su distribuzioni Debian e derivate, dare i comandi

sudo apt-get install perl

e

sudo apt-get install nmap

per installare perl ed nmap.

Dopodichè bisogna installare alcune dipendenze perl, tramite CPAN:

$ sudo cpan
cpan[1]> install HTTP::Lite
cpan[2]> install Net::FTP
cpan[3]> install TFTP
cpan[4]> install Time::HiRes
cpan[5]> install Socket
cpan[6]> install IO::Socket
cpan[7]> install Getopt::Std
cpan[8]> install Switch

Infine, basta scaricarlo ed estrarlo:

$ wget <a href="www.brainoverflow.org/code/dotdotpwn-v3.0.tar.gz" title="www.brainoverflow.org/code/dotdotpwn-v3.0.tar.gz" target="_blank">www.brainoverflow.org/code/dotdotpwn-v3.0.tar.gz</a>
$ tar xzvf dotdotpwn-v2.1.tar.gz

Per usarlo la sintassi è molto semplice:

$ ./dotdotpwn.pl -m <module> -h <host> [OPZIONI]

Per maggiori informazioni, visitate il sito http://dotdotpwn.blogspot.it/.

Enjoy :D

Maltego – Information Gathering Tool

Maltego, sviluppato da Paterva, è forse il miglior tool per fare ciò che viene definito Information Gathering ovvero la ricerca/raccolta di informazioni riguardo uno specifico target, che poi verranno correlate fra di loro.

Cosa molto utile ad esempio nelle sessioni di Penetration Testing, dove per prima cosa vanno ricercate informazioni sul target da testare, che puo essere un semplice sito web o interi server.

È in grado di creare relazioni fra:

  • Persone
  • Gruppi di persone (social networks)
  • Aziende
  • Organizzazioni
  • Siti web
  • Infrastrutture internet come:

  • Domini
  • Nomi DNS
  • Netblocks
  • Indirizzi IP
  • Frasi
  • Affiliazioni
  • Documenti e files

e molto altro, tutto attraverso un’intelligenza artificiale.

È scritto in Java, quindi puo essere avviato su Windows, Linux e Mac, ed è presente sia nella Community Edition che sarebbe la versione free, sia nella versione commerciale a pagamento, tutte e due disponibili al link http://www.paterva.com/web6/products/download.php.

Insieme al tool troverete anche il CaseFile, che è un’aggiunta a Maltego che vi permetterà di migliorare la correlazione delle informazioni trovate, in modalità offline.
Maggiori informazioni al link http://www.paterva.com/web6/products/casefile.php.

Vi lascio con un video che mostra l’utilizzo base di Maltego:

ed anche un link al primo di una serie di video tutorial, fatti dallo stesso creatore di Maltego.

Enjoy :D

Weevely – PHP Backdoor

Weevely è un ottimo tool, scritto in Python da Emilio Pinna, che ha recentemente raggiungo la versione 1.0.
Grazie a questo tool è possibile creare una shell in formato PHP e gestirla in remoto tramite terminale.

È preinstallato in alcune distribuzioni GNU/Linux come BackBox, oppure un .deb o i sorgenti sono disponibili su github al link http://epinna.github.com/Weevely/.

Permette di offuscare il codice (codice che è diverso ad ogni creazione della backdoor), di impostare una password per accedere alla backdoor, e tutto il traffico fra il terminale e la backdoor è offuscato.

Tramite il comando

weevely.py generate <password>

è possibile andare a creare il file weevely.php, raggiungibile (una volta messo sul web serve) tramite il comando

weevely.py http://target.com/weevely.php password

quindi specificando l’host dov’è hostato il file, più la password che abbiamo scelto nella sua creazione.
Da qui partirà l’interprete dei comandi.

Esistono poi più di 30 moduli:

  • Execute commands and browse remote filesystem, even with PHP security restriction
  • Audit common server misconfigurations
  • Run SQL console pivoting on target machine
  • Proxy your HTTP traffic through target
  • Mount target filesystem to local mount point
  • Simple file transfer from and to target
  • Spawn reverse and direct TCP shells
  • Bruteforce SQL accounts through target system
  • Run port scans from target machine
  • And so on..

Per maggiori informazioni, vi invito ad andare sulla pagina github che vi ho linkato all’inizio dell’articolo, e anche all’ articolo del rilascio della versione 1.0 sul blog di Emilio, che contiene tutte le features aggiunte e alcuni video di esempio.

Enjoy :D