AnNyung Official Homepage Home > White Paper [ Chkrootkit ]  

HOME
What is AnNyung
Documents
Packages System
White Paper
  . 2.0 Pkg Catalog
  . 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 banner 80x15
  AnNyung banner 80x15
  AnNyung banner 80x15
  AnNyung banner 80x15
  AnNyung banner 80x15
  AnNyung banner 80x15



Scan lkm Trojan with chkrootkit on AnNyung
  안녕에서 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 2013 OOPS Development Organization 
LAST MODIFIED: 2012/08/28