  | 
	
 | 	
	  | 
	
	
		
	  |  
	| 
	
	 |  
	 
		
		
			
				
				 - 1. 개요
 
				rpm을 이용하여 시스템이 크랙당했을 경우 어떤 패키지가 크랙당했는지를 점검하는 방법을 설명한다. 
				보통 Redhat 계열에서는 rpm이라는 pacakge 관리자를 사용하게 된다. 
				이 rpm 명령에서 -V라는 옵션을 사용하여 crack이 의심되는 파일 및 package들을 찾을 수 있다. 
				-V 옵션은 초기에 설치했던 rpm package의 정보들과 현재의 상태를 비교하여 변화가 있으면 출력을 한다. 
				그러나 실제로 이 명령을 수행하면 출력되는 파일이 많이 나오게 되므로 실제로 크랙된 파일을 찾는 방법을 설명한다.
  
				2. rpm -V 옵션 설명  
				rpm -V check는 root 권한으로 실행한다. 만약 다른 user의 권한으로 할 경우 SUID가 걸린 파일이 있으면 md5 check 부분에서 "?"로 출력이 되어 정확하게  
				체크가 되지 않을 수 있다.
  
				* 명령 실행 옵션 : rpm -V [대조모드 옵션] package_name
  
				이 옵션은 rpm database에 저장돠어 있는 원 package의 정보들을 이용하여 현재 설치가 되어 있는 package들에 어떠한 변화가 있었는지를 비교하며 여러가지  
				정보들, 즉 file 크기, md5 sum, 권한, 타입, 소유권, 그룹 소유권 등을 비교하게 되며 변화가 있을 경우 화면에 출력한다. 
				사용할 수 있는 대조 모드 옵션은 다음과 같다.
  
				(1) --nofiles : 대조시에 원 정보에서 삭제된 파일들은 무시한다. 
				(2) --nomd5 : 대조시에 md5 checksum error는 무시한다. 
				(3) --nopgp : 대조시에 PHP check error를 무시한다.
  
				
				3. 출력 결과 예제  
				여기서는 rpm -V 명령으로 아래와 같은 결과가 나왔을 경우를 설명한다.
  
				S.5....T c /etc/pam.d/passwd
  
				-V option을 사용하였을때의 출력물은 8글자의 문자열을 출력하고 다음 "c"가 나오면 설정 파일임을 뜻한다. 
				처음의 각 8글자들은 RPM database와 각 특성을 비교한 결과를 출력하며, 하나의 "."는 test에서 아무 이상이 없다는 것을 뜻한다. 
				다음에 따라오는 문자들은 어떠 한 test에서 이상을 발견했다는 것을 의미한다. 
				위 예제 결과를 설명하면
  
				- 제일 처음의 S는 file size가 변경되었다는 것을 의미하며 
				- 두번째의 "."은 어떠한 검사이기는 한데 변형된 것이 없다는 것을 의미한다.  
				- T는 생성시간이 변경이 되었다는 것을 의미한다. 
				- 다음 두번째 field의 c는 /etc/pam.d/passwd 이 설정 파일임을 나타낸다.
  
				즉 c가 있다면 출력에 대해서 그리 신중하게 생각을 하지 않아도 무방하다. 
				실제로 -V 명령에서 주의 깊게 볼것은 출력물이 config file이나 아니면 Binary file인지 확인하여 Binary 파일인 경우 의심해 보아야 한다.
  
				* 테스트 결과에서 나오는 문자열의 뜻은 다음과 같다. 
				5 md5 sum 
				S File size 
				L Symlink 
				T Mtime 
				D Device 
				U User 
				G Group 
				M Mode (퍼미션과 file type을 포함한다) 
			   |  
			  | 
	 |  
 
								
	
						 |