
파일 시스템 포렌식 분석 스캐너 및 위협 헌팅 도구. MFT 및 OS 수준에서 파일 시스템을 스캔하고 SQL, SQLite 또는 CSV에 데이터를 저장합니다. SQL의 강력함과 구문을 활용하여 위협과 데이터를 탐색할 수 있습니다.

자세히 설명하겠습니다...
먼저 잠재적으로 맬웨어, 바이러스, APT(고급 지속 위협) 등에 오염된 디스크 또는 디스크 이미지로 시작한 다음 이 도구로 스캔합니다. (선택 사항으로, 미리 알고 그렇게 할 통찰력과 선견지명이 있다면, 먼저 알려진 정상 기준 디스크 이미지를 이 도구로 스캔하는 것이 좋습니다(나중에 해도 됩니다—상관없습니다). 이것은 반드시 필요한 것은 아니지만, 조사에 도움이 될 수 있습니다.) 이 도구의 포렌식 수준 스캔 부분은 파일 시스템(또는 그 이미지)에 있는 각 파일에 대한 많은 속성을 수집하여 SQL 관계형 데이터베이스 테이블에 배치합니다. 비결은 생성된 데이터베이스에 대해 SQL 언어로 쿼리를 사용하여 데이터를 위협 헌팅, 조사 또는 질문할 수 있다는 점에 있습니다. 여기서 핵심 기능은 독점적인 쿼리 언어를 만들지 않았다는 것입니다. SQL을 알고 버튼을 클릭하는 방법을 알고 있다면 이미 이 도구를 마스터처럼 사용하는 방법을 알고 있는 것입니다. 모르더라도, 이 개념은 사전 정의된 쿼리(아래 참조)만으로도 큰 도움이 될 정도로 강력합니다.
먼저, 도구는 MFT(마스터 파일 테이블—NTFS가 기록을 유지하는 방식)에서 찾은 각 레코드에 대한 데이터베이스 항목을 생성합니다. 이는 파일 보안 권한, 파일 숨김, 은닉 또는 난독화 기술, 파일 삭제 또는 타임스탬프 조작을 우회합니다. 이러한 기술은 파일이 스캔되고 목록화되는 것을 막지 못합니다. 파일의 바이트는 MFT에서 읽혀지며, 상위 수준 OS API 호출을 사용하여 데이터 포인트에 접근하기 전에 MFT에서 읽은 파일 바이트에서 가능한 많은 데이터 포인트를 추출합니다.
MFT 및 포렌식 수준 데이터가 확보된 후, 각 파일에 대해 사용 가능한 운영 체제 수준 속성, 데이터 및 메타데이터를 수집하여 MFT 항목에서 생성된 각 항목을 보강합니다. 그 결과, 파일 권한(ACL), 파일 잠금(사용 중), 디스크 손상, 0바이트 길이 파일 또는 기타 여러 이유로 운영 체제 API 또는 닷넷 프레임워크에서 파일이나 그 속성에 접근할 수 없더라도, 파일의 존재는 여전히 기록, 로깅 및 추적됩니다. 그러나 해당 항목은 운영 체제에서 접근할 수 없었던 정보를 포함하지 않을 뿐입니다. 각 파일에 대해 최대 51개의 다양한 데이터 포인트를 수집할 수 있습니다.

