Matteo Neri (Mn90) Blog...

Articoli riguardanti il mondo .NET e la Sicurezza Informatica

Home Contact Syndicate this Site (RSS 2.0) Syndicate this Site (Atom) Login
  43 Posts :: 0 Stories :: 192 Comments :: 3 Trackbacks

News

My WebSite

http://mn90.it

Matteo Neri

Programmo in:

VB.NET, C/C++, Python, JAVA, HTML, PHP, MySql,MS-SQL.

S.O. che conosco:

Microsoft:Win 98,2000,Win XP,Win Server 2003, Win Vista
Linux: Debian, Red Hat Linux, Knoppix, BackTrack

Altro:

Mi interesso di Reverse Engineering, Web Security, Malware Analysis e Network Security



Archives

Post Categories

Link Vari

Others Blogger

Friday, June 13, 2008 #

Eccomi qua di nuovo a scrivere dopo tanto tempo.

In questi giorni per me tira aria di vacanza, finita la scuola mi sento meglio e posso tornare a scrivere in questo mio blog, anche se tra meno di 20 giorni inizio lo STAGE e quindi per me non sarà più vacanza!!!

Comunque in questo post spiego come è possibile avviare un applicazione da ESEGUI, in modo rapido, come ad esempio per avviare il nostro amato wordpad è possibile farlo digitando in ESEGUI: wordpad

IL Nostro KIT

Per poter avviare la nostra applicazione da ESEGUI dobbiamo utilizzare il Registro di Sistema (regedt32.exe), andremo a creare e/o modificare i valori/chiavi che ci interessano

AL Lavoro!!

Allora:

- Apriamo regedt32

- Posizioniamoci in questa cartella HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

- A questo punto andiamo a creare una chiave con il nome dell'eseguibile, esempio: skype.exe

- Posizioniamoci nella chiave appena creata, e modifichiamo il valore (Predefinito) con il percorso dell'eseguibile

esempio: inseriamo come dati del valore: "C:\PROGRAMMI\SKYPE\PHONE\SKYPE.EXE"

- A questo punto da esegui provate a digitare: skype

Se avete inserito il path giusto come valore, allora dovrebbe funzionare!!!

Cosa Abbiamo Fatto???!!

In poche parole abbiamo modificato il Registro di Sistema, aggiungendo una nuova chiave, e impostando come valore, il percorso dell'eseguibile da avviare, in questo caso lo abbiamo impostato per tutti gli utenti della macchina locale, se invece volessimo farlo solo per l'utente corrente, è possibile farlo andando in HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths.

 

Bye bye e al prossimo Post!!!

PS. Spero che questo Post sia utile per qualcuno.

Matteo

posted @ 1:09 PM | Feedback (3)

Monday, May 12, 2008 #

Torno a scrivere sul mio blog, lasciandovi qui qualche riga di codice, che consente di catturare/riprodurre in tempo reale la schermata del vostro PC, il codice è in VB2005 ma è possibile farlo anche in C#.

Prima di poter scrivere la nostra funzione dobbiamo importare i namespace che ci servono, ecco qua:

Imports System.Drawing

Imports System.Windows.Forms

A questo punto possiamo scrivere la nostra funzione:

Function riproducischermo() As System.Drawing.Bitmap
    'Ho Aggiunto + 30px, cosi che venga catturata anche la barra di Windows
    Dim imgb As Bitmap = New Bitmap(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height + 30)
    Dim s As Size = New Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height + 30)
    Dim gr As Graphics = Graphics.FromImage(imgb)
    gr.CopyFromScreen(0, 0, 0, 0, s, CopyPixelOperation.SourceCopy)
    Return imgb
End Function

In poche parole la funzione cattura l'intera schermata del PC, creando un immagine di tipo BitMap, a questo punto per poter riprodurre lo schermo in tempo reale, ci basta solamente utilizzare un timer e richiamare la funzione.

Ecco qua:

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    img.Image = riproducischermo()
End Sub

img è una PictureBox, quindi utilizzando un Timer con intervallo di aggiornamento di 100 millisecondi, catturiamo la schermata in tempo reale, e riproduciamo il tutto all'interno della PictureBox.

Con queste poche righe di codice, è possibile cattura la schermata del PC, cosi da poter essere utile in varie applicazioni, dal controllo remoto del PC fino allo sviluppo di applicazioni per il rilevamento di oggetti grafici sullo schermo.

Bye bye alla prossima

Matteo

posted @ 5:46 PM | Feedback (15)

Thursday, March 20, 2008 #

Salve a tutti

Oggi torno scrivendo questa mia riflessione sulla Privacy nel Mondo di Oggi dal lato di Internet.

Ormai il WEB è un mondo pieno di informazioni, dati personali e di codici di accesso, basti pensare che ormai per ogni servizio devi registrarti con relativi dati personali (nome,cognome,cap,e varie informazioni personali), e questo "modo" di essere schedato non mi sembra molto corretto.

