Показать сообщение отдельно

  #2  
Старый 06.12.2016, 17:35
afonn
Guest
Сообщений: n/a
Провел на форуме:
34692

Репутация: 0
По умолчанию

продолжение

Следующий запрос будет напечатать список всех файлов в текущем каталоге:

http://91.212.226.63/087dggl094aa/Ma...aid=;ls;&dbg=1

Мы использовали эту уязвимость для загрузки веб-оболочку на сервер.

Повышение привилегий

Нам удалось получить привилегии суперпользователя на сервере, эксплуатируя известную sock_sendpage()уязвимость. Существующий эксплоит должен быть изменен , чтобы разрешить выполнение в 64 - разрядной среде.



Ботнет панель администрирования

В той же директории с engine.confфайлом другой конфигурационный файл был найден, в котором содержатся параметры панели управления ботнетом.

$ SERVER [ "гнездо"] == "91.212.226.59:443" {

ssl.engine = "включить"

ssl.pemfile = "/etc/lighttpd/ssl/chief.pem"

# $ HTTP [ "хостов"] = ~ "^ engineadmin \ .com $" {

server.document-корень = "/ Var / WWW / двигатель / инструменты / общественность"

server.errorlog = "/var/log/lighttpd/admin.engine_error.log"

accesslog.filename = "/var/log/lighttpd/admin.engine_access.log"

url.rewrite = однократно ( "^ / ([0-9a-Za-Z /]+)/?\??(.*=.*)?$" => "/index.php?request=$1& $ 2 ")

$ HTTP [ "URL"] = ~ "^ /" {

auth.backend = "Htpasswd"

auth.backend.htpasswd.userfile = "/etc/lighttpd/htpasswd.engine"

auth.require = (

"/" => (

"Метод" => "основной",

"Царство" => "Используйте свой номер кредитной карты, как имя пользователя, CVV2 в качестве пароля Спасибо.",

"Требуют" => "действительный-пользователь"

)

)

}

#}

}

Содержание engine_admin.confфайла

Как вы можете видеть из файла, IP - адрес панели администрирования был 91.212.226.59. Сначала мы не смогли открыть его в браузере, так как наш IP - адрес не был в белый список для доступа к панели. Таким образом , мы должны были исправить белый список путем модификации правил брандмауэра в /root/ipt.rulesфайле.

-A -i ВВОД ло -j ACCEPT

-a -s Ввод 66.148.74.126/32~~HEAD=poss~~poss -p TCP -m TCP -m мультипортовый --dports 22,443,80,873,3306 -j ACCEPT

-A -s ВВОД 188.40.72.68/32 -p TCP -m TCP -m мультипортовый --dports 22,443,80,873,3306 -j ACCEPT

-A -s ВВОД 188.40.72.125/32 -p TCP -m TCP -m мультипортовый --dports 22,443,80,873,3306 -j ACCEPT

-A -s ВВОД 204.12.213.144/29 -p TCP -m TCP -m мультипортовый --dports 22,443,80,873,3306 -j ACCEPT

-a -s Ввод 91.212.226.49/32~~HEAD=poss~~poss -p TCP -m TCP -m мультипортовый --dports 22,443,80,873,3306 -j ACCEPT

-А -d 212.117.162.50/32~~HEAD=poss ВХОД -p -m TCP протокола TCP -m мультипортовый --dports 443,80 -j REJECT --reject-ИКМП-ПОРТ-недостижим

-А -d 91.212.226.59/32~~HEAD=poss ВХОД -p -m TCP протокола TCP -m мультипортовый --dports 443,80 -j REJECT --reject-ИКМП-ПОРТ-недостижим

-А -i Eth0 -p -m Ввод TCP протокола TCP -m мультипортовый --dports 3306 -j REJECT --reject-ИКМП-ПОРТ-недостижим

-A -s ВВОД 195.138.81.135/32 -p TCP -m TCP --dport 22 -j ACCEPT

-А -i Eth0 -p -m ВВОД TCP TCP --dport 873 -j REJECT --reject-ИКМП-ПОРТ-недостижим

-А -i Eth0 -p -m ВВОД TCP TCP --dport 22 -j REJECT --reject-ИКМП-ПОРТ-недостижим

COMMIT

Исходное содержимое ipt.rulesфайла

После разрыва начальной проверки авторизации IP, мы нашли еще одно препятствие для доступа к панели: Basic Authorization. Для прохождения базовой аутентификации, мы добавили новый логин к файлу htpasswd.engine. После получения доступа к серверу, можно было также прочитать текстовый пароль из базы данных.



Панель управления имеет дружественный пользовательский интерфейс, позволяющий просматривать подробную статистику ботнетов, такие как: общую сумму установки руткитов в день, национальность каждого бота, версии операционной системы и версии браузера. Кроме того, с помощью панели можно просмотреть дополнительные загружаемые модули для руткита, а также для просмотра команд которые в настоящее время выполняются роботами.



Статистика инфекций по дням



Статистика по ОС



Запущенный команды



Статистика по странам



TDSS модули

Изменение серверов C & C

В то время как мы играли вокруг с панели управления, новая версия руткита (3.64) начал распространяться, который общался с совершенно разными серверами C & C

[Tdlcmd]

серверы = https: //a57990057.cn/; https: //a58990058.cn/; https: //94.228.209.145/

wspservers = HTTP: //c36996639.cn/; HTTP: //c58446658.cn/

popupservers = HTTP: //m2121212.cn/

Сценарии управления были изменены на новом сервере. В частности, уязвимость , которая позволила отобразить вывод команды в сообщении об ошибке сервера был установлен. Но другие уязвимые места, которые мы нашли все еще были там, так что можно было прочитать index.phpфайл. В соответствии с его кодом, все исключения теперь записываются в лог - файл. Параметры сервера были изменены тоже. Помимо всего прочего, фронтэндом была установлена (Nginx) в дополнение к lighttpdсерверу HTTP. engine.confФайл не изменился.

Панель конфигурации была перенесена в 188.72.242.191, в то время как наш бэкдор сценарий остался на 188.72.242.190. Таким образом, нам не удалось получить доступ к бэкдор. Следующий сценарий был разработан, чтобы решить эту проблему:
 
Ответить с цитированием