|
|
|
|
- 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을 포함한다)
|
|
|
|
|