How to cover up tracks (Part 7)

Как заметать следы (Часть 7)

In the article the van Hauser «How to cover your tracks» translation is continued, begun in 2000 year, the checks of administrators and installed programs to provide the security are considered.
В 2000 году я начал публикацию перевода первой части статьи Ван Хаузера «Как скрывать следы своих проделок». Серия оказалась востребованной и популярной, да и перевод не был завершен до конца. Пришло время «собирать камни» и завершить начатое...
Тем более, что многое изменилось с тех пор в законодательстве, в компьютерной индустрии, произошло много интересных и печальных событий... Я имею ввиду возбуждение 26 уголовных дел в Минске по компьютерным преступлениям в январе 2001 года сразу после вступления в силу нового уголовного кодекса РБ.
В статьи я включил, на мой взгляд, показательные, выдержки из отсутствующей главы, изъятой издателями из книги Кевина Митника «Искусство обмана». Все же глава появилась сначала на списке рассылок Яху, далее распространившись в Интернет.
Название книги «Искусство обмана» напоминает мне философские откровения теоретика военного искусства древнего Китая Сунь Цзы: «Война - это путь обмана».

First Mitnik experience

Первый опыт Митника

"The transfers are meant to let you change buses and continue a journey to your destination, but I worked out how to use them to travel anywhere I wanted to go for free. Obtaining blank transfers was a walk in the park: the trash bins at the bus terminals were always filled with only-partly-used books of transfers that the drivers tossed away at the end of their shifts. With a pad of blanks and the punch, I could mark my own transfers and travel anywhere that L.A. buses went. Before long, I had all but memorized the bus schedules of the entire system. This was an early example of my surprising memory for certain types of information; still, today I can remember phone numbers, passwords and other items as far back as my childhood. "Под термином «билет с пересадкой» подразумевается возможность для человека сменить автобусные маршруты и продолжить поездку к месту назначения, но я придумал, как использовать «билеты с пересадкой» для бесплатных путешествий, куда мне хотелось. Добыча пустых «билетов с пересадкой» была прогулкой по парку: мусорные корзины на автобусных станциях были всегда заполнены только частично использованными билетами, которые выбрасывали сами водители перед сменой маршрутов. С пачкой пустых листов и дыроколом я мог отмечать только мои поездки и путешествовать везде, где ходили автобусы Луизианы. После долгого времени я имел все, и к тому же запомненные наизусть, расписания маршрутов для всей системы. Это - ранний пример моей удивительной памяти на определенные типы информации, и до сих пор, я могу вспомнить телефонные номера, пароли, и другие заметки вплоть до детства.
Another personal interest that surfaced at an early age was my fascination with performing magic. Once I learned how a new trick worked, I would practice, practice, and practice until I mastered it. To an extent, it was through magic that I discovered the enjoyment in fooling people. Другой интерес, проявленный в раннем возрасте, это мое увлечение фокусами. Раз, поняв, как работает новый трюк, я практиковался, практиковался и практиковался до тех пор, пока не овладевал им. В значительной степени благодаря фокусам я обнаружил в себе удовольствие от одурачивания людей."

5. Check for installed security programs

5. Проверка установленных программ для обеспечения безопасности

"On most security conscious sites, there are security checkers run by cron. The normal directory for the crontabs are "/var/spool/cron/crontabs". Check out all entries, especially the "root" file and examine the files they run. For just a fast investigation of the crontabs of root type "crontab -l root. "На большинстве сайтов, на которых предприняты повышенные меры защищенности, стоят ревизоры безопасности, которые запускаются с помощью "cron". Обычная директория для "crontab" это - "/var/spool/cron/crontab". Отметьте для себя все записи, особенно в "корневом" файле и проверьте все файлы, которые они активизируют. Для просто быстрой проверки "crontab" "корневого" уровня напечатайте "crontab -l root".
Some of those security tools are most time also installed on the admins' accounts. Some of them (small utils to check wtmp, and if a sniffer is installed) are in their "~/bin". Некоторые из упомянутых инструментов безопасности чаще всего устанавливают на администраторские учетные записи. Другие (маленькие утилитки для проверки "WTMP", и если также установлен перехватчик пакетов) находятся в их каталогах "~/bin".
Read below to identify those admins and check their directories. Ниже читайте, как выявлять таких администраторов и проверять их директории.
Internal checking software can be "tiger", "cops", "spi", "tripwire", 'l5", "binaudit", "hobgoblin", "s3" etc. Внутренние программы-ревизоры могут быть: "tiger", "cops", "spi", "tripwire", "l5", "binaudit", "hobgoblin", "s3" и так далее.
You must examine them what they report and if they would report something that would be a sign of your breakin. Вам следует проверить, что выдают в отчетах ревизоры, и если они что-то записывают в отчет, это может быть регистрацией следов вашего вторжения.
If yes you can: Если вы действительно способны это сделать, то:
- update the data files of the checker (learn mode) so that it won't report that type anymore. - обновите файлы данных программы-ревизора, так чтобы она больше не генерировала отчеты этого типа.
- reprogram/modify the software so that they don't report it anymore. (I love fake cpm programs ;-) - перепрограммируйте/ модифицируйте программное обеспечение, так чтобы оно больше не создавало эти отчеты. (Я люблю подделывать программы "cpm" ;-). )
- if possible remove the e.g. "backdoor" you installed and try to do it in another way. - по возможности, уберите так называемые "черные ходы", если вы их поставили, и пытайтесь достичь такого же контроля над системой, но по-другому.