Poi se pensiamo che nel mondo UnderGround circolano DataBase di siti/server "piratati", questo mi fa ancora più rabbrividire, ogni nostro dato può essere in possesso di persone "pericolose???!!..", ma con questo non voglio scandalizzare nessuno!!!

Perchè non si potrebbe creare un sistema centralizzato per memorizzare tutti questi dati??? un esempio che sta prendendo piede è quello di Microsoft con i servizi Windows Live (lo considero un ottimo esempio)

Ovviamente un sistema centralizzato porterebbe una unica identità dell'utente per tutti i servizi del WEB, e quindi l'utente non dovrebbe sempre registrarsi per ogni servizio, ma può acceddere utilizzando sempre lo stesso ID e la stessa Password, ovviamente questo deve portare di conseguenza una maggior integrità e Sicurezza dei Dati presenti nel DataBase "centrale".

Un servizio del genere non è molto semplice da realizzare, ma basti guardare l'esempio di Microsoft e prendere spunto per generare un unico "grande" DataBase del WEB!!!

Dopo aver espresso questo mio primo punto, ora vorrei parlarvi di questa notizia che ho appreso girando sul WEB:

Google consegna i dati degli utenti al Governo Usa

Questo già dal titolo mi sembra che la privacy degli utenti sia stata violata, cioè Google ha rilasciato i "nostri" dati al Governo Americano, questo mi fa solamente pensare quanto il GOVERNO USA ha la forza di controllare su "tutto",  ora io mi chiedo:

Se l'italia o la Russia avrebbe chiesto i dati a Google, come avrebbe reagito il colosso di Mountain View??

La risposta che darei è che l'italia non avrebbe il potere come il Governo Usa, e Google non avrebbe mosso neanche un singolo Bit a favore del  Governo Italiano, basti pensare se la richiesta veniva fatta dalla Russia, la risposta sarebbe stata un NO secco.

Con queste affermazioni voglio far capire che "noi utenti" non siamo tutelati dalla privacy, ogni nostro dato circola in rete e finisce in mano a Governi, Istituzioni, Multinazionali e a tutti gli Enti che hanno grande Potere, e noi non possiamo fare niente, possiamo solamente stare a guardare.

Ciao e alla Prossima.

Matteo

posted @ 11:23 AM | Feedback (4)

Friday, February 22, 2008 #

Salve a tutti

Torno a scrivere in questo Blog dopo un pò di assenza, dovuta a impegni scolastici e personali.

Due minuti fa mi ero chiesto come poter eliminare la Cronologia dei Progetti e File creati recentemente in Visual Studio 2005, poiche eliminando i file, in VS rimane comunque la traccia dei file e progetti creati recentemente.

Visto che sono un amante del Registro di Sistema di Windows ho pensato che la cronologia fosse da qualche parte del Registro e infatti ne ho trovato la conferma:

Percorso per eliminare la cronologia dei file recenti:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\FileMRUList

Percorso per eliminare la cronologia dei progetti recenti:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\ProjectMRUList

 

Ovviamente è nella sezione HKEY_CURRENT_USER poichè VS 2005 lo avevo installato solo per il mio utente e non per tutti gli utenti.

Io ho utilizzato questa soluzione manuale per eliminare la cronologia, non so se in VS 2005 esiste l'opzione per eliminare la cronologia.

 

Bye bye e alla prossima

Matteo

posted @ 8:37 PM | Feedback (3)

Monday, January 28, 2008 #

Salve a tutti

Come molti di voi sanno, il C è un linguaggio molto flessibile, questa flessibilità comporta il programmatore a dover prestare maggiore attenzione quando scrive del codice per una applicazione.

Oggi vi voglio mostrare un piccolo suggerimento su come evitare che la vostra applicazione possa diventare una applicazione potenzialmente vulnerabile al famoso "Buffer Overflow", e prenderò in esame un caso molto diffuso, cioè l'utilizzo errato della funzione strcpy().

La strcpy() consente di copiare una stringa in un altra stringa, per capirci meglio ecco un semplice esempio della strcpy(): 

#include "string.h"
#include "stdio.h"
int main(){
   char stringa1[5]="ciao";
   char stringa2[5];
   strcpy(stringa2,stringa1);    /* Copia stringa1 in stringa2, stringa2 è uguale a stringa1 */
   printf("%s",stringa2);
   return 0; }

Dopo questo esempio vi mostro una applicazione vulnerabile:

#include "string.h"
#include "stdio.h"
int main(int argc,char *argv[]){
   char prova[6]="prova";
   char stringa[5];
   strcpy(stringa,argv[1]);  /* Utilizzo errato della strcpy */
   printf("%s",stringa);
   printf("\n%s",prova);
   return 0; }

Perchè questa applicazione è vulnerabile???

La risposta è semplice, poichè non viene fatto un controllo su argv[1], se l'utente da in input una stringa più lunga di 4 caratteri, i caratteri in eccesso non vengono tagliati, ma vengono copiati nell'area di memoria "proibita", questo comporta al "Buffer Overflow".

