일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- mock.patch
- pytest
- ida
- debugging
- commandline
- error
- h5py.File
- error fix
- hex-rays
- idb2pat
- MySQL
- Ransomware
- idapython
- ecma
- open office xml
- Analysis
- idapro
- data distribution
- Python
- javascript
- x64
- svn update
- NumPy Unicode Error
- Rat
- malware
- TensorFlow
- ida pro
- 포인터 매핑
- Injection
- why error
- Today
- Total
13 Security Lab
바로가기와 ".Trashes" 를 생성하는 Worm 악성코드 본문
자바스크립트를 통해 실행 되는 이 악성코드는 감염 시 로컬 드라이브(C:\)의 특정 경로에 파일을 복사 후, 실행 중 상태로 있다가, USB 연결 시 USB를 감염시키고 원본파일을 숨겨 놓는다.
< JS형태의 악성코드 >
자바스크립트 형태이지만, 아래와 같이 난독화 되어있어 의미를 바로 알아낼 수는 없다.
.
.
.
자바스크립트를 통해 실행 되는 이 악성코드는 감염 시 USB 연결 여부를 확인하고 USB 안에 있는 파일들을 ".Trashes"라는 폴더를 만들어서 숨겨 놓는다.
그리고 마치 아무 일도 안일어난 것 처럼 똑같은 모양의 바로가기파일을 그 자리에 만들어 놓는데, 그 바로가기를 실행하게 되면 악성코드를 실행시킨 후에 .Trashes 폴더에 백업 된 원래 파일들을 실행 시켜, 눈치 채지 못하게 한다.
아래는 USB를 가지고 테스트 한 것.
< 감염 전 USB 드라이브 >
< 감염 후 USB 드라이브 >
위와 같이 원래 있던 파일 대신에 바로가기가 생성 된 것을 볼 수 있다.
원본은 백업되어 있으나, 숨김속성으로 보이지 않는다.
< 폴더 옵션 >
위와 같이 "폴더 옵션" - "보기" - "숨김 파일 및 폴더" -> 숨김 파일, 폴더 및 드라이브 표시에 체크
숨김 속성의 폴더 및 파일을 확인해야한다.
< 숨김 파일 폴더 보기 적용 후 >
적용 후에는 위와 같이 .Trashes 라는 숨김속성의 폴더가 보인다.
Ctrl + Shift + Esc 를 눌러 작업관리자를 띄우고, 프로세스 목록을 보면 악성코드가 실행 된 프로세스를 볼수 있다.
1번과 2번이 악성코드..... 1번 -> 2번 순으로 강제로 종료시켜준다.
(.Trashes 폴더는 Mac에서 Windows의 휴지통 경로(C:\$Recycle.Bin (win7))를 의미한다.)
다시 정리하면,
감염 시 다음과 같은 형태의 증상을 보인다.
< USB (외부저장장치) >
- USB 루트의 바로 하위 디렉토리 및 파일의 바로가기 생성 ("[USBDRIVE]\파일명.lnk")
- ".Trashes" 아래 폴더 추가 생성 및 악성 JS 복사 ( ex) ~\Trashes\531\kajwpx.js)
- ".Trashes" 하위 디렉토리 숨김 속성 설정 (파일은 X)
- 감염 후에도 "wscript.exe" 에 의해 계속 실행하고 있으며, 배치파일(.bat) 또는 자바스크립트(.js) 삭제 시 재감염
< 로컬 드라이브 (C:\) >
- XP : C:\Documents and Settings\[사용자계정]\[랜덤영문]\랜덤영문.exe 경로에 시스템파일인 "wscript.exe" 복사 & 악성 JS 생성
- Vista이상 : C:\Users\[사용자계정]\AppData\Roaming\[랜덤영문]\랜덤영문.exe 경로에 시스템파일인 "wscript.exe" 복사 & 악성 JS 생성
< 메모리 (프로세스) >
총 3개의 프로세스가 동작
- 모두 wscript.exe 이나 2개는 C:\Users\[사용자계정]\AppData\Roaming\[랜덤영문] 경로에 이름만 바뀐 형태(랜덤이름)으로 실행되며, 1개는 wscript.exe 이름 그대로 동작
( XP의 경우에는 C:\Documents and Settings\[사용자계정]\[랜덤영문] )
- C:\Users\[사용자계정]\AppData\Roaming\[랜덤영문] 경로의 wscript 파일(이름이 바뀐)이 악성 js 파일 재감염 역할
- "wscript.exe" 는 나머지 C:\Users\[사용자계정]\AppData\Roaming\[랜덤영문] 경로의 wscript 종료 시 재실행 역할
악성코드를 치료하기 위해서는 아래 방법 순서대로 따라하면 된다.
1. 악성 프로세스 강제 종료 - wscript.exe
1) 현재 실행 중인 프로세스 "wscript.exe" 강제 종료
2) <랜덤영문>.exe 로 실행 중인 프로세스 중 파일버전 정보가 "wscript.exe" 를 포함하고 있는 프로세스
(동일 이름으로 이상한 영문이름을 가진 프로세스가 2개가 동시에 떠있으므로, 쉽게 찾을 있음)
< wscript.exe 의 아이콘 모양 >
3. 악성코드 제거 - 악성 LNK, BAT, JS 파일
- C:\Users\[사용자계정]\AppData\Roaming\ 경로에 있는 폴더 중에 안에 wscript.exe와 동일한 아이콘을 가진 파일,
그리고 자바스크립트 파일이 있다면 해당 폴더를 삭제
(XP는 C:\Documents and Settings\[사용자계정]\)
- USB 폴더안에 있는 .Trashes 폴더를 제외한 모든 파일 삭제
2. USB 파일 복구 (USB ".Trashes" 폴더 내 숨겨져 있는 파일 복구)
- "폴더 옵션" - "보기" - "숨김 파일 및 폴더" -> "숨김 파일, 폴더 및 드라이브 표시" 체크 후 확인
- .Trashes 폴더 내 자바스크립트 파일 삭제 ( 확장자 .js )
- USB에 ".Trashes" 폴더 내 파일 들을 USB 루트 경로로 복사 후 ".Trashes" 폴더는 삭제