Blog

Authentization of SMB shared folders

Authentication to shared folders using SMB protocol

The use of authentication mechanisms to access shared folders depends on the supported version SMB protocol and supported operating system mechanisms. This is a continuation of the article on File sharing on Windows networks.

Overview of authentication methods for accessing storage using SMB protocol

The choice of possible data sharing technologies in the Windows network environment is very closely related to logging in and the login mechanisms used. If sharing technology is chosen, more precisely the version used sharing, it is necessary to consider which login technologies will be used. Some of these technologies they are no longer safe enough, some of them are critically weak. Table shown here shows which systems supported which login methods. To highlight the weaknesses of these mechanisms, a full development including ancient history is given. It is important to remember that mechanisms dating back nearly half a century cannot stand up today and are a reliable way into the system for attackers.

Operating System Preferred Not recommended Disabled
MS-DOS 3.0 + Microsoft Network Client (1985) LANMAN - -
OS/2 1.2 (1988) LANMAN - -
Windows for Workgroups 3.1 (1992) LANMAN - -
Samba 1.x (1992) LANMAN - -
Windows 3.11 for Workgroups (1993) LANMAN - -
Windows NT 3.1 (1993) LANMAN
NTLMv1
- -
Windows NT 3.5 (1994) LANMAN
NTLMv1
- -
Windows NT 3.51 (1995) LANMAN
NTLMv1
- -
Windows 95 (1995) LANMAN - -
Windows NT 4.0 (1996) NTLMv1
NTLMv2 (SP4)
LANMAN -
Samba 2.0 (1996) NTLMv1 LANMAN -
Windows 98 (1998) NTLMv1 LANMAN -
Windows ME (2000) NTLMv1 LANMAN -
Windows 2000 (2000) NTLMv1
NTLMv2
Kerberos
LANMAN -
Windows XP (2001) NTLMv1
NTLMv2
Kerberos
LANMAN -
Windows Server 2003 (2003) NTLMv2
Kerberos
SAML
NTLMv1 LANMAN
Samba 3.0 2003 (2003) NTLMv2
Kerberos
NTLMv1
LANMAN
-
Windows Vista (2006) NTLMv2
Kerberos
SAML
NTLMv1 LANMAN
Windows Server 2008 (2008) NTLMv2
Kerberos
SAML
NTLMv1 LANMAN
Windows 7 (2009) NTLMv2
Kerberos
SAML
NTLMv1 LANMAN
Windows Server 2008 R2 (2009) NTLMv2
Kerberos
SAML
NTLMv1 LANMAN
Windows 8 (2012) NTLMv2
Kerberos
MS Account
SAML
NTLMv1 LANMAN
Windows Server 2012 (2012) NTLMv2
Kerberos
MS Account
SAML
NTLMv1 LANMAN
Samba 4.0 (2003) NTLMv2
Kerberos
- NTLMv1
LANMAN
Windows 8.1 (2013) NTLMv2
Kerberos
MS Account
SAML
NTLMv1 LANMAN
Windows Server 2012 R2 (2013) NTLMv2
Kerberos
MS Account
SAML
Hello
NTLMv1 LANMAN
Windows 10 (2015) NTLMv2
Kerberos
MS Account
SAML
Hello
- LANMAN
NTLMv1
Windows Server 2016 (2016) NTLMv2
Kerberos
MS Account
SAML
Hello
- LANMAN
NTLMv1
Windows Server 2019 (2018) NTLMv2
Kerberos
MS Account
SAML
Hello
- LANMAN
NTLMv1
Windows 11 (2021) NTLMv2
Kerberos
MS Account
SAML
Hello
- LANMAN
NTLMv1
Windows Server 2021 (2022) NTLMv2
Kerberos
MS Account
SAML
Hello
- LANMAN
NTLMv1

Assessment of the supported methods against each version of the protocols

As you can see, some methods are relatively old and fortunately started to be abandoned. As a rule security problems and developments in the field of cryptography were the cause. Next will be described the individual algorithms, their own development and features. Algorithms such as SAML, Microsoft Account, Microsoft Hello will be purposely omitted in this article because they cannot be directly used for access to shared folders. As a rule, they are used for other services and access control is mediated by NTLMv2 or Kerberos mechanisms. In general, therefore, on the basis of the available information, it is possible to say about support for authentication mechanisms approximately as follows.


