Worm.Linux.Slapper 에 대한 정보
작성자 정보
- 김흥수 작성
- 작성일
컨텐츠 정보
- 1,843 조회
- 0 추천
- 목록
본문
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
관련자료
-
이전
-
다음