rule DAON_DOCEXE_IN_ALZ
{
meta:
author = "DaonTech"
comment = "To detect .doc.exe file"
weight=100
strings:
$local_file = { 41 4c 5a 01 }
$ext_doc = ".doc" nocase
$ext_exe = ".exe" nocase
condition:
uint32(0) == 0x015a4c41 and
$ext_doc and $ext_exe in (@local_file+32..@local_file+32+uint16(@local_file+26))
}
<meta>
meta는 기본적으로 Rule 에 영향을 미치지 않는다.
• Strings나 condition에 사용할 수 없다.
• meta는 추가정보를 입력하는 것으로 룰 작성자, 작성일 등을 기록하는데 사용한다.
strings -> " " 사이에 ASCII 기준으로 단어나 문장을 작성할 수 있으며, 대/소문자를 구별함. 대/소문자를 구분하지 않으려면 nocase 키워드를 사용
condition:
데이터유형 |
설명 |
Uint16 |
부호없는 2바이트 정수 |
Sint16 |
부호있는 2바이트 정수 |
Uint32 |
부호없는 4바이트 정수 |
Sint32 |
부호있는 4바이트 정수 |
Uint64 |
부호없는 8바이트 정수 |
float |
4바이트 부동 소수점 10진수 |
char(n) |
길이가 n인 문자열(NULL) 종료는 포함하지 않음 |
https://dukup11ch1.tistory.com/45?category=780156
history
yara64.exe "rule basic1.yar" C:\Users\user\Downloads -r -s
doskey /h
yara64.exe "rule basic2.yar" C:\Users\user\Downloads -r -s
yara64.exe "rule basic1.yar" C:\Users\user\Downloads -r -s
yara64.exe "rule basic1.yar" C:\Users\user\Downloads -r -s | more
python
yara64.exe "rule example.yar" C:\Users\ -r
yara64.exe "rule example.yar" C:\Users\ -r -s
doskey /h
yara64.exe -h
dir
yara64.exe dummy.yar.txt
yara64.exe dummy.yar
dir
rm dummy.yar.txt
yara64.exe dummy.yar
yara64.exe -v
yara64.exe -h
yara64.exe -C dummy.yar
yara64.exe -m dummy.yar
yara64.exe dummy.yar
yara64.exe -d dummy.yar
yara64.exe -f
yara64.exe dummy.yar -r
yara64.exe dummy.yar C: -r
yara64.exe dummy.yar C:
yara64.exe dummy.yar C: -r
yara64.exe "rule basic.yar" C:\Users\user\Downloads -r
yara64.exe "rule basic1.yar" C:\Users\user\Downloads -r
yara64.exe "rule basic1.yar" C:\Users\user\Downloads -r | sort
yara64.exe "rule basic1.yar" C:\Users\user\Downloads -r | wc -l
yara64.exe "rule basic1.yar" C:\Users\user\Downloads -r
yara64.exe "rule basic1.yar" C:\Users\user\Downloads -r | -a
yara64.exe "rule basic1.yar" C:\Users\user\Downloads -r
yara64.exe "rule basic1.yar" C:\Users\user\Downloads -r | findstr basic
yara64.exe "rule basic1.yar" C:\Users\user\Downloads -r | find /c "basic"
yara64.exe "rule basic.yar" C:\Users\user\Downloads -r | find /c "basic"
yara64.exe "rule basic.yar" C:\Users\user\Documents -r
yara64.exe "rule basic.yar" C:\Users\user -r | find /c "basic"
yara64.exe "rule basic.yar" C:\Users\user\Desktop -r | find /c "basic"
yara64.exe "rule basic.yar" C:\Users\user\Desktop -r
yara64.exe "rule basic.yar" C:\Users\user\Desktop -r | find /c "basic"
yara64.exe "rule basic1.yar" C:\Users\user\Desktop -r | find /c "basic"
yara64.exe "rule basic2.yar" C:\Users\user\Desktop -r | find /c "basic"
yara64.exe "rule basic2.yar" C:\Users\user\Desktop -r -s | find /c "basic"
yara64.exe "rule basic2.yar" C:\Users\user\Desktop -r -s
yara64.exe "rule basic.yar" C:\Users\user\Desktop -r -s
yara64.exe "rule basic.yar" C:\Users\user\Downloads -r -s
yara64.exe "rule basic.yar" C:\Users\user\Downloads -r
yara64.exe "rule basic.yar" C:\Users\user\Downloads -r -s
-
yara rule 설정 후 스캔 - 파일 찾는데도 유용하다.
-
-r 옵션 : 하위 디렉토리까지 스캔
-
-s : 해당 파일에 매칭되는 스트링
yara for 문 활용
-
오탐을 줄이기 위함
-
xor key가 탐지되고 두번쨰 근거리에 100바이트에 있어야 한다는 룰을 짯다면, 첫번째 히트, 두번째 히트, 100바이트안에 함수코드가 있는지.
-
없으면 미스, 있으면 히트 , true를 반환
yara flesize
yara tag
-t "태그명"
rule 안에 해당 태그명이 있는 rule만 돈다.
야라는 true or false만 탐지하기 때문에 확실한 장점이 있다. 유사도 측면에서는 떨어짐
-
서로 다른파일을 including 시켜서 여러 룰을 혼합하여 사용 가능, 각 threat group 별로 rule 파일별로 다 있다.
-
PE 속성에 대한 파일을 판단하는. PE Module, dll 파일 등, 운영체제, subsystem(xbox인지 gui인지 cui인지), yara가 다 탐지 가능
-
upx 패커 등 패킹도 가능 : sections
-
pe module 같은 경우 import 해주어야 한다. ex) import "pe"
-
math 모듈도 있다. ex) import "math" , 암호화, 패킹, 복잡성이 올라감, 수학적인 부분에서. 엔트로피 ,cuckoo 탐지에 있음, 더미다로 패킹을 할 때 암호화 기능이 있다, 가상화머신에서 돌아가는지 등에 따라 엔트로피가 달라짐
-
yara python
yara를 파이썬과 연동하여 자동화 작업이 가능
-
실습 - pcap.zip 파일 내에 pcap 파일에서 google.com 문자열을 포함하고 있는 패킷 파일을 찾아라.
rule googlefind
{
strings:
$a = "google.com"
condition:
$a
}
> yara64.exe "rule googlefind.yar" C:\users\user\Desktop\pcap
다음주 수업 - snort 깔아오기
rule example
{
strings:
$text_string = "domain" ascii wide fullword nocase
condition:
$text_string
}
'Cyber Security' 카테고리의 다른 글
SQL INJECTION - Prepared statement 환경에서의 취약점 진단 (0) | 2020.10.26 |
---|---|
웹 취약점 근거 제공 사이트 (0) | 2020.10.26 |
Archery 취약점 진단 솔루션 소개 (0) | 2020.08.20 |
내부망 / DMZ 구간 / 외부망 용어 정리 (0) | 2020.08.05 |
[Kali Linux] - Nessus Web 취약점 스캐너 사용하기(무료,홈버전) (0) | 2020.07.17 |