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


30

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

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

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

감사합니다

답변:


34

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

4
이것은 apt-get에 의해 설치된 V0.49에 적용됩니다. chkrootkit 0.50 ( chkrootkit.org에서 직접 사용 가능 )이이 오 탐지를 수정하는 것처럼 보입니다 .
Quog

우분투와 함께 제공되는 버전을 알고 싶다면 패키지
Édouard Lopez

문제를 해결할 때 검색에서이 문제가 발생했기 때문에 여기에 추가 정보가있는 또 다른 토론이 있다고 언급하고 싶습니다
Cody Sharp

2

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을 모두 실행하는 것입니다.


1
우분투 14.04 32 비트에서도 동일합니다. 내가하려고하면 strings /sbin/init | grep HOME내가 얻을 XDG_CACHE_HOME and XDG_CONFIG_HOME이 여전히 거짓 긍정적인가? / sbin / init에서 문자열 "HOME"을 검색하는 목적은 무엇입니까? 왜 긍정적이어야합니까?
rubo77
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.