Денис Ферри - Секреты супер хакера
«Прикрыть» деятельность «троянского коня» (в соответствующих обстоятельствах) можно также с помощью сообщений типа: открытие файла данных, чтение данных, сохранение выбора перед выходом,
Загрузка текста
Сообщения всегда должны соответствовать тому, что в действительности происходит в видимой части программы.
«Троянские кони», выполняющие функции BBS (такие, как изменение паролей), должны, если возможно, делать это путем прямого доступа к диску, не используя программу BBS. Это позволит вам обойти любые защитные протоколы и распечатки подозрительных действий.
До и после
Системные операторы, администраторы систем и даже обычные пользователи стали теперь осторожнее относиться к пересылке файлов. Они, как минимум, опасаются вирусов, и изучают программы перед тем, как их использовать, более тщательно, чем когда бы то ни было раньше.
Это означает, что они будут проверять ваши подгруженные программы на вирусы с помощью сканера. Такая проверка практически неизбежна, но бояться нечего, так как существующие программы проверки на вирусы не смогут обнаружить вашего «троянского коня» ни в одном из законных файлов. Вам следует опасаться только того, что системный оператор или менеджер станет собственноручно изучать ваши подгруженные программы в поисках нецензурных слов или ошибок.
Как и в предыдущем случае, сознательным разрушителям и системным вандалам придется труднее, чем вам. У них есть текст, который им придется прятать внутри своих программ. Например, всем известен вирус, или логическая бомба, которая вопит «GOTCHA!!» («Попался!»), когда записывается поверх таблицы размещения файлов. Существующие программы ищут в файлах именно подобные веши. Даже если у оператора не имеется соответствующей программы, но он достаточно наблюдателен, разрушительское «GOTCHA!!» будет замечено еще до того, как программа начнет работать.
Ваших «троянских коней» не придется прятать слишком тщательно. Весь текст в ваших программах будет состоять из текста, который так или иначе будет выведен на экран: текст, либо являющийся частью прикладной программы, либо текст, который исходит из программы, а на самом деле прикрывает деятельность «троянского коня». К тому же в вашей программе не будут торчать, подобно ослиным ушам, команды типа «format с:». Таким образом, ваша работа легче, чем у кракера, хотя далеко не является пустяком.
В вашей программе могут быть команды чтения, записи или изменения хранящихся в BBS личных файлов. Системный оператор не должен обнаружить ни таких команд, ни, тем более, имен файлов. Использовать для кодирования команд и имен шифр «на одну букву выше» нежелательно, так как существуют программы, которые сканируют файл и выводят на экран содержащийся в нем удобочитаемый текст. Если вы просто замените все буквы следующими по порядку (т. е. PASS превратится в QBTT, и т. п.), в программе все равно останется текст в закодированном виде, и оператор может догадаться, что он означает. Лучше, если вы закодируете текст, используя цифры, символы или иностранные алфавиты.
Программа, в которую вы вставите «троянскую лошадку», может являться не откомпилированным исходником или пакетным файлом. В этом случае, чтобы спрятать «троянских коней», вам понадобится некоторая ловкость рук. НИКОГДА не загружайте пакетный файл просто так, в его первоначальном виде. Представьте себе состояние системного оператора, получившего от пользователя следующее:
cd BBSUSERS
open USERINFO.TXT
read USERINFO.TXT: User#44
set systemlevel 3 == systemlevel 99
close
exit
Это не настоящая программа. Я привел ее в качестве примера наглой попытки повышения уровня доступа, которая неминуемо привлечет внимание системного оператора.
Один из способов избежать этой проблемы — заставить ведущую прикладную программу создавать пакетные файлы и другие программы, которые для этого требуются. Пакетные команды запускаются как закодированная абракадабра в прикладной программе. Требуется подпрограмма, которая открывала бы текстовый файл, расшифровывала команды, наполняла ими файл, а затем делала свое дело. Создание и использование файла могут происходить в различные промежутки времени, чтобы не удлинять время нелегального доступа к диску.
В легко читаемых источниках «троянская лошадка» также не должна стоять в самом начале или в конце листинга. Засуньте ее поглубже в программу. Добавьте комментарии, способные отвлечь внимательного читателя. И помните, если ваша прикрывающая программа будет особенно умно сделанной, системному оператору может захотеться проанализировать ее, чтобы понять, как это вы добились столь выдающихся результатов! Это означает, что прикрывающая программа может оказаться объектом пристального внимания, и вашего «троянского коня» могут случайно обнаружить.
После использования «троянского коня» программа должна его уничтожить, т. е. последние несколько действий «троянского коня» должны стираться из программы.
Стереть прикладную программу, а вместе с ней и «троянского коня», может и сам системный оператор. Это может оказаться сложным — заставить системного оператора стереть все загруженные вами файлы, не вызывая никаких подозрений. Способ заключается в следующем: прикладная программа должна являться чем-то уже имеющимся у оператора, или чем-то похожим на его версию, но похуже.
Вы можете даже просто послать системному оператору письмо по электронной почте, в котором сообщите, что обнаружили в программе потенциально опасную ошибку, а «в случае, если вы решите уничтожить ее, я вышлю вам исправленную версию». Так можно поступать только в случае, если прикладная программа, которую вы послали, откомпилирована, иначе системный оператор сможет и сам устранить ошибку (уж он-то устранит!)
Встречаются операторы-параноики, которые пересылают все подгруженные файлы на другой компьютер, прежде чем запустить их. Могут также быть установлены иные, чем вы ожидали, директории, или сама BBS может загружать файлы не на жесткий диск, а на гибкий. Помните об этом, когда будете создавать свою программу, чтобы ваша «троянская лошадка» срабатывала лишь тогда, когда компьютер установлен так, как предполагалось. Таким образом, она будет запускаться, только получив доступ к файлам с паролями, или для чего вы там ее предназначите. Это необходимо также потому, что, если ваша прикладная программа окажется достаточно качественной, системный оператор сделает ее доступной для загрузки другими пользователями.
«Сделай сам»: пять узелков на память
Мы с вами уже говорили о хакерских BBS. Что, если вы будете усердно искать подходящую BBS, чтобы приобретать знания и делиться информацией, но ваши поиски не увенчаются успехом? Вы можете создать собственную BBS, полностью отвечающую вашим потребностям. Раздобудьте подходящее программное обеспечение, соберите самых верных друзей — и установите собственную электронную доску объявлений! Запуск собственной системы означает, что отныне вам не придется особенно много работать на своем домашнем компьютере и использовать свою телефонную линию. Это не станет проблемой, если вы занимались исключительно хакерством, поскольку теперь ваши возможности значительно расширятся благодаря использованию лап-топов и т. п. Но вы, скорее всего, используете свой компьютер и в других целях: играете, набираете тексты, программируете, а также легально пользуетесь модемом. Не забывайте об этом, прежде чем загоритесь идеей создания собственной BBS.
Один из способов обойти данную проблему — а вместе с ней и многие другие проблемы, которые возникают при установке BBS — применить ваши хакерские способности и взломать какой-либо мэйнфрэйм, находящийся далеко от вашего дома, а затем использовать его для установки вашей электронной доски объявлений.
Где бы вы ни решили установить вашу систему, вам понадобится фальшивый фасад, чтобы система выглядела легальной, и обратная сторона, заключающая в себе закрытую область только для избранных хакеров. Приглашайте в этот круг только тех, кого вы знаете как разумных и достойных доверия хакеров, а остальную часть доски пусть использует, кто захочет.
Я видел, как создавались просто фантастические BBS, которые кончали весьма плачевно. И видел средненькие BBS, которые быстро зарекомендовали себя самым лучшим образом. Что до хакерских BBS, вам не придется испытать значительного взлета, поскольку хакерские BBS редко занимаются саморекламой — в конце концов, вы же не хотите, чтобы в вашу BBS входил кто попало. Но вам все же захочется привлечь и удержать новых пользователей кто знает, вдруг они окажутся именно теми, кого вам хотелось бы в личном порядке пригласить в ваш секретный «уголок хакера», к вашему взаимному удовольствию?
Стратегия привлечения и удержания новых пользователей заключается в том, чтобы установить, подключить и не выключать вашу BBS. Многие неопытные системные операторы, взволнованные перспективой запуска своей собственной системы, постоянно отключают свои BBS от линии и производят в них усовершенствования. Не делайте этого! Если кто-то захочет сделать вызов, и ваш компьютер не ответит, повторного вызова он уже не сделает.