
간단한 Bash IOC 스캐너
간단한 Bash 기반 IOC 스캐너
Fenrir는 간단한 IOC 스캐너 Bash 스크립트입니다. Linux/Unix/OSX 시스템에서 다음과 같은 침해 지표(IOC)를 스캔할 수 있습니다:
해시
MD5, SHA1 및 SHA256 (md5sum, sha1sum, sha -a 256 사용)
파일 이름
문자열 - 전체 경로의 하위 문자열을 확인합니다. 예: "/var/temp/p.exe"에서 "temp/p.exe"
문자열
파일 내 grep 검사
C2 서버
'lsof -i' 및 'lsof -i -n' 출력에서 C2 서버 문자열 확인
Hot Time Frame
다양한 모드의 stat 사용 - 최소 및 최대 에포크 타임스탬프를 정의하고 그 사이에 생성된 모든 파일을 가져옵니다
기본 특징:
FENRIR는 THOR와 LOKI에 이은 세 번째 도구입니다. THOR는 기업 고객을 위한 다양한 모듈과 내보내기 유형을 갖춘 완전한 기능의 APT 스캐너입니다. LOKI는 YARA를 시그니처 형식으로 사용하는 무료 오픈 IOC 스캐너입니다.
두 전임자의 문제는 Linux 플랫폼에서 특정 요구 사항이 있다는 점입니다. THOR는 YARA 모듈에 필요한 올바른 libc를 맞추기 위해 특정 Linux 버전용으로 빌드합니다. LOKI는 Linux에서 실행하려면 Python과 YARA가 설치되어 있어야 합니다.
저희는 에이전트나 소프트웨어 패키지를 설치하지 않고 100개 이상의 다양한 Linux 시스템에서 특정 침해 지표(IOC)를 확인해야 하는 문제에 직면했습니다. 이미 정의된 Linux 원격 시스템 세트에 THOR를 배포하기 위한 Ansible 플레이북이 있었습니다. 이 플레이북은 원격 시스템에 RAM 드라이브를 생성하고, 로컬 프로그램 바이너리를 원격 시스템에 복사한 후 실행하고, 이후 로그를 검색합니다. 이렇게 하면 원격 시스템에서 프로그램의 풋프린트가 최소화됩니다. 저는 이 Ansible 플레이북을 Fenrir에 맞게 조정했습니다. (아직 테스트되지 않았습니다)
Fenrir는 아직 '테스트' 단계입니다. 오류(및 해결 방법)가 있으면 GitHub의 "Issues" 섹션을 통해 보고해 주세요.
스크립트의 평가에서 더 나은/더 안정적인/오류 가능성이 적은 솔루션을 찾으면 알려주세요. 저는 풀타임 Bash 프로그래머가 아니므로 개선의 여지가 있을 것으로 예상합니다.
Usage: ./fenrir.sh DIRECTORY
DIRECTORY - 재귀 스캔의 시작 지점
모든 설정은 스크립트 헤더에서 구성할 수 있습니다.

Fenrir가 수행하는 작업:
데모 디렉터리에서 다양한 일치 유형을 보여주는 스캔 실행.

C2 연결 탐지

GZIP 압축 로그 파일에서 문자열 탐지

설정

Ansible 플레이북

Stat 문제 (Linux 파일 시스템의 CREATED 파일 스탬프 관련)

트위터 @Cyb3rOps