2017년 3월 8일 수요일

Windows Event Log 분석(DNS Request)

'그룹정책 편집기(gpedit.msc)'를 실행해보자.


'그룹정책 편집기'는 윈도우의 다양한 환경 설정을 가능하게 해주는데 그중 '감사 정책 > 개체 액세스 감사' 정책은 말 그대로 윈도우에서 발생하는 온갖 개체에 대한 접근 감사 기록을 Security Event Log로 남긴다.


다음은 '개채 액세스 감사' 설정 후, 이벤트 뷰어 화면(eventvwr.msc). '네트워크 연결 허용'을 의미하는 'ID 번호 5156' 이벤트가 생성됐다.


세부 내역을 살펴보니 출발지와 목적지 IP, Port 정보 및 해당 네트워크 연결을 시도한 프로세스 정보들이 모두 기록되어 있다. 53번 포트로 연결을 시도한, 즉 DNS 조회를 시도한 프로세스들을 찾을 수 있겠네?


다음은 목적지 포트가 53인 프로세스의 발생 통계. 그런데 'svchost.exe'밖에 없다?


select extract_filename(extract_token(strings,1,'|')), count(*)
from security
where eventid = 5156
    and extract_token(strings,6,'|') = '53'
group by extract_filename(extract_token(strings,1,'|'))

53번 포트만 제외하면 관련 프로세스가 21개나 나온다. 그런데 왜 53번 포트를 사용하는 프로세스는 하나뿐일까?


① select extract_filename(extract_token(strings,1,'|')), count(*)
② from security
③ where eventid = 5156
    and extract_token(strings,6,'|') <> '53'
④ group by extract_filename(extract_token(strings,1,'|'))
order by count(*) desc

확인해보니 윈도우 서비스를 총괄하는 svchost가 'DNS Client' 서비스를 이용하는 프로세스들의 프락시로 동작한다고.


DNS Client 서비스를 중지해보자. DNS 조회를 시도하는 프로세스들이 윈도우의 대행(?) 서비스를 거치지 않고 모습을 드러내기 시작한다.


얘랑 Snort 로그를 잘 조합하면 그림 좀 나올 듯. 그나저나 별별 녀석들이 다 DNS 조회를 하는구나.

관련 글

댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스