Protocol version Supported mechanisms
SMB1 LANMAN
NTLMv1
CIFS LANMAN
NTLMv1
SMB2 NTLMv1
NTLMv2 (if it is not possible to use Kerberos)
Kerberos
SMB3 NTLMv1 (not recommended)
NTLMv2 (if it is not possible to use Kerberos)
Kerberos

LANMAN mechanism

One of the oldest methods for authenticating users on the network is LANMAN. This method used the encryption algorithm DES, which was among the best algorithms at the time. Unfortunately, it also created one of the great weaknesses that the algorithm has. In the example of this algorithm, it is necessary to distinguish between the LMHash cryptographic mechanism and the authentication method LANMAN. The actual authentication method has gone through a long development and is no longer recommended since Windows NT 4.0. The versions were:


Version Year Operating system
MS LAN Manager 1.0 Basic/Enhanced 1987 MS-DOS 3.0
MS LAN Manager 1.1 1989 OS/2
MS LAN Manager 2.0 1991 MS-DOS 5.0
MS LAN Manager 2.1 1991 Windows for Workgroup 3.1
MS LAN Manager 2.1a 1992 Windows for Workgroup 3.11
MS LAN Manager 2.2 1993 Windows NT 3.1
MS LAN Manager 2.2a 1994 Windows NT 3.5

Authentization:
Negotiate (Client –> Server): Send U=Username
Challenge (Server –> Client): Send C=Challenge
Authenticate (Client –> Server): Send Encrypted DES(Key=LMhash, C)

Among the biggest weaknesses of the authentication scheme:

  • Too short challenge.
  • Missing salt (e.g. user challenge), ensuring that passwords are distinguished between users.
  • Not protected against relay attack.
  • Not protected against replay attack, only the challenge provided by the server creates partial protection.
  • Missing two-way authentication.
  • Not protected against MITM attack.
  • Not supported by MFA.

LMhash=DESeach7B(DOSCHARSET(UPPERCASE(password)),"KGS!@#$%")

The LMhash function itself, which is used in the authentication method, has the following problems:

  • The user password is the key for the DES algorithm. Because DES has a 56b rather than a 64b password, the user input is always 7B/56b instead of 8B or 14B/112b instead of 16B. The eighth password byte for DES is always empty (0x00).
  • A password longer than 14 characters is not possible, it is not supported by the algorithm.
  • The password may contain some special characters, numbers, space and uppercase letters. Lowercase letters are converted to uppercase. This means 26 characters (A-Z), 10 digits (0-9) and 10 special characters. In total, it is possible to achieve a maximum of 78b entropy of the input for a 14 character password. This corresponds to approximately a 10 character password with no specified input range limitations.
  • A password shorter than 8 characters can be attacked and the original input counted, or the passwords can be split into pairs of 8B outputs and the password values counted.
  • For passwords with a length of 8 or more characters, rainbow tables (Rainbow table) can be used. It is also possible to use them for shorter passwords.
  • The algorithm is not unidirectional and allows the user's original password to be counted as well.

Mechanism of NTLMv1

The NTLMv1 algorithm (originally only NTLM) was designed to replace the original and weak LANMAN algorithm for authentication. He had many bugs and the effort was to replace the DES algorithm along with the reversible encrypt with a one-way hash function and remove the biggest drawbacks of this login method. Z for this reason the NTLM algorithm was developed, which unfortunately took over most of the maladies from the original mechanism. A significant advantage was the extension of the password, unfortunately there was still no protection against some types of attacks. The result of the hash function is 128b output, which with an extension of 5 zero bytes becomes 168b block. This can be divided into 3x56b, the size corresponding to the key material for DES. The actual authentication algorithm behaves almost the same and has the same errors as the algorithm LANMAN.


Negotiate (Client –> Server): Send U=Username
Challenge (Server –> Client): Send CS=Challenge (8B Server challenge)
K1 || 0x00 || K2 || 0x00 || K3 || 0x00, 0x00, 0x00 = NTLM-Hash
RC = DES(K1,SC) || DES(K2,SC) || DES(K3,SC)
Authenticate (Client –> Server): Send RC

Core of the NTLMhash authentization mechanism can be described as:
NTLMhash=MD4(UTF-16-LE(password))

Among the biggest weaknesses of the authentication scheme:
  • Too short a challenge.
  • Missing salt (e.g. a user challenge), ensuring that passwords are distinguished from each user.
  • Does not have protection against relay attack.
  • Does not have protection against replay attack, only the challenge provided by the server (PtH - pass the hash) creates partial protection.
  • Missing two-way authentication.
  • Does not have protection against MITM attack.
  • Does not support MFA.

