iPhone + Botnets = Fun

                           El ascenso y caída de un imperio




                                  ...
Agenda

•  Nuestro personaje
•  Cómo intentó infectar millones de iPhones
     – En quién se fijó
     – Cómo lo hizo
    ...
Aviso

La presentación contiene datos reales y datos
  de ciencia-ficción

En caso de duda, siga el principio de la Navaja...
Nuestro personaje

                                          •  Nombre: Homer
                                          • ...
Springfield Shopper




Congreso de Seguridad ~ Rooted CON’2010   5
Mariposa




Congreso de Seguridad ~ Rooted CON’2010
Hmmmm




Congreso de Seguridad ~ Rooted CON’2010   7
Idea




Congreso de Seguridad ~ Rooted CON’2010   8
Ser el amo de millones de
ordenadores




Congreso de Seguridad ~ Rooted CON’2010   9
Congreso de Seguridad ~ Rooted CON’2010   10
Congreso de Seguridad ~ Rooted CON’2010   11
Be Cool




Congreso de Seguridad ~ Rooted CON’2010   12
iPhone e iPad




Congreso de Seguridad ~ Rooted CON’2010   13
iBoard e iMat




Congreso de Seguridad ~ Rooted CON’2010   14
iPhone




 Fuente: Wikipedia
Congreso de Seguridad ~ Rooted CON’2010   15
Tienda de donuts




Congreso de Seguridad ~ Rooted CON’2010   16
Encuentro con A-Z




Congreso de Seguridad ~ Rooted CON’2010   17
Zhiguli Sedan




Congreso de Seguridad ~ Rooted CON’2010   18
Mercedes SLR




Congreso de Seguridad ~ Rooted CON’2010   19
ZeuS - Precio

•  ZeuS Kit 1.3.4 ($3000 - $4000)
     – Licencia por hardware
•  Backconnect ($1500)
•  Firefox form grabb...
ZeuS Builder




Congreso de Seguridad ~ Rooted CON’2010   21
ZeuS no infecta

•  Spam
•  Drive-by downloads
•  Web 2.0 infections
•  Pay-per-install
•  Falsos codecs




Congreso de S...
Tienda de donuts




Congreso de Seguridad ~ Rooted CON’2010   23
Ikee Worm

•  Primer código malicioso para iPhone
•  Ashley Towns, 21 años
•  Australia




Congreso de Seguridad ~ Rooted...
SSH Scanning




Congreso de Seguridad ~ Rooted CON’2010   25
Ikee Worm

•  Ikee iPhone Worm (alpine):
     “<ikee> Secondly I was quite amazed by the number
       of people who didn'...
Idea




Congreso de Seguridad ~ Rooted CON’2010   27
iOrchard

 iOrchard = Botnet de
   iPhones




                                          Basada en ZeuS



Congreso de Seg...
Coming soon


                          ZeuS
                           vs
                        iOrchard
Congreso de Se...
ZeuS – Conexión al C&C




Congreso de Seguridad ~ Rooted CON’2010   30
ZeuS – C&C




Congreso de Seguridad ~ Rooted CON’2010   31
ZeuS – C&C




Congreso de Seguridad ~ Rooted CON’2010   32
ZeuS – C&C




Congreso de Seguridad ~ Rooted CON’2010   33
iOrchard– C&C




Congreso de Seguridad ~ Rooted CON’2010   34
iOrchard– C&C




Congreso de Seguridad ~ Rooted CON’2010   35
iOrchard– C&C

•  Basado en LAMP (como casi todos)
•  Fuerte uso de javascript (mootools)




Congreso de Seguridad ~ Root...
ZeuS – Cifrado (antiguo)




Congreso de Seguridad ~ Rooted CON’2010   37
ZeuS – Cifrado

•  ZeuS utiliza el algoritmo RC4 con claves de 256
   bytes
     –  Enviar datos robados
     –  Contactar...
iOrchard– Cifrado

