관련된:
https://serverfault.com/questions/748417/something-renames-files-to-filename-ext-suspected
https://stackoverflow.com/questions/32835796/php-file-automatically-renamed-to-php-suspected
Linux를 실행하는 웹 호스팅 서버를 보유한 고객이 있는데 그 고객도 이 문제에 직면했습니다. 이것은아니요WordPress 사이트. 하지만 그는 동일한 서버에서 WordPress 사이트를 운영하고 있습니다.
우리 모두는 이 문제를 알고 있었고 이러한 파일 중 일부에는 악성 코드 콘텐츠가 포함되어 있었습니다. 하지만 포함된 파일을 읽을 수 없게 만들어 웹 사이트의 기능에 영향을 미치는 일부 오탐도 있었으므로 그는 저에게 추적을 요청했습니다. 설치된 소프트웨어의 어느 부분이 이 작업을 수행하고 이를 차단하는지입니다.
문제는 100% 확신할 수 없다는 것입니다.무엇이름이 변경된 이유와 이유. 나의심하다clamav/amavis는 그들의 임무에 속하지만 cron
주간 스캔의 원인이 무엇인지는 전혀 생각하지 못했습니다...
답변1
파일 변경 감사 메커니즘을 사용하세요.로깅 파일 시스템아니면 리눅스감사 하위 시스템. 당신은 또한 볼 수 있습니다어떤 프로세스가 파일을 생성하는지 확인하는 방법은 무엇입니까?,모든 SUID 프로그램에 대한 모든 호출을 기록하시겠습니까?,Auditd로 Idiot01을 처치하세요...
서버가 Linux를 실행한다고 가정하면 감사 시스템이 최상의 솔루션처럼 보입니다. 관련 디렉터리 트리에 모든 파일 이름 바꾸기 작업을 기록합니다. 예 /var/www
:
auditctl -a exit,always -S rename -F dir=/var/www
감사 로그는 일반적으로 에 있습니다 /var/log/audit/audit.log
. 다음은 cd /var/www; mv foo bar
위 규칙에 대한 샘플 로그입니다.
type=SYSCALL msg=audit(1489528471.598:669): arch=c000003e syscall=82 success=yes exit=0 a0=7ffd38079c14 a1=7ffd38079c18 a2=20 a3=7ffd38077940 items=4 ppid=5661 pid=5690 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts11 ses=1 comm="mv" exe="/bin/mv" key=(null)
type=CWD msg=audit(1489528471.598:669): cwd="/var/www"
type=PATH msg=audit(1489528471.598:669): item=0 name="/var/www" inode=22151424 dev=fc:01 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT
type=PATH msg=audit(1489528471.598:669): item=1 name="/var/www" inode=22151424 dev=fc:01 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT
type=PATH msg=audit(1489528471.598:669): item=2 name="foo" inode=22152394 dev=fc:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=DELETE
type=PATH msg=audit(1489528471.598:669): item=3 name="bar" inode=22152394 dev=fc:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=CREATE
답변2
나는 이 질문이 얼마 전에 요청되었다는 것을 알고 있지만 .php
파일 이름 변경은 .php.suspected
오늘날에도 계속 발생합니다. 다음 명령은 결과를 생성하지 않습니다.
find <web site root> -name '*.suspected' -print
find <web site root> -name '.*.ico' -print
제가 본 경우에는 다음을 사용하여 감염된 파일을 찾을 수 있습니다.
cd <web site root>
egrep -Rl '\$GLOBALS.*\\x'
egrep -Rl -Ezo '/\*(\w+)\*/\s*@include\s*[^;]+;\s*/\*'
egrep -Rl -E '^.+(\$_COOKIE|\$_POST).+eval.+$'
제가 본 문제와 이를 처리하는 방법에 대한 자세한 설명을 준비했습니다.GitHub. 나는 이 악성 코드의 변종이 과거에도 많이 나타난 것으로 의심합니다. 웹사이트를 감염시키는 방식은 사용된 CMS와 공격 당시 이용 가능한 취약점에 따라 다릅니다. 이런 경우에는 아마도두바이덴 2.