2013년 11월 26일 화요일

Linux.Slapper Warm

1. Linux.Slapper 웜

최근 Linux.Slapper 웜이 빠르게 확산되면서 피해가 속출하고 있습니다.
그에 따라서 F-Secure는 Linux.Slapper 웜의 경고 등급을 Alert Level 1으로 상향 조정하였습니다. Linux.Slapper는 Peer to Peer Denial of Service Attack을 통해 급속히 확산되고 있습니다.

아직 리눅스 서버에 대한 업그레이드를 수행하지 않으신 관리자께서는 다음 정보를 참조하여 바이러스 감염 및 전파를 예방하시기 바랍니다.

바이러스 정보 및 피해 국가별 감염 호스트 수는 다음 링크를 참조하시기 바랍니다.
http://www.f-secure.com/slapper/

1.1. 증상
해당 웜이 발생하면 UDP 4156 (이외에 1978, 2002번으로 통신하기도 함)번으로 통신하면서 DOS 어택을 하므로 시스템이 느려지고, 서비스를 정상적으로 할 수 없음. tcpdump로 보면 해당 패킷이 다음과 같이 통신하는 것을 볼 수 있음
--------------------------- Log ---------------------------
tcpdump -i eth0 해보면 다음과 같이 UDP 패킷이 발생하는 것을 볼 수 있음.

10:58:51.925185 80.247.64.3.4156 > 211.239.12?.??.4156: udp 41 (DF)
10:58:51.935185 66.121.102.42.4156 > 211.239.12?.??.4156: udp 41 (DF)
10:58:51.955185 isis.szk.bme.hu.4156 > 211.239.12?.??.4156: udp 60 (DF)
10:58:51.955185 216.235.147.122.4156 > 211.239.12?.??.4156: udp 60 (DF)
10:58:52.015185 day.CSUChico.EDU.4156 > 211.239.12?.??.4156: udp 60 (DF)
10:58:52.035185 213.215.146.202.4156 > 211.239.12?.??.4156: udp 41 (DF)
10:58:52.065185 palladium.fm.vse.cz.4156 > 211.239.12?.??.4156: udp 60 (DF)
10:58:52.075185 211.147.1.88.4156 > 211.239.12?.??.4156: udp 41 (DF)
10:58:52.085185 terra.anu.edu.au.4156 > 211.239.12?.??.4156: udp 60 (DF)
10:58:52.085185 202.103.172.60.4156 > 211.239.12?.??.4156: udp 41 (DF)
10:58:52.085185 brc2.phys.wvu.edu.4156 > 211.239.12?.??.4156: udp 41 (DF)
10:58:52.095185 arp who-has 211.180.182.60 tell ns.nspia.com
10:58:52.115185 150.254.84.227.4156 > 211.239.12?.??.4156: udp 41 (DF)
10:58:52.145185 parsek.yf.ttu.ee.4156 > 211.239.12?.??.4156: udp 41 (DF)
10:58:52.155185 cybernat01.cybermedia.nl.4156 > 211.239.12?.??.4156: udp 60 (DF) -x11:03:40.665185 www3.kentei.com.4156 > 211.180.182.59.4156: udp 60 (DF)
4500 0058 0000 4000 3111 c432 4038 bb3a
d3b4 b63b 103c 103c 0044 2350 0000 0000
59d1 0000 0028 3613 2600 0000 0ec5 f826
3000 0000 dd74 1186 0305 0000 0000 0000
c610 0000 7100 0000 0000 0000 0400 0000
0000
--------------------------- Log ---------------------------

2. 각종 리눅스 벤더의 보안 권고문:
각종 리눅스 벤더별로 보안권고문을 내놓고, 이에대한 패치를 내놓았으니 읽어보시기 바랍니다.

Debian: http://www.debian.org/security/2002/dsa-136
Mandrake: http://www.mandrakelinux.com/en/security/2002/MDKSA-2002-046.php
RedHat: http://rhn.redhat.com/errata/RHSA-2002-155.html
SuSE: http://www.suse.com/de/security/2002_027_openssl.html


2.1 취약한 버전 및 대상

