Skip to content

1.2.0 - The Rudolph Desktop Protocol!

Compare
Choose a tag to compare
@obilodeau obilodeau released this 23 Dec 17:25

Release blog post: https://www.gosecure.net/blog/2022/12/23/a-new-pyrdp-release-the-rudolph-desktop-protocol/

Release highlights

  • Net-NTLMv2 Hash Capture
  • 6x faster pyrdp-convert
  • RDP Version 10.9 and 10.10 supported
  • Python 3.10 support
  • Plugged memory leak and fixed important long-standing bugs

Full list of changes follows.

Backwards Compatibility Changes

  • Collected files are now stored as their SHA-256 hash value instead of SHA-1 (#389)
  • The log field shasum now holds the SHA-256 hash value of files instead of SHA-1 (#389)

Security

  • Backported security fixes from rdesktop to our Python C extension doing RLE processing.
    Exploitability wasn't verified. (#357)

Enhancements

  • Support for RDP version 10.9 and 10.10 (#396, #397)
  • Capture and log NetNTLMv2 hash if the server enforces NLA and we don't have the NLA redirection attack activated (#367, #358)
  • The Net-NTLMv2 challenge can be defined via --ssp-challenge allowing to do more efficient parallel cracking or leverage rainbow tables (#405, #418)
  • pyrdp-convert video conversion is now 6x faster! (See #349)
  • pyrdp-convert video format can be viewed during encoding and will play even if the conversion process crashes or is halted (#352, #353)
  • pyrdp-convert can now handle exported PDUs (decrypted pcaps) with multiple sessions in them (#313, #368)
  • pyrdp-convert can now extract session information including keyboard and mouse movement information in JSON from pcap and PDUs (#331, #366)
  • pyrdp-convert has better success messages, error reporting and exit status (#361, #369)
  • pyrdp-mitm added --address argument to choose the IP address where PyRDP is listening (#411, #412)
  • Minor CLI improvements
  • Improved type hints
  • Updated instructions to extract the RDP certificate and private key (#345)
  • Documentation updates (#335, #339, #340, #360, #371, #381, #383, #384, #408, #420)
  • Replaced unmaintained dependency notify2 with py-notifier (#363, #365)
  • Some Python 3.10 compatibility work (#366, #380, #421)
  • Enable play/pause replay on the Player by pressing the Space key (#403).

Bug fixes

  • Fixed situations where device redirection or clipboard sharing would hang and timeout (#139, #422)
  • Fixed a memory leak in the bitmap decoding routine preventing the conversion or the replay of very large captures (#352, #353)
  • Fixed pyrdp-player on macOS platforms (#362)
  • Fixed pyrdp-convert pcap processing when victim IP and MITM IP are the same (#366)
  • Fixed a pyrdp-convert segmentation fault in QT in some MP4 conversions (#378, #428, #429)
  • Fixed NLA redirection problems if original target and NLA redirection target are the same (#342, #343)
  • Fixed leak of file descriptors due to missing close on replay file recording (#392, #413, #415)
  • Added a missing dependency for the GUI on Ubuntu 20.04 LTS (#348, #351, #355)
  • No longer assuming every connection will have VirtualChannels (#375)
  • Some minor protocol-level fixes (#408)

Infrastructure

  • The slim flavor of our Docker image is now provided for the ARM64 platform (#346, #388)
  • Docker images are now built and pushed via GitHub Actions (#334, #341)
  • Added an automated video conversion test to CI configuration (#349)
  • Added an automated JSON conversion test to CI configuration with some validation (#369)
  • Added an automated replay conversion test to CI configuration (#369)
  • Test refactoring to allow running most GitHub CI tests locally when developing (#368)
  • Added Python 3.10 to CI test configuration (#387)
  • Updated our dependencies to the latest stable versions (#386, #391, #400, #414, #417)

Credits

Thanks to the following people who contributed to this release:

Alexandre Beaulieu (@alxbl), Lisandro Ubiedo (@lubiedo), Francis Labelle (@xshill), Lukas Kupczyk (@lkupczyk), Olivier Bilodeau (@obilodeau), simonhuang (@thelongestusernameofall), Jonas (@spameier) and Flare Systems