Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. Nightmare-Eclipse has published two new toys to GitHub: GreenPlasma and YellowKey.

Nightmare-Eclipse has published two new toys to GitHub: GreenPlasma and YellowKey.

Scheduled Pinned Locked Moved Uncategorized
8 Posts 5 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • wdormann@infosec.exchangeW This user is from outside of this forum
    wdormann@infosec.exchangeW This user is from outside of this forum
    wdormann@infosec.exchange
    wrote last edited by
    #1

    Nightmare-Eclipse has published two new toys to GitHub: GreenPlasma and YellowKey.

    TL;DR:

    • GreenPlasma looks interesting, but it's not a complete exploit. It's at best a building block toward LPE on Windows.
    • YellowKey is a Windows login bypass for an attacker with physical access. Use case: Your roomate wants to get into your roomate's poorly protected (potentially work-owned) laptop. Mitigation: Use Bitlocker with a PIN. (Note: The YellowKey author disagrees that PIN is a protection πŸ€”)

    1) GreenPlasma
    Here , an unprivileged user can create an arbitrary memory section in an object. While the first time I tried it it hung at the UAC prompt, but subsequent attempts worked to go from low-privileged to creating a \CSRSS_TEST_SECTION object.
    It is worth noting that the PoC as it is does not have the bits that would turn it into a true LPE, as that is left as an exercise to the user.

    2) YellowKey
    This one is a bit hand-wavy to me, But I eventually was able to reproduce it. Via an attached USB drive. I could NOT reproduce it via putting the FsTx directory on the EFI partition. Potentially because the FsTx replay happened before my triggering of Recovery. I was able to reproduce with a USB drive attached.

    The target is a TPM-only bitlocker, which is known to be insecure. The use case is that, with physical access, you can access the filesystem with root privileges. Which even TPM-only bitlocker would prevent.

    There is a thread on Twitter that claims to have reverse engineered the YellowKey Bitlocker bypass. And it talks about RecoverySimulation.ini and how it skips re-locking a bitlocker drive. The thing about this is:
    1) This RecoverySimulation.ini stuff was talked about publicly last year
    2) The actual bits in the YellowKey GitHub repo are the contents of an FsTx directory. Which appears to be be related to Transactional NTFS, which uses CLFS under the hood. (The files parse with python's dissect.clfs). Also note that by looking at Windows' fstx.dll, we can see code that explicitly looks for \System Volume Information\FsTx in the FsTxFindSessions() function.

    Microsoft themselves have this to say about TxF πŸ˜‚:

    While TxF is a powerful set of APIs, there has been extremely limited developer interest in this API platform since Windows Vista primarily due to its complexity and various nuances which developers need to consider as part of application development. As a result, Microsoft is considering deprecating TxF APIs in a future version of Windows to focus development and maintenance efforts on other features and APIs which have more value to a larger majority of customers.

    And if one looks at the contents of this FsTx directory in the GitHub repo, there are no strings related to RecoverySimulation.ini in it at all. Only of interest is perhaps:
    \??\C:\Windows\win.ini
    and
    \??\X:\Windows\System32\winpeshl.ini

    Where X:\Windows\System32\winpeshl.ini is what controls what WinRE does when it fires up.

    But anyway, yes it works.
    But what's intriguing to me is: Why can the presence a \System Volume Information\FsTx directory on one volume affect the contents of ANOTHER VOLUME when it's replayed? πŸ€”

    In a normal WinRE session, you have a X:\Windows\System32 directory that has a winpeshl.ini file in it:

    [LaunchApp]
    AppPath=X:\sources\recovery\recenv.exe

    However, with the YellowKey exploit, it looks like Transactional NTFS bits on a USB Drive are able to delete the winpeshl.ini file on ANOTHER DRIVE (X:). And we get a cmd.exe prompt, with bitlocker unlocked instead of the expected Windows Recovery environment. While the TPM-only Bitlocker bypass is indeed interesting, I think the buried lede here is that a \System Volume Information\FsTx directory on one volume has the ability to modify the contents of another volume when it is replayed. To me, this in and of itself sounds like a vulnerability.

    Link Preview ImageLink Preview ImageLink Preview ImageLink Preview Image
    E jernej__s@infosec.exchangeJ bismilla@infosec.exchangeB wdormann@infosec.exchangeW 6 Replies Last reply
    0
    • wdormann@infosec.exchangeW wdormann@infosec.exchange

      Nightmare-Eclipse has published two new toys to GitHub: GreenPlasma and YellowKey.

      TL;DR:

      • GreenPlasma looks interesting, but it's not a complete exploit. It's at best a building block toward LPE on Windows.
      • YellowKey is a Windows login bypass for an attacker with physical access. Use case: Your roomate wants to get into your roomate's poorly protected (potentially work-owned) laptop. Mitigation: Use Bitlocker with a PIN. (Note: The YellowKey author disagrees that PIN is a protection πŸ€”)

      1) GreenPlasma
      Here , an unprivileged user can create an arbitrary memory section in an object. While the first time I tried it it hung at the UAC prompt, but subsequent attempts worked to go from low-privileged to creating a \CSRSS_TEST_SECTION object.
      It is worth noting that the PoC as it is does not have the bits that would turn it into a true LPE, as that is left as an exercise to the user.

      2) YellowKey
      This one is a bit hand-wavy to me, But I eventually was able to reproduce it. Via an attached USB drive. I could NOT reproduce it via putting the FsTx directory on the EFI partition. Potentially because the FsTx replay happened before my triggering of Recovery. I was able to reproduce with a USB drive attached.

      The target is a TPM-only bitlocker, which is known to be insecure. The use case is that, with physical access, you can access the filesystem with root privileges. Which even TPM-only bitlocker would prevent.

      There is a thread on Twitter that claims to have reverse engineered the YellowKey Bitlocker bypass. And it talks about RecoverySimulation.ini and how it skips re-locking a bitlocker drive. The thing about this is:
      1) This RecoverySimulation.ini stuff was talked about publicly last year
      2) The actual bits in the YellowKey GitHub repo are the contents of an FsTx directory. Which appears to be be related to Transactional NTFS, which uses CLFS under the hood. (The files parse with python's dissect.clfs). Also note that by looking at Windows' fstx.dll, we can see code that explicitly looks for \System Volume Information\FsTx in the FsTxFindSessions() function.

      Microsoft themselves have this to say about TxF πŸ˜‚:

      While TxF is a powerful set of APIs, there has been extremely limited developer interest in this API platform since Windows Vista primarily due to its complexity and various nuances which developers need to consider as part of application development. As a result, Microsoft is considering deprecating TxF APIs in a future version of Windows to focus development and maintenance efforts on other features and APIs which have more value to a larger majority of customers.

      And if one looks at the contents of this FsTx directory in the GitHub repo, there are no strings related to RecoverySimulation.ini in it at all. Only of interest is perhaps:
      \??\C:\Windows\win.ini
      and
      \??\X:\Windows\System32\winpeshl.ini

      Where X:\Windows\System32\winpeshl.ini is what controls what WinRE does when it fires up.

      But anyway, yes it works.
      But what's intriguing to me is: Why can the presence a \System Volume Information\FsTx directory on one volume affect the contents of ANOTHER VOLUME when it's replayed? πŸ€”

      In a normal WinRE session, you have a X:\Windows\System32 directory that has a winpeshl.ini file in it:

      [LaunchApp]
      AppPath=X:\sources\recovery\recenv.exe

      However, with the YellowKey exploit, it looks like Transactional NTFS bits on a USB Drive are able to delete the winpeshl.ini file on ANOTHER DRIVE (X:). And we get a cmd.exe prompt, with bitlocker unlocked instead of the expected Windows Recovery environment. While the TPM-only Bitlocker bypass is indeed interesting, I think the buried lede here is that a \System Volume Information\FsTx directory on one volume has the ability to modify the contents of another volume when it is replayed. To me, this in and of itself sounds like a vulnerability.

      Link Preview ImageLink Preview ImageLink Preview ImageLink Preview Image
      E This user is from outside of this forum
      E This user is from outside of this forum
      errno_fail@infosec.exchange
      wrote last edited by
      #2

      @wdormann,

      > TPM-only bitlocker is known to not be very secure, and if you have TPM+PIN, then you can't get to Windows Recovery Environment Agent without the PIN. So again, where's the bypass?

      The TPM-only mode works well to lock employees out of their corporate laptops (users can't mount the drive on another computer or in another OS using a user password) and with no requirement to create another strong password.

      Also, all WinRE bypasses affect the TPM plus Network Key mode (seamless boot when the computer is in the trusted wired network: both the network server and TPM unwrap the encryption key).

      ---

      It's interesting that Microsoft disguises some vulnerability descriptions as EoP, not as SfB.

      1 Reply Last reply
      0
      • wdormann@infosec.exchangeW wdormann@infosec.exchange

        Nightmare-Eclipse has published two new toys to GitHub: GreenPlasma and YellowKey.

        TL;DR:

        • GreenPlasma looks interesting, but it's not a complete exploit. It's at best a building block toward LPE on Windows.
        • YellowKey is a Windows login bypass for an attacker with physical access. Use case: Your roomate wants to get into your roomate's poorly protected (potentially work-owned) laptop. Mitigation: Use Bitlocker with a PIN. (Note: The YellowKey author disagrees that PIN is a protection πŸ€”)

        1) GreenPlasma
        Here , an unprivileged user can create an arbitrary memory section in an object. While the first time I tried it it hung at the UAC prompt, but subsequent attempts worked to go from low-privileged to creating a \CSRSS_TEST_SECTION object.
        It is worth noting that the PoC as it is does not have the bits that would turn it into a true LPE, as that is left as an exercise to the user.

        2) YellowKey
        This one is a bit hand-wavy to me, But I eventually was able to reproduce it. Via an attached USB drive. I could NOT reproduce it via putting the FsTx directory on the EFI partition. Potentially because the FsTx replay happened before my triggering of Recovery. I was able to reproduce with a USB drive attached.

        The target is a TPM-only bitlocker, which is known to be insecure. The use case is that, with physical access, you can access the filesystem with root privileges. Which even TPM-only bitlocker would prevent.

        There is a thread on Twitter that claims to have reverse engineered the YellowKey Bitlocker bypass. And it talks about RecoverySimulation.ini and how it skips re-locking a bitlocker drive. The thing about this is:
        1) This RecoverySimulation.ini stuff was talked about publicly last year
        2) The actual bits in the YellowKey GitHub repo are the contents of an FsTx directory. Which appears to be be related to Transactional NTFS, which uses CLFS under the hood. (The files parse with python's dissect.clfs). Also note that by looking at Windows' fstx.dll, we can see code that explicitly looks for \System Volume Information\FsTx in the FsTxFindSessions() function.

        Microsoft themselves have this to say about TxF πŸ˜‚:

        While TxF is a powerful set of APIs, there has been extremely limited developer interest in this API platform since Windows Vista primarily due to its complexity and various nuances which developers need to consider as part of application development. As a result, Microsoft is considering deprecating TxF APIs in a future version of Windows to focus development and maintenance efforts on other features and APIs which have more value to a larger majority of customers.

        And if one looks at the contents of this FsTx directory in the GitHub repo, there are no strings related to RecoverySimulation.ini in it at all. Only of interest is perhaps:
        \??\C:\Windows\win.ini
        and
        \??\X:\Windows\System32\winpeshl.ini

        Where X:\Windows\System32\winpeshl.ini is what controls what WinRE does when it fires up.

        But anyway, yes it works.
        But what's intriguing to me is: Why can the presence a \System Volume Information\FsTx directory on one volume affect the contents of ANOTHER VOLUME when it's replayed? πŸ€”

        In a normal WinRE session, you have a X:\Windows\System32 directory that has a winpeshl.ini file in it:

        [LaunchApp]
        AppPath=X:\sources\recovery\recenv.exe

        However, with the YellowKey exploit, it looks like Transactional NTFS bits on a USB Drive are able to delete the winpeshl.ini file on ANOTHER DRIVE (X:). And we get a cmd.exe prompt, with bitlocker unlocked instead of the expected Windows Recovery environment. While the TPM-only Bitlocker bypass is indeed interesting, I think the buried lede here is that a \System Volume Information\FsTx directory on one volume has the ability to modify the contents of another volume when it is replayed. To me, this in and of itself sounds like a vulnerability.

        Link Preview ImageLink Preview ImageLink Preview ImageLink Preview Image
        E This user is from outside of this forum
        E This user is from outside of this forum
        errno_fail@infosec.exchange
        wrote last edited by
        #3

        @wdormann, these bypasses are very close to login/lock screen bypasses (after the usual boot) and kiosk mode escapes (in WinRE).

        1 Reply Last reply
        0
        • wdormann@infosec.exchangeW wdormann@infosec.exchange

          Nightmare-Eclipse has published two new toys to GitHub: GreenPlasma and YellowKey.

          TL;DR:

          • GreenPlasma looks interesting, but it's not a complete exploit. It's at best a building block toward LPE on Windows.
          • YellowKey is a Windows login bypass for an attacker with physical access. Use case: Your roomate wants to get into your roomate's poorly protected (potentially work-owned) laptop. Mitigation: Use Bitlocker with a PIN. (Note: The YellowKey author disagrees that PIN is a protection πŸ€”)

          1) GreenPlasma
          Here , an unprivileged user can create an arbitrary memory section in an object. While the first time I tried it it hung at the UAC prompt, but subsequent attempts worked to go from low-privileged to creating a \CSRSS_TEST_SECTION object.
          It is worth noting that the PoC as it is does not have the bits that would turn it into a true LPE, as that is left as an exercise to the user.

          2) YellowKey
          This one is a bit hand-wavy to me, But I eventually was able to reproduce it. Via an attached USB drive. I could NOT reproduce it via putting the FsTx directory on the EFI partition. Potentially because the FsTx replay happened before my triggering of Recovery. I was able to reproduce with a USB drive attached.

          The target is a TPM-only bitlocker, which is known to be insecure. The use case is that, with physical access, you can access the filesystem with root privileges. Which even TPM-only bitlocker would prevent.

          There is a thread on Twitter that claims to have reverse engineered the YellowKey Bitlocker bypass. And it talks about RecoverySimulation.ini and how it skips re-locking a bitlocker drive. The thing about this is:
          1) This RecoverySimulation.ini stuff was talked about publicly last year
          2) The actual bits in the YellowKey GitHub repo are the contents of an FsTx directory. Which appears to be be related to Transactional NTFS, which uses CLFS under the hood. (The files parse with python's dissect.clfs). Also note that by looking at Windows' fstx.dll, we can see code that explicitly looks for \System Volume Information\FsTx in the FsTxFindSessions() function.

          Microsoft themselves have this to say about TxF πŸ˜‚:

          While TxF is a powerful set of APIs, there has been extremely limited developer interest in this API platform since Windows Vista primarily due to its complexity and various nuances which developers need to consider as part of application development. As a result, Microsoft is considering deprecating TxF APIs in a future version of Windows to focus development and maintenance efforts on other features and APIs which have more value to a larger majority of customers.

          And if one looks at the contents of this FsTx directory in the GitHub repo, there are no strings related to RecoverySimulation.ini in it at all. Only of interest is perhaps:
          \??\C:\Windows\win.ini
          and
          \??\X:\Windows\System32\winpeshl.ini

          Where X:\Windows\System32\winpeshl.ini is what controls what WinRE does when it fires up.

          But anyway, yes it works.
          But what's intriguing to me is: Why can the presence a \System Volume Information\FsTx directory on one volume affect the contents of ANOTHER VOLUME when it's replayed? πŸ€”

          In a normal WinRE session, you have a X:\Windows\System32 directory that has a winpeshl.ini file in it:

          [LaunchApp]
          AppPath=X:\sources\recovery\recenv.exe

          However, with the YellowKey exploit, it looks like Transactional NTFS bits on a USB Drive are able to delete the winpeshl.ini file on ANOTHER DRIVE (X:). And we get a cmd.exe prompt, with bitlocker unlocked instead of the expected Windows Recovery environment. While the TPM-only Bitlocker bypass is indeed interesting, I think the buried lede here is that a \System Volume Information\FsTx directory on one volume has the ability to modify the contents of another volume when it is replayed. To me, this in and of itself sounds like a vulnerability.

          Link Preview ImageLink Preview ImageLink Preview ImageLink Preview Image
          jernej__s@infosec.exchangeJ This user is from outside of this forum
          jernej__s@infosec.exchangeJ This user is from outside of this forum
          jernej__s@infosec.exchange
          wrote last edited by
          #4

          @wdormann YellowKey works fine on my laptop – copied the FsTx folder to System Volume Information directory on my sysresccd USB drive (2GB FAT32), Shift+restart, held Ctrl until recovery environment booted to command prompt. Unlocked πŸ˜„ partition, predictably did not unlock D:.

          Link Preview ImageLink Preview Image
          C 1 Reply Last reply
          0
          • jernej__s@infosec.exchangeJ jernej__s@infosec.exchange

            @wdormann YellowKey works fine on my laptop – copied the FsTx folder to System Volume Information directory on my sysresccd USB drive (2GB FAT32), Shift+restart, held Ctrl until recovery environment booted to command prompt. Unlocked πŸ˜„ partition, predictably did not unlock D:.

            Link Preview ImageLink Preview Image
            C This user is from outside of this forum
            C This user is from outside of this forum
            cakruege@infosec.exchange
            wrote last edited by
            #5

            @jernej__s @wdormann

            Worked fine here. If the backdoor works you habe an open system shell before any menue. You can than use diskpart to mount the internal drive

            1 Reply Last reply
            0
            • wdormann@infosec.exchangeW wdormann@infosec.exchange

              Nightmare-Eclipse has published two new toys to GitHub: GreenPlasma and YellowKey.

              TL;DR:

              • GreenPlasma looks interesting, but it's not a complete exploit. It's at best a building block toward LPE on Windows.
              • YellowKey is a Windows login bypass for an attacker with physical access. Use case: Your roomate wants to get into your roomate's poorly protected (potentially work-owned) laptop. Mitigation: Use Bitlocker with a PIN. (Note: The YellowKey author disagrees that PIN is a protection πŸ€”)

              1) GreenPlasma
              Here , an unprivileged user can create an arbitrary memory section in an object. While the first time I tried it it hung at the UAC prompt, but subsequent attempts worked to go from low-privileged to creating a \CSRSS_TEST_SECTION object.
              It is worth noting that the PoC as it is does not have the bits that would turn it into a true LPE, as that is left as an exercise to the user.

              2) YellowKey
              This one is a bit hand-wavy to me, But I eventually was able to reproduce it. Via an attached USB drive. I could NOT reproduce it via putting the FsTx directory on the EFI partition. Potentially because the FsTx replay happened before my triggering of Recovery. I was able to reproduce with a USB drive attached.

              The target is a TPM-only bitlocker, which is known to be insecure. The use case is that, with physical access, you can access the filesystem with root privileges. Which even TPM-only bitlocker would prevent.

              There is a thread on Twitter that claims to have reverse engineered the YellowKey Bitlocker bypass. And it talks about RecoverySimulation.ini and how it skips re-locking a bitlocker drive. The thing about this is:
              1) This RecoverySimulation.ini stuff was talked about publicly last year
              2) The actual bits in the YellowKey GitHub repo are the contents of an FsTx directory. Which appears to be be related to Transactional NTFS, which uses CLFS under the hood. (The files parse with python's dissect.clfs). Also note that by looking at Windows' fstx.dll, we can see code that explicitly looks for \System Volume Information\FsTx in the FsTxFindSessions() function.

              Microsoft themselves have this to say about TxF πŸ˜‚:

              While TxF is a powerful set of APIs, there has been extremely limited developer interest in this API platform since Windows Vista primarily due to its complexity and various nuances which developers need to consider as part of application development. As a result, Microsoft is considering deprecating TxF APIs in a future version of Windows to focus development and maintenance efforts on other features and APIs which have more value to a larger majority of customers.

              And if one looks at the contents of this FsTx directory in the GitHub repo, there are no strings related to RecoverySimulation.ini in it at all. Only of interest is perhaps:
              \??\C:\Windows\win.ini
              and
              \??\X:\Windows\System32\winpeshl.ini

              Where X:\Windows\System32\winpeshl.ini is what controls what WinRE does when it fires up.

              But anyway, yes it works.
              But what's intriguing to me is: Why can the presence a \System Volume Information\FsTx directory on one volume affect the contents of ANOTHER VOLUME when it's replayed? πŸ€”

              In a normal WinRE session, you have a X:\Windows\System32 directory that has a winpeshl.ini file in it:

              [LaunchApp]
              AppPath=X:\sources\recovery\recenv.exe

              However, with the YellowKey exploit, it looks like Transactional NTFS bits on a USB Drive are able to delete the winpeshl.ini file on ANOTHER DRIVE (X:). And we get a cmd.exe prompt, with bitlocker unlocked instead of the expected Windows Recovery environment. While the TPM-only Bitlocker bypass is indeed interesting, I think the buried lede here is that a \System Volume Information\FsTx directory on one volume has the ability to modify the contents of another volume when it is replayed. To me, this in and of itself sounds like a vulnerability.

              Link Preview ImageLink Preview ImageLink Preview ImageLink Preview Image
              bismilla@infosec.exchangeB This user is from outside of this forum
              bismilla@infosec.exchangeB This user is from outside of this forum
              bismilla@infosec.exchange
              wrote last edited by
              #6

              @wdormann "While TxF is a powerful set of APIs, there has been extremely limited developer interest in this API platform since Windows Vista primarily due to its complexity and various nuances which developers need to consider as part of application development. As a result, Microsoft is considering deprecating TxF APIs in a future version of Windows..." Wonder what "nuances" means here?

              1 Reply Last reply
              0
              • wdormann@infosec.exchangeW wdormann@infosec.exchange

                Nightmare-Eclipse has published two new toys to GitHub: GreenPlasma and YellowKey.

                TL;DR:

                • GreenPlasma looks interesting, but it's not a complete exploit. It's at best a building block toward LPE on Windows.
                • YellowKey is a Windows login bypass for an attacker with physical access. Use case: Your roomate wants to get into your roomate's poorly protected (potentially work-owned) laptop. Mitigation: Use Bitlocker with a PIN. (Note: The YellowKey author disagrees that PIN is a protection πŸ€”)

                1) GreenPlasma
                Here , an unprivileged user can create an arbitrary memory section in an object. While the first time I tried it it hung at the UAC prompt, but subsequent attempts worked to go from low-privileged to creating a \CSRSS_TEST_SECTION object.
                It is worth noting that the PoC as it is does not have the bits that would turn it into a true LPE, as that is left as an exercise to the user.

                2) YellowKey
                This one is a bit hand-wavy to me, But I eventually was able to reproduce it. Via an attached USB drive. I could NOT reproduce it via putting the FsTx directory on the EFI partition. Potentially because the FsTx replay happened before my triggering of Recovery. I was able to reproduce with a USB drive attached.

                The target is a TPM-only bitlocker, which is known to be insecure. The use case is that, with physical access, you can access the filesystem with root privileges. Which even TPM-only bitlocker would prevent.

                There is a thread on Twitter that claims to have reverse engineered the YellowKey Bitlocker bypass. And it talks about RecoverySimulation.ini and how it skips re-locking a bitlocker drive. The thing about this is:
                1) This RecoverySimulation.ini stuff was talked about publicly last year
                2) The actual bits in the YellowKey GitHub repo are the contents of an FsTx directory. Which appears to be be related to Transactional NTFS, which uses CLFS under the hood. (The files parse with python's dissect.clfs). Also note that by looking at Windows' fstx.dll, we can see code that explicitly looks for \System Volume Information\FsTx in the FsTxFindSessions() function.

                Microsoft themselves have this to say about TxF πŸ˜‚:

                While TxF is a powerful set of APIs, there has been extremely limited developer interest in this API platform since Windows Vista primarily due to its complexity and various nuances which developers need to consider as part of application development. As a result, Microsoft is considering deprecating TxF APIs in a future version of Windows to focus development and maintenance efforts on other features and APIs which have more value to a larger majority of customers.

                And if one looks at the contents of this FsTx directory in the GitHub repo, there are no strings related to RecoverySimulation.ini in it at all. Only of interest is perhaps:
                \??\C:\Windows\win.ini
                and
                \??\X:\Windows\System32\winpeshl.ini

                Where X:\Windows\System32\winpeshl.ini is what controls what WinRE does when it fires up.

                But anyway, yes it works.
                But what's intriguing to me is: Why can the presence a \System Volume Information\FsTx directory on one volume affect the contents of ANOTHER VOLUME when it's replayed? πŸ€”

                In a normal WinRE session, you have a X:\Windows\System32 directory that has a winpeshl.ini file in it:

                [LaunchApp]
                AppPath=X:\sources\recovery\recenv.exe

                However, with the YellowKey exploit, it looks like Transactional NTFS bits on a USB Drive are able to delete the winpeshl.ini file on ANOTHER DRIVE (X:). And we get a cmd.exe prompt, with bitlocker unlocked instead of the expected Windows Recovery environment. While the TPM-only Bitlocker bypass is indeed interesting, I think the buried lede here is that a \System Volume Information\FsTx directory on one volume has the ability to modify the contents of another volume when it is replayed. To me, this in and of itself sounds like a vulnerability.

                Link Preview ImageLink Preview ImageLink Preview ImageLink Preview Image
                E This user is from outside of this forum
                E This user is from outside of this forum
                errno_fail@infosec.exchange
                wrote last edited by
                #7

                @wdormann,

                P.S.

                > The YellowKey author disagrees that PIN is a protection

                Since early WinRE bypasses, Microsoft treats the "my PIN is known to the attacker, in the TPM+PIN configuration" situation as within the threat model. (IMO, this is not 2FA with one factor known to the attacker, but something similar.)

                1 Reply Last reply
                0
                • wdormann@infosec.exchangeW wdormann@infosec.exchange

                  Nightmare-Eclipse has published two new toys to GitHub: GreenPlasma and YellowKey.

                  TL;DR:

                  • GreenPlasma looks interesting, but it's not a complete exploit. It's at best a building block toward LPE on Windows.
                  • YellowKey is a Windows login bypass for an attacker with physical access. Use case: Your roomate wants to get into your roomate's poorly protected (potentially work-owned) laptop. Mitigation: Use Bitlocker with a PIN. (Note: The YellowKey author disagrees that PIN is a protection πŸ€”)

                  1) GreenPlasma
                  Here , an unprivileged user can create an arbitrary memory section in an object. While the first time I tried it it hung at the UAC prompt, but subsequent attempts worked to go from low-privileged to creating a \CSRSS_TEST_SECTION object.
                  It is worth noting that the PoC as it is does not have the bits that would turn it into a true LPE, as that is left as an exercise to the user.

                  2) YellowKey
                  This one is a bit hand-wavy to me, But I eventually was able to reproduce it. Via an attached USB drive. I could NOT reproduce it via putting the FsTx directory on the EFI partition. Potentially because the FsTx replay happened before my triggering of Recovery. I was able to reproduce with a USB drive attached.

                  The target is a TPM-only bitlocker, which is known to be insecure. The use case is that, with physical access, you can access the filesystem with root privileges. Which even TPM-only bitlocker would prevent.

                  There is a thread on Twitter that claims to have reverse engineered the YellowKey Bitlocker bypass. And it talks about RecoverySimulation.ini and how it skips re-locking a bitlocker drive. The thing about this is:
                  1) This RecoverySimulation.ini stuff was talked about publicly last year
                  2) The actual bits in the YellowKey GitHub repo are the contents of an FsTx directory. Which appears to be be related to Transactional NTFS, which uses CLFS under the hood. (The files parse with python's dissect.clfs). Also note that by looking at Windows' fstx.dll, we can see code that explicitly looks for \System Volume Information\FsTx in the FsTxFindSessions() function.

                  Microsoft themselves have this to say about TxF πŸ˜‚:

                  While TxF is a powerful set of APIs, there has been extremely limited developer interest in this API platform since Windows Vista primarily due to its complexity and various nuances which developers need to consider as part of application development. As a result, Microsoft is considering deprecating TxF APIs in a future version of Windows to focus development and maintenance efforts on other features and APIs which have more value to a larger majority of customers.

                  And if one looks at the contents of this FsTx directory in the GitHub repo, there are no strings related to RecoverySimulation.ini in it at all. Only of interest is perhaps:
                  \??\C:\Windows\win.ini
                  and
                  \??\X:\Windows\System32\winpeshl.ini

                  Where X:\Windows\System32\winpeshl.ini is what controls what WinRE does when it fires up.

                  But anyway, yes it works.
                  But what's intriguing to me is: Why can the presence a \System Volume Information\FsTx directory on one volume affect the contents of ANOTHER VOLUME when it's replayed? πŸ€”

                  In a normal WinRE session, you have a X:\Windows\System32 directory that has a winpeshl.ini file in it:

                  [LaunchApp]
                  AppPath=X:\sources\recovery\recenv.exe

                  However, with the YellowKey exploit, it looks like Transactional NTFS bits on a USB Drive are able to delete the winpeshl.ini file on ANOTHER DRIVE (X:). And we get a cmd.exe prompt, with bitlocker unlocked instead of the expected Windows Recovery environment. While the TPM-only Bitlocker bypass is indeed interesting, I think the buried lede here is that a \System Volume Information\FsTx directory on one volume has the ability to modify the contents of another volume when it is replayed. To me, this in and of itself sounds like a vulnerability.

                  Link Preview ImageLink Preview ImageLink Preview ImageLink Preview Image
                  wdormann@infosec.exchangeW This user is from outside of this forum
                  wdormann@infosec.exchangeW This user is from outside of this forum
                  wdormann@infosec.exchange
                  wrote last edited by
                  #8

                  Note that I've found the hold CRTL and do NOT lift your finger off it part of YellowKey to be completely unnecessary.

                  From the beginning, I wondered why that was even part of the instructions (what does it accomplish?). And I guess the answer to that question is: Nothing?
                  πŸ€·β€β™‚οΈ

                  1 Reply Last reply
                  1
                  0
                  • R relay@relay.infosec.exchange shared this topic
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  • Login

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • World
                  • Users
                  • Groups