Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into describeTicket
Browse files Browse the repository at this point in the history
# Conflicts:
#	impacket/krb5/pac.py
  • Loading branch information
ShutdownRepo committed Sep 16, 2023
2 parents d8b0809 + 6a3ecf7 commit 66844b9
Show file tree
Hide file tree
Showing 299 changed files with 4,406 additions and 777 deletions.
23 changes: 14 additions & 9 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@ env:

jobs:
lint:
name: Check syntaxs errors and warnings
name: Check syntax errors and warnings
runs-on: ubuntu-latest
if:
github.event_name == 'push' || github.event.pull_request.head.repo.full_name !=
github.repository

steps:
- name: Checkout Impacket
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Setup Python 3.8
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: 3.8

Expand All @@ -40,27 +40,32 @@ jobs:
test:
name: Run unit tests and build wheel
needs: lint
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
if:
github.event_name == 'push' || github.event.pull_request.head.repo.full_name !=
github.repository

strategy:
fail-fast: false
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9"]
python-version: ["3.7", "3.8", "3.9", "3.10"]
experimental: [false]
os: [ubuntu-latest]
include:
- python-version: "3.10"
- python-version: "3.6"
experimental: false
os: ubuntu-20.04
- python-version: "3.11-dev"
experimental: true
os: ubuntu-latest
continue-on-error: ${{ matrix.experimental }}

steps:
- name: Checkout Impacket
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

Expand Down Expand Up @@ -88,7 +93,7 @@ jobs:
continue-on-error: true
steps:
- name: Checkout Impacket
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Build docker image
run: |
Expand Down
65 changes: 63 additions & 2 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,70 @@
# ChangeLog

Project's main page at [www.secureauth.com](https://www.secureauth.com/labs/open-source-tools/impacket).
Project owner's main page is at www.coresecurity.com.

Complete list of changes can be found at:
https://github.com/SecureAuthCorp/impacket/commits/master
https://github.com/fortra/impacket/commits/master

## Impacket v0.11.0 (Aug 2023):
1. Library improvements
* Added new Kerberos error codes (@ly4k).
* Added `[MS-TSTS]` Terminal Services Terminal Server Runtime Interface Protocol implementation (@nopernik).
* Changed the setting up for new SSL connections (@mpgn, @CT-H00K and @0xdeaddood).
* Added a callback function to smbserver for incoming authentications (@p0dalirius).
* Fix crash in winregistry (@laxa)
* Fixes in IDispatch derived classes in comev implementation (@NtAlexio2)
* Fix CVE-2020-17049 in ccache.py (@godylockz)
* Smbserver: Added SMB2_FILE_ALLOCATION_INFO type determination (@JerAxxxxxxx)
* tds: Fixed python3 incompatibility when receiving over TLS socket (@exploide)
* crypto: Ensure passwords are utf-8 encoded before deriving Kerberos keys (@jojonas)
* ese: Fixed python3 incompatibility when reading from db (@alexisbalbachan)
* ldap queries: Escaped characters are now correctly parsed (@alexisbalbachan)
* Support SASL authentication in ldap protocol (@NtAlexio2)

2. Examples improvements
* [GetADUsers.py](examples/GetADUsers.py), [GetNPUsers.py](examples/GetNPUsers.py), [GetUserSPNs.py](examples/GetUserSPNs.py) and [findDelegation.py](examples/findDelegation.py):
* Added dc-host option to connect to specific KDC using its FQDN or NetBIOS name (@rmaksimov and @0xdeaddood).
* [GetNPUsers.py](examples/GetNPUsers.py)
* Printing TGT in stdout despite -outputfile parameter (@alexisbalbachan and @Zamanry)
* Fixed output hash format for AES128/256 (etype 17/18) (@erasmusc)
* [GetUserSPNs.py](examples/GetUserSPNs.py):
* Added LDAP paged search (@ThePirateWhoSmellsOfSunflowers and @SAERXCIT).
* Added a -stealth flag to remove the SPN filter from the LDAP query (@clavoillotte).
* Improved searchFilter (@ShutdownRepo)
* Use LDAP paged search (@ThePirateWhoSmellsOfSunflowers)
* [psexec.py](examples/psexec.py):
* Added support for name customization using a custom binary file (@Dramelac).
* [smbexec.py](examples/smbexec.py):
* Security fixes for privilege escalation vulnerabilities (@bugch3ck).
* Fixed python3 compatibility issues, added workaround TCP over NetBIOS being disabled (@ljrk0)
* [secretsdump.py](examples/secretsdump.py):
* Added a new option to extract only NTDS.DIT data for specific users based on an LDAP filter (@snovvcrash).
* Security fixes for privilege escalation vulnerabilities (@bugch3ck).
* [mssqlclient.py](examples/mssqlclient.py):
* Added multiple new commands. Now supports xp_dirtree execution (@Mayfly277, @trietend and @TurtleARM).
* [ntlmrelayx.py](examples/ntlmrelayx.py):
* Added ability to trigger SQLShell when running ntlmrelayx in interactive mode (@sploutchy).
* Added filter option to the socks command in ntlmrelayx CLI (@shoxxdj)
* Added ability to register DNS records through LDAP.
* [addcomputer.py](examples/addcomputer.py), [rbcd.py](examples/rbcd.py):
* Allow weak TLS ciphers for LDAP connections (@AdrianVollmer)
* [Get-GPPPassword.py](examples/Get-GPPPassword.py):
* Better handling of various XML files in Group Policy Preferences (@p0dalirius)
* [smbclient.py](examples/smbclient.py):
* Added recursive file listing (@Sq00ky)
* [ticketer.py](examples/ticketer.py):
* Ticket duration is now specified in hours instead of days (@Dramelac)
* Added extra-pac implementation (@Dramelac)