Suggerimenti:

Consiglio vivamente di fare dei controlli sull'input dell'utente, si potrebbe aggirare il problema con una soluzione di questo genere:

strncpy(str_destinazione,str_sorgente,n);

strncpy() è una funzione che svolge lo stesso lavoro della strcpy() , ma consente di specificare anche la lunghezza della stringa da copiare.

Questo ultimo parametro ci può aiutare ad aggirare il problema perchè se noi facessimo:

strncpy(stringa2,stringa1,sizeof(stringa2)-1) 

In questo modo se avessimo stringa1>stringa2, i caratteri in eccesso di stringa1 verrebberò tagliati.

Ovviamente consiglio se utilizzate questo metodo, di rilasciare un messaggio all'utente così da informarlo che la stringa è stata tagliata.

Conclusioni

Poichè il C è sempre un linguaggio amato dai programmatori di tutto il mondo, è importante far sapere quanto sia flessibile, ma anche quanto sia molto facile commettere "sviste" o errori che poi portano a questi tipi di vulnerabilità, oltre al BufferOverflow vi è anche il Format Stirng, la quale è un altra vulnerabilità molto frequente.

Scrivere un software sicuro e/o perfetto non penso tutti ne siano all'altezza, anche i programmatori più esperti alcune volte inceppano in queste "sviste".

Un saluto e alla Prossima

Matteo

posted @ 4:54 PM | Feedback (4)

Monday, January 07, 2008 #

Ciao a tutti

Dopo le feste eccomi nuovamente qui a scrivere in questo mio blog..

Dopo la presentazione di ieri della nuova vettura di Maranello la Ferrari F2008 (splendida vettura, complimenti agli ingegnieri e a chi ci ha lavorato!) , e dopo la presentazione della nuova vettura della Scuderia McLaren-Mercedes la MP4-23 avvenuta oggi, possiamo dire che fra piu di due mesi ricomincia il campionato di Formula 1.

Quest'anno piloti diversi,circuiti diversi,regole diverse,vetture diverse...ma centraline e elettronica identiche per tutti!!!!

In questo 2008 il campionato dell'elettronica sarà uguale per tutti i Team, infatti tutti si dovranno affidare alla McLaren Electronic Systems che a sua volta collaborerà insieme al colosso di Redmond,  Microsoft!!!

Si è proprio così Microsoft entra a far parte del Circus della Formula 1, e le tanto amate centraline Magneti Marelli verranno scaricate, notare che Magneti Marelli collaborava con 5 Scuderie!!!..

Ad Oggi in rete c'è un pò di perplessità sul fatto di Microsoft che entra a far parte della Formula 1, e anche sul fatto di affidare alla McLaren Electronic Systems l'intero sistema dell'elettronica, la quale ha perso molta fiducia dopo la Spy Story, anche se questo la FIA forse non ne ha tenuto conto..

Vi lascio qui qualche battuta riguardo Microsoft che ho raccolto dalla rete..

"mi auguro semplicemente che durante manovre a velocità lampo, durante curve serratissime, i piloti non dovranno fare i conti con finestrelle d'errore che vorrebbero notificare a Microsoft i problemi riscontrati"

"Chissà se ci saranno problemi per i piloti, sinceramente c'è da preoccuparsi: non è chiaro se il termine crash, d'ora in avanti, significherà incidente sul tracciato oppure errore nel software equipaggiato dalla vettura"

Avere la risposta alla domanda del titolo non è possibile in questo momento, ma la risposta verrà data a metà e/a fine stagione.

Vi saluto e alla prossima..

Matteo

 

P.S. Alla fine dell'anno vediamo se l'accoppiata Microsoft e McLaren Electronic System sia stata positiva..

posted @ 7:19 PM | Feedback (6)

Saturday, December 22, 2007 #

Eccomi qui...

Da oggi pomeriggio mi sento ufficialmente in vacanza, fino al 7 di gennaio non mi dovrò alzare alla mattina presto per andare a scuola.

Ovviamente auguro buone feste a tutti, e mi dispiace per chi in questo periodo natalizio dovrà lavorare.

Quindi in poche parole..

Auguri di Buone Feste

Matteo

posted @ 2:02 PM | Feedback (1)

Wednesday, December 19, 2007 #

Ciao  a tutti!!!

Dopo aver sentito voci dell'arrivo di BackTrack 3 nei mesi passati, ora è arrivato il suo momento!!!

Per gli amanti di questa distro LINUX è stata rilasciata la versione BETA, si possono scaricare due differenti tipi: la versione USB e la versione LIVE CD!!!

In questo momento sto scaricando la versione USB, che poi proverò.

Eccovi qui il link per la lista dei mirror da dove scaricare il Download di BackTrack 3 Beta.

BackTrack 3

Dopo questa FLASH News (non tanto news visto ke è stato rilasciato 5 giorni fà...) vi saluto...

Ciao alla Prossima

Matteo

posted @ 6:32 PM | Feedback (2)