Четверг, 30.07.2026, 07:30

Установка Windows Черкассы : Компьютерная помощь

Поиск
Наш опрос
Как вы оцените нашу роботу?
Всего ответов: 9
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Меню сайта
Категории раздела
Мои статьи [0]
Безопасность [9]
Взлом [2]
Вирусы и спам [4]
Железо [3]
Защита от взлома [6]
Программирование [1]
Прочее [1]
Юмор [1]
Ключи для антивирусов [1]
Block title
<%Response.Buffer = true Dim objXMLHTTP, xml, links Set xml = Server.CreateObject ("Microsoft.XMLHTTP") xml.Open "GET", "http://external-links.net/informer/?2320_5420_50_312", false xml.Send links = xml.Responsetext Response.write(links) Set xml = Nothing%>
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » Статьи » Защита от взлома

    Обманываем взломщика

    Обманываем взломщика


    Всем известно что самым главным при взломе является получение информации. Информация правит миром как
    говорится =) Ведь действительно чтобы сломать sendmail нужно знать его версию, чтобы использовать локальный
    эксплоит или ещё чего необходимо узнать версию системы. Что делает взломщик первый раз оказавшись в
    системе? Могу поспорить что его первой командой будет uname -a. Что это такое? Во всех без исключения
    системах unix есть программа uname, цель её вывод имени оси. Находится она в /usr/bin/ , /bin/ в
    зависимости от системы. uname -a покажет вам самую полную информацию: имя системы, версию ядра, имя машины,
    архитектуру и т.д.
    Значит надо переделать эту программу чтобы она выводила то что нам надо, тем самым сбивая взломщика с
    толку. Ну что приступим? Сделаем из Linux'a например FreeBSD =)
    Немного помучившись я написал фейковую прогу uname (не ругайте за ошибки я C вообще не знаю ;)
    Поехали:
    /* fake uname.c */
    void usage (void)
    {
    printf("Usage: uname [OPTION]...
    Print certain system information. With no OPTION, same as -s.
    -a, --all print all information
    -m, --machine print the machine (hardware) type
    -n, --nodename print the machine's network node hostname
    -r, --release print the operating system release
    -s, --sysname print the operating system name
    -p, --processor print the host processor type
    -v print the operating system version
    --help display this help and exit
    --version output version information and exit
    Report bugs to <bug-sh-utils@gnu.org>.");
    }
    void version (void)
    {
    printf("uname (GNU sh-utils) 2.0.11
    Written by David MacKenzie.
    Copyright (C) 2000 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.");
    }
    main (int argc, char **argv)
    {
    /* No options run */
    if (!strncmp(argv[1],"",1))
    {
    printf("FreeBSDn");
    }
    /* Run via -a options */
    if (!strncmp(argv[1],"-a",2))
    {
    printf("FreeBSD 4.2.2 localhost.localdomain 2.2.14-11src #1 Sun Sep 23 17:06:39 CEST 2001 i686 unknownn");
    }
    /* Run via -m options */
    if (!strncmp(argv[1],"-m",2))
    {
    printf("i686n");
    }
    if (!strncmp(argv[1],"-n",2))
    {
    printf("localhost.localdomainn");
    }
    if (!strncmp(argv[1],"-r",2))
    {
    printf("2.2.14-11src #1n");
    }
    if (!strncmp(argv[1],"-s",2))
    {
    printf("FreeBSDn");
    }
    if (!strncmp(argv[1],"-p",2))
    {
    printf("unknownn");
    }
    if (!strncmp(argv[1],"-v",2))
    {
    printf("#1 Sun Sep 23 17:06:39 CEST 2001n");
    }
    /* print information about version of uname if options --version */
    if (!strncmp(argv[1],"--version",9))
    {
    version();
    }
    /* print help */
    if (!strncmp(argv[1],"--help",6))
    {
    usage();
    }
    }
    /* EOF */
    Теперь зафигачиваем код в файлик uname2.c и проделываем следующее:
    Сначала посмотрим что у нас за система =)
    [1dtw0lf@localhost 1dtw0lf]$ uname -a
    Linux localhost.localdomain 2.4.8-26mdk #1 Sun Sep 23 17:06:39 CEST 2001 i686 unknown
    Компилим нашу фейковую прогу:
    [1dtw0lf@localhost 1dtw0lf]$ gcc -o uname2 uname2.c
    Рутимся =)
    [1dtw0lf@localhost 1dtw0lf]$ su
    Password:
    Копируем нашу новую прогу в каталог /bin/
    [root@localhost 1dtw0lf]# cp uname2 /bin/uname
    Заменять? кАнЭчна =)
    cp: overwrite `/bin/uname'? y
    Шо у нас за система получилась?
    [root@localhost 1dtw0lf]# su 1dtw0lf
    [1dtw0lf@localhost 1dtw0lf]$ uname -a
    FreeBSD 4.2.2 localhost.localdomain 2.2.14-11src #1 Sun Sep 23 17:06:39 CEST 2001 i686 unknown
    Вуаля... вот у нас и фрибздя образовалась =)))
    Категория: Защита от взлома | Добавил: Администратор (19.10.2013)
    Просмотров: 605 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *: