Gdzie WinSCP przechowuje hasło do witryny?

17

Gdzie WinSCP przechowuje informacje o stronie lub hasło? Nie mogę go znaleźć w Dokumentach i ustawieniach ...

Stan
źródło
Wiem, że to rozwiązanie będzie zbyt łatwe dla superużytkowników;) ale jeśli nie chcesz ubrudzić sobie rąk lub po prostu chcesz zobaczyć hasła jak najszybciej, imho dobrą opcją jest skorzystanie z dodatkowego narzędzia do odzyskiwania hasła smartftp . nie chcę się reklamować czy coś, ale dla mnie było to naprawdę przydatne narzędzie. btw tutaj jest szybki tut, jak zobaczyć te hasła: digitalette.com/web/recover-lost-ftp-passwords-winscp mam nadzieję, że pomogłem
flasherr

Odpowiedzi:

9

Plik konfiguracyjny jest przechowywany w rejestrze systemu Windows lub, w przypadku korzystania z wersji przenośnej, w pliku INI. ( Zobacz dokumentację. ) Lokalizacja rejestru to:

HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2

Zawsze możesz wyeksportować ustawienia do pliku INI, naciskając Exportw oknie dialogowym preferencji.

Pamiętaj, że hasła nie są przechowywane w tekście, ale zakodowane. Chociaż jest trudny do odszyfrowania, nie jest to niemożliwe.

Paul Lammertsma
źródło
4
W WinSCP 5.2.xi późniejszych funkcja eksportu została przeniesiona do Narzędzia> Konfiguracja eksportu / kopii zapasowej w oknie dialogowym logowania.
Martin Prikryl
20

Wypróbuj tę metodę.

zaloguj się do zapisanej sesji

przejdź do menu sesji

kliknij wygeneruj adres URL

sprawdź tylko nazwę użytkownika i opcje hasła (jeśli potrzebujesz bieżącej ścieżki do katalogu, kliknij tę opcję również)

Masz wiele opcji, Montaż URL / Script / .Net, wybierz żądany.

kliknij kopiuj do schowka.

będzie zawierać nazwę użytkownika i hasło.

Otóż ​​to.

pakistanimoon
źródło
2
Oszczędzanie życia, mam prawie 100 kont z nieznanymi (zapisanymi) hasłami. To działało dla mnie.
Andy Gee,
2
To najłatwiejsza odpowiedź
Gajotres
1
koniecznie wykonaj dekodowanie
adresu
9

To jest uproszczona wersja Cesar'sdoskonałej odpowiedzi i zakłada, że ​​twoje hasło nadal działa w SCP.

Utwórz plik wsadowy o nazwie, echo.cmdktóry zawiera następujące elementy:

echo %*
pause

Umieść go w odpowiednim miejscu, na przykład na pulpicie.

Uruchom WinSCP i połącz się z witryną. Kliknij na Options -> Preferences:

Preferencje WinSCP

W oknie dialogowym Preferencje przejdź do Integration -> Applications. Zastąpić to, co było wcześniej na ścieżce PuTTY ze ścieżką do nowo utworzonego echo.cmdpliku wsadowego. Wybierz także opcję:

Remember session password and pass it to PuTTY (SSH)

Preferencje PutSCP

Kliknij OK.

Teraz uruchom PuTTY z poziomu WinSCP.

Twoje wcześniej zapisane hasło powinno być teraz wyświetlane na ekranie!

Steve Eynon
źródło
6

Utwórz nową aplikację konsoli C #, a następnie wpisz następujący program:

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            foreach (var str in args)
                System.Console.WriteLine(str);
            System.Console.ReadLine();
        }
    }
}

Jeśli nie jesteś programistą C #, możesz zrobić to równie łatwo w każdym innym języku, który znasz. Chodzi o to, aby po prostu wypisać wartości przekazane jako argument do programu. Możesz to zrobić nawet za pomocą skryptu, jeśli jest Ci to bardziej znane.

Teraz skompiluj program i weź swój plik binarny (taki jak ConsoleApplication8.exe). Umieść go w odpowiednim miejscu, na przykład na pulpicie.

Teraz, jeśli twoje hasło nadal działa, uruchom WinSCP i połącz się z witryną. Kliknij Opcje -> Preferencje

wprowadź opis zdjęcia tutaj

W oknie dialogowym Preferencje przejdź do Integracja -> Aplikacje. Zastąp to, co poprzednio było na ścieżce PuTTY, ścieżką do nowo utworzonego pliku binarnego. Wybierz także opcję „Zapamiętaj hasło sesji i przekaż je PuTTY (SSH)”.

wprowadź opis zdjęcia tutaj

Kliknij OK, a następnie spróbuj uruchomić PuTTY z poziomu WinSCP.

Twoje wcześniej zapisane hasło powinno być teraz widoczne na ekranie.

Cesar
źródło
2
To całkiem sprytne!
Paul Lammertsma
6

Miałem bardzo dziwny przypadek użycia, musiałem odzyskać hasło, ale administratorzy systemu zablokowali moje środowisko, więc nie mogłem uruchamiać żadnych plików wykonywalnych nie znajdujących się na białej liście, a to dotyczyło plików .cmd.

Moim rozwiązaniem było skierowanie wiersza poleceń Putty na Notepad ++.

Kiedy się uruchomił, powiedział „Plik -pw” nie istnieje, czy powinienem go utworzyć, mówisz „nie”.

Potem mówi: „Plik {tutaj pojawia się hasło} nie istnieje, powinienem go utworzyć” i znowu mówisz teraz, i tak, hasło było w postaci zwykłego tekstu.

