Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Issue #371] Add NetNTLMv2 hash capture to README #383

Merged
merged 38 commits into from
Jan 17, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
0088f15
Add NetNTLMv2 hash capture to README
lubiedo Jan 7, 2022
e1a222a
Add more information to the README
lubiedo Jan 10, 2022
772c248
Specify log file
lubiedo Jan 10, 2022
f08a9e7
Update README.md
lubiedo Jan 10, 2022
89f1da4
chore(363): replace notify2 by py-notifier.
alxbl Oct 25, 2021
87d3313
chore: remove dbus dependencies
alxbl Oct 27, 2021
c384eb3
cleanup: remove notify-osd
alxbl Oct 29, 2021
1297fef
Removed leftover comment in Dockerfile
obilodeau Nov 26, 2021
f602830
Updated CHANGELOG
obilodeau Nov 26, 2021
d8408a8
Capture the NetNTLM hash if server enforces NLA (#367)
lubiedo Nov 26, 2021
d90c580
Updated CHANGELOG
obilodeau Nov 26, 2021
30665b6
Some type hint improvements
obilodeau Nov 26, 2021
b113492
Not longer assuming every connection will have VirtualChannels
obilodeau Nov 26, 2021
5f0092a
Updated CHANGELOG
obilodeau Nov 26, 2021
9b3ca1a
fix(331): Call conversion handler cleanup.
alxbl Oct 26, 2021
2eae592
fix: revert conversion success message for now.
alxbl Oct 27, 2021
dee25d8
Fixing type errors with high-precision pcaps
obilodeau Dec 27, 2021
ff5875a
Fixed many TLS decryption issues when src.ip == dst.ip
obilodeau Dec 27, 2021
1d88dc0
Refactoring to regroup hardcoded PDU offsets and class renamed
obilodeau Dec 27, 2021
b900edc
Updated CHANGELOG
obilodeau Dec 29, 2021
9891f7b
Python 3.10 support: collections no longer exports Mapping
obilodeau Dec 29, 2021
fabc836
Updated CHANGELOG
obilodeau Dec 30, 2021
77850d4
fix: Better success and error messages for pyrdp-convert (#369)
alxbl Jan 6, 2022
07c2006
feat(#313): Add support for conversion of multiple exported sessions.
alxbl Oct 27, 2021
7543907
Moving GitHub workflow tests out to a shell script
obilodeau Jan 7, 2022
2bfd61e
refactor to use Exported PDU struct (now called ExportedPDU)
obilodeau Jan 7, 2022
6739b21
Updated CHANGELOG
obilodeau Jan 7, 2022
1b1d5e9
doc: moved out pycrypto to pycryptodome update doc
obilodeau Jan 7, 2022
eb8647b
doc: completely reworked section about pyrdp-mitm output
obilodeau Jan 7, 2022
0bd9180
doc: reworked pyrdp-convert sections
obilodeau Jan 7, 2022
94a50c3
Added great RDP protocol intro
obilodeau Jan 13, 2022
fc42c13
doc: extracted twistd doc into docs/ with a reference to it
obilodeau Jan 13, 2022
e2d17b9
doc: re-read README and modernized it
obilodeau Jan 13, 2022
5e6e915
doc: TOC cleanup and some re-org
obilodeau Jan 13, 2022
a9f508a
Updated CHANGELOG
obilodeau Jan 13, 2022
d70121f
doc: rework NLA doc
obilodeau Jan 17, 2022
2be1646
doc: diagram and more context around the --nla-redirection attack
obilodeau Jan 17, 2022
57eb409
doc: link to tools
obilodeau Jan 17, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 3 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
- name: Install setuptools
run: sudo apt install python3-setuptools
- name: Install PyRDP dependencies
run: sudo apt install libdbus-1-dev libdbus-glib-1-dev libgl1-mesa-glx git python3-dev
run: sudo apt install libgl1-mesa-glx git python3-dev
- name: Install wheel
working-directory: .
run: pip install wheel
Expand All @@ -76,17 +76,9 @@ jobs:
working-directory: ./
run: coverage run --append test/test_mitm_initialization.py dummy_value

- name: pyrdp-player.py read a replay in headless mode test
working-directory: ./
run: coverage run --append bin/pyrdp-player.py --headless test/files/test_session.replay

- name: pyrdp-convert.py to MP4
- name: Running pyrdp-player and pyrdp-convert integration tests with verifications
working-directory: ./
run: coverage run --append bin/pyrdp-convert.py test/files/test_convert.pyrdp -f mp4

- name: Verify the MP4 file
working-directory: ./
run: file test_convert.mp4 | grep "MP4 Base Media"
run: ./test/integration.sh

- name: Run unit tests
working-directory: ./
Expand Down
14 changes: 12 additions & 2 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,36 @@ For a detailed view of what has changed, refer to the {uri-repo}/commits/master[

=== Enhancements

* Capture and log NetNTLMv2 hash if the server enforces NLA and we don't have the NLA redirection attack activated ({uri-issue}367[#367], {uri-issue}358[#358])
* `pyrdp-convert` video conversion is now 6x faster! (See {uri-issue}349[#349])
* `pyrdp-convert` video format can be viewed during encoding and will play even if the conversion process crashes or is halted ({uri-issue}352[#352], {uri-issue}353[#353])
* Better error reporting for `pyrdp-convert` ({uri-issue}361[#361])
* `pyrdp-convert` can now handle exported PDUs (decrypted pcaps) with multiple sessions in them ({uri-issue}313[#313], {uri-issue}368[#368])
* `pyrdp-convert` can now extract session information including keyboard and mouse movement information in JSON from pcap and PDUs ({uri-issue}331[#331], {uri-issues}366[#366])
* `pyrdp-convert` has better success messages, error reporting and exit status ({uri-issue}361[#361], {uri-issue}369[#369])
* Minor CLI improvements
* Improved type hints
* Updated instructions to extract the RDP certificate and private key ({uri-issue}345[#345])
* Documentation updates ({uri-issue}335[#335], {uri-issue}339[#339], {uri-issue}340[#340], {uri-issue}360[#360])
* Documentation updates ({uri-issue}335[#335], {uri-issue}339[#339], {uri-issue}340[#340], {uri-issue}360[#360], {uri-issue}381[#381], {uri-issue}384[#384])
* Replaced unmaintained dependency notify2 with py-notifier ({uri-issue}363[#363], {uri-issue}365[#365])
* Some Python 3.10 compatibility work ({uri-issue}366[#366], {uri-issue}380[#380])

=== Bug fixes

* Fixed a memory leak in the bitmap decoding routine preventing the conversion or the replay of very large captures ({uri-issue}352[#352], {uri-issue}353[#353])
* Fixed `pyrdp-player` on macOS platforms ({uri-issue}362[#362])
* Fixed `pyrdp-convert` pcap processing when victim IP and MITM IP are the same ({uri-issue}366[#366])
* Fixed NLA redirection problems if original target and NLA redirection target are the same ({uri-issue}342[#342], {uri-issue}343[#343])
* Added a missing dependency for the GUI on Ubuntu 20.04 LTS ({uri-issue}348[#348], {uri-issue}351[#351], {uri-issue}355[#355])
* No longer assuming every connection will have VirtualChannels ({uri-issue}375[#375])

=== Infrastructure

* The slim flavor of our Docker image is now provided for the ARM and ARM64 platforms ({uri-issue}346[#346])
* Docker images are now built and pushed via GitHub Actions ({uri-issue}334[#334], {uri-issue}341[#341])
* Added an automated video conversion test to CI configuration ({uri-issue}349[#349])
* Added an automated JSON conversion test to CI configuration with some validation ({uri-issue}369[#369])
* Added an automated replay conversion test to CI configuration ({uri-issue}369[#369])
* Test refactoring to allow running most GitHub CI tests locally when developing ({uri-issue}368[#368])


== v1.1.0 - 2021-08-05
Expand Down
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
python3-setuptools \
# Required for venv setup
python3-venv \
# Required to build RLE module and dbus-python (GUI)
# Required to build RLE module
build-essential python3-dev \
libdbus-1-dev libdbus-glib-1-dev \
# Required to build PyAV (pyrdp-convert to MP4)
libavformat-dev libavcodec-dev libavdevice-dev \
libavutil-dev libswscale-dev libswresample-dev libavfilter-dev
Expand Down Expand Up @@ -47,7 +46,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends python3 \
python3-distutils \
# GUI and notifications stuff
libgl1-mesa-glx libxcb-xinerama0 \
notify-osd dbus-x11 libxkbcommon-x11-0 \
libxkbcommon-x11-0 \
libnotify-bin \
# Runtime requirement for PyAV (pyrdp-convert to MP4)
libavcodec58 libavdevice58 \
&& rm -rf /var/lib/apt/lists/*
Expand Down
Loading