2017년 3월 13일 월요일

Windows Event Log 분석(DNS Request - 2nd)

하루 동안 DNS 조회를 시도한 15개의 프로세스가 확인됐다. 당연한 결과지만 웹브라우저인 'chrome.exe'가 가장 많다.


select extract_filename(extract_token(strings,1,'|')), count(*)
from security
where to_string(timewritten, 'MM-dd') = '03-08'
    and eventid = 5156
    and extract_token(strings,6,'|') = '53'                /*목적지 포트*/
    and extract_token(strings,7,'|') = '17'                /*프로토콜 UDP*/
group by extract_filename(extract_token(strings,1,'|'))
order by count(*) desc

'extract_path(extract_token(strings,1,'|'))' 구문을 이용해서 프로세스 경로까지 확인해본 결과 수상쩍은 애들은 보이지 않는다. 특이하게 'iexplorer.exe'의 경로가 2개다. 32bit랑 64bit가 번갈아가며 실행되나?


어떤 프로세스가 어떤 도메인에 대한 DNS 조회를 시도했는지까지 확인하려면 같은 시간대 Snort 로그까지 확인해야 한다. 일단 이벤트 로그 전체 내역 조회.


select extract_filename(extract_token(strings,1,'|')), extract_token(strings,3,'|'),
extract_token(strings,4,'|'), extract_token(strings,5,'|'), extract_token(strings,6,'|'), to_string(timewritten, 'yyyy-MM-dd hh:mm:ss')
from security
where to_string(timewritten, 'MM-dd') = '03-08'
    and eventid = 5156
    and extract_token(strings,6,'|') = '53'
    and extract_token(strings,7,'|') = '17'

Mysql 데이터베이스에 'event_dns'라는 테이블을 만든 후, 이벤트 로그 조회 결과를 임포트했다. 프로세스별 DNS 조회 현황을 확인해보자. 혹시 몰라서 조건을 좀 까다롭게 줬다.


select c.proc, substr(f.data_payload,27,1000)
from event a, signature b, event_dns c, iphdr d, udphdr e, data f
where date(a.timestamp) = '2017-03-08'
    and b.sig_name = 'DNS Request_udp'
    and c.proc = 'sysmon64.exe'
    and a.signature = b.sig_id
    and a.timestamp = c.timestamp         /*동일 시간대 조건*/
    and a.sid = d.sid and a.cid = d.cid
    and a.sid = e.sid and a.cid = e.cid
    and a.sid = f.sid and a.cid = f.cid
    and c.sip = inet_ntoa(d.ip_src)           /*동일 출발지 IP 조건*/
    and c.dip = inet_ntoa(d.ip_dst)          /*동일 목적지 IP 조건*/
    and c.sport = e.udp_sport                  /*동일 출발지 포트 조건*/
group by c.proc, substr(f.data_payload,27,1000)
order by count(*) desc

다음은 'sysmon64.exe'에 의해 시도된 DNS 조회 내역. 내 PC에서 PTR 레코드 조회가 왜 이래 많이 생기나 했더니 전부 네놈 짓이었구나. 참고로 'sysmon64.exe'는 마이크로소프트에서 별도 배포하는 시스템 모니터링 툴. (내가 저걸 언제 설치했지?)


윈도우 GUI 셸(또는 파일 탐색기)인 'explorer.exe'는 왜 DNS 조회를 시도할까? 확인해보니 전부 'msn.com' 또는 'bing.com' 도메인이다. Windows 8에 기본 설치된 날씨, 뉴스 등의 앱이 시도한 DNS 조회인 듯.


어찌어찌 되긴 되는구나. 물론 매번 이런 식으로 확인한다는 건 사람이 할 짓이 아니고, 이벤트 로그에 대한 데이터베이스 전송 및 저장을 자동화하는 방법은 찾아보면 있을 듯. 그런데 필요한 이벤트의 필요한 필드만 저장해야 할텐데(..) 그나저나 이벤트 로그가 너무 많이 쌓인다. 하루에 1기가를 넘길 때도 있고.

댓글 없음:

댓글 쓰기

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