[하루한줄] 안드로이드 장치를 타겟으로 한 Matryosh Botnet

URL

New Threat: Matryosh Botnet Is Spreading

Target

  • ADB(Android Debug Bridge) 기능이 활성화 되어있는 안드로이드 장치

Explain

360 netlab에서 ADB(Android Debug Bridge)를 통해 전파되고 있는 DDoS를 목적으로 한 봇넷 ‘Matryosh’을 발견했습니다. ADB는 개발자가 안드로이드 기기에 앱의 설치나 디버깅 같은 작업을 위한 명령 실행줄입니다.

Matryosh는 Mirai 프레임워크를 재사용하였으며, 암호 알고리즘을 재 구현하였고 DNS TXT record를 통해 원격 호스트에서 토르 C2와 토르 프록시를 가져옵니다. 360 netlab에서는 러시아의 마트료시카 인형처럼 프로세스의 레이어가 중첩되어 있어서 Matryosh라 명명하였습니다.

Matryosh는 감염된 장치에서 실행될 때 프로세스의 이름을 14 글자의 무작위 대소문자로 바꾸고 stdin: pipe failed를 출력합니다. 그 후 토르 C2와 토르 프록시를 얻어오는데, 그 과정은 다음과 같습니다.

  1. 원격 호스트 A(hosts.hiddenservice.xyz)를 복호화해서 가져오고 DNS TXT request에 대한 response를 받아옵니다.
hosts.hiddenservice.xyz. 1751	IN	TXT	"iekfgakxorbfjcefbiyj"
  1. 원격 호스트의 접미사(.hiddenservice.xyz)를 복호화해서 가져오고 위에서 받아온 iekfgakxorbfjcefbiyj에서 표의 조합 규칙에 따라 문자를 추출하여 호스트의 접두사로 호스트 리스트를 만듭니다.(ex. er.hiddenservice.xyz)

  2. 2에서 만들어진 원격 호스트에 DNS TXT request를 통해 TOR 프록시 주소를 받아옵니다.

    oc.hiddenservice.xyz.	1799	IN	TXT	"198.245.53.58:9095"
    fe.hiddenservice.xyz.	1799	IN	TXT	"198.27.82.186:9050"
  3. 원격 호스트 C(onion.hiddenservice.xyz)를 복호화해서 가져오고 DNS TXT request를 보내 토르 C2 주소를 받아옵니다.

    onion.hiddenservice.xyz. 1799	IN	TXT	"4qhemgahbjg4j6pt.onion"
  4. 무작위로 선택한 토르 프록시를 통해 C2에 연결을 시도합니다. 포트는 31337로 하드코딩되어 있습니다.

  5. 토르 프록시가 05 00 00 01 00 00 00 00 00 00를 반환하면, C2 연결이 완료되고 C2 명령을 기다립니다.

360 netlab에서는 토르 C2를 사용하며 C2 포트가 31337인 점, 공격 메소드의 이름이 같고 C2 명령어 포맷이 비슷한 점을 통해 LeetHozer를 개발한 Moobot 그룹의 소행일 것이라고 추측하고 있습니다.