2016년 5월 31일 화요일

LogParser 활용(Windows Logon Event 이상징후 분석 - 3rd)

지난 시간에 네트워크 로그온에 성공한 'itl' 계정이 주체적으로 발생시킨 이벤트가 '파일 공유' 관련 이벤트인 5140, 5145 뿐임을 확인했다. 발생 추이는 다음과 같다.


select to_string(timewritten, 'dd일'), eventid, count(*)
from security
where to_string(timewritten, 'yyyy-MM') = '2016-04'
    and eventid in (5140; 5145)
    and extract_token(strings,1,'|') = 'itl'
group by to_string(timewritten, 'dd일'), eventid


5145 이벤트의 발생량이 압도적으로 많은데, 그도 그럴 것이 5140 이벤트는 '파일 공유 개체에 대한 연결 발생'만을 의미하며 읽기, 쓰기, 삭제 등 실제 세부 액션은 5145 이벤트에 기록되기 때문이다.

다만 권한 부족에 의한 파일 삭제 실패 액션을 'DELETE: 허가됨' 식으로 표시하는 걸 보면 단순히 실행된 액션만을 기록할 뿐, 해당 액션의 최종 성공/실패 여부까지는 기록하지 않는 듯. 대충 만든 듯


그러나 5145 이벤트를 잘 정리하면 접근을 시도한 네트워크 공유 개체의 목록정도는 뽑아볼 수 있다.


'itl' 계정이 접근을 시도한 네트워크 공유 개체의 목록은 다음과 같다.


select extract_token(strings,8,'|'), extract_filename(extract_token(strings,9,'|')), count(*)
from security
where to_string(timewritten, 'yyyy-MM') = '2016-04'
    and eventid = 5145
    and extract_token(strings,1,'|') = 'itl'
group by extract_token(strings,8,'|'), extract_filename(extract_token(strings,9,'|'))
order by count(*) desc

공유 개체의 경로를 의미하는 'ShareLocalPath' 필드는 공유 설정된 경로만을 표시하며, 해당 경로의 하위 경로가 최종 공유 파일을 의미하는 'RelativeTargetName' 필드에 포함된다.

해당 필드에서 공유 파일 목록만을 추출하려면 'extract_filename'과 'extract_token' 함수를 중첩 사용해야 한다는 얘기. 접근이 시도된 공유 개체의 경로와 파일 목록은 다음과 같다.


모두 공유가 허가된 개체에 접근하는 과정에서 발생한 이벤트라 눈길을 끌만한 상황은 별로 안 보인다. 애당초 'itl'계정에게 읽기 권한만 줬기 때문에 눈길을 끌만한 상황이 발생할 리도 없고.

'AccessMask' 필드를 분석하면 Read, Write, Delete 등 시도한 액션의 성격까지 파악할 수 있지만 하나의 액션에 하나 이상의 값들이 할당되고 있어서 좀 더 알아봐야할 듯.

AccessMask 발생 분포

관련 글

댓글 없음:

댓글 쓰기

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