•  Algoritmos disponibles
        enum {
           kCCAlgorithmAES128,
           kCCAlgorithmDES,
   ...
ZeuS – Supervivencia

•  HKLMSoftwareMicrosoftWindows NTCurrentVersion
   Winlogon

   "Userinit" = "C:WINDOWSsystem32user...
iOrchard– Supervivencia

•  LaunchDaemons
     – /System/Library/LaunchDaemons/
      <?xml version="1.0" encoding="UTF-8"...
ZeuS – Información privada

•  Roba credenciales almacenados en el
   Windows Protected Storage
•  Roba certificados X.509...
iOrchard– Información privada

•  Direcciones de correo
     – /var/mobile/Library/Preferences/
       com.apple.accountse...
iOrchard– Información privada

•  SMS
     – /private/var/mobile/Library/SMS/sms.db

     sqlite> select * from message;
 ...
iOrchard– Información privada

•  Llamadas
     – /System/Library/PrivateFrameworks/
       AppSupport.framework/calldata....
iOrchard– Información privada

•  Contactos
     –  NSArray *people = (NSArray
       *)ABAddressBookCopyArrayOfAllPeople(...
iOrchard– Información privada

•  Eventos y tareas
     – /private/var/mobile/Library/Calendar/Calendar.sqlitedb
     sqli...
iOrchard– Información privada

•  Redes Wireless
     – /Library/Preferences/SystemConfiguration/
       com.apple.wifi.pl...
iOrchard– Información privada

•  Datos del teléfono
     – /var/mobile/Library/Preferences/
       com.apple.commcenter.p...
iOrchard– Información privada

•  Fotografías
     – /var/mobile/Media/DCIM/100APPLE
          •  JPG y PNG
          •  L...
iOrchard– Información privada

•  Localización geográfica
     – /var/mobile/Library/Preferences/com.apple.Maps.plist
    ...
iOrchard– Información privada

•  Búsquedas recientes
     – /var/mobile/Library/Preferences/
       com.apple.mobilesafar...
iOrchard– Información privada

•  Keyboard Cache
     – /var/mobile/Library/Keyboard/
          •  dynamic-text.dat
      ...
ZeuS – Robo de credenciales

•  Hooks típicos en ring3:
     wininet.dll                          ws2_32.dll
          •  ...
ZeuS – Robo de credenciales

•  Hooks típicos en ring3:
     user32.dll
     –    GetMessageW
     –    GetMessageA
     –...
iOrchard– Robo de credenciales

•  Hagamos lo mismo que en los cajeros
   automáticos




Congreso de Seguridad ~ Rooted C...
iOrchard– Robo de credenciales

•  Hagamos lo mismo que en los cajeros
   automáticos




Congreso de Seguridad ~ Rooted C...
iOrchard– Robo de credenciales

•  Teclado en el iPhone
     – UIKeyboardLayout (UIView)
          •  UIKeyboardLayoutRoma...
ZeuS – Kill OS

•  Nethell:
     –  Borra NTDETECT.COM y ntldr
•  InfoStealer:
     –  Borra drivers*.sys
     –  Borra al...
iOrchard– Kill OS

•  rm –rf /




Congreso de Seguridad ~ Rooted CON’2010   60
iOrchard– Acceso por VNC

•  $10000 en ZeuS
•  Open Source en iOrchard ($0)
•  Integrando Veency, un servidor VNC
   dispo...
Objetivo conseguido




Congreso de Seguridad ~ Rooted CON’2010   62
Veamos los resultados

Después de varias oleadas de infecciones
 masivas…

… y de una intensa actividad de compra,
 alquil...
ZeuS – ZeusTracker




Congreso de Seguridad ~ Rooted CON’2010   64
iOrchard– iOrchardTracker




Congreso de Seguridad ~ Rooted CON’2010   65
Conclusiones

•  Hay unos 40 millones de iPhone
     –  10% jailbreak
•  Infección es simple
     –  Contraseña por defect...
¿Cómo acabó todo?
       ¿Qué pasó con
     Homer y su iOrchard?

Congreso de Seguridad ~ Rooted CON’2010   67
¿Cómo acabó todo?




Congreso de Seguridad ~ Rooted CON’2010   68
¿Cómo acabó todo?




Congreso de Seguridad ~ Rooted CON’2010   69
¿Cómo acabó todo?




Congreso de Seguridad ~ Rooted CON’2010   70
Gracias a:
      S21sec e-crime
      Jay Freeman (saurik)
      Nicolas Seriot (iPhone privacy)
      KennyTM (Keyboard h...
Upcoming SlideShare
Loading in …5
×

David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]

3,006 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,006
On SlideShare
0
From Embeds
0
Number of Embeds
281
Actions
Shares
0
Downloads
184
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]

  1. 1. iPhone + Botnets = Fun El ascenso y caída de un imperio Autor: David Barroso Congreso de Seguridad ~ Rooted CON’2010
  2. 2. Agenda •  Nuestro personaje •  Cómo intentó infectar millones de iPhones – En quién se fijó – Cómo lo hizo – Cómo acabó •  Conclusiones Congreso de Seguridad ~ Rooted CON’2010 2
  3. 3. Aviso La presentación contiene datos reales y datos de ciencia-ficción En caso de duda, siga el principio de la Navaja de Occam Congreso de Seguridad ~ Rooted CON’2010 3
  4. 4. Nuestro personaje •  Nombre: Homer •  Edad: 38 •  Ocupación: Inspector de Seguridad •  Lugar: Springfield Congreso de Seguridad ~ Rooted CON’2010 4
  5. 5. Springfield Shopper Congreso de Seguridad ~ Rooted CON’2010 5
  6. 6. Mariposa Congreso de Seguridad ~ Rooted CON’2010
  7. 7. Hmmmm Congreso de Seguridad ~ Rooted CON’2010 7
  8. 8. Idea Congreso de Seguridad ~ Rooted CON’2010 8
  9. 9. Ser el amo de millones de ordenadores Congreso de Seguridad ~ Rooted CON’2010 9
  10. 10. Congreso de Seguridad ~ Rooted CON’2010 10
  11. 11. Congreso de Seguridad ~ Rooted CON’2010 11
  12. 12. Be Cool Congreso de Seguridad ~ Rooted CON’2010 12
  13. 13. iPhone e iPad Congreso de Seguridad ~ Rooted CON’2010 13
  14. 14. iBoard e iMat Congreso de Seguridad ~ Rooted CON’2010 14
  15. 15. iPhone Fuente: Wikipedia Congreso de Seguridad ~ Rooted CON’2010 15
  16. 16. Tienda de donuts Congreso de Seguridad ~ Rooted CON’2010 16
  17. 17. Encuentro con A-Z Congreso de Seguridad ~ Rooted CON’2010 17
  18. 18. Zhiguli Sedan Congreso de Seguridad ~ Rooted CON’2010 18
  19. 19. Mercedes SLR Congreso de Seguridad ~ Rooted CON’2010 19
  20. 20. ZeuS - Precio •  ZeuS Kit 1.3.4 ($3000 - $4000) – Licencia por hardware •  Backconnect ($1500) •  Firefox form grabber ($2000) •  Soporte Jabber ($500) •  VNC ($10000) •  Windows Vista/Windows 7 ($2000) Congreso de Seguridad ~ Rooted CON’2010 20
  21. 21. ZeuS Builder Congreso de Seguridad ~ Rooted CON’2010 21
  22. 22. ZeuS no infecta •  Spam •  Drive-by downloads •  Web 2.0 infections •  Pay-per-install •  Falsos codecs Congreso de Seguridad ~ Rooted CON’2010 22
  23. 23. Tienda de donuts Congreso de Seguridad ~ Rooted CON’2010 23
  24. 24. Ikee Worm •  Primer código malicioso para iPhone •  Ashley Towns, 21 años •  Australia Congreso de Seguridad ~ Rooted CON’2010 24
  25. 25. SSH Scanning Congreso de Seguridad ~ Rooted CON’2010 25
  26. 26. Ikee Worm •  Ikee iPhone Worm (alpine): “<ikee> Secondly I was quite amazed by the number of people who didn't RTFM and change their default passwords.” •  Segundo iPhone Worm (ohshit!): – Roba información – Es una botnet con dos C&C – Afecta a bancos holandeses – Ya no es sólo un script de prueba sino que tiene un proceso malicioso (sshd) Congreso de Seguridad ~ Rooted CON’2010 26
  27. 27. Idea Congreso de Seguridad ~ Rooted CON’2010 27
  28. 28. iOrchard iOrchard = Botnet de iPhones Basada en ZeuS Congreso de Seguridad ~ Rooted CON’2010 28
  29. 29. Coming soon ZeuS vs iOrchard Congreso de Seguridad ~ Rooted CON’2010 29
  30. 30. ZeuS – Conexión al C&C Congreso de Seguridad ~ Rooted CON’2010 30
  31. 31. ZeuS – C&C Congreso de Seguridad ~ Rooted CON’2010 31
  32. 32. ZeuS – C&C Congreso de Seguridad ~ Rooted CON’2010 32
  33. 33. ZeuS – C&C Congreso de Seguridad ~ Rooted CON’2010 33
  34. 34. iOrchard– C&C Congreso de Seguridad ~ Rooted CON’2010 34
  35. 35. iOrchard– C&C Congreso de Seguridad ~ Rooted CON’2010 35
  36. 36. iOrchard– C&C •  Basado en LAMP (como casi todos) •  Fuerte uso de javascript (mootools) Congreso de Seguridad ~ Rooted CON’2010 36
  37. 37. ZeuS – Cifrado (antiguo) Congreso de Seguridad ~ Rooted CON’2010 37
  38. 38. ZeuS – Cifrado •  ZeuS utiliza el algoritmo RC4 con claves de 256 bytes –  Enviar datos robados –  Contactar con el C&C –  Recibir ordenes •  El fichero de configuración está cifrado con la clave única (unas 1200) Congreso de Seguridad ~ Rooted CON’2010 38
  39. 39. iOrchard– Cifrado •  Algoritmos disponibles enum { kCCAlgorithmAES128, kCCAlgorithmDES, CCCrypt(encryptOrDecrypt, kCCAlgorithm3DES, kCCAlgorithmRC4, kCCAlgorithmCAST, kCCOptionPKCS7Padding, kCCAlgorithmRC4, vkey, //"123456789012345678901234", //key kCCKeySizeDES, kCCAlgorithmRC2 vinitVec, //"init Vec", //iv, }; vplainText, //"Your Name", //plainText, plainTextBufferSize, (void *)bufferPtr, bufferPtrSize, &movedBytes); Congreso de Seguridad ~ Rooted CON’2010 39
  40. 40. ZeuS – Supervivencia •  HKLMSoftwareMicrosoftWindows NTCurrentVersion Winlogon "Userinit" = "C:WINDOWSsystem32userinit.exe,C: WINDOWSsystem32sdra64.exe •  HKLMSoftwareMicrosoftWindowsCurrentVersionRun "Userinit" = "C:Documents and SettingsuserApplication Datasdra64.exe" Congreso de Seguridad ~ Rooted CON’2010 40
  41. 41. iOrchard– Supervivencia •  LaunchDaemons – /System/Library/LaunchDaemons/ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/ PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.simpsons.iorchard</string> <key>Program</key> <string>/usr/bin/iorchard</string> <key>StandardErrorPath</key> <string>/dev/null</string> <key>OnDemand</key> <false/> </dict> </plist> Congreso de Seguridad ~ Rooted CON’2010 41
  42. 42. ZeuS – Información privada •  Roba credenciales almacenados en el Windows Protected Storage •  Roba certificados X.509 •  Roba credenciales FTP y POP3 •  Roba cookies HTTP y Flash Congreso de Seguridad ~ Rooted CON’2010 42
  43. 43. iOrchard– Información privada •  Direcciones de correo – /var/mobile/Library/Preferences/ com.apple.accountsettings.plist •  POP3, IMAP, Gmail, MobileMe, etc. – No está la contraseña (PSKeychainUtilities) •  /private/var/Keychains/keychain-2.db 1||||||||||||||homer@mrx.com||mail.mrx.com|smtp||25||<t?????hT Sj??]6=?|apple Congreso de Seguridad ~ Rooted CON’2010 43
  44. 44. iOrchard– Información privada •  SMS – /private/var/mobile/Library/SMS/sms.db sqlite> select * from message; 581|605234312|1268480030|"Hola David, soy Homer. Oye, llamame por favor cuando puedas, vale? Venga, hasta luego." - via SpinVox. Recuerda: DictaSMS es gratis. Solo se cobra al que te llama si te deja msj. |2|0|| 230|0|0|0|0||es|||1|| Congreso de Seguridad ~ Rooted CON’2010 44
  45. 45. iOrchard– Información privada •  Llamadas – /System/Library/PrivateFrameworks/ AppSupport.framework/calldata.db – /private/var/mobile/Library/CallHistory/call_history.db sqlite> select * from call; 1357|0097142925822|1268039168|0|5|1659 1358|943324191|1268039290|77|5|-1 1359|+971503515393|1268040783|0|131077|-1 1360|+971333495251|1268040824|810|5|-1 Congreso de Seguridad ~ Rooted CON’2010 45
  46. 46. iOrchard– Información privada •  Contactos –  NSArray *people = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBoo k); – /private/var/mobile/Library/AddressBook/ AddressBook.sqlitedb sqlite> select * from ABPerson; Congreso de Seguridad ~ Rooted CON’2010 46
  47. 47. iOrchard– Información privada •  Eventos y tareas – /private/var/mobile/Library/Calendar/Calendar.sqlitedb sqlite> .tables Alarm OccurrenceCache AlarmChanges OccurrenceCacheDays Attendee Participant AttendeeChanges Recurrence Calendar RecurrenceChanges CalendarChanges Store Event Task EventChanges TaskChanges EventExceptionDate _SqliteDatabaseProperties Congreso de Seguridad ~ Rooted CON’2010 47
  48. 48. iOrchard– Información privada •  Redes Wireless – /Library/Preferences/SystemConfiguration/ com.apple.wifi.plist •  SSID_STR •  lastJoined •  lastAutoJoined Congreso de Seguridad ~ Rooted CON’2010 48
  49. 49. iOrchard– Información privada •  Datos del teléfono – /var/mobile/Library/Preferences/ com.apple.commcenter.plist •  ICCID, IMSI, SBFormattedPhoneNumber – /var/mobile/Library/Preferences/ com.apple.mobilephone.settings.plist •  call-forwarding-number – /var/mobile/Library/Preferences/ com.apple.mobilephone.plist •  DialerSavedNumber •  AddressBookLastDialedUid Congreso de Seguridad ~ Rooted CON’2010 49
  50. 50. iOrchard– Información privada •  Fotografías – /var/mobile/Media/DCIM/100APPLE •  JPG y PNG •  Longitud y latitud Congreso de Seguridad ~ Rooted CON’2010 50
  51. 51. iOrchard– Información privada •  Localización geográfica – /var/mobile/Library/Preferences/com.apple.Maps.plist •  UserLocation with date •  /var/mobile/Library/Preferences/ com.apple.preferences.datetime.plist –  Timezone – /var/mobile/Library/Preferences/ com.apple.weather.plist •  Tiempo en ciudades Congreso de Seguridad ~ Rooted CON’2010 51
  52. 52. iOrchard– Información privada •  Búsquedas recientes – /var/mobile/Library/Preferences/ com.apple.mobilesafari.plist •  RecentSearches – /var/mobile/Library/Preferences/ com.apple.youtube.plistTimezone •  Bookmarks, History, lastSearch Congreso de Seguridad ~ Rooted CON’2010 52
  53. 53. iOrchard– Información privada •  Keyboard Cache – /var/mobile/Library/Keyboard/ •  dynamic-text.dat •  es_ES-dynamic-text.dat •  Imagenes cacheadas •  /private/var/mobile/Library/Caches/Snapshots Congreso de Seguridad ~ Rooted CON’2010 53
  54. 54. ZeuS – Robo de credenciales •  Hooks típicos en ring3: wininet.dll ws2_32.dll •  HttpSendRequestW • send •  HttpSendRequestA • sendto • WSASend •  HttpSendRequestExW • WSASendTo •  HttpSendRequestExA • closesocket •  InternetReadFile •  InternetReadFileExW •  InternetReadFileExA •  InternetQueryDataAvailable •  InternetCloseHandle •  HttpQueryInfoA •  HttpQueryInfoW Congreso de Seguridad ~ Rooted CON’2010 54
  55. 55. ZeuS – Robo de credenciales •  Hooks típicos en ring3: user32.dll –  GetMessageW –  GetMessageA –  PeekMessageA –  PeekMessageW –  GetClipboardData –  TranslateMessage crypt32.dll –  PFXImportCertStore Congreso de Seguridad ~ Rooted CON’2010 55
  56. 56. iOrchard– Robo de credenciales •  Hagamos lo mismo que en los cajeros automáticos Congreso de Seguridad ~ Rooted CON’2010 56
  57. 57. iOrchard– Robo de credenciales •  Hagamos lo mismo que en los cajeros automáticos Congreso de Seguridad ~ Rooted CON’2010 57
  58. 58. iOrchard– Robo de credenciales •  Teclado en el iPhone – UIKeyboardLayout (UIView) •  UIKeyboardLayoutRoman – UIKeyboardInputManager •  UIKeyboardInputManagerAlphabet (hook predicción) – Para hacer hooks: •  MobileSubstrate –  void MSHookFunction(void* function, void* replacement, void** p_original); Congreso de Seguridad ~ Rooted CON’2010 58
  59. 59. ZeuS – Kill OS •  Nethell: –  Borra NTDETECT.COM y ntldr •  InfoStealer: –  Borra drivers*.sys –  Borra algunas claves (HKLMMicrosoftWindows NT CurrentVersionWinlogon: Shell = Explorer.exe •  ZeuS: –  Borra HKCU, HKLMSoftware y HKLMSystem •  Glacial Dracon: –  del /A:S /Q /F C:*.* –  del /S /Q %SYSTEMROOT% %PROGRAMFILES% Congreso de Seguridad ~ Rooted CON’2010 59
  60. 60. iOrchard– Kill OS •  rm –rf / Congreso de Seguridad ~ Rooted CON’2010 60
  61. 61. iOrchard– Acceso por VNC •  $10000 en ZeuS •  Open Source en iOrchard ($0) •  Integrando Veency, un servidor VNC disponible en Cydia Congreso de Seguridad ~ Rooted CON’2010 61
  62. 62. Objetivo conseguido Congreso de Seguridad ~ Rooted CON’2010 62
  63. 63. Veamos los resultados Después de varias oleadas de infecciones masivas… … y de una intensa actividad de compra, alquiler y venta Congreso de Seguridad ~ Rooted CON’2010 63
  64. 64. ZeuS – ZeusTracker Congreso de Seguridad ~ Rooted CON’2010 64
  65. 65. iOrchard– iOrchardTracker Congreso de Seguridad ~ Rooted CON’2010 65
  66. 66. Conclusiones •  Hay unos 40 millones de iPhone –  10% jailbreak •  Infección es simple –  Contraseña por defecto •  Acceso total a los datos privados –  Acceso a tu entidad financiera –  Spear phishing •  Conectividad 24x7 •  Copiemos las características de un caso de éxito •  Vigila tu iPod/iPhone/iPad Congreso de Seguridad ~ Rooted CON’2010 66
  67. 67. ¿Cómo acabó todo? ¿Qué pasó con Homer y su iOrchard? Congreso de Seguridad ~ Rooted CON’2010 67
  68. 68. ¿Cómo acabó todo? Congreso de Seguridad ~ Rooted CON’2010 68
  69. 69. ¿Cómo acabó todo? Congreso de Seguridad ~ Rooted CON’2010 69
  70. 70. ¿Cómo acabó todo? Congreso de Seguridad ~ Rooted CON’2010 70
  71. 71. Gracias a: S21sec e-crime Jay Freeman (saurik) Nicolas Seriot (iPhone privacy) KennyTM (Keyboard hooks) Homer – Matt Groening David Barroso tomac@yersinia.net @lostinsecurity Congreso de Seguridad ~ Rooted CON’2010

×