mRemoteNG: ujawniamy przechowywane hasła
Niedawno na łamach naszego Bloga pojawił się wpis o narzędziu mRemoteNG. Rozważania na temat wyższości jednego z menedżerów zdalnych połączeń nad innym, przypominają trochę rozważania na temat wyższości świąt Bożego Narodzenia nad świętami Wielkiej Nocy. Nie wdając się w polemikę, niniejszy post (a może i kilka innych), poświęcony będzie pewnemu problemowi jaki napotkać możecie w mRemoteNG.
mRemote Epizod I: Tylko dla Twoich oczu
Zdarzyło Wam się kiedyś zapomnieć hasła do systemu, do którego łączycie się za pomocą jakiegokolwiek managera połączeń? No baaa, podejrzewam, że nie jestem jedyny i jest to niestety dość częsty przypadek z życia każdego sysadmin’a :).
Osobom korzystającym na co dzień z mRemoteNG, z pomocą przychodzi dość prosta a zarazem całkiem ciekawa możliwość, odszyfrowania zapisanych haseł. Abstrahując, od potencjalnej burzy na temat „security breach” (kto nie chce, nie musi przecież korzystać z tego programu, poza tym, najpierw trzeba sforsować wszechpotężne zabezpieczenia stacji admin’a 😉 opcja ta, nie raz uratowała mi już tyłek.
Wszystko sprowadza się do zdefiniowania nowego „External Tool” w zakładce „Tools”
Po wybraniu w/w opcji, mamy możliwość skonfigurowania owego „zewnętrznego narzędzia”.
Owym narzędziem, może być dowolny program(skrypt) możliwy do uruchomienia z poziomu command line’a.
Podczas konfiguracji, musimy zdefiniować kilka parametrów:
Display Name – nazwa, pod którą widoczne będzie skonfigurowane przez nas narzędzie
Filename – ścieżka do programu (skryptu), który będziemy wywoływać
Arguments – dodatkowe parametry, które zostaną przekazane do uruchamianego programu (jeśli oczywiście ten program to umożliwia)
W wypadku tematu będącego sednem niniejszego post’a, a mianowicie deszyfracji zapisanych w mRemocie haseł, cała sztuczka polega na wyświetleniu magicznej zmiennej „lokalnej”, właściwej tylko dla mRemot’a, o wdzięcznej nazwie … %password% :).
Aby tego dokonać musimy skorzystać z … tego czego zazwyczaj używamy do wyświetlenia wartości danej zmiennej w systemie Windows, czyli z samego command line’a (choć w czasach PowerShell’a powyższe zdanie może powoli tracić na znaczeniu).
Wracając do definicji takiego narzędzia.
Jako „Filename” wpisujemy w tym wypadku:
„cmd”
Ponieważ nasz OS zna ścieżkę do w/w pliku cmd (spróbowałby nie :)), to nie potrzeba wpisywać nic więcej.
Jako „Arguments” wpisujemy:
„/k echo %password%”
Jak widzicie, w efekcie dostajemy nic innego, jak odpowiednik:
„cmd /k echo %password%”
Dla czytelności zapisu, celowo nie robię apostrofów, aby uprzedzić potencjalne błędy w definicjach zmiennych.
W moim przypadku, właściwości „narzędzia” które nazwałem „Passy”. 🙂 wyglądają mniej więcej tak:
Mi osobiście nie pokazuje haseł w formie jawnej. Uruchamiam skrypt i z poziomu „Narzędzia -> Narzędzia zewnętrzne” oraz „zaznaczając połączenie -> PPM -> Narzędzia zewnętrzne”. Jedyne co widzę w uruchomionym oknie cmd to nazwę zmiennej… %password . Co robię nie tak?
Poprawiłem.
Powinno być:
/k echo %password%
Potwierdzam, teraz działa 🙂 Bardzo fajny program! Liczę na dalsze wpisy na jego temat 🙂
A co konkretnie by Ciebie interesowało?
Może program ma jeszcze jakieś ukryte funkcje, które przydają się na co dzień? Planujecie jakiś wpis o programach IPAM?
Jeżeli chodzi o IPAM, to pewnie coś będzie musiało się niedługo pojawić, bo coraz więcej ludzi o tym wspomina. Miałem do czynienia tylko z płatnymi wersjami, ale na potrzeby wpisu będę musiał coś darmowego przetestować. GestioIP wygląda całkiem sensownie.
Będę musiał potestować GestioIP 🙂 Czy mRemoteNG można zabezpieczyć hasłem dostępowym, które trzeba podać aby uruchomić program?
A jest może jakiś sposób na TightVnc ? Chodzi mi że jak ustawiam ten program w mRemote to nie uzupełnia nr ip trzeba ręczenie wpisać, tak to by ułatwiło bo teraz to ma spis komputerów IP w excelu a chciałbym przejść na mRemota.
mRemoteNG obsługuje VNC natywnie 🙂