2017 . 2 . 15 . 17 : 18 
 < 부제 : 너 이름 이 뭐 니 ? > 
 분석 대상 샘플 은 2016 년 초 부터 꾸준히 배포 / 보고 되 고 있 는 악 성 코드 로 감염 된 사용자 PC 에서 지속 적 으로 동작 하 면서 서버 와 통신 및 기능 업데이트 를 하 는 형태 의 악 성 코드 이 다 . 
 본 악 성 코드 의 특이 한 점 은 업데이트 등 을 위해 접근 하 는 C 2 서버 는 과거 악 성 으로 사용 된 이력 이 없 는 신규 등록 도메인 이 라는 점 과 업데이트 를 제외 한 악 성 으로 의심 할 만 한 어떠 한 동작 도 하 지 않 는다는 점 이 다 . 
 또한 해당 악 성 코드 는 하루 에 도 3 ~ 4 차례 업데이트 가 이루어지 고 있 는 등 봇넷 은 구성 되 고 있 지만 탐지 / 차단 이 매우 어 
 버전 : 1 . 0 . 0 . 455 ~ 1 . 0 . 275 . 3232 
 유사 변종 샘플 수 : 약 1100 여 개 
 유포 / 배포 URL : 800 여 개 
 ( 1 ) 동작 시나리오 
 < 그림 1 . 동작 과정 > 
 nethost 1 . exe 로 유입 된 악 성 코드 는 C 2 서버 에 접속 해 제 2 의 C 2 서버 URL 을 가져온다 . 제 2 의 C 2 서버 에 접속 하 면 nethost 1 . exe 가 수행 할 명령 을 JSON 형태 로 전달 된다 . 
 수행 할 명령 들 은 다음 과 같 다 . 
 감염 PC 상태 정보 추출 
 또한 JSON 파일 에 는 업데이트 될 악 성 파일 의 버전 을 명시 하 고 있 으며 블로그 를 작성 하 는 2017 년 2 월 15 일 16 시 35 분 현재 1 . 0 . 275 버전 이 배포 중 이 다 . 
 ( 유입 파 일 명 과 업데이트 된 파 일 명 이 같 은 관계 로 편의 상 유입 파 일 명 을 nethost 1 . exe 로 , 업데이트 된 파 일 명 을 nethost 2 . exe 로 명시 한다 . ) 
 ( 2 ) 세부 동작 
 < 그림 2 . nethost . exe 의 5 가지 동작 > 
 nethost . exe 의 동작 은 5 가지 로 구분 할 수 있 다 . 
 Case 1 : Install - nethost . exe 를 PC 에 설치 한다 . 
 Case 2 : C 2 통신 - C 2 서버 연결 을 통해 nethost . exe 를 다운로드 받 는다 . 
 Case 3 : Uninstall - 설치 된 nethost . exe 와 관련 된 레지스트리 정보 를 제거 한다 . 
 Case 4 : Check - 다운 받 은 JSON 파일 내 에 존재 하 는 체크 항목 을 수행 한다 . 
 Case 5 : Update - C 2 서버 접속 을 통해 신규 nethost . exe 존재 여부 를 확인 하 고 업데이트 한다 . 
 < 그림 3 . C 2 서버 접속 > 
 nethost . exe 는 파일 별 로 접근 을 시도 하 는 URL 3 개 를 갖 고 있 다 . 분석 대상 샘플 의 경우 다음 과 같 은 URL 을 갖 고 있 다 . 
 mile ****** er . ru / index . html 
 gu ***** ery . ru / index , html 
 whe ****** ocus . ru / index . html 
 해당 URL 에 접근 하 면 그림 3 과 같 은 암호 화 된 바이너리 가 전달 된다 . 암호 화 된 데이터 를 복호 화 하 면 접속 할 제 2 의 C 2 서버 URL 이 나오 게 된다 . 
 복호 화 된 제 2 의 C 2 서버 : du ***** ner . ru / index 
 또한 이렇게 확인 된 제 2 의 C 2 서버 URL 은 주기 적 으로 접근 해 다운로드 / 업데이트 하 기 위해 레지스트리 의 특정 경로 에 암호 화 된 데이터 형태 로 저장 한다 . 
 < 그림 4 . 암호 화 된 데이터 가 저장 된 레지스트리 > 
 저장 되 는 레지스트리 경로 는 다음 과 같 다 . 
 HKLM \ SOFTWARE \< 실행 된 파 일명 > 
 즉 , 실행 된 파일 이 nethost . exe 인 경우 " HKLM \ SOFTWARE \ nethost " 하위 에 저장 된다 . 
 < 그림 5 . 제 2 의 C 2 서버 로 부 터 전달 받 은 명령 ( JSON 포 멧 ) > 
 복호 화 된 제 2 의 C 2 서버 에 접속 하 면 그림 5 와 같이 암호 화 된 데이터 가 전달 되 며 이 를 복호 화 하 면 JSON 포맷 의 C 2 서버 명령 이 나오 게 된다 . JSON 명령 데이터 에 는 업데이트 할 URL 과 해당 파일 의 버전 , 감염 된 PC 에서 확인 해야 할 사항 들 이 나열 되 어 있 다 . 
 < 그림 6 . 상태 도메인 에 PC 점검 정보 전달 > 
 또한 " statdomain " ( 상태 도메인 ) 이 존재 하 며 해당 상태 도메인 으로 감염 된 PC 에서 점검 한 데이터 를 암호 화 해 파라미터 형식 으로 전송 하 게 된다 . 
 < 그림 7 . 지속 적 인 동작 여부 만 결정 하 는 C 2 서버 ( 추정 ) > 
 이 외 에 도 추가 로 접근 할 수 있 는 1 개 의 URL 이 존재 하 며 해당 URL 은 악성 코드 를 지속 적 으로 동작 시킬지 여부 만 알 수 있 는 C 2 서버 로 추정 된다 . 
 g . puercontinue . ru ( 185 . 20 . 186 . 51 ) 
 분석 대상 악 성 코드 는 다음 과 같 은 특징 으로 인해 보 안 장비 또는 백신 을 통한 차단 / 삭제 가 매우 어렵 다 . 
 기존 에 사용 되 지 않 은 신규 배포 도메인 을 사용 한다는 점 
 배포 URL 이 지속 적 으로 늘어나 고 있 다는 점 
 하루 에 도 3 ~ 4 차례 버전 업데이트 가 이루어져 백신 진단 이 어렵 다는 점 
 Job 스케줄 러 등록 이외 에 행위 기반 특이점 을 찾 기 어렵 다는 점 
 이렇게 생성 된 봇넷 에 업데이트 되 는 파일 만 변경 하 면 RAT 로써 의 동작 뿐 만 아니 라 DDoS 등 다른 용도 로 악용 될 수 있 으므로 주의 가 필요 하 다 . 
 해시 : AB 9 A 3197 A 92 B 5520 AF 37 B 223053758 E 5514 DF 2 FC 946 EC 2 B 7 E 278 EAB 32 FF 750 BA 
 유입 파 일 명 : nethost . exe , filesystemdriver . exe , sysnet . exe , syslog . exe , ComDev . exe , svshost . exe , 
 ScriptWriter . exe , PowerMonitor . exe , upgrade . exe 
 파일 크기 : 701 , 448 Bytes 
 태그 : exe _ 32 bit , peexe , overlay , user - directory 
 malwares . com 정보 : https : / / goo . gl / JHJaQA 
 MAX AI 점수 : 49 ( 정상 : 20 미만 ) 
 재 실행 매 커 니즘 : Job 스케줄 러 등록 
 확산 매 커 니즘 : 없 음 
 < 그림 8 . MAX AI 를 통한 진단 화면 > 
 분석 대상 인 nethost . exe 를 포함 한 모든 변종 샘플 에 대해 MAX 를 통해 탐지 할 수 있 다 . 
 Botnet , malwares , max , nethost . exe , 러시아 , 맥스 , 멀 웨 어스 닷컴 , 멀 웨 어 즈 닷컴 , 보안 , 봇넷 , 세인트 시큐리티 , 악 성 코드 , 안티 바이러스