질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

Worm.Linux.Slapper 에 대한 정보

작성자 정보

  • 김흥수 작성
  • 작성일

컨텐츠 정보

본문

Worm.Linux.Slapper 에 대한 정보
 
서버점검한 결과 특히 chkrootkit으로 점검한 결과중에 ...

Checking `slapper'... Warning: Possible Slapper Worm installed

와 같은 결과가 나왔다면 아래내용을 참조하시기 바랍니다.

도움이 될 것 같아서 올립니다.

 

별         칭 : Linux.Slapper.Worm,Linux/Slapper.worm
분         류 : 리눅스 웜 활 동 O S : LINUX
제   작   지 : 외산 발  견  일 : 2002-09-13
대표적증상 : 내용상 기제 활  동  일 : 
상세정보
리눅스 아파치 웹 서버 OpenSSL의 취약점을 이용하여 감염시키는 리눅스용 웜으로 분류되며 2002년 9월 13일 해외에서 처음 발견보고 되었으며,본사 신고센터에는 아직까지 감염 보고는 없으나 주의해야 한다.

[확산 방법 및 기능]

아파치 웹 서버에 쉘을 열기 위하여 정상적이지 않은 코드로 OpenSSL(Secure Socket Layer)의 버퍼 오버플로(Buffer overflow)를 발생시키는데, 포트 443번을 이용하여 다른 아파치 웹 서버에 취약점 공격을 하며, 명령어 제어(백도어 기능)를 위해 80 포트와 2002번 포트를 사용하기도 한다.

웜이 제어할 수 있는 기능은 다음과 같다.

- 특정 명령어 실행
- UDP Flooding
- IPv6 TCP Flooding
- DNS Flooding

또한 이 웜은 P2P(Peer-to-Peer) 기능을 내장하고 있는데, 이는 다른곳에서 어떠한 명령어를 내리면 그것을 실행하기 때문에 Distributed Denial of Service (DDoS) 공격으로 이용될 수 있다.

취약점을 공격하여 쉘을 이용할 수 있게 되면, 웜은 ‘tmp’디렉토리로 자신의 본체인 ‘bugtraq.c’파일을 UUENCODE 하여 복사해 넣으려고 한다.(/tmp/.bugtraq.c) 복사가 완료되면 다시 UUDECODE하여 gcc컴파일러를 이용하여 웜을 컴파일하는데, 컴파일이 완료되면 다음과 같이 생성된다.(/tmp/.bugtraq)

웜은 int80 시스템 호출도 할 수 있는데, 이는 리눅스 커널과 관련된 시스템 함수를 이용할 수 있는 것이다.

리눅스 제조 업체마다 조금씩 다르게 컴파일 되기 때문에 웜은 재 컴파일을 위해 다음의 리눅스 구조를 확인하기도 한다.

- Gentoo
- Debian
- Red-Hat
- SuSE
- Mandrake
- Slackware

그러므로 위의 리눅스들은 공격 대상의 포함된다.

*최초 작성 : 2002년 9월 17일 오전 12시 10분 HAURI Inc.

 
치료방법
[감염 사전 예방 방법]

1.OpenSSL을 가장 최신 버전으로 업데이트 한다.(mod_ssl 사용자)

- http://www.openssl.org/source/

2. 아파치의 정보 설정 파일 'httpd.conf'의 다음의 명령어를 추가 또는 변경한다.

ServerTokens ProductOnly
ServerSignature Off

3.다음의 해외 정보를 참고한다.

- http://www.cert.org/advisories/CA-2002-27

[감염 후 치료 방법]

1.다음의 명령어를 사용하여 나타나는 프로세스 리스트 중 '.bugtraq' 프로세스가 보인다면 Kill명령을 이용하여 프로세스를 종료 시킨다.

예제)
[root@linux]# ps -ef

명령어를 입력 후 ‘.bugtraq’의 PID를 확인한다.

예제)
[root@linux]# kill [pid]

Kill명령어로 PID값을 이용하여 프로세스를 종료 시킨다.

2.Linux의 ‘RM’명령어를 사용하여 다음의 파일을 삭제 시킨다.

/tmp/.uubugtraq
/tmp/.bugtraq.c
/tmp/.bugtraq
 

 

Worm.Linux.Slapper.B
 
별         칭 : Linux/Slapper.worm.b, Linux.Slapper.Worm.B, Linux.Slapper.B
분         류 : 리눅스 웜 활 동 O S : LINUX
제   작   지 : 외산 발  견  일 : 2002-09-23
대표적증상 : 내용상 기제 활  동  일 : 
상세정보
Worm.Linux.Slapper.B 는 Worm.Linux.Slapper 의 변형으로 기존 원형과 증상은 비슷하며, 다음과 같은 특징이 있다.

[확산 방법 과 실행]

OpenSSL 의 취약점을 공격하여 쉘을 이용할 수 있게 되면 uuencode 파일(/tmp/.cinik.uu)을 전송한다. 그러나 전송된 uuencode 파일을 오픈하여 소스코드 파일(/tmp/.cinik.c)을 사용할 수 없다면 루마니아의 특정 사이트에서 소스코드 파일(.cinik.c)를 다운로드 받는다.

uudecode 를 이용하여 소스코드 파일(.cinik.c)를 디코딩하여 gcc 로 컴파일하여 .cinik 생성하여 실행한다.

그러나 현재 소스코드 파일을 다운로드 할 수 있는 특정 사이트는 접속되지 않는다.

[동작 및 기능]

Worm.Linux.Slapper.B 은 실행 후 '/tmp/.cinik.go' 스크립트를 생성 한다. 생성된 스크립트는 로컬 컴퓨터와 네트워크 정보를 e메일로 발송하며, 발송하는 메일 주소는 '(삭제)@yahoo.com' 이다.

또한 'find' 명령어를 이용하여 파일을 찾아 윔의 내용으로 겹쳐쓰고, Crontab 에 등록하여 주기적으로 실행되도록 한다. 이때 찾는 파일은 다음과 같다.

찾는 위치 : /usr ,/var, /tmp, /home,/mnt
찾는 파일 : 읽기가능, 쓰기가능, 실행가능한 파일

그리고 Worm.Linux.Slapper.B 는 기존 변형과 유사하게 명령어 제어(백도어 기능)을 사용하기 위해 1978 포트 를 사용한다.

- Worm.Linux.Slapper 의 정보는 여기를 클릭하면 볼 수 있다. 
치료방법
[예방 방법]

1. OpenSSL 의 버전을 확인하여 최신 버전으로 업데이트 한다. (mod_ssl 사용자)

http://www.openssl.org/source/

2. 아파치의 정보 설정 파일 'httpd.conf' 에 다음의 명령어를 추가 또는 변경한다.

ServerTokens ProductOnly
ServerSignature Off

3. 웹서버 관리자는 리눅스 제작업체의 사이트에서 정기적으로 최신 버전으로 업데이트 및 패치를 받는다.


[치료 방법]

1. 프로세스 리스트 중에 '.cinik' 를 찾아 Kill 명령어를 이용하여 프로세스를 종료시킨다.

[root@linux]# ps -ef | grep cinik
[root@linux]# kill [pid]

2. 웜과 관련된 모든 파일을 'rm' 명령어를 이용하여 삭제한다.

/tmp/.cinik.c
/tmp/.cinik.go
/tmp/.cinik.uu
/tmp/.cinik

3. 전체 디렉토리를 검사하여 윔을 삭제한다.

root@linux]# find / -name '.cinik' -exec rm -rf {} ; -print

4. Crontab 에 윔이 등록한 내용을 삭제한다.

[root@linux]# crontab -l
[root@linux]# crontab -e


[관련 사이트]

CERT Advisory CA-2002-27

http://www.cert.org/advisories/CA-2002-27.html

 


 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,138 명
  • 현재 강좌수 :  36,196 개
  • 현재 접속자 :  532 명