Крейг Хеффнер (Craig Heffner) из компании Tactical Network Solutions обнаружил легко эксплуатируемый бэкдор в маршрутизаторах компании D-Link.

Если установить user-agent браузера в значение xmlset_roodkcableoj28840ybtide, то кто угодно может получить доступ к административной панели маршрутизатора.

Запись xmlset_roodkcableoj28840ybtide при прочтении в обратном порядке расшифровывается как Edit by 04882 Joel backdoor, что явно указывает на злонамеренное внедрение бэкдора в прошивку.

Уязвимость присутствует в следующих моделях маршрутизаторов D-Link:

  • DIR-100
  • DI-524
  • DI-524UP
  • DI-604S
  • DI-604UP
  • DI-604+
  • TM-G5240

Кроме того, уязвимость присутствует в японских маршрутизаторах Planex BRL-04UR и BRL-04CW, которые используют прошивку D-Link.

Крейг Хеффнер нашел уязвимость благодаря реверс-инжинирингу прошивки 1.13 для маршрутизатора DIR-100 revA. Установив ее на виртуальном веб-сервере, исследователь обратил внимание на загадочную функцию alpha_auth_check, которая предоставляет доступ к административной панели. Как выяснилось, эту функцию можно вызвать из разных мест, в том числе из alpha_httpd_parse_request, где проверяется user-agent браузера.

#define AUTH_OK 1
#define AUTH_FAIL -1

int alpha_auth_check(struct http_request_t *request)
{
    if(strstr(request->url, "graphic/") ||
       strstr(request->url, "public/") ||
       strcmp(request->user_agent, "xmlset_roodkcableoj28840ybtide") == 0)
    {
        return AUTH_OK;
    }
    else
    {
        // These arguments are probably user/pass or session info
        if(check_login(request->0xC, request->0xE0) != 0)
        {
            return AUTH_OK;
        }
    }

    return AUTH_FAIL;
}

Вероятно, компания D-Link внедрила бэкдор для возможности удаленного изменения настроек маршрутизатора. Кстати, информация об этой строке проскакивала на российских форумах еще в январе 2010 года, но тогда ей не нашли применения.



4 комментария

  1. 03.08.2014 at 20:37

    так как-же защититься от этой дыры (про гильотину не вспоминайте)? Кто-нить заглядывал в свежие прошивки? Этот Джоуи — это программист в ДЛинке или программист, писавший модуль Линукса, который спиратили Линки?

  2. max_himik

    05.02.2016 at 18:22

    Как же приятно узнать, что труды мои зря не пропали!
    А знаете как нашел? Просто открыл в угаре бинарник прошивки и долго читал кракозябры, пока не наткнулся на читаемый текст «roodcableoj»

  3. max_himik

    05.02.2016 at 18:25

    а самим процессом занимался в глухой деревне «Мутовки», на дебиановской машине с поколотым кристаллом AMD

Оставить мнение