이번 시간에는 파일을 검색하는 인포스틸러 행위를 살펴봅니다.
최근 정보를 훔치는 인포스틸러 악성코드가 유행함에 따라 파일을 탐색하는 악성행위도 같이 증가했습니다. 인포스틸러는 정보를 훔치는 행위로 중요한 파일을 찾거나 메모리에 있는 정보를 찾습니다.
관련뉴스 1: 브라우저와 암호화폐 지갑에서 정보 탈취하는 새 멀웨어 등장
관련뉴스 2: 미수신 택배 관련 가짜 메시지를 통해 확산되는 안드로이드 데이터 스틸링 악성코드
관련뉴스 3: 인포스틸러(정보탈취) 악성코드가 55.9%로 1위 차지
Notion게시글이 더 보기 편합니다.
https://www.notion.so/d36484b46c8a44a9aac7cb633eaf055d
1. 인포스틸러가 파일 검색을 하는 이유
사용자 또는 프로그램은 편의를 위해 자주 사용하는 정보를 파일에 저장하는 경향이 있습니다. 예를 들어 페이스북, 구글 등에 자동으로 로그인하기 위해 계정과 비밀번호를 저장합니다. 정보는 컴퓨터에 파일에 저장되는데 인포스틸러는 이 정보를 탈취하기 위해 파일을 탐색합니다.
특히, 인증정보가 저장된 파일은 공격자가 좋아합니다. 블랙마켓에 팔 수 있을 뿐만 아니라 훔친 인증정보를 가지고 다른 곳에 로그인을 시도합니다. 사람은 하나의 아이디와 비밀번호를 여러 곳에 사용하는 경향이 있기 때문이죠. 이러한 공격을 크렌덴셜 스터핑이라고 합니다.
파일에 저장된 정보탈취 목록
1) 유저이름
2) 비밀번호
3) 인증서
4) 신용카드
5) 문서파일(.pdf, .doc, .hwp등)
6) 설치된 프로그램 목록
7) 기타(파일 이외 정보: 프로세스 목록, 운영체제 버전 등)
인증정보를 저장한 파일은 보통 암호화 되어 있거나 sqlite 데이터베이스를 사용합니다.
예) chrome 브라우저 인증정보는 sqlitedb형식으로 저장(출처: https://www.askcybersecurity.com/where-are-my-saved-passwords-in-chrome)
2. anyrun 샌드박스 분석
anyrun샌드박스는 악성코드가 접근한 파일이 중요한 파일이면 "Stealing"메세지를 남깁니다. 하지만 중요하지 않은 파일을 훔쳤을 때에는 표시해주지 않으므로 자세히 분석하기 위해서는 행위분석이 필요합니다.
악성코드 링크: https://app.any.run/tasks/06929919-611d-4dff-a63a-425065562369/
2.1 Text report: 분석 보고서를 이용하여 분석
메인 페이지 오른쪽 위에 있는 Text Rerpot를 클릭합니다.
스크롤을 내려 Files activity영역으로 이동합니다. 악성코드가 생성한 파일 중 의심스러운 파일을 [그림 2]처럼 빨간색 영역으로 표시했습니다. 악성코드는 훔친 정보를 파일에 저장했습니다.
훔친 정보가 무엇인지 확인하기 위해 메인페이지 왼쪽 아래에 있는 FILES버튼을 클릭합니다. 파일을 클릭하면 해당 파일이 저장한 내용을 볼 수 있습니다.
anyrun샌드박스는 중요한 파일에 접근 할 때 메세지를 남깁니다. [그림 4]는 크롬 브라우저의 쿠키파일에 접근했다는 것을 알려주고 [그림 5]는 인증정보가 저장된 파일에 접근했다는 것을 말해줍니다.
2.2 ATT&CK Matrix: 악성행위를 정리한 표를 이용하여 분석
메인 페이지 오른쪽 위에 있는 ATT&CK Matrix버튼을 클릭합니다.
Credential Access메뉴는 악성코드가 인증정보에 접근할 때 기록되는 곳입니다. 총 2개가 있네요. 각각 항목을 클릭하면 어떤 파일의 인증정보를 훔치려고 했는지 자세히 보여줍니다(예: [그림 5]).
3. CAPE 샌드박스 분석
cape샌드박스에서는 anyrun샌드박스보다 분석결과를 더 정확하게 보여줍니다. 하지만 설치하지 않고 온라인으로 이용할 경우 속도가 매우 느립니다.
CAPE 샌드박스 링크: https://capesandbox.com/analysis/23050/
화살표로 표시한 곳이 파일탐색 등으로 훔친 정보들입니다. 각 버튼을 클릭하면 어떤 정보를 훔쳤는지 정보를 출력합니다. anyrun샌드박스 결과 [그림 4], [그림 5]보다 훨씬 명확한 메세지를 보여줍니다. 또한 각 메세지를 클릭하면 어떤 파일에 접근해서 정보를 훔치려고 했는지 전체 파일 경로를 보여줍니다.
4. 행위분석
행위분석에서는 샌드박스의 행위가 직접 발생하는지 확인하고 발견하지 못한 새로운 것들을 찾습니다. 프로세스모니터 도구를 사용하는데 이 도구의 파일탐색 이벤트 분석은 2가지로 나뉩니다.
파일탐색 실패 이벤트는 오류 메세지 필터링으로 쉽게 찾을 수 있습니다. 하지만 파일탐색 성공은 정상파일 접근까지 같이 분석해야하므로 시간이 매우 오래걸립니다. 이런 경우에는 동적/정적분석, 리버싱 분석이 속도가 빠릅니다.
하지만 입문과정에서는 동적분석과 리버싱은 제외하므로 행위분석만 진행하겠습니다.
4.1 실패한 파일탐색 분석
컴퓨터에 없는 파일을 접근할 때 파일탐색을 실패합니다. 그리고 PATH NOT FOUND라는 오류 메세지를 남깁니다. 그러므로 오류 메세지를 필터링하면 실패한 파일탐색을 쉽게 찾을 수 있습니다.
프로세스모니터 링크: https://drive.google.com/file/d/1eyrMSkIta0Rv-QDyD2soFhIaURUhTvs_/view?usp=sharing
프로세스 모니터 메뉴에서 Filter → Filter를 클릭해서 필터링 창을 엽니다. 그리고 Pid is 6788과 Result is PATH NOT FOUND필터 2개를 추가합니다.
성공적으로 필터가 적용되면 파일탐색 실패만 걸러집니다.
악성코드는 코인지갑 주소가 저장된 파일과 프로그램 인증파일에 접근하려고 했으나 해당파일이 존재하지 않아 파일탐색을 실패했습니다.
중요한 것은 anyrun샌드박스에서 발견하지 못한 파일탐색 정보들이 있습니다. anyrun샌드박스는 단순히 인증정보, 웹 브라우저 쿠키파일에 대해서만 메세지를 남겼었습니다. 하지만 프로세스모니터 결과를 보면 코인과 관련된 파일에 접근을 시도했다는 것을 새로 알았습니다.
4.2 성공적으로 파일탐색 결과 필터
성공적으로 탐색한 파일은 정상행위도 같이 썪여 있으므로 분석하기가 힘듭니다.
기존에 설정한 필터를 제거(Ctrl + R)한 후 Filter → Filter메뉴를 클릭해서 새로운 필터를 추가합니다. 파일을 읽는 행위는 ReadFile에 해당합니다.
필터 결과가 나오고 스크롤을 내리면 chrome 브라우저 파일을 읽는 흔적이 보입니다. 악성코드는 Login Data, Cookie, History등 파일을 읽어 정보를 훔칩니다.
'전공영역 공부 기록' 카테고리의 다른 글
토렌트로 유포되는 악성코드 분석(영화 결백) (0) | 2020.07.17 |
---|---|
anyrun샌드박스에서 실행되지 않은 악성코드 (0) | 2020.07.14 |
[악성코드 분석 입문] 예제6,7 - 파일삭제 이벤트 분석 (0) | 2020.07.08 |
[악성코드 분석 입문] 예제4 - njrat 파일 생성 이벤트 분석 (0) | 2020.06.24 |
[악성코드 분석 입문] 예제3 - 생성된 파일이 실행되었는지 확인 (0) | 2020.06.23 |