6. Check the admins

6. Проверка администраторов

It is important for you to check the sysops for the security counter- measures they do - so first you need to know which normal accounts are they use. Для вас также существенно проверять системных операторов (сисопов) на предмет предпринимаемых ими мер противодействия и, первое, что для этого вам нужно - это знать, какие учетные записи обычно они используют.
You can check the ".forward" file of root and the alias entry of "root". Take a look into the "sulog" and note those people who did a successful "su" to "root". Grab the group file and examine the wheel and admin group (and whatever other group are in this file which are related to administration). Also grep'ing the passwd file for "admin" will reveile the administrators. Вы можете проверить файл ".forward" в корневой директории и алиасы (псевдонимы) "корня". Посмотрите в "sulog" и обратите внимание на тех людей, которые провели успешное выполнение "su" на доступ на уровне "root". Возьмите файл группы и проверьте группы администраторов или пользователей с повышенными правами. (И любые другие группы в этом файле, которые связаны с администрированием). "grep", примененный с параметром "admin" к файлу с паролями тоже может выдать администраторов.
Now you should know who the administrators on the machines are. Change into their directories (use "chid.c", "changeid.c" or similar to become the user if root is not allowed to read every file) and check their ".history"/".sh_history"/".bash_history" to see what commands they type usually. Check their ".profile"/".login"/".bash_profile" files to see what aliases are set and if auto-security checks or logging are done. Examine their "~/bin" directory! Most times compiled security checking programs are put there! And of course take a look into each directory they've got beside that ("ls -alR ~/"). Теперь вам следует узнать, кто же является администратором на машинах. Перейдите к их каталогам (используйте "chid.c", "changeid.c" или что-нибудь похожее, чтобы стать пользователем, если нет разрешения для "корня" читать любой файл) и проверьте их ".history", ".sh_history", ".bash_history", чтобы увидеть какие команды обычно они набирают. Проверьте их файлы ".profile", ".login", ".bash_profile", чтобы обнаружить какие псевдонимы прописаны, и выставлена ли автоматическая проверка безопасности или протоколирование в журналы. Просмотрите их каталог "~/bin"! Чаще всего туда и помещаются скомпилированные программы, обеспечивающие безопасность! И, непременно, пройдитесь по другим каталогам, которые им выделены (применив "ls -alR ~/").
If you find any security related stuff, read 5.) for possibilities to bypass those protections. Если вам удалось обнаружить какую-нибудь чушь, связанную с обеспечением мер безопасности, читайте пятый пункт о возможностях преодолеть эту защиту.

7. How to "correct" checksum checking software

7. Как "скорректировать" программы, проверяющие контрольные суммы

