컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - WIN32 서비스용 GCNERIC HOST 프로세스 프로그램에 대한 질문

WIN32 서비스용 GCNERIC HOST 프로세스 프로그램에 대한 질문

Win32 서비스용 일반 호스트 프로세스는 표준 동적 링크 라이브러리 호스트 처리 서비스입니다. 이는 DLL(동적 연결 라이브러리)에서 실행되는 서비스에 대한 공통 호스트 프로세스 이름인 Svchost.exe를 통해 수행됩니다. Svhost.exe 파일은 시스템의 Windows\system32 폴더에 있습니다. 시작 시 Svchost.exe는 레지스트리에서 로드해야 하는 서비스 목록을 작성할 위치를 확인합니다. 이로 인해 여러 Svchost.exe가 동시에 실행됩니다.

현재 인터넷에 가장 만연한 바이러스는 아마도 트로이목마 프로그램일 것이다. 트로이목마는 점점 더 공격적으로 변하고 있다. 프로세스 은닉 측면에서 독립된 EXE 실행 파일은 거의 사용되지 않지만 커널 임베딩 방식으로 변경됐다. , 원격 스레드 삽입 기술, 후킹 PSAPI 등 현재 가장 처리하기 어려운 트로이 목마입니다. 이제 스레드 삽입 트로이 목마를 찾아 제거하는 방법을 알려드립니다.

1. 자동 실행 메커니즘을 통해 트로이 목마 검색

트로이 목마를 검색할 때 많은 사람들은 즉시 트로이 목마의 시작 항목을 통해 "단서"를 찾는다고 생각할 것입니다. 구체적인 위치는 일반적으로 다음과 같습니다.

(1) 레지스트리 시작 항목

"시작/실행"에 "regedit.exe"를 입력하여 레지스트리 편집기를 열고 확장합니다. [HKEY_CURRENT_USER\Software] \Microsoft\Windows\CurrentVersion\] 및 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\] 아래 실행으로 시작하는 모든 항목을 확인하여 그 아래에 새롭고 의심스러운 키 값이 있는지 확인하세요. . 키 값을 가리킬 수도 있습니다. 파일 경로는 새로 설치된 소프트웨어인지 트로이 목마 프로그램인지 확인하는 데 사용됩니다. 또한 [HKEY_LOCAL_MACHINE\Software\classes\exefile\shell\open\command\] 키 값을 사용하여 트로이 목마를 로드할 수도 있습니다. 예를 들어 키 값을 "X:\windows\system\ABC.exe %"로 변경합니다. 1%".

(2) 시스템 서비스

일부 트로이 목마는 서비스 항목을 추가하여 자동 시작을 실현합니다. 레지스트리 편집기를 열고 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\를 찾아보세요. CurrentVersion\Runservices]에서 의심스러운 키 값을 확인하고 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\]에서 의심스러운 기본 키를 확인하세요. 그런 다음 트로이 목마가 추가한 서비스를 비활성화하거나 삭제합니다. "실행"에 "Services.msc"를 입력하여 시스템의 모든 서비스 항목과 해당 상태, 시작 유형, 로그인 특성 및 기타 정보를 표시하는 서비스 설정 창을 엽니다. 트로이 목마가 시작한 서비스를 찾아 두 번 클릭하여 열고 시작 유형을 "사용 안 함"으로 변경한 후 확인하고 종료합니다. 또한 레지스트리를 통해 수정할 수도 있습니다. "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Service Display Name" 키를 차례로 확장하고 오른쪽 창에서 이진 값 "Start"를 찾아 해당 값을 수정하면 "2"는 자동을 의미합니다. , "3"은 수동을 의미하고 "4"는 비활성화를 의미합니다. 물론, 전체 기본 키를 직접 삭제하는 것이 가장 좋습니다. 일반적으로 레지스트리 내보내기 기능을 사용하여 이러한 키 값을 언제든지 참조용으로 백업할 수 있습니다.

(3) 시작 메뉴 시작 그룹

현재 대부분의 트로이 목마는 더 이상 시작 메뉴를 통해 무작위로 시작되지 않지만 가볍게 여겨서는 안 됩니다. "시작/프로그램/시작"에서 새 항목을 찾았다면 마우스 오른쪽 버튼을 클릭하고 "대상 찾기"를 선택하여 파일 경로를 확인할 수 있습니다. 파일 경로가 시스템 디렉터리인 경우에는 주의하세요. 레지스트리에서 직접 볼 수도 있습니다. 해당 위치는 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]이고 키 이름은 Startup입니다.

(4) System INI 파일 Win.ini 및 System.ini

System INI 파일 Win.ini 및 System.ini는 트로이 목마가 숨고 싶어하는 장소이기도 합니다.

"시작/실행"을 선택하고 "msconfig"를 입력하여 시스템 구성 유틸리티를 호출한 다음 Win.ini의 [Windows] 섹션 아래 로드 및 실행 필드 뒤에 의심스러운 프로그램이 있는지 확인합니다. 일반적으로 "="입니다. ; System.ini의 [boot] 섹션에서 Shell=Explorer.exe도 확인하세요.

(5) 배치 파일

