-
안드로이드 OS ADB취약점을 이용한 악성코드네트워크보안 2019. 9. 25. 14:07반응형
악성코드 상세 분석
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기기에 대하여 조금 더 관심을 가지고 업데이트 확인을 주기적으로 해야합니다. 또한, 스마트폰 사용자 역시 백신을 항상 최신으로 유지하고 주기적인 검사를 해야합니다.
출처: https://blog.alyac.co.kr/1597 [이스트시큐리티 알약 블로그]반응형'네트워크보안' 카테고리의 다른 글
[정보보안기사] IPSEC 프로토콜 (0) 2020.11.27 알려져있는 해킹툴 사용 포트 리스트 (0) 2020.03.05 VPN을 통한 우회 접속 이용자 탐지 (0) 2019.08.29 라우터 Spoofing 방지 필터링 적용 (0) 2019.04.04 라우터 SNMP community string 복잡성 설정 (0) 2019.04.04