일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- hex2bin
- c# 디렉토리 파일 조회
- 파워쉘
- Python GetProcAddress
- c# 파일명 변경
- VMware
- PPT Malware
- anti vm
- TCP Socket
- c# xml 파싱
- 한글 악성코드
- Python LoadLibrary
- c# 프로그램 종료
- c# 파일 읽기쓰기
- vbscript
- Mouse Over
- FTP Server/Client
- Universal ShellCode
- c# 외부 프로그램 실행
- Hover Action
- PowerShell
- 최순실 악성코드
- Python Win32 API
- 악성코드
- 파이썬 외부프로그램 실행
- c# 파일 IO
- TCP Server/Client
- UDP Server/Client
- pdf 악성코드
- 파이썬
- Today
- Total
그냥저냥
[Issue, PE Malware] Sony Pictuires 해킹 악성코드 분석 본문
* 전체 동작과정 요약
(**오타 : -k ==> -i)
● -n 파라미터 동작 (배경화면 변조)
-n 파라미터가 입력된 경우 분기문을 통해 Thread를 생성한다. 해당 Thread는 Sleep함수에 의해 5분 뒤에 실행된다.
Thread의 Main 함수는 프로세스 메모리 영역에 존재하는 암호화된 데이터를 복호화 시켜서 파일로 저장한다.
파일 저장경로는 %WINDOWS%\walls.bmp 이며, 복호화된 파일 헤더 확인시 그림파일인 것을 알 수 있다.
<복호화 루틴>
▶
<BMP 파일 복호화 과정> <생성된 그림파일>
<복호화된 파일을 저장할 경로 설정>
그림파일 복호화 이후 SystemParametersInfo 함수의 ACTION 파라미터에 SPI_SETDESKWALLPAPER 옵션으로 배경화면의 그림을 변경한다.
<배경화면 변조>
● -d 파라미터 동작 (로컬 호스트 파일 삭제)
-d 파라미터 입력시 로컬 호스트 파일 삭제 기능을 수행하며, 기능 수행을 위해 디스크 드라이브 정보를 얻어온다.
<Drive Type 정보 조회>
<Drive Type에 따른 분기>
드라이브 정보를 얻은 후 해당 드라이브 내 모든 파일을 검색/삭제 하기 위해 드라이브 문자 뒤에 "*.*" 문자열을 붙인다.
ex> 연결된 드라이브 : C ==> 완성된 문자열 : "C:\*.*"
디스크 내 파일을 검색하면서 해당 파일에 접근하여 파일의 확장자를 비교한다. 확장자가 .exe 또는 .dll 인 경우 파일을 변조/삭제하지 않고 건너뛴다.
<첫 번째 파일 접근>
<파일 확장자 비교>
검색된 파일의 확장자가 .exe 또는 .dll 이 아닌 경우 WriteFile 함수를 통해 파일의 데이터를 변조시킨다. write되는 데이터는 임의의 데이터이며,
파일 덮어쓰기 작업 이후 파일 삭제가 진행된다. 파일의 데이터를 변조한 후 삭제하므로, 파일을 복구하더라도 원래 데이터까지는 복구가 불가능하다.
재귀함수를 통해 폴더를 검색하면서 ".." , "C:\Windows" , "C:\Program Files" 경로가 검색된 경우
해당 폴더 내 파일들은 변조/삭제를 하지않고 건너뛴다.
● -s 파라미터 동작 (원격지 공유폴더 파일 삭제)
-s 파라미터 입력시 원격지의 공유폴더에 존재하는 파일을 삭제하는 기능을 수행한다.
우선 net use 명령으로 미리 설정된 원격지에 연결을 시도한다.
* 공유폴더 연결 시 원격 호스트 이름, 계정 정보는 하드코딩된 문자열을 참조하여 Brute Forcing 한다
연결 성공/실패에 대한 구분은 net use 명령의 실행 결과에 대한 리턴 값이 "Successfully" 인지 아닌지로 판단하며,
연결 성공 시에는 NetShareEnum 함수로 원격 호스트의 리소스 정보를 얻게된다.
<연결 성공/실패 여부 확인>
<연결 성공 시 원격 호스트의 리소스 정보 조회>
원격 호스트의 리소스 정보 획득 시 "*.*" 문자열을 붙여서 원격지의 파일이 삭제되도록 설정한다.
'Malware' 카테고리의 다른 글
[PDF Malware] PDF 악성코드 분석 (Obfuscated JavaScript + ShellCode) (0) | 2016.08.12 |
---|---|
[PDF Malware] PDF 악성코드 분석 (JavaScript + EmbededFile) (0) | 2016.08.10 |
[HWP Malware] HWP_ParaText 취약점을 이용한 한글문서 분석 (0) | 2016.08.05 |
[Issue, XLS Malware] BlackEnergy 3 (우크라이나 정전 관련) (0) | 2016.08.03 |
[Issue, PE Malware] 3.20 악성코드 분석 (1) | 2016.07.31 |