/*
IDEA: All files in the directory C:\Windows\System32\ should be 'owned' by TrustedInstaller.
If a file in the System32 directory is owned by a different user, this indicates an anomaly,
and that user is likely the user that created that file.
Malware likes to masquerade around as valid Windows system files.
Executables that are placed in the System32 directory not only look more official, as it is a common path for
system files, but an explicit path to that executable does not need to be supplied to execute it from the
command line, windows 'Run' dialog box of the start menu, or the win32 API call ShellExecute.
*/
SELECT
TOP 1000 *
FROM [FileProperties]
WHERE
[FileOwner] <> 'TrustedInstaller'
AND [DirectoryLocation] = ':\Windows\System32'
AND IsSigned = 0
ORDER BY [PrevalenceCount] DESC
/*
IDEA: The MFT creation timestamp and the OS creation timestamp should match.
If the MFT creation timestamp occurs after the creation time reported by the OS meta-data,
this indicates an anomaly.
Timestomp is a tool that is part of the Metasploit Framework that allows a user to backdate a file
to an arbitrary time of their choosing. There really isn't a good legitimate reason for doing this
(let me know if you can think of one), and is considered an anti-forensics technique.
*/
SELECT
TOP 1000 *
FROM [FileProperties]
WHERE
([MftTimeAccessed] <> [LastAccessTime]) OR
([MftTimeCreation] <> [CreationTime]) OR
([MftTimeMftModified] <> [LastWriteTime])
ORDER BY [DateSeen] DESC
/*
IDEA: The 'CompileDate' property of any executable or dll should always come before the creation timestamp for that file.
Similar logic applies as for the MFT creation timestamp occuring after the creation timestamp. How could a program have been
compiled AFTER the file that holds it was created? This anomaly indicates backdating or timestomping has occurred.
*/
SELECT
TOP 1000 *
FROM [FileProperties]
WHERE
([MftTimeCreation] < [CompileDate]) OR
([CreationTime] < [CompileDate])
ORDER BY [DateSeen] DESC
| MFTNumber | SequenceNumber | SHA256 | FullPath | Length | FileOwner | Attributes | IsExe | IsDll | IsDriver | BinaryType | IsSigned | IsSignatureValid | IsValidCertChain | IsTrusted | ImpHash | MD5 | SHA1 | CompileDate | MimeType | InternalName | ProductName | OriginalFileName | FileVersion | FileDescription | Copyright | Company | Language | Trademarks | Project | ApplicationName | Comment | Title | Link | ProviderItemID | ComputerName | DriveLetter | DirectoryLocation | Filename | Extension | CertSubject | CertIssuer | CertSerialNumber | CertThumbprint | CertNotBefore | CertNotAfter | PrevalenceCount | Entropy | YaraRulesMatched | DateSeen | MftTimeAccessed | MftTimeCreation | MftTimeModified | MftTimeMftModified | CreationTime | LastAccessTime | LastWriteTime |
|---|
| 18010 | 0 | C67BE7D3F54D44AC264A18E33909482F1F8CA7B7FBAAF5659EF71ED9F8092C34 | C:\Windows\WinSxS\amd64_windows-defender-service-cloudclean_31bf3856ad364e35_6.3.9600.18603_none_73d12e8145b3841b\SymSrv.dll | 149264 | TrustedInstaller | A | 1 | 1 | 0 | 16 | 1 | 1 | 0 | 1 | 5D54F5D721E301667338323AC07578E3 | 65FB3391EB26F5AC647FC40501D8E21D | 4B46DB2A99A47FF6A6EE376F4D79F5298BFF28A2 | 2010-02-01 20:15:48.0000000 | application/x-msdownload | symsrv.dll | Debugging Tools for Windows(R) | symsrv.dll | 6.12.2.633 | Symbol Server | © Microsoft Corporation. All rights reserved. | Microsoft Corporation | English (United States) | L | C | C:\Windows\WinSxS\amd64_windows-defender-service-cloudclean_31bf3856ad364e35_6.3.9600.18603_none_73d12e8145b3841b | SymSrv.dll | .dll | CN=Microsoft Corporation, OU=MOPR, O=Microsoft Corporation, L=Redmond, S=Washington, C=US | CN=Microsoft Code Signing PCA, O=Microsoft Corporation, L=Redmond, S=Washington, C=US | 6105F71E000000000032 | D468FAEB5190BF9DECD9827AF470F799C41A769C | 7/13/2009 5:00:18 PM | 10/13/2010 5:10:18 PM | 1 | 0 | NULL | 2020-10-25 06:17:12.0133333 | 2013-06-18 14:43:52.6497911 | 2013-08-22 06:56:50.9086288 | 2013-08-22 06:56:50.9086288 | 2019-01-15 19:13:49.1704756 | 2013-08-22 06:56:50.9086288 | 2013-08-22 06:56:50.9086288 | 2013-06-18 14:43:52.6497911 |