WinPwnage icon indicating copy to clipboard operation
WinPwnage copied to clipboard

The to-do list

Open rootm0s opened this issue 6 years ago • 24 comments

The to-do list:

  • [x] Update all the "print_" messages so they make more sense
  • [x] Update all function descriptions so they are correct
  • [x] Update README
  • [x] A better way to do cleanup. Right now.. if function returns False in early stage, this prevents the cleanup in most of the functions. (Fixed in: https://github.com/rootm0s/WinPwnage/commit/f8dd0a67e868fe8e8a7fa11dd12ffac2012b2572)
  • [x] Restructure winstructures, it's all messy right now
  • [x] Convert the code to python3 but keep python2 support so Pupy (https://github.com/n1nj4sec/pupy) can work
  • [x] Add automated testing (Travis CI, AppVeyor, etc.)
  • [x] Replace all sys.argv[] calls from main.py and use argparse instead (Fixed in: https://github.com/rootm0s/WinPwnage/commit/7de41468b26de7b605b7f70ae33db82d4487793c)
  • [x] Deprecate py2exe support
  • [x] Remove py2exe from README
  • [x] Add better way to display the scan results
  • [x] Change Syntax winpwnage.py in README to main.py
  • [x] Deprecate DLL based methods/functions
  • [x] Remove Python2 support

rootm0s avatar Mar 13 '19 21:03 rootm0s

  • [x] Add automated testing (CircleCI, Travis CI, AppVeyor, etc.)?

cclauss avatar Mar 20 '19 12:03 cclauss

  • [x] Add automated testing (CircleCI, Travis CI, AppVeyor, etc.)?

I do all the testing manually at the moment. I don't use any of those since there's no version-handling on this project. Is it simular to unittest?

rootm0s avatar Mar 20 '19 13:03 rootm0s

These are automated tools that test each pull request before it is reviewed. One of the tests that they could run could be unittests. They could also run other test frameworks (pytest) and linters (pylint, flake8, mypy, etc).

CPython runs several (click Show all checks):

  • https://github.com/python/cpython/pull/12472#partial-pull-merging

cclauss avatar Mar 20 '19 13:03 cclauss

Alright, thanks for the info. I'll add it to the todo!

rootm0s avatar Mar 20 '19 18:03 rootm0s

Followed your steps and merged the PR @cclauss - let me know if I missed something, im new to Travis Ci.

rootm0s avatar Mar 21 '19 08:03 rootm0s

Tests are running now... #23

cclauss avatar Mar 21 '19 08:03 cclauss

Merged #23 as well

rootm0s avatar Mar 21 '19 08:03 rootm0s

Nice work! So the rule going forward should be: If Travis is not green, the PR should not be merged.

cclauss avatar Mar 21 '19 08:03 cclauss

You can check the last box in the list above.

cclauss avatar Mar 21 '19 08:03 cclauss

Nice work! So the rule going forward should be: If Travis is not green, the PR should not be merged.

Alright, good to know. Thanks!

You can check the last box in the list above.

Done!

rootm0s avatar Mar 21 '19 08:03 rootm0s

Is it time to check the second last box above?

cclauss avatar Mar 23 '19 17:03 cclauss

Is it time to check the second last box above?

It is, going too! Thanks for all the help so far. Really appreciated!

rootm0s avatar Mar 23 '19 17:03 rootm0s

Missclick, lol.

rootm0s avatar Mar 23 '19 17:03 rootm0s

Restructure of winstructures is completed in PR https://github.com/rootm0s/WinPwnage/commit/5cd9c8be20bf6b17249f7297bfcde91d6ac0f7d9

rootm0s avatar Aug 29 '19 21:08 rootm0s

Readme got updated in: https://github.com/rootm0s/WinPwnage/commit/c7d895db77ffc532c50e8bc0459e2344e7d245cb

rootm0s avatar Mar 29 '20 01:03 rootm0s

@cclauss Is it possible for Travis-ci to ignore colorama import if it's not being used? And just only colorama.

https://travis-ci.com/github/rootm0s/WinPwnage/jobs/307519521

Edit: Is now fixed.

rootm0s avatar Mar 29 '20 01:03 rootm0s

Added:

  • [x] Deprecate DLL based methods/functions

Reason: Cannot support DLL based methods because I don't have the time to create proxy dll's and test existing functions and new functions. These methods are also quite messy in my opinion, payload can get stuck on disk while using UAC bypass method because the DLL was not unloaded correctly.

rootm0s avatar Apr 06 '20 09:04 rootm0s

#53

Used pyinstaller --onefile main.py to make main.exe

Whn i run it: main.exe -scan

C:\Users\Usuari\Desktop\WinPwnage-master\dist>main.exe -scan

[!] Comparing build number (18363) against 'Fixed In' build numbers

Id: Type: Compatible: Description:


No any scan provided

Thanks for help and congrats )

psyraed avatar Apr 09 '20 21:04 psyraed

#53

Used pyinstaller --onefile main.py to make main.exe

Whn i run it: main.exe -scan

C:\Users\Usuari\Desktop\WinPwnage-master\dist>main.exe -scan

[!] Comparing build number (18363) against 'Fixed In' build numbers

Id: Type: Compatible: Description:

No any scan provided

Thanks for help and congrats )

You need to specify if you want to search for uac/persist/elevate methods.

main.exe -scan uac main.exe -scan persist main.exe -scan elevate

rootm0s avatar Apr 10 '20 08:04 rootm0s

It would be good if the software would display a clear warning if the user forgets to specify a search. Or it could execute a reasonable default.

cclauss avatar Apr 10 '20 09:04 cclauss

#53 Used pyinstaller --onefile main.py to make main.exe Whn i run it: main.exe -scan C:\Users\Usuari\Desktop\WinPwnage-master\dist>main.exe -scan [!] Comparing build number (18363) against 'Fixed In' build numbers Id: Type: Compatible: Description: No any scan provided Thanks for help and congrats )

You need to specify if you want to search for uac/persist/elevate methods.

main.exe -scan uac main.exe -scan persist main.exe -scan elevate

Hi ) Thanks for answering Tried whith all, ( uac , persist , elevate) but no any scan.

