具体的にはクライアントからサーバに通信してサーバ側の cmd.exe が動くようにします。
用意すること
netcat をダウンロードします。(Windows 版の netcat 参照)
2台のマシンに netcat のプログラム nc.exe をコピーしておきます。(どこでも良いですが私の環境では C:\Toolkit\ に置いています。)
サーバ側では netcat を Listsn モードで立ち上げます。
そして プログラム実行(cmd.exe) するようにします。
※ポート 33999 番を使ってプロセスを立ち上げてます。
Windows Firewall の警告が出たら、プライベートネットワークのみアクセスを許可して立ち上げます。
アクティブな接続に
TCP 0.0.0.0:33999 0.0.0.0:0 LISTENING
があることをチェックします。
IP アドレスを確認します。
マシンの IP アドレスは 192.168.2.10 となっていました。
リモートアクセスして cmd.exe を実行
ここからはクライアント側のマシンです。
ここからはクライアント側のマシンです。
それではサーバ(192.168.2.10)の 33999 番ポートへアクセスします。
1行目は 入力したコマンドです。
2行目と3行目にコマンドプロンプトのヘッダが表示されました。
そして一番下の行ではプロンプトが出ています。
今のコマンドプロンプトのマシン情報を見てみます。
ipconfig で IP アドレスを引くとサーバ側の IP アドレス 192.168.2.10 となります。
whoami で現在のアカウントを見ると、サーバ側の、そして nc.exe を実行したアカウントになっています。
つまり C:\Toolkit\nc111nt> というプロンプトはサーバ側のプロンプトとなっています。
※クライアント、サーバとも、同じ場所に netcat を置いておいたため紛らわしかったけど、違う場所に入れていたらすぐ分かったかもしれないです。
これでサーバ側のシェル(cmd.exe)実行が行えました。
cmd.exe じゃなくて notepad.exe にしてみる
GUI のあるプロセスだったらどうなるでしょう?
サーバのプロセスをメモ帳にしてみます。
※ポート 33999 番を使って notepad.exe のプロセスを立ち上げます。
そして同じ様にクライアントからサーバ(192.168.2.10)の 33999 番ポートへアクセスします。
今度はクライアント側では何も起きませんでした。
サーバ側では notepad.exe プロセスが立ち上がっていました。
ウインドウはなく、ただメモ帳のプロセスが立ち上がっているだけ。タスクマネージャから プロセスの終了 をしました。
Windows Tools のページに戻る
0 件のコメント:
コメントを投稿