Win9X 시스템을 사용하는 경우 C 드라이브의 루트 디렉터리에 "AUTOEXEC.BAT" 2개가 있고, WINDOWS 디렉토리 내부 명령은 일반적으로 설치된 소프트웨어에 의해 자동으로 생성되며 기본적으로 시스템에 자동으로 로드됩니다. 배치 파일 문 앞에 "echo off"를 추가하면 시작 시 명령 자체가 표시되지 않고 명령 실행 결과만 표시됩니다. 앞에 "@" 문자를 추가하면 이전의 많은 프롬프트가 표시되지 않습니다. 트로이 목마는 이 방법을 통해 실행됩니다.

2. 파일 비교를 통해 트로이 목마 확인

새롭게 등장한 트로이 목마 메인 프로그램은 성공적으로 로딩된 후 시스템 프로세스에 스레드로 삽입된 후 바이러스 파일을 삭제합니다. 시스템 디렉터리와 레지스트리의 바이러스 시작 항목에 바이러스 백신 소프트웨어와 사용자가 감지하기 어렵게 만듭니다. 그런 다음 사용자가 종료하고 다시 시작하는지 여부를 모니터링하고, 그럴 경우 바이러스를 다시 생성합니다. 시스템이 종료되기 전의 파일 및 등록 테이블 시작 항목입니다. 다음 팁을 사용하면 원래 모양으로 표시할 수 있습니다(아래 예에서는 Win XP 시스템이 사용됨).

(1) 일반적인 백업 프로세스 비교

일반적으로 다음을 만들 수 있습니다. 의심스러운 프로세스를 찾기 위해 언제든지 비교할 수 있도록 먼저 프로세스 목록을 백업하십시오. 방법은 다음과 같습니다. 다른 작업을 수행하기 전에 컴퓨터를 켠 후 백업을 시작하세요. 이렇게 하면 다른 프로그램이 프로세스를 로드하는 것을 방지할 수 있습니다. 작업 중 "cmd"를 입력한 후 "tasklist /svc >X:\processlist.txt"를 입력하고(팁: 따옴표를 포함하지 말고 매개변수 앞에 공백을 두고 파일 저장 경로를 입력하세요) Enter를 누르세요. 이 명령은 로컬 또는 원격 시스템에서 실행 중인 응용 프로그램 및 관련 작업/프로세스 목록을 표시할 수 있습니다. 명령의 다른 매개변수를 표시하려면 "tasklist /?"를 입력하십시오.

(2) 백업된 시스템 DLL 파일 목록 비교

독립적인 프로세스가 없는 DLL 트로이 목마는 어떻게 해야 합니까? 트로이 목마는 DLL 파일을 대상으로 하기 때문에 시작할 수 있습니다. 이 파일에서 시작하려면 일반적으로 시스템 DLL 파일이 system32 폴더에 저장됩니다. 이 디렉터리에 DLL 파일 이름 및 기타 정보 목록을 만들고 명령줄 창을 열고 CD 명령을 사용하여 system32 디렉터리에 들어갈 수 있습니다. 그런 다음 "dir *.dll> X:\listdll.txt"를 입력하고 Enter 키를 누르면 모든 DLL 파일 이름이 listdll.txt 파일에 기록됩니다. 향후 트로이 목마 침입이 의심되는 경우 위의 방법을 사용하여 파일 목록 "listdll2.txt"를 백업한 다음 "UltraEdit"과 같은 텍스트 편집 도구를 사용하여 비교하거나 파일 저장 디렉터리에 들어갈 수 있습니다. 명령줄 창에 "fc listdll .txt listdll2.txt"를 입력하면 변경 및 추가된 DLL 파일을 쉽게 찾아 트로이 목마 파일인지 여부를 확인할 수 있습니다.

(3) 로드된 모듈 비교

소프트웨어를 자주 설치하면 system32 디렉터리의 파일이 크게 변경됩니다. 이 경우 로드된 모듈을 비교하는 방법을 사용할 수 있습니다. 검색 범위를 좁힙니다. "시작/실행"에 "msinfo32.exe"를 입력하여 "시스템 정보"를 열고 "소프트웨어 환경/로드된 모듈"을 확장한 다음 "파일/내보내기"를 선택하여 텍스트 파일로 백업하고 다른 파일을 백업하세요. 필요하다면 비교하세요.

(4) 의심스러운 포트 확인

모든 트로이 목마가 연결되어 데이터를 수신/전송하는 한 포트는 열려 있습니다. DLL 트로이 목마도 예외는 아닙니다. 포트 개방을 확인합니다. 모든 연결 및 수신 포트를 표시하려면 명령줄 창에 "netstat -an"을 입력합니다. Proto는 연결에 사용되는 프로토콜 이름을 의미하며, Local Address는 로컬 컴퓨터의 IP 주소와 연결에 사용되는 포트 번호, Foreign Address는 해당 포트에 연결된 원격 컴퓨터의 IP 주소와 포트 번호, 상태는 TCP 연결 상태를 나타냅니다. Windows XP의 netstat 명령에는 이전 버전보다 -O 매개변수가 하나 더 있습니다. 이 매개변수를 사용하면 포트를 프로세스에 매핑할 수 있습니다. 명령의 다른 매개변수를 표시하려면 "netstat /?"를 입력하십시오. 그런 다음 열린 포트를 분석하여 특정 프로세스로 범위를 좁힌 다음 Kaka Assistant 및 Rising Personal Firewall과 같은 프로세스 분석 소프트웨어를 사용할 수 있습니다.

上篇: 인간은 어느 정도 발전하면 전쟁이 된다 下篇: IT 운영 및 유지관리란 무엇인가요?
관련 내용