
손상되거나 신뢰할 수 없는 코드 서명 인증서가 있는 파일을 스캔하는 Python 기반 스캐너입니다.
CertVerify는 신뢰할 수 없거나 유출된 코드 서명 인증서로 서명된 실행 파일(exe, dll, sys)을 탐지하도록 설계된 도구입니다. 이 도구의 목적은 손상되었거나 도난당했거나 신뢰할 수 없는 출처의 인증서로 서명된 잠재적으로 악성 파일을 식별하는 것입니다.
손상되었거나 신뢰할 수 없는 코드 서명 인증서로 서명된 실행 파일은 악성 코드 및 기타 악성 소프트웨어를 유포하는 데 사용될 수 있습니다. 공격자는 이러한 파일을 사용하여 보안 제어를 우회하고 피해자에게 악성 코드가 합법적인 것처럼 보이게 만들 수 있습니다. 이 도구는 이러한 파일을 식별하여 제거하거나 추가로 조사할 수 있도록 도와줍니다.
이전 malware scanner 프로젝트의 연장선상에서 이 도구를 만들었습니다. 이러한 유형의 도구는 보안 침해 사고 대응 시에도 필수적입니다.
CertVerify는 의심스러운 것으로 식별된 모든 파일이 반드시 악성임을 보장할 수 없습니다. 파일이 의심스러운 것으로 잘못 식별되거나 악성 파일이 스캐너에 탐지되지 않을 가능성이 있습니다.
스캐너는 공개 커뮤니티에서 악성으로 식별된 코드 서명 인증서만을 대상으로 합니다. 여기에는 악성 코드 분석 도구 및 서비스에서 추출한 인증서와 기타 공개 출처의 인증서가 포함됩니다. 확인되지 않은 악성 코드 서명 인증서가 많으며, 모든 악성 코드 서명 인증서를 얻는 것은 불가능하므로 도구는 그 중 일부만 탐지할 수 있습니다. 추가 탐지를 위해서는 인증서의 일련 번호와 지문 정보를 직접 추출하여 서명에 추가해야 합니다.
이 도구의 범위에는 FileLess 부트킷이나 고급 기술로 숨겨진 파일과 같이 커널 아래에서 이미 선점되어 작동하는 특수 루트킷에 대한 코드 서명 정보 추출은 포함되지 않습니다. 즉, 이 도구를 실행하면 사용자 수준에서 실행됩니다. 커널 수준의 유사한 기능은 안티루트킷이나 EDR로 더 정확하게 수행할 수 있습니다. 이 점을 명심하고 아이디어와 원리에 집중하십시오... 이 도구의 목적에 적합한 원리를 구현하려면 드라이버(sys)를 개발하여 NT\SYSTEM 권한으로 커널에서 실행해야 합니다.
그럼에도 불구하고 Windows 시스템 침해 사고 발생 시 이 도구를 실행하려는 목적이 sys 파일인 경우, 도구를 실행하기 전에 안전 모드 또는 Windows 시스템의 추가 드라이버(sys) 파일을 로드하지 않는 다른 부팅 옵션(기본 시스템 드라이버만 로드)으로 부팅하십시오. 이렇게 하면 좀 더 도움이 될 수 있다고 생각합니다.
또는 Windows 시스템 디스크를 Linux에 마운트하고 Linux 환경에서 도구를 실행하십시오. 더 나은 결과를 얻을 수 있다고 생각합니다.