seems maybe soft don't find the scripts to us or similar ?

thnx again

psyraed avatar Apr 10 '20 10:04 psyraed

It would be good if the software would display a clear warning if the user forgets to specify a search. Or it could execute a reasonable default.

Agree, would be more user friendly. Or just add it to the README, some scan arguments so people understand how it works.

It does say it expect one more argument if only passing --scan/-s to main.py.

usage: main.py [-h] [-s SCAN [SCAN ...]] [-u USE [USE ...]] [-i ID [ID ...]] [-p PAYLOAD [PAYLOAD ...]] [-r]
main.py: error: argument -s/--scan: expected at least one argument

rootm0s avatar Apr 10 '20 10:04 rootm0s

#53 Used pyinstaller --onefile main.py to make main.exe Whn i run it: main.exe -scan C:\Users\Usuari\Desktop\WinPwnage-master\dist>main.exe -scan [!] Comparing build number (18363) against 'Fixed In' build numbers Id: Type: Compatible: Description: No any scan provided Thanks for help and congrats )

You need to specify if you want to search for uac/persist/elevate methods. main.exe -scan uac main.exe -scan persist main.exe -scan elevate

Hi ) Thanks for answering Tried whith all, ( uac , persist , elevate) but no any scan.

seems maybe soft don't find the scripts to us or similar ?

thnx again

Create a separate issue here on Github and provide what python version you run, will try to help you.

It works locally here in 3 different VMs, also Travis CI is able to build and use the scan functions. Don't think it's a WinPwnage bug.

rootm0s avatar Apr 10 '20 10:04 rootm0s

It would be good if the software would display a clear warning if the user forgets to specify a search. Or it could execute a reasonable default.

Added some examples to README for now: https://github.com/rootm0s/WinPwnage/commit/a8ddf8465e6caec37debc4ce9be1782387ca7706

rootm0s avatar Apr 10 '20 12:04 rootm0s