The NTLMv2 mechanism

Only NTLMv2 solved some of the problems with the original mechanisms. Unfortunately, it appeared at the time when the MD5 attacks came on the scene. While the MD5-based HMAC function has not yet been breached, on the other hand, it was clear that this procedure was just a re-usability. Yet to this day, the mechanism is one of the basic authentication schemes, and if no other method authentication is available, the procedure is the only one.


Among the biggest weaknesses of the authentication scheme:

  • Too short challenge.
  • Has no protection against relay attack.
  • Has no protection against replay attack, only provided by the server (PtH - pass the hash)
  • No two-way authentication.
  • Has no protection against MITM attack.
  • Not enough MFA support

Negotiate (Client –> Server): Send U=Username
Challenge (Server –> Client): Send CS=Challenge (8B Server challenge)
CC = 8-byte client challenge, random
CT = (version, time, CC, domain name)
NTLMv2hash = HMAC-MD5(NTLMhash, User Name||Domain Name)
LMv2 = HMAC-MD5(NTLMv2hash, SC, CC)
NTv2 = HMAC-MD5(NTLMv2hash, SC, CT)
RC = LMv2 || CC || NTv2 || CT
Authenticate (Client –> Server): Send RC


The actual kernel of the authentication mechanism again relies on the original NTLMhash algorithm, which is modified with an additional layer of protection. This is solved thanks to HMAC-MD5, and to ensure the relationship between the password and the user account, the information is linked. There is also a simple form of replay attack protection with the help of a timestamp.
NTLMv2hash=HMAC-MD5(NTLMhash, user name||domain name)
Long description:
NTLMv2hash=MD5(MD4(UTF-16-LE(password)) 0x5c5c..5c,
                  MD5(MD4(UTF-16-LE(password))
0x3636..36,username||domain name))

Arrival of Active Directory and Kerberos mechanism

The history of the Kerberos protocol began in 1983 as an internal MIT authentication project. First three versions were used only internally. Subsequently within the project Athena [7] Version 4 was created. Written by Steve Miller and Clifford Neuman, it was released on January 24, 1989. Due to export restrictions were not It is possible to use the DES algorithm and therefore other versions have been created abroad. One of them was by Eric Young and was created in Australia, the second was created in Sweden (KTH-KRB). The end of the aid was announced in 2006 the DES algorithm and thus the Kerberos v4 support was terminated. In 1993 Kerberos v5 was released, the authors of which were again Clifford Neman and with him John Kohl. Its expansion in 2005 removed support for the DES algorithm, RC4-HMAC-EXP and other vulnerable algorithms, on the other hand, added support for the AES algorithm. Currently the development is overarching consortium Kerberos [8] and MIT Kerberos consortium [9].
Kerberos was a completely new approach to the system authentication problem that was first used in the Active Directory of Windows 2000. More specifically, Microsoft first used it here. It is practically an implementation of Kerberos 5 with some limitations that are given by the supported cryptographic algorithms. In addition to explaining how this protocol works it is important to specify exactly how the Kerberos protocol uses certain settings and specific sets of cryptographic protocols in the Microsoft Windows environment. The basic description is quite simple. As part of the authentication process, the user identifies the authentication service (AS – Authentication Server). Because both the user and the authentication service know the credentials, the server creates a service key (token) for (TGS – Ticket Granting Server), encrypted using the client's secret key (password or password-derived credential). Based on this key, the user can decrypt important data that will allow him to communicate with TGS. This in turn assigns a ticket for authentication between the client and the server and provides information important for the collaboration. For an idea of how this protocol works, it is advisable to go through the different communication steps, the source files of the network communication can be downloaded on the Wireshark website, Kerberos section [10].

Communication between participants takes place over the UDP/88 and TCP/88 ports. Among the biggest weaknesses of the authentication scheme are:

  • Weak, not recommended today algorithms to ensure message integrity - CRC32, MD5, SHA1.
  • Weak, not recommended today algorithms to ensure message confidentiality - DES, 3DES, RC2, RC4.
  • Export version of algorithms with targeted weakened mechanisms (40b password, cropped outputs of hash functions).
  • Possibility of password hash misuse:
    • PtH - pass the hash
    • Oth - Overpass the hash
    • PtT - Pass the Ticket
    • PtC - Pass the Cache)
  • No mutual authentication.
  • No protection against MITM attack.
  • Insufficient MFA support.

Kerberos Protokol