OpenSSL 0.9.6d 및 0.9.7 beta1 을 포함한 이전버젼들은 모두 해당됨.
현재까지 공격대상이 되는 Apache 웹서버의 버젼은 아래와 같음.
Debian Linux, Apache 1.3.26
Red Hat Linux, Apache 1.3.6
Red Hat Linux, Apache 1.3.9
Red Hat Linux, Apache 1.3.12
Red Hat Linux, Apache 1.3.19
Red Hat Linux, Apache 1.3.20
Red Hat Linux, Apache 1.3.23
SuSE Linux, Apache 1.3.12
SuSE Linux, Apache 1.3.17
SuSE Linux, Apache 1.3.19
SuSE Linux, Apache 1.3.20
SuSE Linux, Apache 1.3.23
Mandrake Linux, Apache 1.3.14
Mandrake Linux, Apache 1.3.19
Mandrake Linux, Apache 1.3.20
Mandrake Linux, Apache 1.3.23
Mandrake Linux, Apache 1.3.26
Slackware Linux, Apache 1.3.26
Gentoo Linux, Apache


2.2 세부설명
현재까지 나온 변종들

Slapper.B:
Peer-to-Peer Network Slapper.B 는 감염된 호스트들 간에 Peer-to-peer
Network을 형성함. 이들은 UDP port 4156 으로 통신함. 새로운 기능
mailme()라는 함수를 호출하여 aion@ukr.net로 감염된 호스트의 IP 및
호스트이름, 링크되어있는 호스트의 IP를 메일로 전송. UDP 1052포트를
사용하는 추가적인 백도어를 설치.

Filename 및 Process Name은 아래와 같음.
/tmp/httpd - Slapper.B worm 실행파일 ( apache 의 httpd 가 아님. 이름만
같은것임)
/tmp/update - Slapper.B 백도어 프로세스
/tmp/.unlock - Gzip 으로 압축된 웜과 백도어 소스. 위에서 보듯이 Slapper.
B는 이름이 httpd로 되어있음. 마치 Apache Web Server가 실행하고 있는것
처럼 보임.

Slapper.C:
Slapper.C 는 자신의 user-id로 실행가능하고 쓰기가능한 파일을 찾아서
덮어쓰기를 함. 또한 자신을 .cinik란 파일이름으로 웹서버의 user-id로
복사함. Slapper.C는 crontab에 자신을 복사하도록 등록함. 웜 프로세스가
죽으면 crontab이 재시작 시킴. 다른 Slapper변종들은 이 특징을 가지고
있지 않음. 또한 cinik_worm@yahoo.com으로 ip address, CPU info, 메모리
정보, 감염된호스트를 보냄. Filename 및 Process Name은 아래와 같음.
/tmp/.cinik - Slapper.C 실행파일
/tmp/.cinik.c - Slapper.C 웜 소스파일
/tmp/.cinik.uu - uuencode로 인코딩 된 Slapper.C 웜 소스파일
/tmp/.cinik.go - Slapper.C 쉘 스크립트



2.3 웜 제거방법

Slapper.B:
1). 모든 웜 프로세스를 죽임
netstat -anp | grep 4156 | grep UDP 여기서 PID를 확인한 후
kill -9 PID 위에서 발견된 PID의 프로세스를 죽임

2). 모든 백도어 프로세스를 죽임
ps -aux | grep update | grep apache update백도어가 실행중이면 여기서
PID를 확인한 후 kill -9 PID 위에서 발견된 PID의 프로세스를 죽임

Slapper.C:
1). 모든 웜 프로세스를 죽임
killall -9 .cinik
2). 모든 확인되는 웜을 제거
rm -rf /tmp/.cinik
rm -rf /tmp/.cinik.c
rm -rf /tmp/.cinik.uu
rm -rf /tmp/.cinik.go
rm -rf /tmp/.font-unix/.cinik

find / -name .cinik -print 여기서 나오는 .cinik를 모두 제거
3). Slapper.C에 관련된 crontab 내용을 제거

홈페이지 jQuery 라이브러리에서 CVE-2019-11358 취약점 패치 여부 확인 방법

현재 홈페이지에서 사용 중인 jQuery 라이브러리가 CVE-2019-11358 취약점 패치를 적용했는지 확인하는 방법은 다음과 같습니다. 1. jQuery 버전 확인 홈페이지 소스 코드를 확인하여 jQuery 라이브러리 버전을 직접 확인합니다. 웹 ...