GitBook: [#3570] No subject
Before Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 143 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 143 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 143 KiB |
Before Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 110 KiB |
BIN
.gitbook/assets/image (85) (1).png
Normal file
After Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 18 KiB |
BIN
.gitbook/assets/image (88) (1).png
Normal file
After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 18 KiB |
BIN
.gitbook/assets/image (90) (1).png
Normal file
After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 25 KiB |
BIN
.gitbook/assets/image (98) (1).png
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 20 KiB |
|
@ -115,7 +115,7 @@ In current Wireshark instead of `bootp` you need to search for `DHCP`
|
|||
|
||||
_edit>preference>protocol>ssl>_
|
||||
|
||||
![](<../../../.gitbook/assets/image (98).png>)
|
||||
![](<../../../.gitbook/assets/image (98) (1).png>)
|
||||
|
||||
Press _Edit_ and add all the data of the server and the private key (_IP, Port, Protocol, Key file and password_)
|
||||
|
||||
|
|
|
@ -105,7 +105,7 @@ Thus, after establishing the neighborhood, we know about the existence of these
|
|||
|
||||
**I have found that generating and quickly sending out mass EIGRP hello packets overloads the router’s CPU, which in turn can open the door to a DoS attack.** I have developed a little [**helloflooding.py**](https://github.com/in9uz/EIGRPWN/blob/main/helloflooding.py) **** script, but it seems to me that the script lacks the speed of sending out the packets. **It’s caused by GIL**, which prevents the **sprayhello** function from running in multiple threads per second. **Eventually I’ll rewrite the script in C.**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (2) (6).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Arguments of the script:
|
||||
|
||||
|
@ -173,7 +173,7 @@ Script arguments:
|
|||
|
||||
The essence of this attack is to provoke the sending of a huge number of false routes, which will overflow the routing table. This depletes the computing resources of the router, namely the CPU and RAM, since the injections occur at enormous speed. This attack is implemented [**routingtableoverflow.py**](https://github.com/in9uz/EIGRPWN/blob/main/routingtableoverflow.py) **script**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3) (4).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Script arguments
|
||||
|
||||
|
@ -187,7 +187,7 @@ in9uz@Inguz:~$ sudo python3 routingtableoverflow.py --interface eth0 --as 1 --sr
|
|||
|
||||
After running the script, the routing table starts overflowing with routes. The random addresses of the target networks are due to the use of **RandIP()** in [**Scapy**](https://github.com/secdev/scapy).
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (4) (4).png" alt=""><figcaption><p>Routing table overflows on GW1 router</p></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (4).png" alt=""><figcaption><p>Routing table overflows on GW1 router</p></figcaption></figure>
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (21).png" alt=""><figcaption><p>Overloaded router CPU</p></figcaption></figure>
|
||||
|
||||
|
|
|
@ -1,23 +1,18 @@
|
|||
|
||||
# Linux Environment Variables
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Support HackTricks and get benefits!</strong></summary>
|
||||
|
||||
- Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
|
||||
- Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
|
||||
- Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
|
||||
- **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
||||
|
||||
- **Share your hacking tricks by submitting PRs to the** [**hacktricks github repo**](https://github.com/carlospolop/hacktricks)**.**
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**hacktricks github repo**](https://github.com/carlospolop/hacktricks)**.**
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# Global variables
|
||||
## Global variables
|
||||
|
||||
The global variables **will be** inherited by **child processes**.
|
||||
|
||||
|
@ -36,7 +31,7 @@ You can **remove** a variable doing:
|
|||
unset MYGLOBAL
|
||||
```
|
||||
|
||||
# Local variables
|
||||
## Local variables
|
||||
|
||||
The **local variables** can only be **accessed** by the **current shell/script**.
|
||||
|
||||
|
@ -46,7 +41,7 @@ echo $LOCAL
|
|||
unset LOCAL
|
||||
```
|
||||
|
||||
# List current variables
|
||||
## List current variables
|
||||
|
||||
```bash
|
||||
set
|
||||
|
@ -56,13 +51,13 @@ cat /proc/$$/environ
|
|||
cat /proc/`python -c "import os; print(os.getppid())"`/environ
|
||||
```
|
||||
|
||||
# Persistent Environment variables
|
||||
## Persistent Environment variables
|
||||
|
||||
### **Files that affect behavior of every user:**
|
||||
#### **Files that affect behavior of every user:**
|
||||
|
||||
* _**/etc/bash.bashrc**_: This file is read whenever an interactive shell is started (normal terminal) and all the commands specified in here are executed.
|
||||
* _**/etc/profile and /etc/profile.d/\***_**:** This file is read every time a user logs in. Thus all the commands executed in here will execute only once at the time of user logging in.
|
||||
* **Example: **
|
||||
* \*\*Example: \*\*
|
||||
|
||||
`/etc/profile.d/somescript.sh`
|
||||
|
||||
|
@ -72,21 +67,21 @@ cat /proc/`python -c "import os; print(os.getppid())"`/environ
|
|||
export $TEST
|
||||
```
|
||||
|
||||
### **Files that affect behavior for only a specific user:**
|
||||
#### **Files that affect behavior for only a specific user:**
|
||||
|
||||
* _**\~/.bashrc**_: This file behaves the same way _/etc/bash.bashrc_ file works but it is executed only for a specific user. If you want to create an environment for yourself go ahead and modify or create this file in your home directory.
|
||||
* _**\~/.profile, \~/.bash\_profile, \~/.bash\_login**_**:** These files are same as _/etc/profile_. The difference comes in the way it is executed. This file is executed only when a user in whose home directory this file exists, logs in.
|
||||
|
||||
**Extracted from:** [**here**](https://codeburst.io/linux-environment-variables-53cea0245dc9) **and** [**here**](https://www.gnu.org/software/bash/manual/html\_node/Bash-Startup-Files.html)
|
||||
|
||||
# Common variables
|
||||
## Common variables
|
||||
|
||||
From: [https://geek-university.com/linux/common-environment-variables/](https://geek-university.com/linux/common-environment-variables/)
|
||||
|
||||
* **DISPLAY** – the display used by **X**. This variable is usually set to **:0.0**, which means the first display on the current computer.
|
||||
* **EDITOR** – the user’s preferred text editor.
|
||||
* **HISTFILESIZE** – the maximum number of lines contained in the history file.
|
||||
* **HISTSIZE - **Number of lines added to the history file when the user finish his session
|
||||
* \*\*HISTSIZE - \*\*Number of lines added to the history file when the user finish his session
|
||||
* **HOME** – your home directory.
|
||||
* **HOSTNAME** – the hostname of the computer.
|
||||
* **LANG** – your current language.
|
||||
|
@ -94,16 +89,16 @@ From: [https://geek-university.com/linux/common-environment-variables/](https://
|
|||
* **MANPATH** – the list of directories to search for manual pages.
|
||||
* **OSTYPE** – the type of operating system.
|
||||
* **PS1** – the default prompt in bash.
|
||||
* **PATH - **stores the path of all the directories which holds binary files you want to execute just by specifying the name of the file and not by relative or absolute path.
|
||||
* \*\*PATH - \*\*stores the path of all the directories which holds binary files you want to execute just by specifying the name of the file and not by relative or absolute path.
|
||||
* **PWD** – the current working directory.
|
||||
* **SHELL** – the path to the current command shell (for example, **/bin/bash**).
|
||||
* **TERM** – the current terminal type (for example, **xterm**).
|
||||
* **TZ** – your time zone.
|
||||
* **USER** – your current username.
|
||||
|
||||
# Interesting variables for hacking
|
||||
## Interesting variables for hacking
|
||||
|
||||
## **HISTFILESIZE**
|
||||
### **HISTFILESIZE**
|
||||
|
||||
Change the **value of this variable to 0**, so when you **end your session** the **history file** (\~/.bash\_history) **will be deleted**.
|
||||
|
||||
|
@ -111,7 +106,7 @@ Change the **value of this variable to 0**, so when you **end your session** the
|
|||
export HISTFILESIZE=0
|
||||
```
|
||||
|
||||
## **HISTSIZE**
|
||||
### **HISTSIZE**
|
||||
|
||||
Change the **value of this variable to 0**, so when you **end your session** any command will be added to the **history file** (\~/.bash\_history).
|
||||
|
||||
|
@ -119,7 +114,7 @@ Change the **value of this variable to 0**, so when you **end your session** any
|
|||
export HISTSIZE=0
|
||||
```
|
||||
|
||||
## http\_proxy
|
||||
### http\_proxy
|
||||
|
||||
The processes will use the **proxy** declared here to connect to internet through **http**.
|
||||
|
||||
|
@ -127,7 +122,7 @@ The processes will use the **proxy** declared here to connect to internet throug
|
|||
export http_proxy="http://10.10.10.10:8080"
|
||||
```
|
||||
|
||||
## https\_proxy
|
||||
### https\_proxy
|
||||
|
||||
The processes will use the **proxy** declared here to connect to internet through **https**.
|
||||
|
||||
|
@ -135,11 +130,11 @@ The processes will use the **proxy** declared here to connect to internet throug
|
|||
export https_proxy="http://10.10.10.10:8080"
|
||||
```
|
||||
|
||||
## PS1
|
||||
### PS1
|
||||
|
||||
Change how your prompt looks.
|
||||
|
||||
**I have created **[**this one**](https://gist.github.com/carlospolop/43f7cd50f3deea972439af3222b68808) (based on another, read the code).
|
||||
\*\*I have created \*\*[**this one**](https://gist.github.com/carlospolop/43f7cd50f3deea972439af3222b68808) (based on another, read the code).
|
||||
|
||||
Root:
|
||||
|
||||
|
@ -147,7 +142,7 @@ Root:
|
|||
|
||||
Regular user:
|
||||
|
||||
![](<../.gitbook/assets/image (88).png>)
|
||||
![](<../.gitbook/assets/image (88) (1).png>)
|
||||
|
||||
One, two and three backgrounded jobs:
|
||||
|
||||
|
@ -155,23 +150,16 @@ One, two and three backgrounded jobs:
|
|||
|
||||
One background job, one stopped and last command didn't finish correctly:
|
||||
|
||||
![](<../.gitbook/assets/image (90).png>)
|
||||
|
||||
![](<../.gitbook/assets/image (90) (1).png>)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Support HackTricks and get benefits!</strong></summary>
|
||||
|
||||
- Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
|
||||
- Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
|
||||
- Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
|
||||
- **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
||||
|
||||
- **Share your hacking tricks by submitting PRs to the** [**hacktricks github repo**](https://github.com/carlospolop/hacktricks)**.**
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**hacktricks github repo**](https://github.com/carlospolop/hacktricks)**.**
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ We need the `.bat` file, which will run when the application is deployed and exe
|
|||
|
||||
The next step is to choose `Install app from file` and upload the application.
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../.gitbook/assets/image (88).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Before uploading the malicious custom app, let's start a listener using Netcat or [socat](https://linux.die.net/man/1/socat).
|
||||
|
||||
|
|
|
@ -281,7 +281,7 @@ In this case the attacker **won't receive the response timeout until he has send
|
|||
|
||||
Amazon's Application Load Balancer (ALB) will **stream the data of the connection as needed**, but if it **receives** the **response** to the half request (the timeout) **before** receiving the **body**, it **won't send the body**, so a **Race Condition** must be exploited here:
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
There's an additional complication when it comes to **exploiting Apache behind ALB** - **both servers** have a default **timeout of 60 seconds**. This leaves an **extremely small time-window** to send the second part of the request. The RC attack was ultimately successful after 66 hours.
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ Sometimes when creating a trust relationship, a password must be typed in by the
|
|||
|
||||
The cleartext password can be used to perform regular authentication as the trust account, an alternative to requesting a TGT using the Kerberos secret key of the trust account. Here, querying root.local from ext.local for members of Domain Admins:
|
||||
|
||||
![](<../../.gitbook/assets/image (1) (1) (1) (2).png>)
|
||||
![](<../../.gitbook/assets/image (1) (1) (1).png>)
|
||||
|
||||
## References
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ netsh advfirewall firewall add rule name=fwd dir=in action=allow protocol=TCP lo
|
|||
|
||||
Now establish the session, which will forward us to **the first server**.
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (85).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### winrs.exe <a href="#winrsexe" id="winrsexe"></a>
|
||||
|
||||
|
@ -116,7 +116,7 @@ winrs -r:http://bizintel:5446 -u:ta\redsuit -p:2600leet hostname
|
|||
|
||||
Like `Invoke-Command`, this can be easily scripted so the attacker can simply issue system commands as an argument. A generic batch script example _winrm.bat_:
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (4).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (98).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
### OpenSSH <a href="#openssh" id="openssh"></a>
|
||||
|
||||
|
@ -136,11 +136,11 @@ Download the latest [OpenSSH Release zip from github](https://github.com/PowerSh
|
|||
|
||||
Uncompress the zip to where you’d like. Then, run the install script - `Install-sshd.ps1`
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (90).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Lastly, just add a firewall rule to **open port 22**. Verify the SSH services are installed, and start them. Both of these services will need to be running for SSH to work.
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
If you receive a `Connection reset` error, update permissions to allow **Everyone: Read & Execute** on the root OpenSSH directory.
|
||||
|
||||
|
|