Gdzie WinSCP przechowuje informacje o stronie lub hasło? Nie mogę go znaleźć w Dokumentach i ustawieniach ...
Gdzie WinSCP przechowuje informacje o stronie lub hasło? Nie mogę go znaleźć w Dokumentach i ustawieniach ...
Odpowiedzi:
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 Export
w 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.
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.
To jest uproszczona wersja Cesar's
doskonałej odpowiedzi i zakłada, że twoje hasło nadal działa w SCP.
Utwórz plik wsadowy o nazwie, echo.cmd
któ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
:
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.cmd
pliku wsadowego. Wybierz także opcję:
Remember session password and pass it to PuTTY (SSH)
Kliknij OK
.
Teraz uruchom PuTTY z poziomu WinSCP.
Twoje wcześniej zapisane hasło powinno być teraz wyświetlane na ekranie!
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
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)”.
Kliknij OK, a następnie spróbuj uruchomić PuTTY z poziomu WinSCP.
Twoje wcześniej zapisane hasło powinno być teraz widoczne na ekranie.
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.
ps
systemie 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.)
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".
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 regedit
aplikację 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ą regedit
polecenia eksportowania do pliku tekstowego.
Następnie zmodyfikowałem wyeksportowany tekst w pliku tekstowym, tak aby używał go HKEY_CURRENT_USER
jako początku pełnego klucza przed podkluczem Software
Następnie regedit
zaimportował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, regedit
aby 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.
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).
Wystarczy ustawić poziom dziennika na maksimum w WinSCP i połączyć się z serwerem. Dzienniki zawierają proste hasło.