
Быстрый поиск
Введите фрагмент названия статьи для поиска

Защита PHP-скриптов от анализа и модификации
06.10.2008 | Категория: Web-мастеру и не только | Автор: ManHunter
Все программные продукты для защиты PHP-скриптов подразделяются на две категории: требующие установки на сервер дополнительных модулей и работающие с обычной конфигурацией web-серверов. Первые более надежны в плане безопасности, так как переводят PHP-скрипты из текстового вида в специальный байт-код, но требуют доступа к серверу с правами администратора. Вторые могут работать практически на всех хостингах с поддержкой PHP, в том числе и бесплатных, но не представляют большой сложности для взлома. В отдельную подгруппу можно выделить обфускаторы исходного кода, не использующие шифрование или сжатие.Защиты на уровне сервера:
Zend Encoder / Zend SafeGuard Suite - наиболее популярная коммерческая защита, модули для поддержки Zend обычно установлены на всех платных хостингах. Zend предоставляет привязку скриптов к доменам и ip, установку времени триальной работы скриптов и мощную обфускацию. Поддерживаются все операционные системы. В публичном доступе имеется несколько вариантов утилит для снятия Zend'а, все они представляют собой модифицированный PHP 4-й и 5-й версии. Старые версии Zend'а снимаются без проблем, в последних возникают сложности из-за обфускации исходного кода.
NuSphere NuCoder. Новая, активно развивающаяся коммерческая защита. На уровне собственных API предоставляет взаимодействие с защищаемыми скриптами, поддерживаются операционные системы Windows и Linux. Вследствие малой распространенности не устанавливается на обычных виртуальных хостингах, но вполне может быть установлена пользователями на выделенных серверах. Публичных декодеров нет.
SourceGuardian for PHP. Коммерческая защита, практически не встречается, на виртуальных хостингах не устанавливается. Позволяет устанавливать триальный срок работы скриптов с проверкой даты по внешним серверам точного времени, делать привязку защищаемых скриптов к серверам, ip-адресу, MAC-адресу сетевой карты, причем эти данные используются для расшифровки. Поддерживаются все операционные системы. Публичных декодеров нет.
Читать статью целиком »
Просмотров: 40778 | Комментариев: 36

Взлом паролей учетных записей Windows
22.09.2008 | Категория: Темная сторона Силы | Автор: ManHunter
В этой статье я расскажу о программных продуктах, предназначенных для взлома паролей учетных записей операционной системы Windows. Официально этот процесс называется "восстановление забытых или утраченных паролей", но название сути не меняет. Взлом может выполняться при загрузке со специального компакт-диска или дискеты, а также путем подбора пароля на уже запущенной системе. Первый способ наиболее предпочтителен, так как самый надежный и быстрый, но для его реализации в компьютере должен быть собственно сам CD- или FDD-привод, возможность загрузки с внешних устройств раньше чем с HDD или открытый доступ в BIOS для изменения порядка загрузки. Вход в BIOS может быть закрыт паролем. На большинстве стационарных компьютеров пароли на BIOS сбрасываются отключением на несколько секунд аккумулятора CMOS или замыканием специального джампера на материнской плате. В ноутбуках настройки могут храниться на энергонезависимой Flash-памяти, в этом случае придется признать, что фокус не удался.Второй способ требует доступа к работающей системе чтобы извлечь необходимые данные из системных файлов, а потом длительного времени для расшифровки паролей. В двух словах, наиболее удачное решение для этих целей на сегодняшний день - программа SAMInside, больше на этом способе останавливаться не будем.
Разберем подробно все существующие программы для взлома паролей учетных записей при загрузке с компакт-дисков или дискет, а также порядок работы с ними.
Сразу предупреждаю, что если использовалось шифрование файловой системы, то после сброса пароля зашифрованные файлы могут стать недоступны! Используйте указанные программы на свой риск и только в самых крайних случаях!
Читать статью целиком »
Просмотров: 145747 | Комментариев: 78

Повышение привилегий процесса
09.09.2008 | Категория: Образ мышления: Assembler | Автор: ManHunter
Любой процесс в системе выполняется с правами какого-то пользователя или самой системы. Привилегии – это права процесса на совершение каких-либо действий по отношению ко всей системе, и при выполнении каких-либо привилегированных операций система проверяет, обладает ли пользователь соответствующей привилегией. Например, выключение и перезагрузка компьютера компьютера относятся как раз к таким операциям, и без повышения привилегий функция ExitWindowsEx завершится с ошибкой. Готовых решений на FASM найти не удалось, пришлось портировать из языков высокого уровня.Code (Assembler) : Убрать нумерацию
- ; Сегмент данных
- section '.data' data readable writeable
- ; Определяем константы
- TOKEN_ADJUST_PRIVILEGES = 20h
- TOKEN_QUERY = 8h
- SE_PRIVILEGE_ENABLED = 2h
- ; Определяем необходимые структуры, потому что в FASM'е их нет
- struct LUID
- lowPart dd ?
- HighPart dd ?
- ends
- struct LUID_AND_ATTRIBUTES
- pLuid LUID
- Attributes dd ?
- ends
- struct _TOKEN_PRIVILEGES
- PrivilegeCount dd ?
- Privileges LUID_AND_ATTRIBUTES
- ends
- TTokenHd dd ?
- udtLUID LUID
- ; Важно! Структура _TOKEN_PRIVILEGES должна быть выровнена на границу 4 байт!
- align 4
- tkp _TOKEN_PRIVILEGES
- SE_SHUTDOWN_NAME db 'SeShutdownPrivilege',0
- ; Сегмент кода
- section '.code' code readable executable
- invoke GetCurrentProcess
- ; Открыть маркер доступа (access token), ассоциирующийся с процессом
- invoke OpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,TTokenHd
- or eax,eax
- jz loc_exit ; Ошибка
- ; Получить текущее значение привилегии на выключение и
- ; перезагрузку системы
- invoke LookupPrivilegeValue, NULL, SE_SHUTDOWN_NAME, udtLUID
- or eax,eax
- jz loc_exit ; Ошибка
- ; Заполнить структуры
- mov [tkp.PrivilegeCount],1
- mov [tkp.Privileges.Attributes],SE_PRIVILEGE_ENABLED
- mov eax,[udtLUID.lowPart]
- mov [tkp.Privileges.pLuid.lowPart],eax
- mov eax,[udtLUID.HighPart]
- mov [tkp.Privileges.pLuid.HighPart],eax
- invoke AdjustTokenPrivileges,[TTokenHd],0,tkp,0,0,0
- ; Здесь будет код, требующий повышенных привилегий,
- ; например выключение компьютера
- invoke ExitWindowsEx,EWX_POWEROFF,NULL
- ...
- ; Выход
- loc_exit:
- invoke ExitProcess,0
Просмотров: 8227 | Комментариев: 7
