Skip to content

Commit 4a5718a

Browse files
committed
Update README.
1 parent 2257588 commit 4a5718a

File tree

2 files changed

+27
-9
lines changed

2 files changed

+27
-9
lines changed

README.md

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
## introduction
1616

17-
`punch-q` is a small Python 2 utility used to play with IBM MQ instances. Using `punch-q`, it is possible to perform security related tasks such as manipulating messages on an IBM MQ queue granting one the ability to tamper with business processes at an integration layer.
17+
`punch-q` is a small Python utility used to play with IBM MQ instances. Using `punch-q`, it is possible to perform security related tasks such as manipulating messages on an IBM MQ queue granting one the ability to tamper with business processes at an integration layer.
1818

1919
## features
2020

@@ -34,17 +34,34 @@ Executing commands via MQ services:
3434

3535
![command execution](https://i.imgur.com/vEvRem0.png)
3636

37+
## installation - docker
38+
39+
A docker container for `punch-q` can be built with:
40+
41+
```text
42+
git clone https://github.com/sensepost/punch-q.git
43+
cd punch-q
44+
docker build -t punch-q:local .
45+
```
46+
47+
Once done, you can run `punch-q` with:
48+
49+
```text
50+
docker run --rm -ti punch-q:local --help
51+
```
52+
3753
## installation
3854

39-
This utility relies on [pymqi](https://github.com/dsuch/pymqi) and needs to be successfully installed for `punch-q` to work. The installation of `pymqi` relies on the IBM MQ client utilities to be installed which you would need to download from IBM's website first. [This](https://github.com/dsuch/pymqi/issues/15#issuecomment-124772995) Github issue can be used as a reference to install the correct MQ Client libraries.
55+
This utility relies on [pymqi](https://github.com/dsuch/pymqi) and needs to be successfully installed for `punch-q` to work. The installation of `pymqi` relies on the IBM MQ client utilities to be available which you would need to download from IBM's website first. [This](https://github.com/dsuch/pymqi/issues/15#issuecomment-124772995) Github issue can be used as a reference to install the correct MQ Client libraries.
56+
57+
Alternatively, a hint from [this](https://github.com/ibm-messaging/mq-golang/blob/master/Dockerfile#L53-L62) repository means one could just download and extract the archive in the correct location to compile `pymqi`. This is how the docker container does it.
4058

41-
In summary, to get the IBM MQ client for `pymqi` and `punch-q` working, you need to:
59+
To get the IBM MQ client for `pymqi` and `punch-q` working, you need to:
4260

43-
- Download the IBM MQ Client libraries from IBM's [website](http://www-01.ibm.com/software/integration/wmq/clients/). The version 7.5 x64 Linux client library was used while testing `punch-q` and can be found [here](https://www-945.ibm.com/support/fixcentral/swg/downloadFixes?parent=ibm~WebSphere&product=ibm/WebSphere/WebSphere+MQ&release=7.5.0.8&platform=All&function=fixId&fixids=7.5.0.8-WS-MQC-LinuxX64&useReleaseAsTarget=true&includeRequisites=0&includeSupersedes=0&downloadMethod=http) (You may need to login with an IBM ID first).
44-
- After the download is complete, extract the archives contents and accept the IBM license agreement with `/mqlicense.sh -accept`.
45-
- Install the `MQSeriesRuntime`, `MQSeriesClient` and `MQSeriesSDK` RPM's. These can be installed on Kali Linux after installing `alien` with `alien -i <PackageName>.rpm`.
61+
- Download the IBM MQ Client libraries for Linux from IBM's website [here](https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqdev/redist/9.1.4.0-IBM-MQC-Redist-LinuxX64.tar.gz). Older versions and ibraries for other operating systems is also available [here](https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqdev/redist/).
62+
- Extract the downloaded archive to `/opt/mqm`.
4663

47-
Finally, with the MQ series client installed, `punch-q` itself can be installed with:
64+
Finally, `punch-q` itself can be installed with:
4865

4966
```bash
5067
pip install punch-q
@@ -62,4 +79,4 @@ An osquery table plugin PoC can also be found in this repository [here](https://
6279

6380
## license
6481

65-
`punch-q` is licensed under a [GNU General Public v3 License](https://www.gnu.org/licenses/gpl-3.0.en.html). Permissions beyond the scope of this license may be available at http://sensepost.com/contact/.
82+
`punch-q` is licensed under a [GNU General Public v3 License](https://www.gnu.org/licenses/gpl-3.0.en.html). Permissions beyond the scope of this license may be available at [http://sensepost.com/contact/](http://sensepost.com/contact/).

setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ def _package_files(directory, suffix):
6060
classifiers=[
6161
'Operating System :: OS Independent',
6262
'Natural Language :: English',
63-
'Programming Language :: Python :: 2 :: Only',
63+
'Programming Language :: Python :: 2',
64+
'Programming Language :: Python :: 3',
6465
],
6566
entry_points={
6667
'console_scripts': [

0 commit comments

Comments
 (0)