프로세스 목록: /bin/sh -e /proc/self/fd/11

프로세스 목록: /bin/sh -e /proc/self/fd/11

이해합니다:

  PID TTY      STAT   TIME COMMAND
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00  \_ [migration/0]
            :
  844 ?        S      0:00  \_ [vmmemctl]
    1 ?        Ss     0:02 /sbin/init
  306 ?        S      0:00 upstart-udev-bridge --daemon
  309 ?        S<s    0:00 udevd --daemon
  445 ?        S<     0:00  \_ udevd --daemon
  446 ?        S<     0:00  \_ udevd --daemon
  668 ?        Ss     0:00 dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp3/dhclient.eth0.leases eth0
  713 ?        Sl     0:00 rsyslogd -c4
  717 ?        Ss     0:00 dbus-daemon --system --fork
  947 ?        S      0:03 /usr/sbin/vmtoolsd
  991 tty2     Ss+    0:00 /sbin/getty -8 38400 tty2
 1000 ?        Ss     0:00 cron
 1001 ?        Ss     0:00 atd
 1137 ?        Sl     0:00 /usr/sbin/console-kit-daemon --no-daemon
 1476 tty1     Ss+    0:00 /sbin/getty -8 38400 tty1
 9939 ?        Ss     0:00 /bin/sh -e /proc/self/fd/11
 9993 ?        S      0:00  \_ sleep 1

마지막 프로세스 9939에서 무슨 일이 일어났는지 아시나요? 나는 이전에 이런 것을 본 적이 없습니다...그것은 단지 스스로 새로운 PID를 계속 생성할 뿐입니다.

답변1

bash다양한 단일 문자 명령줄 옵션이 지원됩니다.

   All of the  single-character shell options documented in the
   description of the set builtin command can be used as options
   when the shell is invoked.  In addition, bash interprets the
   following options when it is invoked:

set -e조금 복잡하다:

          -e      Exit immediately if a pipeline (which may
                  consist of a single simple command),  a
                  subshell command enclosed in parentheses, or
                  one of the commands executed as part of a
                  command list enclosed by braces (see SHELL
                  GRAMMAR above) exits with a non-zero status.
                  ....

bash(1)이것이 실행되는 것 같습니다 /proc/self/fd/11. 생성된 것이 무엇이든 명령을 시작 pipe(2)하고 시간이 지남에 따라 실행할 명령을 보낼 가능성이 높습니다 bash(1). 이 파이프를 통해 명령 sleep(1)을 실행할 수 있습니다. 스크립트의 다음 줄은 새로운 것을 다시 시작하는 것일 가능성이 높습니다 bash -e /proc/self/fd/11. (아마도 상위에서 하위로 bash -e /proc/self/fd/11 11</dev/fd/11전파되는 것일까 11요?)

어떤 프로세스가 원인인지 확인하려면 bash(1)실행하십시오 . 파이프라인에 해당하는 열의 inode 번호를 lsof -p 9939기록하십시오 . ( 또는 열 또는 열에 NODE나열될 수 있습니다 .) 그런 다음 해당 파일 설명자와 연결된 inode 번호를 사용하여 실행합니다.FIFOSOCKETTYPEpipeNAMElsof | grep inode_number

이것은 매우 이상한 현상이며 나는 이것이 공격자의 툴킷의 일부라고 생각하는 경향이 있습니다. 이것이 합리적일 수도 있지만 나는 그것이 매우 의심스럽습니다. 로그를 주의 깊게 스캔하고 실행을 고려해 보는 것이 좋습니다.http://www.chkrootkit.org/시스템에서 방화벽 등을 통해 들어오고 나가는 모든 연결을 조사하십시오. 일반적인 편집증.

답변2

pwdx 9939프로세스가 어디에서 오는지 확인하기 위해 수행할 수 있습니다 .

pwdxproc 도구의 일부, 유틸리티 세트"스포츠 특성 /proc", Solaris man페이지에 따르면.

에 대한 pwdx:

 pwdx                Print the current working  directory  of
                     each process.

관련 정보