Toby Wild
źródło
1
Niezła sztuczka. Zastanawiam się, czy parametry wiersza polecenia mogą być również widoczne w, powiedzmy, Menedżerze zadań Windows? (W pssystemie Unix uruchamianie wyświetlałoby hasła, jeśli byłyby podane w wierszu poleceń, także dla podprocesów, gdyby działały przez jakiś czas.)
Arjan
2

Możesz użyć narzędzia takiego jak WireShark, aby „zobaczyć”, co dzieje się nad drutem. Chodzi mi o to, aby mieć uruchomioną sesję przechwytywania pakietów (w WireShark), a następnie zalogować się na serwerze FTP (za pomocą WinSCP, bez szyfrowania).

Następnie, patrząc na zarejestrowaną sesję w WireShark, można łatwo zidentyfikować „dyskusję” (na przykład filtrowanie według docelowego adresu IP), a następnie zidentyfikować zapytanie: USER blabla, a następnie ZAPYTANIE: PASS blabla, na poziomie FTP "rozmowa".

tzup
źródło
2

Doszedłem do tej odpowiedzi, badając nieco inny problem, jednak było to pomocne i chciałem podzielić się tym, co zrobiłem.

Mój problem polegał na tym, że korzystałem z WinSCP z hasłami zapisanymi w systemie Windows XP w domenie Active Directory, która następnie uległa zmianie. Wraz z nową domeną Active Directory mój profil użytkownika również się zmienił, w wyniku czego WinSCP nie pokazuje zapisanych profili logowania.

Aby odzyskać poprzednie profile logowania WinSCP, wykonałem następujące czynności.

Uruchomiłem regeditaplikację i przeszukałem wszystkie klucze o nazwie Martin Prikryl. Po kilku fałszywych dopasowaniach znalazłem klucz z poprawnymi danymi sesji.

Następnie wyeksportowałem klucz rejestru Sesja WinSCP za pomocą regeditpolecenia eksportowania do pliku tekstowego.

Następnie zmodyfikowałem wyeksportowany tekst w pliku tekstowym, tak aby używał go HKEY_CURRENT_USERjako początku pełnego klucza przed podkluczem Software

Następnie regeditzaimportowałem dane, aby zmodyfikować klucze rejestru systemu Windows używane przez WinSCP dla bieżącego użytkownika.

Działania te wykonały następujące czynności: (1) odnalazły dane sesji logowania WinSCP dla starego profilu użytkownika, (2) wykonały kopię tych danych, (3) zmodyfikowały klucz rejestru Windows, aby umożliwić import, regeditaby zmodyfikować bieżącego użytkownika, (4) zaimportował dane modyfikujące wpisy rejestru WinSCP dla bieżącego profilu użytkownika.

Po wykonaniu tej procedury mogłem uzyskać dostęp do mojego serwera WWW za pomocą WinSCP.

Prawdopodobnie jest kilka powodów, dla których było to proste i zadziałało. Przede wszystkim ten komputer był używany tylko przez jedną osobę, więc nie został udostępniony, aby zmniejszyć liczbę fałszywych dopasowań. Po drugie miałem uprawnienia administratora do komputera. Po trzecie, był to Windows XP, a nie Windows 7/8.

Richard Chambers
źródło
1

Cytując WinSCP FAQ Czy mogę odzyskać hasło zapisane w sesji WinSCP? :

Jednym ze sposobów odzyskania hasła jest włączenie preferencji logowania hasła. Zobacz opcję preferencji Rejestruj hasła i inne poufne informacje . Następnie sprawdź plik dziennika sesji, aby znaleźć zapisane hasło.

 . 2017-06-13 07:41:11.313 ---------------------------------------------------------------
 . 2017-06-13 07:41:11.313 WinSCP Version 5.9.5 (Build 7441) (OS 10.0.15063 - Windows 10)
 . 2017-06-13 07:41:11.313 Configuration: HKCU\Software\Martin Prikryl\WinSCP 2\
 . 2017-06-13 07:41:11.313 Log level: Normal, Logging passwords
 ...
 . 2017-06-13 07:41:11.313 ---------------------------------------------------------------
 . 2017-06-13 07:41:11.313 Session name: My server (Site)
 . 2017-06-13 07:41:11.313 Host name: example.com (Port: 22)
 . 2017-06-13 07:41:11.313 User name: martin (Password: mypassword, Key file: No)

Możesz także nadużyć funkcji Generuj adres URL / kod sesji w celu odzyskania zapisanego hasła. Pamiętaj, że specjalne symbole w haśle mogą zostać usunięte. Najprawdopodobniej hasło pozostanie nienaruszone w kodzie asemblera .NET , gdzie unikane są tylko cudzysłowy (we wszystkich obsługiwanych językach).

wprowadź opis zdjęcia tutaj

Martin Prikryl
źródło
Sugestia z WinSCP FAQ była rozwiązaniem w moim przypadku. Poprosiłem klienta o zmianę adresu IP serwera FTP i ponowne użycie oryginalnego hasła. Wiele innych opublikowanych tutaj rozwiązań wymaga najpierw nawiązania połączenia, co w moim przypadku nie było możliwe. Tymczasowo włączyłem rejestrowanie poufnych danych, próbowałem połączyć się ze starym adresem IP, pozwoliłem mu zakończyć się niepowodzeniem, a hasło użyte podczas próby było obecne w dzienniku.
korzeń
0

Wystarczy ustawić poziom dziennika na maksimum w WinSCP i połączyć się z serwerem. Dzienniki zawierają proste hasło.

Preferencje dzienników

Eduardo Gonçalves Corrêa
źródło
Nie chodzi o poziom dziennika, ale o „Loguj hasła i inne poufne informacje” .
Martin Prikryl,
Przepraszam. Tak, muszę zaznaczyć opcję „loguj hasła ...”
Eduardo Gonçalves Corrêa