3. New examples
* [net.py](examples/net.py) Implementation of windows net.exe builtin tool (@NtAlexio2)
* [changepasswd.py](examples/changepasswd.py) New example that allows password changing or reseting through multiple protocols (@Alef-Burzmali, @snovvcrash, @bransh, @api0cradle and @p0dalirius)
* [DumpNTLMInfo.py](examples/DumpNTLMInfo.py) New example that dumps remote host information in ntlm authentication model, without credentials. For SMB protocols v1, v2 and v3. (@NtAlexio2)

As always, thanks a lot to all these contributors that make this library better every day (up to now):

@ly4k @nopernik @snovvcrash @ShutdownRepo @kiwids0220 @mpgn @CT-H00K @rmaksimov @arossert @aevy-syn @tirkarthi @p0dalirius @Dramelac @Mayfly277 @S3cur3Th1sSh1t @nobbd @AdrianVollmer @trietend @TurtleARM @ThePirateWhoSmellsOfSunflowers @SAERXCIT @clavoillotte @Marshall-Hallenbeck @sploutchy @almandin @rtpt-alexanderneumann @JerAxxxxxxx @NtAlexio2 @laxa @godylockz @exploide @jojonas @Zamanry @erasmusc @bugch3ck @ljrk0 @Sq00ky @shoxxdj @Alef-Burzmali @bransh @api0cradle @alexisbalbachan @0xdeaddood @NtAlexio2 @sanmopre


## Impacket v0.10.0 (May 2022):

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ RUN apk add --no-cache git gcc musl-dev python3-dev libffi-dev openssl-dev cargo
RUN python3 -m pip install virtualenv
RUN virtualenv -p python venv
ENV PATH="/opt/venv/bin:$PATH"
RUN git clone --depth 1 https://github.com/SecureAuthCorp/impacket.git
RUN git clone --depth 1 https://github.com/fortra/impacket.git
RUN python3 -m pip install impacket/

FROM python:3.8-alpine
Expand Down
12 changes: 6 additions & 6 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ Licencing
We provide this software under a slightly modified version of the
Apache Software License. The only changes to the document were the
replacement of "Apache" with "Impacket" and "Apache Software Foundation"
with "SecureAuth Corporation". Feel free to compare the resulting
with "Fortra". Feel free to compare the resulting
document to the official Apache license.

