chkrootkit은 / sbin / init가 감염되었다고 말합니다. 무슨 뜻입니까?

나는 최근 chkrootkit에 다음 줄을 얻었습니다.

Searching for Suckit rootkit...                   Warning: /sbin/init INFECTED

이것이 정확히 무엇을 의미합니까? 나는 이것이 잘못된 일이라고 들었습니다. 정확히 무슨 일이 일어나고 있는지.

감사합니다



답변

chkrootkit에 버그가 있기 때문에 이것은 오 탐지 일 가능성이 높습니다. 분명히 chkrootkit은 엄격한 검사를 수행하지 않습니다.

참조 :
https://bugs.launchpad.net/ubuntu/+source/chkrootkit/+bug/454566

또한 chkrootkit과 유사한 rkhunter를 사용해 볼 수 있습니다.

더 자세한 정보 : 다행히도 `chchrootkit` 파일을 실행 하면 chkrootkit이 쉘 스크립트이므로 직접 검사 할 수 있습니다.

Searching for Suckit in the file /usr/sbin/chkrootkit we find:
   ### Suckit
   if [ -f ${ROOTDIR}sbin/init ]; then
      if [ "${QUIET}" != "t" ];then printn "Searching for Suckit rootkit... "; fi
      if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME  || \
              cat ${ROOTDIR}/proc/1/maps | ${egrep} "init." ) >/dev/null 2>&1
        then
        echo "Warning: ${ROOTDIR}sbin/init INFECTED"
      else
         if [ -d ${ROOTDIR}/dev/.golf ]; then
            echo "Warning: Suspect directory ${ROOTDIR}dev/.golf"
         else
            if [ "${QUIET}" != "t" ]; then echo "nothing found"; fi
         fi
      fi
   fi

핵심은 다음과 같습니다.

cat ${ROOTDIR}/proc/1/maps | ${egrep} "init."

최신 버전의 Ubuntu부터 해당 명령을 실행하면 일부 출력이 생성됩니다 (루트 또는 sudo로 실행해야 함).

# sudo cat /proc/1/maps | egrep "init."
b78c2000-b78db000 r-xp 00000000 08:02 271571     /sbin/init (deleted)
b78db000-b78dc000 r--p 00019000 08:02 271571     /sbin/init (deleted)
b78dc000-b78dd000 rw-p 0001a000 08:02 271571     /sbin/init (deleted)

그러나 이것은 루트킷에 의한 감염이 아닙니다. 나는 또한 rkhunter 코드를 살펴 보았고 검사는 훨씬 더 엄격합니다 (루트 키트에 의해 설치된 모든 종류의 추가 파일 테스트).

chkrootkit 파일에서 1003,1004 행을 변경하여 / proc / 1 / maps 검사를 수행하지 않도록 확인했습니다 (먼저 복사해야 함)

if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME  ) \
             >/dev/null 2>&1

답변

Kubuntu 13.04에서 2013-07-31 기준

달리는:

cat /sbin/init | egrep HOME

생산 :

Binary file (standard input) matches

달리는:

cat /proc/1/maps | egrep "init."

NO 출력을 생성합니다.

참고 : 마침표를 제거하면 출력이 생성됩니다 ( “init.”에서 “init”로 변경)

b7768000-b779f000 r-xp 00000000 08:02 399192     /sbin/init
b779f000-b77a0000 r--p 00036000 08:02 399192     /sbin/init
b77a0000-b77a1000 rw-p 00037000 08:02 399192     /sbin/init

그래서 HOME을 확인하는 부분이 문제인 것 같습니다.

rkhunter가 유효한 검사를 가지고 있다고 가정 할 수 있다면 쉬운 경로는 chkrootkit 에서이 섹션을 제거하고 rkhunter와 chkrootkit을 모두 실행하는 것입니다.