Add new Yandex module: Yandex Browser DPAPI credential extraction - #1161
Add new Yandex module: Yandex Browser DPAPI credential extraction#1161pavelpashka1 wants to merge 3 commits into
Conversation
Yandex Browser DPAPI credential extractor (Yandex Browser uses Chromium DPAPI encryption with custom Ya Passman layer). Signed-off-by: pavelpashka1 <144246114+pavelpashka1@users.noreply.github.com>
Signed-off-by: pavelpashka1 <144246114+pavelpashka1@users.noreply.github.com>
|
Hi and thanks for the PR. Unfortunately, this is duplicate to #814. Besides, this is also duplicate to the lsassy module and dpapi decryption/key recovery etc should be done with dploot. |
Hello, thank you! @NeffIsBack I saw this PR. Unfortunately, it is not working and has limited functionality. Also, dploot worked poorly and unstably, so it was decided to use impacket instead. Since impacket is already listed as a dependency of netexec, I don't see any contradiction here. |
What exactly does not work? It doesn't export any credentials from yandex? Lsassy is caught be pretty much any AV out there and would add another layer of abstraction that need to work in order to extract anything. You could still execute lsassy on its own and then use the dumped credentials for looting the target.
What exactly was poor and unstable? So far we are using dploot a lot in NetExec and that would be an easy way to abstract the dpapi decryption and master key collection etc. If there are bugs we should rather fix them instead of implementing everything manually. |
@NeffIsBack thanks for the feedback! Regarding lsassy and AV: Regarding dploot: |
|
Hi! Honestly I'd say that yes, it's better to implement that into dploot because it does all that DPAPI related stuffs you need to decrypt stored passwords. We try having dedicated tools for specific actions (dploot, lsassy). Those allow us not having to hack NXC's code too much and offload the work we have to do :) |
Signed-off-by: Pavel <144246114+pavelpashka1@users.noreply.github.com>
|
@Dfte @NeffIsBack Hi! |
|
@NeffIsBack @Dfte |
|
Hi, we do see your pings, we most often don't have the time to responds immediately :) So, I still don't see the reason why we should also execute lsassy and I also don't see why this is not duplicate to #814. From what I can tell it is pretty much the same or at least very similar code. |
|
@NeffIsBack I kindly ask you to carefully read the module description again, specifically the |
|
So for some reason #814 was closed so we will go forward with this PR. However, running lsassy should not be part of this module. It is already a standalone module and will pretty much eliminate this module for pentesting since any modern AV will detect lsassy. |
I agree. Also I'm currently preparing a new big release for dploot (coming soon) with multi protocol support (smb, wmi, winrm eventually). This would allow Yandex triage to be implemented over multiple network protocol at the same time. |
Nice ok! |
|
Not a duplicate / not covered by --dpapi. On lsassy. Re #814: So I just want to align on what you'd like from me to get this into main: do you want the full module as-is, the module minus lsassy, or only the Yandex decryption part folded in somewhere else? Happy to refactor whichever way you prefer. |
|
Hello. |
Yeah since it is simply dpapi this will directly be integrated into dploot and extracted with the same run as chrome etc. since we can use the existing infrastructure of dploot instead of having to do this manually. E.g. with that we have permanently stored backup keys that can be retrieved from the nxcdb, all the crypto operations etc. See zblurx/dploot#47 |
Description
Adds a new
yandexmodule that extracts saved passwords from Yandex Browser by decrypting DPAPI-protected encryption keys and the Ya Passman Data databaseDefault mode decrypts the authenticated user's passwords; two extended modes allow attacking other users:
Yandex Browser uses a custom encryption layer on top of Chromium's standard DPAPI scheme, which is not covered by existing modules or
--dpapiThis PR was created with the assistance of AI Claude Code (Opus 4.6). The AI was used for code review, refactoring to match NetExec coding conventions. The core logic was developed and tested manually on real targets.
Type of change
Setup guide for the review
Lab GOAD, host - CASTELBLACK with Yandex Browser and saved passwords without using a master password, DC - Winterfell
Screenshots:
Module

--dpapi:Module
yandexdefault usage:Module
yandexvia lsass dump :Module
yandexvia backupkey dump:Module
yandexvia backupkey file:Checklist:
poetry run ruff check ., use--fixto automatically fix what it can)tests/e2e_commands.txtfile if necessary (new modules or features are required to be added to the e2e tests)