The `Apache Software License' is an Open Source Initiative Approved
License.


The Apache Software License, Version 1.1
Modifications by SecureAuth Corporation (see above)
Modifications by Fortra (see above)

Copyright (c) 2000 The Apache Software Foundation. All rights
reserved.
Expand All @@ -32,18 +32,18 @@ are met:
3. The end-user documentation included with the redistribution,
if any, must include the following acknowledgment:
"This product includes software developed by
SecureAuth Corporation (https://www.secureauth.com/)."
SecureAuth Corporation (https://www.secureauth.com/) and Fortra (https://www.fortra.com)."
Alternately, this acknowledgment may appear in the software itself,
if and wherever such third-party acknowledgments normally appear.

4. The names "Impacket", "SecureAuth Corporation" must
4. The names "Impacket", "SecureAuth Corporation", and "Fortra" must
not be used to endorse or promote products derived from this
software without prior written permission. For written
permission, please contact oss@secureauth.com.
permission, please reach out to https://www.coresecurity.com/about/contact.

5. Products derived from this software may not be called "Impacket",
nor may "Impacket" appear in their name, without prior written
permission of SecureAuth Corporation.
permission of Fortra.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
Expand Down
47 changes: 17 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ Impacket
========

[![Latest Version](https://img.shields.io/pypi/v/impacket.svg)](https://pypi.python.org/pypi/impacket/)
[![Build and test Impacket](https://github.com/SecureAuthCorp/impacket/actions/workflows/build_and_test.yml/badge.svg)](https://github.com/SecureAuthCorp/impacket/actions/workflows/build_and_test.yml)
[![Build and test Impacket](https://github.com/fortra/impacket/actions/workflows/build_and_test.yml/badge.svg)](https://github.com/fortra/impacket/actions/workflows/build_and_test.yml)

SECUREAUTH LABS. Copyright (C) 2022 SecureAuth Corporation. All rights reserved.
FORTRA. Copyright (C) 2023 Fortra. All rights reserved.

Impacket was originally created by [SecureAuth](https://www.secureauth.com/labs/open-source-tools/impacket), and now maintained by Fortra's Core Security.

Impacket is a collection of Python classes for working with network
protocols. Impacket is focused on providing low-level
Expand All @@ -15,10 +17,6 @@ raw data, and the object-oriented API makes it simple to work with
deep hierarchies of protocols. The library provides a set of tools
as examples of what can be done within the context of this library.

A description of some of the tools can be found at
[SecureAuth Labs' Open Source Website](https://www.secureauth.com/labs/open-source-tools/impacket).


What protocols are featured?
----------------------------

Expand All @@ -34,7 +32,7 @@ What protocols are featured?
Maintainer
==========

[<img src="https://www.secureauth.com/wp-content/uploads/2020/10/SA_Logo_Blue_Hori-web.png" width="320"/>](https://www.secureauth.com/)
[Core Security](https://www.coresecurity.com/)


Table of Contents
Expand All @@ -52,47 +50,36 @@ Getting Impacket

### Latest version

* Impacket v0.10.0
* Impacket v0.11.0

[![Python versions](https://img.shields.io/pypi/pyversions/impacket.svg)](https://pypi.python.org/pypi/impacket/)

[Current and past releases](https://github.com/SecureAuthCorp/impacket/releases)
[Current and past releases](https://github.com/fortra/impacket/releases)

### Development version

* Impacket v0.10.1-dev (**[master branch](https://github.com/SecureAuthCorp/impacket/tree/master)**)
* Impacket v0.12.0-dev (**[master branch](https://github.com/fortra/impacket/tree/master)**)

[![Python versions](https://img.shields.io/badge/python-3.6%20|%203.7%20|%203.8%20|%203.9-blue.svg)](https://github.com/SecureAuthCorp/impacket/tree/master)
[![Python versions](https://img.shields.io/badge/python-3.6%20|%203.7%20|%203.8%20|%203.9%20|%203.10-blue.svg)](https://github.com/fortra/impacket/tree/master)


Setup
=====

### Quick start

In order to grab the latest stable release with `pip` run:

python3 -m pip install impacket
> :information_source: We recommend using `pipx` over `pip` for system-wide installations.
> :information_source: This will make the Impacket library available to
your Python code, but will not provide you with the example scripts.
In order to grab the latest stable release run:

### Installing the library + example scripts
python3 -m pipx install impacket

In order to install the library and the example scripts, download and
If you want to play with the unreleased changes, download the development
version from the [master branch](https://github.com/fortra/impacket/tree/master),
extract the package, and execute the following command from the
directory where the Impacket's release has been unpacked:

python3 -m pip install .

> :information_source: This will install the library into the default Python
modules path, where you can make use of the example scripts from the directory.

> :warning: Make sure the example scripts you're using are consistent with the
library version that's installed in your python environment.
We recommend using [virtual environments](https://docs.python.org/3/library/venv.html) to
make sure system-wide installations doesn't interfere with it.
directory where Impacket has been unpacked:

python3 -m pipx install .

### Docker Support

Expand Down Expand Up @@ -145,6 +132,6 @@ Contact Us
==========

Whether you want to report a bug, send a patch, or give some suggestions
on this package, drop us a few lines at oss@secureauth.com.
on this package, reach out to us at https://www.coresecurity.com/about/contact.

For security-related questions check our [security policy](SECURITY.md).
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ Security Policy
Although this initiative is not meant to be used in productive environments,
if you consider that you have identified an issue that might affect the
security of its users, or you understand that the tool is being abused,
you can contact us at oss-security@secureauth.com.
you can contact us at https://www.coresecurity.com/about/contact.
Loading

0 comments on commit 66844b9

Please sign in to comment.