RouterOS vs. buffer overflow: who would win?

 

Pe scurt, mi-am schimbat routerul software (RouterOS x86) cu unul hardware (Mikrotik RB3011 RouterOS ARM) si am vrut sa ma joc cu OpenVAS. In timp ce am scanat toata reteaua, routerul s-a restartat de cateva ori. Am zis ca am setat o scanare prea intensa si ca a crapat din cauza asta (ceea ce ar fi destul de naspa), asa ca am ales o scanare mai simpluta doar pentru Mikrotik. Din pacate iar s-a restartat de cateva ori. Am asteptat sa se termine scanarea si sa primesc raportul. Se pare ca exista o vulnerabilitate si poti sa o explotezi foarte simplu. Vulnerabilitatea exista de ceva timp si a fost rezolvata din ce am cautat, dar aparent inca exista in RouterOS, sau mai bine zis in webserverul din RouterOS/Mikrotik.

Partea buna? Esti afectat daca ai UPnP activ, si problema devine reala doar daca cineva din interiorul retelei o exploateaza, deci temporary solution: disable UPnP, real men do Port Address Translation.
Pe unele soutere doar crapa serviciul de UPnP.  Pe al meu crapa tot routerul, dar daca am pornit /tool profile (sau daca sunt conectat prin SSH?) nu crapa decat atunci cand ies din SSH (si opresc /tool profile)

Anyway, mai multe detalii aici, plus bonus:

 

 

EDIT: In ziua in care am descoperit bug-ul am deschis tichet la Mikrotik. Dupa aproximativ 4 zile, problema a fost rezolvata de catre Mikrotik. In 3 saptamani a aparut un firmware nou cu bugfix-ul.

Integrare Zabbix cu Slack

Vreau sa fie clar de la inceput, nu e vorba de Slackware (distributia) ci de Slack (platforma/clientul de chat).

Acum ceva vreme am reusit sa integrez Zabbix cu un client de Zabbix pe iOS ce avea posibilitatea sa trimita notificari push atunci cand se intampla ceva in infrastructura mea. Lucrul asta nu mai functioneaza de la iOS 11 pentru ca developerul aplicatiei n-a mai updatat-o si pentru ultimul OS iPhone.
Nu am vrut sa activez notificarile prin email, deci am cautat alte metode prin care as putea sa trimit notificarile din Zabbix si am gasit ca cea mai usoara ar fi prin Slack. Am incercat sa integrez si prin alte metode, cum ar fi IFTTT (ma scarpinam invers) sau PubNub (prea complicat) dar am renuntat la idee.

Dupa “analiza pietei” am zic ca Slack e cea mai simpla rapida si mai usoara metoda. Plus ca inregistrarea in Slack dureaza maxim 3 minute (mai mult mi-a luat sa ma prind de ce nu primesc si pe telefon notificarile), e gratis, aplicatia e multiplatforma (Web, iOS, Android, Linux, Windows, Mac), iar in maxim 15-20 de minute ai terminat de configurat Slack si Zabbix.

Pasi pentru integrare (recomand sa cititi aici mai multe informatii):

  1. Dupa configurarea workspace-ului Slack, trebuie activat webhooks in Slack. La configurarea Webhooks eu am ales un canal nou in loc de un user, chiar daca sunt un one-man show. Poti sa configurezi sa trimiti notificari catre mai multe canale sau mai multi useri. E util cand ai mai multi oameni care se ocupa de diferite lucruri.
  2. Descarci scriptul si-l pui in folderul de alerte in Zabbix. In momentul asta poti sa testezi daca ai facut bine integrarea/configurarea Webhooks cu Slack. Daca reusesti sa trimiti mesaje din shell, atunci poti merge la pasul urmator
  3. Configrezi in Zabbix un media type nou, o alerta noua, o actiune noua, etc. Mai multe detalii gasesti aici. Din momentul asta nu mai ai treaba cu Slack si Webhooks. Daca la pasul 2 ai reusit sa trimiti mesajul de test, tot ce trebuie sa mai faci e sa configurezi Zabbix sa trimita alerte cum vrei tu.
  4. Dupa ce ai configurat Zabbix, poti opri agentul de pe un server si poti sa testezi daca notificarile ajung in canalul de Slack ales de tine.

 

Mai sus e un exemplu de notificare reala.

Bonus: By default aplicatia de mobil nu te notifica daca nu esti idle pe aplicatia de pe PC. Practic atata timp cat nu folosesti aplicatia de mobil (sau cat timp esti logat pe PC si il folosesti) primesti notificari doar pe PC. Acest lucru se poate dezactiva din setarile aplicatiei.