Important information:

  • AS - Authentication Service is a service that is part of the KDC. In the case of Active Directory is a DC (Domain Controller). This is the first head of Kerber.
  • TGS - Ticket Granting Service is a service used for allocating a ticket. Practically the second head of Cerberus.
  • AP - Application Server or just a server, offers a service requested by the user. It is the third head of Kerber.
  • KDC - Key Distribution Center, contains AS and TGS.
  • PAC - Privilege Attribute Certificate ke structure used in almost every ticket and is signed using KDC key.
  • TGT - Ticket Granting Ticket is a ticket that is shown to the KDC to obtain information from TGS. TGT is encrypted using KDC key.
Key Material:
  • User key (KC, KeyClient) - in the case of Active Directory is derived from NTLM hash or it is a NTLM hash.
  • TGS key (KTGS, KeyTicket Grantig Service) - also KDC or krbtgt key (account krbtgt), in the case of Active Directory it is derived from the NTLM hash of the account (user or service).
  • AP key (KAP, KeyAPplication server) - key of service, service account or machine, is derived from the NTLM hash or it is directly a NTLM hash.
  • KTS key / session key (KTS, KeyTicket Session) - is randomly generated by TGS and indicates is like Session Key.
  • KSS key / service session key (KSS, KeyService Session) - is generated based on timestamps. In most documents it is referred to as KCS or Service Session Key

