안녕하세요? 이스트시큐리티입니다.
지난 2016년 10월 21일 보안이 취약한 IoT기기들이 미라이 악성코드에 감염되어 DDoS공격에 활용되었습니다. 이 미라이 코드의 소스가 공개되었고, 2018년 1월 31일부터 이를 활용한 안드로이드 악성코드가 등장하였습니다. 미라이 악성코드와 마찬가지로 웜 형태로 스스로 전파되며 안드로이드 OS의 ADB (Android Debug Bridge) 인터페이스를 이용합니다. 감염된 기기들은 모네로 채굴에 이용됩니다.
본 분석 보고서에서는 “ADB.miner”를 상세 분석 하고자 합니다.
악성코드 상세 분석
1) 최초 파일 실행
최초 파일인 sss파일을 실행하면 암호화된 bot.dat을 복호화하고, 복호화된 bot.dat은 nohup, xmrig32/64, droidbot 등을 생성하고, droidbot은 추가로 invoke.sh, debuggerd 등을 생성합니다.
[그림 1] 복호화 된 파일
2) bot.dat 복호화
Bot.dat가 복호화되면 6개의 파일이 생성되며 모네로 채굴 관련 파일, 웜 파일, 지속적인 악성 행위를 위한 관련 파일 등이 있습니다.
[그림 2] 복호화되는 파일 목록
3) 악성 행위의 시작
쉘 스크립트를 백그라운드에서 지속적으로 실행하기 위한 nohup과 웜 파일인 droidbot을 실행합니다.
[그림 3] nohup 및 droidbot 실행
4) droidbot
4개의 파일을 생성하며 감염된 기기를 명령어로 조작하기 쉽도록 해주는 파일들입니다.
[그림 4] 4개의 파일생성
5) 미라이 코드 활용
공개된 미라이 코드의 SYN Scan부분을 활용합니다.
[그림 5] 무작위 IP 생성
해당 악성코드에서는 사용되지 않았지만 미라이 코드의 공장 출하 상태의 IoT기기들의 기본 비밀번호와 관련된 문자열들이 동일하게 존재합니다.
[그림 6] 미라이와 동일하게 존재하는 문자열
5555 포트의 무작위 IP로 SYN 스캔을 합니다.
[그림 7] 무작위 SYN 스캔
6) ADB 연결
“adb connect”를 통해서 특정 기기에 연결이 되었다면 “get-state”를 통하여 해당 기기의 adb 연결상태를 확인합니다.
[그림 8] ADB 연결상태 확인
연결된 기기의 “/data/local/tmp”의 모든 내용들을 삭제합니다. 이 폴더는 악성 행위를 하기위한 기본 폴더입니다.
[그림 9] 특정 폴더의 내용 삭제
감염된 기기를 통하여 다음 활동에 필요한 sss, nohup, bot.dat 파일들을 전송합니다.
[그림 10] 다음 활동을 위한 파일 전송
7) ELF 모네로 마이닝
CPU종류를 확인하여 32/64에 맞는 파일을 실행합니다.
[그림 11] CPU 확인
모네로와 관련된 XMRig 오픈소스를 활용합니다.
[그림 12] 모네로 오픈소스
“config.json”에 마이닝 풀과 관련된 정보들이 기록되어있습니다. Hashvault.pro 네트워크 마이닝 풀을 이용합니다.
[그림 13] hashvault 마이닝 풀
해당 마이닝 풀로 실제 마이닝이 이루어짐을 알 수 있습니다.
[그림 14] 마이닝 풀과의 네트워크 통신
또 다른 마이닝 풀인 minexmr.com가 기록되어 있지만 마이닝은 되지 않습니다.
[그림 15] 작동하지않는 마이닝 풀
8) APK 모네로 마이닝
“코인하이브” 마이닝을 위한 APK를 설치하고 패키지명을 이용하여 해당 앱을 실행합니다.
[그림 16] APK 설치 및 실행 명령어
APK가 자동으로 설치 및 실행되며 메인은 아무것도 나타나지 않습니다. Assets 폴더에 저장되어있는run.html 을 불러옵니다. 이는 “코인하이브”의 모네로 마이닝 코드가 기록되어 있으며 “안드로이드의 자바스크립트”를 활용합니다.
[그림 17] “코인하이브” 모네로 마이닝 코드
“코인하이브”와 통신하며 실제 마이닝이 이루어집니다.
[그림 18] “코인하이브” 마이닝
9) 쉘 스크립트
“Install-recovery.sh” 스크립트에는 droidbot 파일과 droidbot.apk의 패키지폴더를 감시하여 존재 유무를 확인합니다.
[그림 19] install-recovery.sh
“invoke.sh”는 안드로이드 기기의 제어와 관련된 오픈소스를 활용하여 쉘 스크립트를 제작하였습니다. 해당 스크립트는 주요 폴더들을 리마운트하고 system폴더의 특정 파일들을 공격자가 원하는 파일들로 변경합니다. 또한 그와 관련된 권한, 속성, 보안문맥등을 추가로 변경하여 명령어를 이용한 기기제어를 한층 더 쉽게 만듭니다.
[그림 20] invoke.sh
결론
이번 ADB.miner의 경우 미라이 코드를 활용하고 있지만 아이디와 비밀번호의 사전식 대입이 아닌 ADB인터페이스를 활용하여 웜 형태로 퍼지고 있습니다.
실질적으로 주변 IoT기기의 보안에 대한 인식은 0에 가깝기 때문에 일반 사용자는 감염되더라도 알아차리기 어렵습니다.
따라서, 사용자들은 주변 IoT기기에 대하여 조금 더 관심을 가지고 업데이트 확인을 주기적으로 해야합니다. 또한, 스마트폰 사용자 역시 백신을 항상 최신으로 유지하고 주기적인 검사를 해야합니다.
현재 알약M에서는 ADB.miner의 앱 버전을 "Trojan.Android.CryptoMiner" 탐지명으로 진단하고 있습니다.
실존 디자이너 명의를 사칭한 악성 메일로 GandCrab 랜섬웨어 국내 유포 주의 (0) | 2018.03.27 |
---|---|
제트 캐시를 요구하는 타나토스 랜섬웨어 유포 주의 (0) | 2018.03.26 |
Trojan.Ransom.Saturn 악성코드 분석 보고서 (0) | 2018.03.22 |
"견적서.exe" 이메일로 유포되는 계정정보 전송 악성코드 주의 (0) | 2018.03.22 |
끊임없이 진화하는 뱅킹 악성앱 주의! (0) | 2018.03.21 |
댓글 영역