일일 분석을 위한 Yara

2025 단어 securitymalware
오랫만에 글을 쓰게 되었고, 부분적으로는 위협 사냥이라는 새로운 진로를 공부하는 데 집중하고 있기 때문입니다. Yara는 내 작업 루틴에서 일반적인 도구는 아니지만 자체 연구에 사용하므로 Yara를 사용하여 바이너리에서 맬웨어 유전자를 찾는 간단한 자습서로 얼음을 깨는 것에 대해 생각했습니다.

맬웨어 분석에 약간 관심이 있다면 Intezer에 대해 알고 있을 것입니다. 이 도구에서 내가 가장 좋아하는 것 중 하나는 유전자를 분석하는 기능입니다. 즉, 샘플이 충분히 유사한지(유사성의 비율을 고려하여) 결정하기 위해 이미 알려진 맬웨어 문자열과 라이브러리를 비교한다는 의미입니다. 해시 비교를 통해 바이너리가 악성 샘플과 정확히 동일한지 여부를 알 수 있지만 유전자 비교를 통해 정확히 동일하지 않더라도 잠재적인 악성 샘플을 결정할 수 있습니다. 물론 이것은 일부 잘못된 양성 샘플로 이어질 수 있지만 전문가가 샘플을 주의 깊게 연구해야 하는 때입니다.



스스로 유전자 검사를 하기 위해 야라를 배워볼까 생각했습니다. 물론 이것은 내가 가지고 있는 이미 알려진 정보에 많이 의존하지만(보통 공개 소스에서 얻었음) 일부 캠페인과 이미 많은 정보를 가지고 있는 특정한 경우에는 유용할 수 있습니다. 이것은 모든 가능성 중 하나의 실험일 뿐입니다.

따라서 발명된 흔적을 인식하기 위해 Yara 코드를 살펴보겠습니다.

rule SUPEREVILMALWARE_strings_trace
{
    meta:
        author = "terceranexus6"
        description = "simple example for DEV.TO"
    strings:
        $string1 = "I'm super evil" nocase
    $string2 = "YES I'm a malware" nocase
    $string3 = "I'm gonna break your system" nocase

    condition:
        $string1 or $string2 or $string3
}


이 경우 문자열 I'm super evil , YES I'm a malware 또는 I'm gonna break your system 중 하나를 포함하는 슈퍼 악성 맬웨어를 추적합니다. 악의적인 맬웨어를 확인하기 위해 이 세 가지가 모두 발생해야 한다고 확신하는 경우 and 부분에서 or 대신 condition를 사용합니다. 동일한 파일에 다른 규칙을 함수로 추가할 수도 있습니다. 이것은 당신이 다른 것을 찾고 있는 경우에 매우 유용합니다. 작동하게 하려면 (Linux) 터미널에 쓰기만 하면 됩니다.
Yara myrules FILE
또는
Yara myrules DIRECTORY
따라서 확인하고 싶은 바이너리가 있는 경우(예방을 위해 가상 Linux 머신을 사용하는 것이 좋습니다. 이를 위해 RPI를 구성할 수도 있습니다.) 모두 디렉토리에 저장하고 두 번째 명령을 실행합니다. 이것은 검색과 일치하는 바이너리를 던질 것입니다.

이것에 대해서만 bash 명령을 만들 수 있습니까? 아마도! 하지만 확실히 편리하고 읽기 쉽습니다. 맬웨어 연구를 즐기는 경우 재미있습니다.

좋은 웹페이지 즐겨찾기