AnNyung Official Homepage Home > White Paper [ Chkrootkit ]  

HOME
What is AnNyung
Documents
Packages System
White Paper
  . 2.0 Pkg Catalog
  . PHP Guide
  . AnNyung Tuning
  . A.P.M Setting
  . migration to 1.3
  . autoupdate
  . Oracle Ready
  . Quota Doc
  . CheckRootKit
  . Multibyte DNS
  . Sendamil STARTTLS
  . MySQL 4.1 Update
  . Time Server
  . Domain Key
  . VPN with PPTPd
  . VPN with OpenVPN
Download
Update
FAQ
Hardware
RoadMap
Gallery

  Go oops.org
  AnNyung banner 88x31

  AnNyung 1 banner 80x15
  AnNyung 2 banner 80x15
  AnNyung 3 banner 80x15
  AnNyung banner 80x15
  AnNyung banner 80x15



Scan lkm Trojan with chkrootkit on AnNyung
  Deprecated! 이 문서는 안녕 리눅스 1.x에 관련된 내용 입니다.

  -----------------------------------------------------------

  안녕에서 chkrootkit 0.42b 버전으로 체크를 할 경우, lkm trojan 이 설치 되어 있을 수 있다
  는 메세지가 나오게 됩니다.

  이는 procps 버전이 3.1.14 에서 부터인지는 모르겠지만, thread 에 관련된 부분을 PID 로 취
  급을 하지 않아서 발생하는 문제입니다. pthread 상에서는 PID 를 가지고 있는데 3.1.14 에서
  는 thread 라서 PID 0 에 종속 시킨 것으로 보여주고 있어서 그런 듯 싶습니다.

  아마도 버전 3.1.13 의 changelog 에

  Version 3.1.13 

  ps: can display NPTL threads w/ kernel patch
  no seLinux for now (new kernel interface)

  라는 내용이 있는데, 이것 때문인 듯 싶습니다.  procps 3.1.14 업데이트 이유는 커널 2.6 을
  준비하기 위해서 인데,  커널 2.6 에 들어가는 중요한 변화가 바로 native thread 즉, kernel
  level 의 thread 지원 때문입니다. 그래서 ntpl 패치가 되어 있는 redhat 9 에서는 bind 9 의
  process 가 1개 밖에 보이지 않는 반면에 다른 2.4 배포본들에는 process 가 4개 정도가 보이
  게 되는 것 입니다.

  실제로, chkrootkit 소스에서 make 를 하신 후에 생성이 되는 chkproc  를 실행 해 보시면 체
  크가 가능합니다. 예를 들면,

  [root@test chkrootkit-0.42b]# ./chkproc -v
  PID     3: not in ps output
  PID     4: not in ps output
  PID     5: not in ps output
  PID     6: not in ps output
  PID     7: not in ps output
  PID     8: not in ps output
  PID     9: not in ps output
  PID    10: not in ps output
  You have     8 process hidden for ps command

  와 같이 결과가 나오고, lsof 로서 체크해 본 결과 PID 3~10 은

  ksoftirqd     3  root  cwd    DIR        8,2    4096          2 /
  ksoftirqd     4  root  cwd    DIR        8,2    4096          2 /
  ksoftirqd     5  root  cwd    DIR        8,2    4096          2 /
  ksoftirqd     6  root  cwd    DIR        8,2    4096          2 /
  kswapd        7  root  cwd    DIR        8,2    4096          2 /
  kscand        8  root  cwd    DIR        8,2    4096          2 /
  bdflush       9  root  cwd    DIR        8,2    4096          2 /
  kupdated     10  root  cwd    DIR        8,2    4096          2 /

  과 같습니다. 또한 ps 에서 보면 해당 프로세스들은

  root         0  0.0  0.0     0    0 ?        SWN  Oct17   0:00 [ksoftirqd_CPU0]
  root         0  0.0  0.0     0    0 ?        SWN  Oct17   0:00 [ksoftirqd_CPU1]
  root         0  0.0  0.0     0    0 ?        SWN  Oct17   0:00 [ksoftirqd_CPU2]
  root         0  0.0  0.0     0    0 ?        SWN  Oct17   0:00 [ksoftirqd_CPU3]
  root         0  0.0  0.0     0    0 ?        SW   Oct17   0:05 [kswapd]
  root         0  0.3  0.0     0    0 ?        SW   Oct17 120:37 [kscand]
  root         0  0.0  0.0     0    0 ?        SW   Oct17   0:00 [bdflush]
  root         0  0.0  0.0     0    0 ?        SW   Oct17   0:11 [kupdated]

  와 같이 나옵니다. 즉, PID 0 의 init 의 thread 들이 PID 가 0 으로 나와 LKM 으로
  의심한다는 메세지가 나온 것입니다.

  의심이 가는 시스템은 위의 과정과 같이 테스트를 해 보시면 됩니다.



    



 Home > White Paper [ Chkrootkit ]

Copyright 2024 OOPS Development Organization 
LAST MODIFIED: 2014/02/03