루트킷이란 무엇입니까? 중국어 번역이란 무엇입니까?
루트킷이란 무엇입니까?
Rootkit 은 1990 년대 초에 등장했고, Rootkit 이라는 단어는 1994 년 2 월 보안 컨설팅 보고서에 처음 등장했습니다. 이번 보안 컨설팅은 CERT-CC 의 CA- 1994-0 1 으로' 진행 중인 네트워크 모니터링 공격' 이라는 제목으로 최근 개정 시기는 1997 년 9 월이다 Rootkit 기술은 출현 이후 매우 빠르게 발전해 왔으며, 응용이 점점 더 광범위해지고 있으며, 탐지도 점점 어려워지고 있다. 그중에는 SunOS 와 Linux 운영체제의 rootkit 이 가장 많다 (큰 나무 바람: P). 모든 rootkits 는 기본적으로 몇 개의 독립된 프로그램으로 구성되어 있다. 일반적인 rootkit 에는 다음이 포함됩니다.
이더넷 스니퍼는 네트워크에서 전송되는 사용자 이름, 암호 등의 정보를 얻는 데 사용됩니다.
Inetd 또는 login 과 같은 트로이 목마 프로그램은 공격자에게 뒷문을 제공합니다.
공격자의 디렉토리와 프로세스를 숨기는 프로그램 (예: PS, netstat, rshd, ls).
또한 공격자가 wtmp, utmp 및 lastlog 와 같은 로그 파일에서 해당 행방에 대한 항목을 삭제하는 데 사용하는 zap, zap2 또는 z2 와 같은 로그 정리 도구도 포함될 수 있습니다.
일부 복잡한 rootkit 은 공격자에게 텔넷, 셸, finger 등의 서비스를 제공할 수도 있습니다.
또한 /var/log 및 /var/adm 디렉토리의 다른 파일을 정리하는 스크립트도 포함되어 있습니다.
공격자는 rootkit 의 관련 프로그램을 사용하여 기존 PS, ls, netstat, df 등의 프로그램을 교체하여 시스템 관리자가 이러한 도구를 통해 자신의 흔적을 찾을 수 없도록 합니다. 그런 다음 로그 정리 도구를 사용하여 시스템 로그를 정리하여 자신의 흔적을 제거합니다. 그런 다음 공격자는 설치된 뒷문을 통해 시스템에 들어가 스니퍼의 로그를 보고 다른 공격을 시작하는 경우가 많습니다. 공격자가 rootkit 을 올바르게 설치하고 로그 파일을 합리적으로 정리할 수 있다면 시스템 관리자는 시스템이 해킹되었다는 것을 인식하기가 어려울 것입니다. 그는 어느 날 다른 시스템의 관리자가 그에게 연락하거나 스니퍼의 로그가 모든 디스크를 채울 때까지 큰 재난이 있다는 것을 깨닫지 못했다. 그러나 대부분의 공격자는 시스템 로그를 정리하거나 모든 시스템 로그를 간단하게 삭제할 때 조심하지 않습니다. 경각심을 가진 시스템 관리자는 이러한 이상 상황에 근거하여 시스템이 침입했다고 판단할 수 있다. 그러나 시스템 복구 정리 과정에서 PS, df, ls 등 가장 일반적으로 사용되는 명령은 더 이상 신뢰할 수 없습니다. 많은 rootkits 에는 FIX 라는 프로그램이 있습니다. Rootkit 을 설치하기 전에 공격자는 이 프로그램을 사용하여 시스템의 바이너리 코드를 스냅샷한 다음 교체 프로그램을 설치할 수 있습니다. FIX 는 원래 프로그램에 따라 대체 프로그램의 세 가지 타임스탬프 (atime, ctime, mtime), 날짜, 권한, 사용자, 사용자 그룹을 위조할 수 있습니다. 공격자가 이러한 우수한 애플리케이션을 정확하게 사용할 수 있고 rootkit 을 설치할 때 신중히 행동한다면 시스템 관리자가 이를 발견하기가 어려울 것입니다.
리눅스 루트킷 iv
앞서 언급했듯이 대부분의 rootkits 는 Linux 와 SunOS 를 대상으로 합니다. 다음은 매우 전형적인 리눅스 루트킷의 루트킷인 리눅스 루트키트 IV 를 소개합니다. Linux Rootkit IV 는 Somer 경이 쓴 오픈 소스 Rootkit 으로 6 월 1998 1 1 에 발표되었습니다. 그러나, 그것은 최초의 리눅스 루트킷이 아니다. 그 앞에는 lrk, lnrk, lrk2, lrk3 등 Linux rootkits 가 있습니다. 이러한 rootkit 에는 스니퍼, 로그 편집/삭제 툴, 백도어 프로그램 등 일반적인 rootkit 구성 요소가 포함되어 있습니다.
오랜 세월의 발전을 통해 Linux Rootkit IV 의 기능은 점점 더 개선되고 있으며, 기능도 점점 더 많아지고 있다. (윌리엄 셰익스피어, Northern Exposure (미국 TV 드라마), 성공명언) 하지만 그 코드는 방대하지만 설치가 쉬워 make install 만 실행하면 성공적으로 설치할 수 있다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 예술명언) 그림자 도구를 설치하려면, make shadow install 만 실행하면 됩니다. 참고: Linux 루트 iv 는 Linux 2.x 커널에서만 사용할 수 있습니다. 다음은 Linux Rootkit IV 에 포함된 다양한 도구에 대한 간략한 설명입니다. 자세한 내용은 해당 릴리즈 패키지를 참조하는 읽어보기 파일을 참조하십시오.
침입자의 행방을 숨기는 절차.
Linux Rootkit IV 의 저자는 침입자의 행방을 감추기 위해 많은 시스템 명령 대체 프로그램을 심혈을 기울여 원래의 시스템 명령 대신 사용했습니다. 이러한 절차에는 다음이 포함됩니다.
Ls, find, du
이러한 프로그램은 침입자 파일의 표시를 차단하고 침입자 파일이 차지하는 공간을 계산합니다. 컴파일하기 전에 침입자는 ROOTKIT_FILES_FILE 을 통해 자신의 파일 위치를 설정할 수 있습니다. 기본값은 /dev/ptyr 입니다. 컴파일 시 SHOWFLAG 옵션을 사용하면 ls -/ 명령을 사용하여 모든 파일을 나열할 수 있습니다. 또한 이러한 프로그램은 ptyr, hack.dir 및 W4r3z 라는 모든 파일을 자동으로 숨길 수 있습니다.
Ps, top, pidof
이러한 프로그램은 침입자와 관련된 모든 프로세스를 숨기는 데 사용됩니다.
넷스테이트
지정된 IP 주소 또는 포트로 들어오고 나가는 네트워크 데이터 트래픽을 숨깁니다.
키랄
침입자의 숨겨진 프로세스를 죽이지 않습니다.
Ifconfig
침입자가 스니퍼를 시작하면 이 프로그램은 PROMISC 태그 표시를 차단하여 시스템 관리자가 네트워크 인터페이스가 이미 뒤섞인 모드에 있다는 것을 발견하기 어렵게 합니다.
Crontab
공격자에 대한 crontab 항목을 숨깁니다.
Tcpd
특정 연결이 기록되지 않도록 합니다.
Syslogd
로그의 일부 연결 정보를 필터링합니다.
트로이 계획
다음을 포함하여 로컬 사용자에게 뒷문을 제공합니다.
호중구 케모카인
로컬 일반 사용자 권한을 향상시키는 프로그램입니다. Chfn 을 실행합니다. 새 사용자 이름을 묻는 메시지가 표시될 때 사용자가 rookit 의 비밀번호를 입력하면 권한이 root 로 승격됩니다. 기본 rootkit 암호는 satori 입니다.
Chsh
이것은 또한 로컬 사용자의 권한을 강화하는 프로그램이다. Shell 를 실행합니다. 새 셸을 묻는 메시지가 표시될 때 사용자가 루트 비밀번호를 입력하면 권한이 루트로 승격됩니다.
암호
이 기능은 위의 두 프로그램과 동일합니다. 새 비밀번호를 입력하라는 메시지가 표시될 때 루트 비밀번호를 입력하면 권한을 루트로 변경할 수 있습니다.
로그인
모든 계정이 rootkit 암호로 로그인할 수 있도록 허용합니다. 루트 계정 로그인이 거부되면 rewt 를 시도해 볼 수 있습니다. 뒷문을 사용할 때, 이 프로그램은 또한 명령의 역사를 기록하는 것을 금지할 수 있다.
트로이 네트워크 모니터링 프로그램
이러한 프로그램은 원격 사용자에게 버전에 따라 inetd, rsh, ssh 등의 서비스를 원격 사용자에게 제공하는 뒷문을 제공합니다. 버전이 업그레이드되면서 Linux Rootkit IV 의 기능이 더욱 강력해지고 기능이 더욱 풍부해졌습니다. 일반적으로 다음과 같은 네트워크 서비스 프로그램이 포함됩니다.
Inetd
트로이 inetd 프로그램은 공격자에게 원격 액세스 서비스를 제공합니다.
Rshd
공격자에게 원격 셸 서비스를 제공합니다. 공격자는 rsh-l rootkit password host command 명령을 사용하여 원격 루트 셸을 시작할 수 있습니다.
Sshd
공격자에게 ssh 서비스를 제공하는 백도어 프로그램입니다.
도구 프로그램
이러한 유형에 속하지 않는 모든 프로그램은 이러한 범주로 분류할 수 있으며, 원격 셸의 로그 정리, 메시지 스니핑, 포트 바인딩 등의 기능을 제공합니다.
고정
문서 속성 위조 절차
Linsniffer
메시지 스니핑 프로그램.
후각
시스템에서 스니퍼가 실행 중인지 확인하는 간단한 bash 셸 스크립트입니다.
Wted
Wtmp/utmp 로그 편집기. 이 도구를 사용하여 모든 wtmp 또는 utmp 파일을 편집할 수 있습니다.
Z2
Utmp/wtmp/lastlog 로그 정리 도구. Utmp/wtmp/lastlog 파일에서 사용자 이름에 대한 모든 항목을 삭제할 수 있습니다. 그러나 Linux 시스템의 소스 코드를 수동으로 수정해야 하는 경우에는 로그 파일의 위치를 설정합니다.
하우징을 바인딩합니다
셸 서비스를 하나의 포트에 바인드합니다. 기본 포트는 12497 입니다. 원격 공격자에게 셸 서비스를 제공합니다.
Rootkit 을 찾는 방법
분명히, 네트워크를 매우 설치하고 공격자가 이용할 수 있도록 해야 rootkit 으로부터 네트워크를 보호할 수 있습니다. 하지만 이 보증은 아무도 제공할 수 없을 것 같지만, 일상적인 네트워크 관리 및 유지 보수에서 좋은 습관을 유지하면 rootkit 의 손실을 어느 정도 줄이고 rootkit 의 존재를 적시에 발견할 수 있다.
먼저 네트워크에서 일반 텍스트 전송 암호나 일회성 암호를 사용하지 마십시오. 이렇게 하면 시스템에 rootkit 이 설치되어 있더라도 공격자는 네트워크 모니터링을 통해 더 많은 사용자 이름과 비밀번호를 얻을 수 없어 침입의 확산을 막을 수 있습니다.
Tripwire 및 aide 와 같은 탐지 도구를 사용하면 공격자의 침입을 적시에 파악할 수 있으며 시스템 무결성에 대한 좋은 검사를 제공할 수 있습니다. 이러한 도구는 다른 침입 탐지 도구와 다릅니다. 그들은 소위 공격 서명을 통해 침입 행위를 탐지하는 것이 아니라 시스템의 변화를 감시하고 검사한다. Tripwire 는 먼저 특정 기능 코드 기능을 사용하여 모니터링할 시스템 파일 및 디렉토리에 대한 피쳐 데이터베이스를 설정합니다. 피쳐 코드 함수란 임의의 파일을 입력으로 사용하여 고정 크기 데이터 (피쳐 코드) 를 생성하는 함수입니다. 침입자가 파일을 수정하면 파일 크기가 변경되지 않아도 파일의 서명 코드가 손상됩니다. 이 데이터베이스를 사용하면 Tripwire 가 시스템의 변화를 쉽게 발견할 수 있다. 그리고 문서의 서명 코드를 위조하는 것은 거의 불가능하며, 시스템의 어떤 변경도 Tripwire 의 감시를 피할 수 없다. (물론, P, Tripwire, aide 의 사용은 본 사이트의 관련 문장 참조). 마지막으로 이 서명 데이터베이스를 안전한 곳에 둘 수 있어야 합니다.
얼마 전에 몇 편의 rootkit 분석 문장 를 썼는데, 이 문장 는 이 시리즈 의 문장 의 총결산 으로 볼 수 있다. 하지만 최근 발표된 Phrack 58-0x07 (Linux on-the-Fly Kernel Patching Without LKm) 에서 커널 데이터 구조를 직접 수정하는 rootkit 이 구현되어 속편을 쓰기로 했다. 다음 중 하나를 수행합니다.