ポート転送とトンネリング

RINETDポート転送

インストールする
kali@kali:~$ sudo apt update && sudo apt install rinetd
配置する

検査する

http://10.10.10.5を開くと、HTTP 状態は「301」を示しました。HTTPプロトコルなので、グーグルウェブを開きました。

ほかのプロトコルもサポートでまる、Mysql など。

SSHトンネリング

ローカルポート転送

目標サーバーにHTTPサービスをオーペンしていますが、ポートの制限ある場合。リスニングのポートが80です、ネットハードウェアのアドレスが 「127.0.0.1」

目標サーバーは下記の図、一般的な手段で、ほかのクライアントから開くことができません。

クライアント

このように、ローカルに81ポートがリモートの80をマッピングしました。

もちろん、「127.0.0.1」はほかの内部IPアドレスの代わりに、外部ネットが疎通できます、内部ネットは攻撃されるリスクがある


リモートポート転送

IPアドレス サーバー名 リスニングポート
10.10.10.2/192.168.56.1 Windows なし
192.168.56.1 Centos 80
10.10.10.2 Kali 9999

上記のテーブルを見ると、CentosとKaliは相互に通信できない、PINGも通れない。CentosのNginxサービスはKaliから開けない。

ssh -N -R 9999:192.168.56.101:80  user@10.10.10.5

このコマンドでWindowsサーバーに実行して、Centos80ポートをKali9999ポートにマッピングできる.

トンネリングを通った後に通信できました。

下記のような図

ダイナミックポート転送

実際はこれが一番簡単です、代理でリモートのポートを訪問する。

  C:\Windows\system32>ssh -D 8081 user@10.10.10.5
  

上のコマンドを実行して、ローカルに8081ポートを開く、これSocket5ポートを通して、代理訪問ができます。

これもIPアドレスを隠れる手段。


PLINK.exe

plink -v -x -a -T -C -noagent -ssh -pw bianbian -L 80:127.0.0.1:80 root@10.10.10.7

Windowsサーバーにトンネリングを作るツールなんです、WindowsにSSHコマンドのない場合に使います。

リモートのポートをローカルにマッピングしました。

NETSH

両方のシステムはWindowsなので、使用制限がある。

Windowsサービスは必ず「IP Helper」をラニングしている、そして、TCP/IPは「IPV6」がサポートできる。
netsh interface portproxy add v4tov4 listenport=4455 listenaddress=10.11.0.22 connectport=445 connectaddress=192.168.1.110

netsh advfirewall firewall add rule name="forward_port_rule" protocol=TCP dir=in localip=10.11.0.22 localport=4455 action=allow
    


ディープパッケージ検査

不安全なデータパッケージをHTTPパッケージに隠す、この際にWiresharkで「HTTP」プロトコルを示します、実際それは mstscリモート接続 プロトコル
sudo apt install httptunnel

ssh -L 0.0.0.0:8888:192.168.1.110:3389 student@127.0.0.1
//ポート転送
hts --forward-port localhost:8888 1234
//ポート転送
htc --forward-port 8080 10.11.0.128:1234
  


评论