ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 안드로이드 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 [이스트시큐리티 알약 블로그]

    반응형
Designed by Tistory.