Breakdown of exchanged messages:

  • S1: AS REQUEST, part of the client's query for AS.
           IDClient||TimestampClient||NonceClient
  • R2: AS REPLY, part of AS response.
           KKTS=Enc(KClient,KKTS)
  • R3: AS REPLY, part of AS response.
           TGT=Enc(KTGS,IDClient||KClient||Lifetime||..)
  • S4: TGS REQUEST, part of the message on TGS.
           Enc(KTGS, TGT) - copy of encrypted TGT ticket from previous step
  • S5: TGS REQUEST, part of the message on TGS.
           Enc(KTS, IDClient||Timestamp||..)||IDServer||NonceClient
  • R6: TGS REPLY, part of TGS response.
           Enc(KAP, KSS)
  • R7: TGS REPLY, part of TGS response.
           Enc(KTS, IDClient||KSS||Lifetime|||..)
  • S8: AP REQUEST, part of the message to the application server.
           Enc(KAP, KSS) - copy of Session key from previous step
  • S9: AP REQUEST, part of the message to the application server.
           Enc(KSS, IDClient||Timestamp)
  • R10: AP REPLY, part of the application server response. This response occurs only in the case of mutual authentication
           Enc(KSS, TimestapmServer)
  • S10: PAC VALIDATION REQUEST, part of optional client authentication by application server on TGS. It is generally not used.
           Enc(KAP, PAC Signature||PAC Info||TGT||Timestamp)
  • R11: PAC VALIDATION RESPONSE, part of the optional TGS response to the application server. It is generally not used.
           Enc(KAP, Validated PAC Signature||Validated PAC Attributes||Timestamp)
  • If the default setting is used, i.e. the communication encryption policy is not set, the RC4-HMAC algorithm is used, otherwise also RC4-HMAC-MD5. This is not entirely true, at the beginning the DES algorithms were used. For Kerberos communication this can be seen, for example, in Wireshark when analysing the communication according to the value of etype 23, in case of export to a text form, usually according to the initial string "23/0x17h". Note for the margin, DES used the etype values "1/0x01h" and "3/0x03h". Under this condition, the NTLMhash of the user password is used as the key for encryption. This also poses a problem, mainly due to attacks on RC4, which can now be broken in an interval of around 12sec. Furthermore, since no password generator, salt or nonce is used here, the authentication process thanks to this takes place in an extremely unfortunate way with the possibility of obtaining user passwords.

    If the encryption policy is set, but other conditions are not met (i.e. not Forest Level at least at the Active Directory version 2012 level and users are not in the corresponding user security group "Protected Users"), although encryption occurs using the AES algorithm, it is still used as NTLMhash password. In these cases, the ticket identifier "17/0x11h" or "18/0x12h" is used, but it is not possible to distinguish the quality and unpredictability of the key material without further analysis.

    If an encryption policy is set and conditions are met (functional Forest Level at least at the Active Directory version 2012 level and users are in the security group "Protected Users"), encryption occurs using the AES algorithm and the key material is derived from NTLMhash and other information. For generation, the KDF function is used (PBKDF2 according to RFC 3962, section 4), which allows the creation of a pseudo-random and unpredictable key material for token encryption. This ensures higher security. These tokens can have values of "17/0x11h", "18/0x12h", "19/0x13h" or "20/0x14h". Within the key material derivation, the NTLMhash is still used as a passphrase, which allows a temporary key to be derived using PBKDF2. The hash function is used on older systems usually HMAC-SHA1, on newer systems HMAC-SHA2. The number of iterations of the algorithm is set to 32768 iterations, fortunately this value can be changed (increased). The value of keylenght varies according to the use of AES-128 (128b) and AES-256 (256b).

    tkey = random2key(PBKDF2(passphrase, salt, iter_count, keylength))
    key = DK(tkey, "kerberos")

    The last option currently available is to set an encryption policy and meet extended conditions (functional Forest Level at least at Active Directory version 2019 level, users are in the security group "Protected Users" and KDF2 is selected to generate random key material). In this case, encryption occurs using the AES algorithm and the key material is derived from NTLMhash and other information, using the KDF2 [6] function for generation. This allows to create a pseudo-random and unpredictable key material for token encryption with a newer approach, based on the IEEE Std 1363-2000, ANSI X9.42 (KDF1) and ISO 18033-2 (KDF2) standards. These tokens may have values for the encryption sets "17/0x11h", "18/0x12h", "19/0x13h" or "20/0x14h". Derivation of the key material still uses the NTLMhash value, which allows KDF2 to derive a temporary key. HMAC-SHA2 is used as the hash of the function. The number of iterations of the algorithm is set to 32768 iterations, this value can be changed as in the previous case. The value of the keylenght varies according to the use of AES-128 (128b) and AES-256 (256b).

    KDF2 Enabling:
    Set-AdfsProperties -KdfV2Support enable

    KDF2 Function Description:
    KDF2=hash(input||I2OSP(1,4))||...||hash(input||I2OSP(k,4))
    where
    k=[l/output length of the hash function]

    I2OSP Function Description
    I2OSP is the Integer to Octet String Conversion Primitive (Victor Shoup, I2OSP[6]). In this case a 4B value is selected from the input text (l=4), which is treated as a number and then treated as a number. KDF2 creates a series of values extending the input.

    Overview of existing and supported cryptographic algorithms in Active Directory, Kerberos protocol. Support labeled YesD (Decomissioned) means that the algorithm is obsolete and unsatisfactory, usually it must be turned on manually. The availability of such a protocol is for compatibility purposes only. The process of changing the settings is very well described e.g. on the Samurai [11].

    Type Algorithm 2000 2003 2008 2012 2016 2019 2022
    0x01hdes-cbc-crc (weak) Yes Yes YesD YesD YesD YesD YesD
    0x02hdes-cbc-md4 (weak) - - - - - - -
    0x03hdes-cbc-md5 (weak) Yes Yes YesD YesD YesD YesD YesD
    0x04hreserved (weak) - - - - - - -
    0x05hdes3-cbc-md5 (weak) - - - - - - -
    0x06hreserved (weak) - - - - - - -
    0x07hdes3-cbc-sha1 (weak) - - - - - - -
    0x09hDSAWithSHA1-CmsOID - - - - - - -
    0x0ahMD5WithRSAEncryption-CmsOID - - - - - - -
    0x0bhSHA1WithRSAEncryption-CmsOID - - - - - - -
    0x0chrc2-cbc-sha1 (weak) - - - - - - -
    0x0dhRSAEncryption-EnvOID - - - - - - -
    0x0ehRSAES-OAEP-EnvOID - - - - - - -
    0x0fhdes-ede3-cbc (weak) - - - - - - -
    0x10hdes3-cbc-sha1-kd (weak) - - - - - - -
    0x11haes128-cts-hmac-sha1-96 (zastaralé) - - Yes Yes Yes Yes Yes
    0x12haes256-cts-hmac-sha1-96 (zastaralé) - - Yes Yes Yes Yes Yes
    0x13haes128-cts-hmac-sha256-128 - - - - Yes Yes Yes
    0x14haes256-cts-hmac-sha384-192 - - - - Yes Yes Yes
    0x17harcfour-hmac / rc4-hmac (weak) - Yes Yes Yes YesD YesD YesD
    0x18harcfour-hmac-ext / rc4-hmac-exp (40b key, weak) - - - - - - -
    0x19hcamellia128-cts-chmac - - - - - - -
    0x20hcamellia256-cts-cmac - - - - - - -
    0x41hsubkey-keymaterial - - - - - - -

    Note: YesD (decomissioned) means to designate a mechanism as a rundown and may need to be separately enabled.

    Configuring krb5.conf in Linux

    In the case of a kerberos client in networks where the AD controller is not yet on Windows 2019, but is configured accordingly, it is possible to use a configuration supporting at least a weakened implementation using AES. The krb5.conf file can then contain:

    [libdefaults]
    default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    allow_weak_crypto = false


    If the AD controller is on Windows 2019+ and is configured accordingly, it is possible to use AES configuration in all forms. The krb5.conf file can then contain:

    [libdefaults]
    default_tkt_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128 aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    default_tgs_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128 aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    permitted_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128 aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    allow_weak_crypto = false


    Finally, if there are no legacy systems in the network other than Windows 11 and Windows 2019, the system has adequately configured security policies, perhaps the most sensible solution is to set up the system to use sufficiently resilient implementations of AES-based encryption sets. The krb5.conf file can then contain:

    [libdefaults]
    default_tkt_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128
    default_tgs_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128
    permitted_enctypes = aes256-cts-hmac-sha384-192 aes128-cts-hmac-sha256-128
    allow_weak_crypto = false


    The krb5.conf file contains encryption sets by default:
    permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 des3-cbc-sha1 arcfour-hmac-md5 camellia256-cts-cmac camellia128-cts-cmac des-cbc-crc des-cbc-md5 des-cbc-md4

    Conclusion

    There is currently no point in using old authentication mechanisms such as LANMAN and NTLMv1. These mechanisms are not capable of guaranteeing protection and also represent a significant complication for system security efforts. If these mechanisms are used to access shared folders, then these mechanisms are capable of ensuring user authentication only on decades-old protocols.
    Current mechanisms such as Kerberos and NTLMv2 (in cases where it is not possible to use Kerberos) can be used to access files if the right settings are in place. Although systems now offer other forms of authentication such as Hello, SAML or Microsoft Account, these cannot be used for local authentication on the network. Always vicariously use the mechanisms already mentioned.

    Reference:

    1. Kerberos and Windows Security: History.
      Zdroj: https://medium.com/
    2. Kerberos v5 Related Specs and RFCs.
      Zdroj: https://medium.com/
    3. Kerberos and Windows Security: Kerberos v5 Protocol.
      Zdroj: https://medium.com/
    4. Kerberos Wireshark Captures: A Windows Login Example.
      Zdroj: https://medium.com/
    5. Kerberos cheatsheet.
      Zdroj: https://github.com/
    6. Victor Shoup - FCD 18033-2.
      Zdroj: https://www.shoup.net/
    7. Project Athena
      Zdroj: https://news.mit.edu/
    8. Konsorcium Kerberos
      Zdroj: https://kerberos.org
    9. Konsorcium MIT Kerberos
      Zdroj: https://kit.mit.edu/
    10. Wireshark packet capture
      Zdroj: https://wiki.wireshark.org/
    11. Samuraj: Deaktivace RC4
      Zdroj: https://www.samuraj-cz.com/
    12. Microsoft Windows Authentication Services System Overview
      Zdroj: https://www.microsoft.com/
    13. Kerberoasting
      Zdroj: https://github.com/

    Autor článku:

    Jan Dušátko
    Jan Dušátko

    Jan Dušátko has been working with computers and computer security for almost a quarter of a century. In the field of cryptography, he has cooperated with leading experts such as Vlastimil Klíma or Tomáš Rosa. Currently he works as a security consultant, his main focus is on topics related to cryptography, security, e-mail communication and Linux systems.

    1. Introductory Provisions

    1.1. These General Terms and Conditions are, unless otherwise agreed in writing in the contract, an integral part of all contracts relating to training organised or provided by the trainer, Jan Dušátko, IČ 434 797 66, DIČ 7208253041, with location Pod Harfou 938/58, Praha 9 (next as a „lector“).
    1.2. The contracting parties in the general terms and conditions are meant to be the trainer and the ordering party, where the ordering party may also be the mediator of the contractual relationship.
    1.3. Issues that are not regulated by these terms and conditions are dealt with according to the Czech Civil Code, i.e. Act No.89/2012 Coll.
    1.4. All potential disputes will be resolved according to the law of the Czech Republic.

    2. Creation of a contract by signing up for a course

    2.1. Application means unilateral action of the client addressed to the trainer through a data box with identification euxesuf, e-mailu with address register@cryptosession.cz or register@cryptosession.info, internet pages cryptosession.cz, cryptosession.info or contact phone +420 602 427 840.
    2.2. By submitting the application, the Client agrees with these General Terms and Conditions and declares that he has become acquainted with them.
    2.3. The application is deemed to have been received at the time of confirmation (within 2 working days by default) by the trainer or intermediary. This confirmation is sent to the data box or to the contact e-mail.
    2.4. The standard time for registration is no later than 14 working days before the educational event, unless otherwise stated. In the case of a natural non-business person, the order must be at least 28 working days before the educational event.
    2.5. More than one participant can be registered for one application.
    2.6. If there are more than 10 participants from one Client, it is possible to arrange for training at the place of residence of the intermediary or the Client.
    2.7. Applications are received and processed in the order in which they have been received by the Provider. The Provider immediately informs the Client of all facts. These are the filling of capacity, too low number of participants, or any other serious reason, such as a lecturer's illness or force majeure. In this case, the Client will be offered a new term or participation in another educational event. In the event that the ordering party does not agree to move or participate in another educational event offered, the provider will refund the participation fee. The lack of participants is notified to the ordering party at least 14 days before the start of the planned term.
    2.8. The contract between the provider and the ordering party arises by sending a confirmation from the provider to the ordering party.
    2.9. The contract may be changed or cancelled only if the legal prerequisites are met and only in writing.

    3. Termination of the contract by cancellation of the application

    3.1. The application may be cancelled by the ordering party via e-mail or via a data mailbox.
    3.2. The customer has the right to cancel his or her application for the course 14 days before the course takes place without any fees. If the period is shorter, the subsequent change takes place. In the interval of 7-13 days, an administrative fee of 10% is charged, cancellation of participation in a shorter interval than 7 days then a fee of 25%. In case of cancellation of the application or order by the customer, the possibility of the customer's participation in an alternative period without any additional fee is offered. The right to cancel the application expires with the implementation of the ordered training.
    3.3. In case of cancellation of the application by the trainer, the ordering party is entitled to a full refund for the unrealized action.
    3.4. The ordering party has the right to request an alternative date or an alternative training. In such case, the ordering party will be informed about all open courses. The alternative date cannot be enforced or enforced, it depends on the current availability of the course. If the alternative training is for a lower price, the ordering party will pay the difference. If the alternative training is for a lower price, the trainer will return the difference in the training prices to the ordering party.

    4. Price and payment terms

    4.1. By sending the application, the ordering party accepts the contract price (hereinafter referred to as the participation fee) indicated for the course.
    4.2. In case of multiple participants registered with one application, a discount is possible.
    4.3. The participation fee must be paid into the bank account of the company held with the company Komerční banka č. 78-7768770207/0100, IBAN:CZ5301000000787768770207, BIC:KOMBCZPPXXX. When making the payment, a variable symbol must be provided, which is indicated on the invoice sent to the client by the trainer.
    4.4. The participation fee includes the provider's costs, including the training materials. The provider is a VAT payer.
    4.5. The client is obliged to pay the participation fee within 14 working days of receipt of the invoice, unless otherwise stated by a separate contract.
    4.6. If the person enrolled does not attend the training and no other agreement has been made, his or her absence is considered a cancellation application at an interval of less than 7 days, i.e. the trainer is entitled to a reward of 25% of the course price. The overpayment is returned within 14 days to the sender's payment account from which the funds were sent. Payment to another account number is not possible.
    4.7. An invoice will be issued by the trainer no later than 5 working days from the beginning of the training, which will be sent by e-mail or data box as agreed.

    5. Training conditions

    5.1. The trainer is obliged to inform the client 14 days in advance of the location and time of the training, including the start and end dates of the daily programme.
    5.2. If the client is not a student of the course, he is obliged to ensure the distribution of this information to the end participants. The trainer is not responsible for failure to comply with these terms and conditions.
    5.2. By default, the training takes place from 9 a.m. to 5 p.m. at a predetermined location.
    5.3. The trainer can be available from 8 a.m. to 9 a.m. and then from 17 a.m. to 6 p.m. for questions from the participants, according to the current terms and conditions.
    5.4. At the end of the training, the certificate of absorption is handed over to the end users.
    5.5. At the end of the training, the end users evaluate the trainer's approach and are asked to comment on the evaluation of his presentation, the manner of presentation and the significance of the information provided.

    6. Complaints

    6.1. If the participant is grossly dissatisfied with the course, the trainer is informed of this information.
    6.2. The reasons for dissatisfaction are recorded in the minutes in two copies on the same day. One is handed over to the client and one is held by the trainer.
    6.3. A statement on the complaint will be submitted by e-mail within two weeks. A solution will then be agreed within one week.
    6.4. The customer's dissatisfaction may be a reason for discontinuing further cooperation, or financial compensation up to the price of the training, after deduction of costs.

    7. Copyright of the provided materials

    7.1. The training materials provided by the trainer in the course of the training meet the characteristics of a copyrighted work in accordance with Czech Act No 121/2000 Coll.
    7.2. None of the training materials or any part thereof may be further processed, reproduced, distributed or used for further presentations or training in any way without the prior written consent of the trainer.

    8. Liability

    8.1. The trainer does not assume responsibility for any shortcomings in the services of any third party that he uses in the training.
    8.2. The trainer does not assume responsibility for injuries, damages and losses incurred by the participants in the training events or caused by the participants. Such costs, caused by the above circumstances, shall be borne exclusively by the participant in the training event.

    9. Validity of the Terms

    9.1 These General Terms and Conditions shall be valid and effective from 1 October 2024.

    Consent to the collection and processing of personal data

    According to Regulation (EU) No 2016/679 of the European Parliament and of the Council on the protection of individuals with regard to the processing of personal data and on the free movement of such data and repealing Directive 95/46/EC (General Data Protection Regulation, hereinafter referred to as "the Regulation"), the processor xxx (hereinafter referred to as "the Controller") processes personal data. Individual personal data that are part of the processing during specific activities at this web presentation and in the course of trade are also broken down.
    Although the collection of data is ubiquitous, the operation of this website is based on the right to privacy of each user. For this reason, the collection of information about users takes place to the extent absolutely necessary and only if the user decides to contact the operator. We consider any further collection and processing of data unethical.

    Information about the records of access to the web presentation

    This website does not collect any cookies. The site does not use any analytical scripts of third parties (social networks, cloud providers). For these reasons, an option is also offered for displaying the map in the form of a link, where the primary source is OpenStreet and alternatives then the frequently used Maps of Seznam, a.s., or Google Maps of Google LLC Inc. The use of any of these sources is entirely at the discretion of the users of this site. The administrator is not responsible for the collection of data carried out by these companies, does not provide them with data about users and does not cooperate on the collection of data.
    Logging of access takes place only at the system level, the reason being the identification of any technical or security problems. Other reasons are overview access statistics. No specific data is collected or monitored in this area and all access records are deleted after three months.

    Information about contacting the operator of the site

    The form for contacting the operator of the site (administrator) contains the following personal data: name, surname, e-mail. These data are intended only for this communication, corresponding to the address of the user and are kept for the time necessary to fulfil the purpose, up to a maximum of one year, unless the user determines otherwise.

    Information about the order form

    In case of an interest in the order form, the form contains more data, i.e. name, surname, e-mail and contact details for the organisation. These data are intended only for this communication, corresponding to the address of the user and are kept for one year, unless the user determines otherwise. In the event that a business relationship is concluded on the basis of this order, only the information required by Czech law on the basis of business relations (company name and address, bank account number, type of course and its price) will continue to be kept by the administrator.

    Information about the course completion document

    Within the course, a course completion document is issued by the processor. This document contains the following data: student's name and surname, the name and date of the course completion and the employer's name. The information is subsequently used for the creation of a linear hash tree (non-modifiable record). This database contains only information about the provided names and company names, which may or may not correspond to reality and is maintained by the processor for possible re-issuance or verification of the document's issuance.

    Rights of the personal data subject

    The customer or visitor of this website has the possibility to request information about the processing of personal data, the right to request access to personal data, or the right to request the correction or deletion of any data held about him. In the case of deletion, this requirement cannot be fulfilled only if it is not data strictly necessary in the course of business. The customer or visitor of this website also has the right to obtain explanations regarding the processing of his personal data if he finds out or believes that the processing is carried out in violation of the protection of his private and personal life or in violation of applicable legislation, and the right to request removal of the resulting situation and to ensure the correction.
    Furthermore, the customer/visitor of this website may request restriction of processing or object to the processing of personal data and has the right to withdraw his/her consent to the processing of personal data at any time in writing, without prejudice to the lawfulness of their processing prior to such withdrawal. For this purpose, the contact e-mail address support@cryptosession.cz is used.
    The customer/visitor has the right to file a complaint against the processing of personal data with the supervisory authority, which is the Office for Personal Data Protection.