Some admins really fear hacker and install software to detect changes of their valuable binaries. If one binary is tampered with, next time the admin does a binary check, it's detected. Бывает, что администраторы действительно опасаются хакеров и устанавливают программы для обнаружения любых изменений в их критичных бинарных файлах. Если какой-нибудь двоичный файл был затронут, администратор проводит проверку на уровне бинарных кодов, и вмешательство обнаруживается.
So how can you: Итак, как вы могли бы:
a) find out if such binary checkers are installed and а) выяснить, установлены ли подобные ревизоры двоичных кодов и
b) how to modify them so you can plant in your "trojan horse"? б) как модифицировать их так, чтобы еще можно было внедрить в них своих "троянских коней"?
Note that there are many binary checker out there and it's really easy to write one - takes only 15 minutes - and can be done with a small script. So it's hard to find such software if it's installed. Заметьте, что существует много ревизоров двоичных кодов, и, на деле, легко написать еще один. Это занимает всего лишь 15 минут, ревизор может быть реализован с помощью небольшого скрипта. Поэтому, трудно обнаружить такие программы, если они установлены.
Note that internal security checking software sometimes also support such checking. Here are some widely used ones: Еще заметьте, что встроенное программное обеспечение, проводящее аудит безопасности, также поддерживает такие бинарные проверки. Вот список, нескольких, широко используемых:
SOFTWARE STANDARD PATH BINARY FILENAMES
"tripwire" "/usr/adm/tcheck", "/usr/local/adm/tcheck" databases, "tripwire"
"binaudit" "/usr/local/adm/audit" "auditscan"
"hobgoblin" "~user/bin" "hobgoblin"
"raudit" "~user/bin" "raudit.pl"
"l5" compile directory "l5"
Программа Обычное размещение Имена двоичных файлов
"tripwire" "/usr/adm/tcheck", "/usr/local/adm/tcheck" базы данных, "tripwire"
"binaudit" "/usr/local/adm/audit" "auditscan"
"hobgoblin" "~user/bin" "hobgoblin"
"raudit" "~user/bin" "raudit.pl"
"l5" Каталог компиляции "l5"
But as you can see there are too much possibilities! The software or database could even be on an normally unmounted disk or NFS exported partition of another host. Or the checksum database is on a write protected medium. There are too much possibilities. But normally you can just do the fast check if the above packages are installed and if not go on exchanging binaries. If you don't find them but it actually is a very well secured site then you should NOT tamper with the binaries! They sure have got them hidden very well. Но, очевидно, у администраторов в наличии слишком много возможностей! Программное обеспечение или база данных могут даже разместиться на постоянно демонтируемом диске или экспортированном разделе NFS (сетевая распределенная файловая система), находящимся на другом хосте. Или база данных с контрольными суммами находится на носителе, защищенном от записи. В реальности, может быть слишком много вариантов. Но, что вы обычно можете, это только сделать быструю проверку на то, инсталлированы или нет, вышеназванные пакеты и, возможно или нет изменить двоичные данные. Если вы не смогли их обнаружить, но это, действительно, очень хорошо защищенный сайт, тогда вам не следует изменять двоичные файлы. Уверен, что они хорошо их замаскировали.
But what do you do when you find that software installed and you can modify them (e.g. not a write protected medium, or something that can be bypasswd - for example unmounting the disk and remounting writable)? Но, что если вам удалось найти эти установленные программы, и вы можете модифицировать их, (то есть, они или не на защищенном от записи носителе, или на чем-то, чью защиту можно преодолеть, например, на диске, который не демонтируют, или постоянно монтируемом носителе, не закрытым от записи)?
You've got 2 possibilities: У вас есть две возможности:
First you can just check the parameters of the software and run an "update" on the modified binary. For example for tripwire that's "tripwire -update /bin/target". Seconds you can modify the filelist of the binaries being checked - removing the entry of the replaced one. Первое, что вы можете, - это просто проверить параметры программы и запустить "update" с измененным двоичным файлом. Например, для "tripware" это будет: "tripwire -update /bin/target". Второе, что вам доступно - это изменить список проверяемых бинарных файлов, убрав запись о файле, вами замещенном.
Note that you should also check if the database file itself is checked too for changes! If yes - "update"/"delete" the entry as well. Заметьте, что вам следует также проверить, контролируются ли изменения самого файла с базой данных! Если да, то - также сделайте для соответствующей записи "update", "delete".

8. User Security Tricks

8. Уловки пользователей для обеспечения безопасности

