Re: How to get credentials for network access in authentication package?



Does nobody have an answer?

Maybe I'm just too dumb, but I don't get how a LSA authentication
package is supposed to allow the calling logon package to get a complete
interactive token including all necessary credentials for network
access. MSDN states:

"The LSA calls the authentication package interface functions in the
custom package which, in turn, call the functions in MSV1_0. The custom
package must be able to pass the incoming logon information using data
structures supported by MSV1_0."

So, when my authentication package function LsaApLogonUser is called,
it's supposed to call CallPackageEx (AuthenticationPackage == MSV1_0,
....) with... what? A MSV1_0_INTERACTIVE_LOGON buffer? MSDN doesn't
tell.

How is that supposed to work at all, if the new authentication mechanism
does not use nor provide a password at any point?

Is there sample code or documentation (besides MSDN) available which
shows how to do that?

Corinna Vinschen wrote:
Hi,

maybe my question is a bit weird, but I guess I just don't understand
the whole logon process good enough. Bear with me.

My situation is this. I created a custom authentication package which
is supposed to be used by OpenSSH with public key authentication. The
public key is stored in the user's home dir and checked by the ssh
daemon, just like on any UNIX machine. When the authentication was
successful, the ssh daemon calls the authentication package which in
turn creates a user token. The resulting user token looks fine and the
user is correctly identified by, for instance, the whoami tool.

However, there was never a password exchanged in this process and the
credentials for network access are missing. The user can't access the
usual network shares, unless `net use' is called with explicitely
specifying the user's password. Or, when trying to get information from
AD using LDAP with default credentials, ldap_bind_s (ld, NULL, NULL,
LDAP_AUTH_NEGOTIATE) fails with error 0x01.

So here's the question. Is there a way to fetch and add the necessary
credentials in the authentication package or in the logon application,
without the need to specify the password? Is there some example code
which shows how to do it?


Thanks in advance,
Corinna

--
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat
.



Relevant Pages

  • Re: Accessing security information from an authentication provider
    ... An SSP implementing the LSA and application side of the package ... validate credentials, so you need a back-channel mechanism to talk to ... Register your SSP on both the client and server so that negotiate ... an authentication sequence which if successful will finish up on the ...
    (microsoft.public.platformsdk.security)
  • Re: Cached credentials and password expiration
    ... > There is no IAS server in place in this environment currently; ... > an IAS server to perform RADIUS authentication does not affect ... > connectivity to the DCs during the logon process. ... the cached credentials do not also store password information ...
    (microsoft.public.windows.server.active_directory)
  • Re: new email server
    ... BSD email platform to what I would expect from a brand new Microsoft ... and Mandrake and FC3 Linux platforms testing MTAs (Courier and Sendmail ... While I find that the Courier package is a more complete all ... authentication package and I recommend encrypting it all using SSL. ...
    (Fedora)
  • SUSE Security Announcement: squid (SuSE-SA:2004:016)
    ... The NTLM authentication helper application of Squid is vulnerable to ... Pending vulnerabilities in SUSE Distributions and Workarounds: ... The sitecopy package includes a vulnerable version of the ... A buffer overflow in psqlODBC could be exploited to crash the ...
    (Bugtraq)
  • [Full-Disclosure] SUSE Security Announcement: squid (SuSE-SA:2004:016)
    ... The NTLM authentication helper application of Squid is vulnerable to ... Pending vulnerabilities in SUSE Distributions and Workarounds: ... The sitecopy package includes a vulnerable version of the ... A buffer overflow in psqlODBC could be exploited to crash the ...
    (Full-Disclosure)