문제

어떤 API 를 얻는 현재 로그인한 사용자의 이름과 암호를 Windows?

사전에 감사합니다.

도움이 되었습니까?

해결책

비밀번호:지 않습 유지 보안을 위해-그것의 사용,그 후 삭제됩니다.을 검색할 수 있는 암호화된 암호를 위해 이용 레지스트리에서 충분한 권한이 주어진 다음,해독을 사용하여 같은 뭔가 무지개의 테이블, 지만,매우 자원을 집중적이고 시간이 걸리는 현재 사용 방법이 있습니다.더 나은 사용자 프롬프트.

또한,구현하려면 어떤 종류의'단일 사인온'시스템으로 Novell 않습니다,당신이 그것을 어떻게 해야를 통해 하나는 지나(pre-Vista)또는 자격 증명 공급자(Vista),는 것이 결과에 코드를 부여되는 사용자 이름과 비밀번호에서 로그인 유일한 시간에서는 암호를 사용할 수 있습니다.

사용자 이름을 얻 현재 사용자 이름(하는 사람이 실행되는 코드)은 쉽습니다:GetUserName 기능 AdvApi32.dll 는 정확하게 합니다.

실행하는 경우 서비스로서,당신은 기억이 없다 하나"로그인한 사용자에":거기에 여러 언제든지 등 LocalSystem,Windows,시스템 및 기타 계정에서는 실제 사람들이다. 이 문서에서 제공하는 몇 가지 예제 코드 및 설명서 을 위해 하는 것입니다.

다른 팁

나는 그것을 고려대의 보안 결함이었다면 가능하다!

당신이 얻을 수없는 사용자의 암호 이후 암호화(을 언급하지 않는 그것의 표준 실천하지를 저장할 암호를 일반 텍스트).

을 얻기를 위해 사용자 이름을 사용할 수 있습니다 GetUserNameNPGetUser

참고야 어떻게 그것은 완료,하지만"네트워크 Password Recovery"도구 http://www.nirsoft.net/utils/network_password_recovery.html 보 암호를 얻기 위해 일부에서 캐시입니다.

에 대한 많은 의견 제시 그것을 믿는 사람은 불가능을 공개하는 암호의 현재 로그인한 사용자 참조하십시오 덤프 암호를 일반 텍스트의 로그인한 사용자는(s) 는 사용하는 방법을 보여줍니다 mimikatz 그냥 그렇게 하:

mimikatz # privilege::debug
Demande d'ACTIVATION du privilège : SeDebugPrivilege : OK

mimikatz # sekurlsa::logonPasswords full
...
Utilisateur principal       : user
Domaine d'authentification  : domain
        kerberos :
         * Utilisateur  : user
         * Domaine      : domain
         * Mot de passe : pass

GetUserName 당신을 얻을 것이니 이름은,그러나 비밀번호를 얻을 수 없습니다.그것은 심지어 무언가를 Windows 점,AFAIK-만 해시의 암호입니다.

에 따라 무엇을 달성하기 위해 노력하는(당신이 우리들에게 말할 수 있는 조금 더.)그것은 가능한 가장하는 로그인에 사용 할 물건은 그/그녀의하를 대신합니다.

의 전체 세부 사항에서 인증 Windows API 에서 찾을 수 있습니다 MSDN:http://msdn.microsoft.com/en-us/library/aa374735(VS.85).aspx

I don't know about 윈도우 로그인 비밀번호...하지만 당신은 수를 일반 텍스트에서 암호를 증명 관리자입니다.여기에 예를 들어 프로그램을 끌어 암호를 위해 프로젝트가 많습니까?대부분의 경우,이와 같은 윈도우 로그인합니다.

namespace ShowPassword
{
    using Microsoft.TeamFoundation.Client;
    using System;
    using System.Net;

    class Program
    {
        static void Main(string[] args)
        {
            var tpc = new TfsTeamProjectCollection(new Uri("http://mycompany.com/tfs"));
            var nc = tpc.Credentials as NetworkCredential;
            Console.WriteLine("the password is " + nc.Password);
        }
    }
}

나는 컴파일된 이로"콘솔"응용 프로그램에 대 2015 년 Nuget 패키지 TeamFoundation ExtendedClient.

당신이 사용자 이름을 얻을 수 있으로 GetUserName()하지만,당신이 얻을 수 없습니다 암호를;이를 위반하는 보안에 대한 인형 101.

다시 네트워크"Password Recovery"도구
Windows(까지 XP)매장의 복사본을 passwd 간단한 휴식 하기 쉬운 암호화를 연결하는 이전 스타일의 lanmanager 네트워크 주식입니다.도구 generaly 가능한 모든 시도에 대한 암호를 사용하여,이 무지개이블(precaluted 암호화된 버전의 사전 낱말)속도이다.

에 XPsp2/3Vista 이 기능이 제거되었습니다.새로운 암호화가 더 힘들어하는 균열과 필요 많은 시간을 가능한 모든 시도 값이있다 온라인 서비스를 실행하는 그것의 큰 숫자를 기계에 당신을 제공하는 빠른 답변에 대한 가격입니다.

에 대답하고 원래 포스터-당신이하지 않는 일반적으로 암호를 저장하고 비교하는 사용자 typd 습니다.당신이 암호화(실제로 해시)입력한 비밀번호 및 저장니다.을 확인하는 암호를 수행할 동일한 암호화에는 어떤 사용자 enetered 과 비교.그것은 일반적으로 불가능에 가서 암호화된 양식으로 돌아가면 암호입니다.

편집 나는 당신을 의심하도록 요구하고 있다 잘못된 질문에 여기에 왜 당신은 당신이 암호를 원하는 무엇인지,당신은 노력하고 확인하고 언제입니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top