This is a rare thing and is only for sake of completeness. Это встречается редко, и описание приводится только ради полноты.
Some users, named admins and hackers, usually don't want their own accounts to be used by someone else. That's why they sometimes put some security features into their startup files. Некоторые пользователи, которых зовут администраторами или хакерами, обычно не желают, чтобы их учетными записями пользовался кто-то еще. Поэтому, иногда встречаются особенности в их файлах "автозапуска", применяемые ими для безопасности.
So check all dotfiles (".profile", ".cshrc", ".login', ".logout" etc.) what commands they execute, what history logging and which searchpath they set. If f.e. "$HOME/bin" comes before "/bin" in the search path you should check the contents of this directory... maybe there's a program called "ls" or "w" installed which logs the execution time and after that executing the real program. Проверьте все файлы "с точками" (".profile", ".cshrc", ".login", ".logout" и тому подобные) для поиска команд, которые они запускают, какую "историю" записывают в журналы и какие пути поиска они устанавливают. Если, например, "$HOME/bin" идет перед "/bin" в путях поиска, вы должны проверить содержимое этого каталога... может случится, что там находится программа называемая "ls" или "w", которая фиксирует в журнал полное время исполнения и лишь после этого запускает реальную программу.
Other check automatically the "wtmp" and "lastlog" files for zap usage, manipulation of ".rhosts", ".Xauthority" files, active sniffers etc. Другие автоматически проверяют журналы "WMTP" и "lastlog" на предмет применения "zap", манипуляции файлами ".rhosts", ".Xauthority", работы активных перехватчиков пакетов и так далее...
Never mess with an account a unix wizard is using! Никогда не шутите с учетными записями, принадлежащими Unix wizard-ам (кудесникам).

9. Miscellaneous

9. Разное

Finally, before some last words about being under suspect or caught, here are some miscellaneous things which a worth to take a notice off. В заключении, перед тем как сказать несколько слов о поведении при нахождении под подозрением или арестом, я здесь приведу разные мысли, которые стоят того, чтобы о них был разговор.
Old «telnet clients do export the «USER» variable. An administrator who knows that and modified the «telnetd can get all user names with that and so identify the account you are hacking from, once he notices you. The new clients have been fixed - but a clever admin has got other possiblities to identify the user : the «UID, «MAIL and «HOME» variables are still exported and makes identifying of the account used by the hacker easy. Before you do a telnet, change the «USER», «UID», «MAIL» and «HOME» variable, maybe even the «PWD» variable if you are in the home directory. Старые клиенты «telnet» экспортировали переменную «USER». Администратор, который знает об этом, и модифицировал «telnetd», может получить имена всех пользователей и, таким образом, идентифицировать учетную запись, с которой вы ведете взлом, однажды, заметив проявление вашей активности. Новые клиенты исправлены, но опытный администратор может использовать другие возможности для идентификации пользователя, - переменные «UID», «MAIL» и «HOME» все еще экспортируются и позволяют легко идентифицировать учетную запись, использованной взломщиком. Перед тем как использовать «telnet», измените переменные «USER», «UID», «MAIL» и «HOME», и может быть даже переменную «PWD», если вы находитесь в «домашнем» каталоге.
On HP-UX < v10 you can make hidden directories. I'm not talking about «.» (dot) files or similar but a special flag. HP introduced it v9, but was removed from version 10 (because it was only used by hackers ;-). If you do a "chmod +H directory" it's invisible for the "ls -al". To see the hidden directories you need to add the «-H» switch to «ls», e.g. "ls -alH" to see everything. На машинах «HP-UX» до версии 10 у вас есть возможность создавать скрытые каталоги. Я не веду речь о файлах с точкой «.», а об особом флаге. Фирма HP ввела его в 9 версии, но убрала в 10, потому что он использовался только хакерами ;-) . Если вы сделаете «chmod +H directory», каталог будет невидимым для «ls -al». Чтобы увидеть скрытые директории необходимо добавить параметр «-H» к «ls», например, «ls -alH» все покажет.
Whenever you are in need to change the date of a file, remember that you can use the "touch" command to set the «atime» and «mtime». You can set the «ctime» only by raw writes to the harddisk... Если, когда бы то ни было, вам потребуется изменить временную метку файла, помните, что вы можете использовать команду «touch» для установки «atime» и «mtime». Установить «ctime» можно только при помощи прямой записи на жесткий диск...
If you install sniffer and it's an important system, then make sure that you either obfusicate the sniffer output (with an encryption algorythm [and i'm not talking about «rot13»] or let the sniffer send all the captured data via «icmp» or «udp» to an external host under your control. Why that? If the admin finds somehow the sniffer («cpm» and other software checking for sniffers) they can't identify in the logfile what data was sniffed, so he can't warn hosts sniffed by you". Если вы установили перехватчик пакетов и это серьезная система, обеспечьте или закрытие выходных данных перехватчика, используя шифрующий алгоритм, (я не веду речь о «rot13»), или пересылку перехватчиком всех данных через «icmp» или «udp» на внешний хост, находящийся под вашим контролем. Это все делается затем, чтобы если администратор нашел что-либо подобное перехватчику (использовав «cpm» и другие утилиты проверяющие их на присутствие), он не смог определить из лог-файла, какие данные были захвачены и, также, не смог предупредить хозяев хостов, которые вы контролировали с помощью перехватчиков пакетов".

Publications Top Page Projects