본문 바로가기

Android/Android Malware

Tor Network를 이용하는 안드로이드 악성코드

반응형

Tor Network 를 이용하여 통신을 진행하는 악성코드가 발견되서 분석 글을 한번 올려봅니다.

옛날에 상섭브로에게 이 악성코드가 있다는 소리는 들었는데.. 음.. 실제로 분석을 하게 되네요 :)


이번 분석에서는 악성코드가 Tor Network에 어떠한 방식으로 접근하고, 통신하는지에 대해 중점적으로 

분석을 진행해볼 생각입니다.


일단 악성코드의 시작점부터 분석해 보면



startService() 에서 MainService 서비스를 시작합니다.




MainService - onCreate 를 보면 SharedPreferences에 AppPrefs 값을 0으로 설정합니다.


그..리고 Tor?



처음 시작이면 TOR_SERVICE를 시작시키게 됩니다. 그런 다음..


그리고 Tor 전송을 확인하게 됩니다.


sendCheck method 



JSON으로 값을 만드는데.. 이를 거치게 되면

{'type':'locker check', 'device id':(IMEI), 'client number':'19'}

이라는 값이 JSONObject 로 생성됩니다


이걸 이제 startSending()!


오? http://xeyocsu7fu2vjhxs.onion/ 오..니언?

일단 response code가 200이 아니면 exception!

아까 봤던 JSONObject 를 보내게 됩니다. 만약에 response JSON 내용이 {'command':'stop'} 이라면

내부 파일의 decrypt 루틴을 돌게 합니다. 전형적인 랜섬웨어죠^^


근데 encrypt가 없는데..? 뭐지.. 하던 중에

발-견!


하.. 암호화 AES쓰네! jndlasf074hr를 key로 사용합니다^^



근데.. 이게 어떤 방식으로 암호화되고, 복호화되는지 몰라서

제가 실행해 보았습니다 (엄마 미안해)


일단 실행 전에 테스트 파일을 넣어두고.. (에이핑크는 사랑입니다!)



이런 다음 실행해보니.. 젠장!

??????? 블라르브브브브브발르븝바바ㅡ브바ㅡ라브라브르바브ㅏ르바ㅡ라ㅡㅂ랍?


러시아어 ㅠㅠ

해석해 보면



... 그..그래

그래도 이 앱은 착하게 확인되면 복호화해주네요(사실인지는.. 모르겠지만)

뭐 간단하게 내용해주면 260그리브(우크라이나 돈이라네요 17달러, 2만원 정도?)를 해당 계좌로 보내주면 

복호화 된다고 합니다 :)


뭐 어쨌든..

.. 일단 파일 암호화 확인부터 하도록 하겠습니다.


.enc encrypted... encrypted... encrypted...

what the...


PNG - Header 망가짐;; :(


앱 지워도 복구되지 않고 쥬금..ㅠㅠ


뭐 결국 공격 방법은

설치되자 마자 모든 기능 lock!

돈 달라고 암호화 후 협박

돈 주면 (확인 안되었지만) 복호화


대응 방법은

앱 지워버리고 - 해당 파일을 복호화 루틴 태워주면 복호화 된다고 합니다 :)






반응형