序文
この記事は、型破りな手段を使用してセキュリティ戦略を突破するためのイントラネット浸透記録です。
周囲の説明
WebベースのGetShell、WebShellはIce Scorpionであり、NETの権限、非常に低い権限、サーバーはサーバー2016であり、ターゲットはネットワークを離れません!には、アンチウイルスソフトウェア(Tureng、MicrosoftのWD)が装備されており、ASMIはデフォルトで有効になっており、電源シェルには特別なポリシー制限があります。
TCP、ICMP、およびDNSプロトコルは接続されておらず、パブリックネットワークのCSサーバーとの接続を直接確立することは不可能です。 (イントラネットのCSサーバーは、それとの接続を確立できません)パブリックネットワークは、ターゲットWebサービス(Pure Intranet Web Service)にアクセスできません。
アウトバウンドルール:非ポート8080ポートは、外の世界と通信することは許可されていません。
トポロジ図を手に取り、それを見てください。
なぜオンラインでcs
に行くべきなのかWebシェル許可は低すぎて非常に制限があります。 CSは反射DLLを使用してPEプログラムをロードするため、CSをオンラインで提起する必要があります。そのため、Mimikatzパスワードグラビングやその他の操作など、いくつかの機密操作を実行するときにバイパスで特定の役割を果たすことができます。
LSAをローカルにダンプするように、その後、Webシェルの許可が低すぎるため、LSAを投棄するには少なくとも管理者の権限が必要なため、機能しません。
さらに、ターゲットネットワーク環境は比較的厳しいです。 HTTPプロトコル以外の通信はファイアウォールによって傍受され、通常のインタラクティブ関数を備えたシェルを確立することは不可能です。
ポイント1:Pystinger Reverse Proxyを使用してCS
を起動します関連情報を確認した後、インターネット上の記事のほとんどがPystingerを使用してイントラネットリバースプロキシを実装し、HTTPプロトコルを使用してターゲットマシンポートをCSSサーバーリスニングポートにマッピングして、WebサービスにアクセスせずにCSSで起動できるようにすることがわかりました。ただし、ここには問題があります。パブリックネットワークCSサーバーは、ターゲットWebサービスにアクセスできません。同じイントラネット上のマシンのみがターゲットWebサービスにアクセスできます。したがって、サーバー上にPystingerを直接構築して、ターゲットマシンポートをパブリックネットワークCSリスニングポートにプロキシを逆にすることは不可能です。
ここでの解決策は、マシン上にCSSサービスを直接構築し、Pystinger抗ジェネレーション操作を実行することです。
ローカルCSサービスがを開始します。バックアップタイプのリスナーを定期的に構成し、リスニングポート60020(上記の図の6002の0 .)proxy.aspxはターゲットサーバーにアップロードされます。アクセス:
4. stinger_server.exeをターゲットサーバーにアップロードし、コマンドを実行します:d: \ stinger_server.exe 0.0.0.0を開始
5。スプリングボードマシンのローカル実行コマンド:Stinger_Client -W http://10.1.1.1:8080/2.ASPX -L 0.0.0.0 -P 4002
6.キルを削除してResever_Bindを処理し、ターゲットにアップロードして実行しますが、オンラインになりません。タスクリストを実行した後、shell.exeが実行されていることがわかりますが、オンラインでは行かず、Pystingerはエラーを報告します。
最終結果は、エラーが報告されていることです。特定の理由は不明です。ターゲットWeb環境に問題があるか、バックアップタイプのシェル通信に問題がある可能性があります。
したがって、Pystingerの抗ジェネレーションの打ち上げは失敗しました。
ポイント2:フォワードプロキシ +フォワードシェルオンラインパブリックネットワークCS
逆プロキシが機能しないため、フォワードプロキシを使用してから、フォワードシェルを使用して接続します。
ターゲットマシンはネットワークを離れることはなく、ターゲットマシンはスプリングボードマシンとして使用して、ターゲットマシンの前方のシェルを引き出すことができます。
回路図:一般的なHTTPトンネリングツールNeo-RegeorgとRegeorg(これら2つはもっと頻繁に使用する必要があります)は、ほとんどのネットワーク環境で使用できますが、ここでは不可能です。スプリングボードマシンは、CSサーバーから直接切断されます。 CS Connect Forward接続要求は、Springboard Machineのビーコンによって発行されます。接続要求がフォワードシェルのリスニングポートに接続できるようにするために、ビーコンをソックストンネルにプロキシするだけです。ただし、ターゲットマシンはネットワークを離れないため、スプリングボードマシンのビーコンがプロキシトンネルに入った後、パブリックネットワーク上のCSサーバーに接続できないため、ポート間マッピングのみになり、HTTPプロトコルを使用してソックストンネルを構築することはできません(私は推測します)。したがって、ここでは、HTTPトンネル構造にABPTTSを使用します。
Abpttsの利点
優れた敵対的な特徴の検出
作成されたトンネルは、非常に安定した
1。 Abpttsを構成:
Python AbpttsFactory.py -o Server \\サーバースクリプトを生成し、初期化します。
2。サーバースクリプトをターゲットマシンにアップロード
ポイント3:ファイルアップロード
この場所では、Ice ScorpionとMalaysiaはファイルをアップロードできません。 Godzillaの大きなファイルアップロードを使用してAbptts.aspxのアップロードのみを使用できます(後続のExeアップロードはGodzillaの大きなファイルアップロード機能も使用します)Exeファイルも落とし穴です。通常の環境では、certutil、powershell、その他の方法を使用してexeをターゲットにダウンロードできますが、このマシンはネットワークを離れません。アウトバウンドルールにより、イントラネット内の他のマシンのWebサーバーにアクセスすることさえできません。最後に、ゴジラの大きなファイルのアップロードが解決されました。
アップロード後のAbptts.aspxのアドレス:http://10.1.1.1.133608080/abptts.aspx
abptts.aspxにアクセスすると、ページは暗号文の長いリストをエコーして、ABPTTSクライアントが通常であることを示します
3。 HTTPトンネルを開始
Python abpttsclient.py -c server/config.txt -u 'http://10.1.1.1:8080/abptts.asptts.asptts. -f 127.0.0.1:7777/127.0.0.133333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333:1111
ここでは、127.0.0.1:7777がネイティブポートであり、127.0.0.13360111111111111111111111111111111111111111111111個
これは、ターゲットマシンの1111ポートがHTTPトンネルを介してローカルポート7777にマッピングされ、ローカルポート7777に送信するすべてのリクエストがターゲットマシンの1111ポートに転送されることを意味します。
ポイント4:前方バインドは殺されません
CSのフロントシェル紹介(ビーコンTCP)
フォワードシェルの原則は、Bindがターゲットマシンにリスニングポートを開き、他のホストがこのリスニングポートにアクセスするのを待っていることであり、子供のビーコンはCSサーバーと直接通信するのではなく、親のビーコンからの要求を受け入れます。
リバースシェルは、CSサーバーのリスニングポートにアクセスするリクエストを開始するターゲットによってフォワードリスナーを作成します:は、前方負荷を生成します(前方負荷を生成するときにのみ選択できます)。通常、この場合。
フォワードシェルが採用されている場合、そのインバウンドルールがどれほど厳格であっても、ローカルポート間の通信はブロックされないため、厳格なインバウンドルールポリシーをバイパスできます。通信プロセス:CSサーバー(パブリックネットワーク) - スプリングボードマシン(親ベーコン) - ポート7777-ターゲットポート8080(HTTPトンネル) - ターゲットポート11111(チャイルドベコン)ターゲットマシンのファイアウォールでのビパス分析、地元のポート1111との対話機関では、地元のポートマシンとの通信があります。インバウンドおよび終了ポリシー。
なぜ前方シェルを使用するのか:
上記は、ターコイズとWDの2つのウイルス原虫が2つあり、前方シェルを直接アップロードすることは間違いなく即座に殺されることを上記で述べています。ローカルテストでは毒が報告されます。
Reserver_Bindは、殺害を避けるのが比較的簡単です。自由な殺害やその他の方法を分離することにより、シェルコードを直接生成し、シェルコードをロードします。
ただし、フォワードシェルはシェルコードを生成できません。それは雄弁なビーコンに属し、雄弁なビーコンはシェルコードを生成できないため、キルの定期的な分離を通じてアンチウイルスをバイパスすることはできません。
StagerとStagerlessの違いについて言及させてください:
StagerおよびStagerless BeaconStagerタイプ:単純な負荷ロジックパーツのみが含まれています。ステージャーは、C2のペイロードをメモリにロードして、PE負荷を実現します。このロード方法は、反射的なDLLロードです。ステージャーのないタイプ:Stager+Payloadの執筆全体はTrojan Horseにあり、サイズが大きく、Stagerタイプでより明白です。下の図からわかるように、ペイロードを生成するときに前方のバインドリスナーオプションはありません。リザーブリスナーオプションのみです。
ローダーメソッドを難読化することで殺害を避けることは不可能であるため、シェル +ポジショニング機能コード法を強化して、殺害を避けます。ほとんどの国内ウイルスアンチウイルスソフトウェアは、ファジーハッシュアルゴリズムに基づいた機能コード検索と殺害に基づいていると推定されています。コード層の強力な難読化は、ほとんどのウイルス症、強いシェル(Aspack、UPX、Safengine、VMPojent、実際のテストASPACK、UPXがあまり効果的ではない)をほぼバイパスできます。使用される主なツール:Virtest5.0+リソースハッカー+SafeNgineshielden+upxvirtest5.0:
機能コードの自動位置。組み立てることができないため、010Editorを使用して、機能コードの16進システムを変更して、ループ機能コードを壊します。
機能コードを変更するその他の方法:アセンブリ関数を交換し、命令順序を変更し、ゼロジャンプを交換します。
注:機能コードを変更した後、EXEが正常に実行できるかどうかをテストする必要があります。 SafeNgineshielden
Anti-LPKインジェクション、アンチドバガーアタッチメント、アンチメモリダンプ、および完全な複雑さを選択し、仮想マシンの検出を確認しないでください。
最後に、UPXシェルの層を追加します(UPXシェルは状況に依存し、UPXシェルを追加すると殺害を引き起こすことがあります)。リソースハッカーは任意のアイコンファイルを追加し、カメを正常に通過させます。
前方bind-free
ICEサソリにd:/beacon_se.exeを実行して実行します。トロイの木馬がターゲットマシンにポート1111を開くことがわかります。 HTTPトンネルを使用して、ターゲットマシンのポート11111にある前方バインドに接続します。
ターゲットマシンは前方シェル
を実行しますネイティブ(攻撃者)はスプリングボードマシンとしてオンラインで行き、ネイティブシェルで実行します
接続127.0.0.1 7777
10.1.1.1の前方に正常に発売されましたが、オンラインシェルの権限は非常に低く、Mimikatzは実行できません。前方シェルのため、たとえ右リフトが成功したとしても、シェルを直接リバウンドすることはできません。さらに、ターゲットシステムは2016年であるため、プラグインの一般的なエスカレーションスクリプトはエスカレーションに失敗します。
このマシン(スプリングボード)フォワード接続シェル
ターゲットホストにprintspoofer.exeをアップロードします。
次のコマンドを実行して、システム許可を使用してフォワードシェルを実行するには、ASPの低い権限シェルの代わりにシステム権限を備えたシェルを取得します。
c: \ windows \ temp \ printspoofer -c d:/1111_se.exe
Netstat -Anoは、ローカルに1111ポートが開いているかどうかを確認します。
フォワードシェルは正常に実行されており、スプリングボードマシンは再びフォワードバインドに接続されています。
接続127.0.0.1 7777
権力は成功裏に上昇し、戦いは基本的に終わりました。システム許可が取得されました。ミミカッツはパスワードをつかみましたが、明確なテキストはありませんでしたが、ハッシュを取得できました。
printspooferエスカレーション
Net1は名前を変更し、ユーザーを追加しました。エラーが報告されている場合、Turfurによって傍受されたに違いありません。キラーは層を直接駆動して柔らかく殺します。
局所的な実験は排除できますが、目標の観点から達成できない理由はわかりません。アイデアの変更:国内のウイルス対策傍受およびその他のウイルス対策傍受およびユーザーコマンドは、多くの場合、NetとNet1の2つのプロセスをターゲットにしているだけであり、フックの根底にある機能はありません。原則は詳細に分析されておらず、インターネット上に記事があります。
Windows APIに管理者ユーザーを追加します
プロジェクトアドレス:https://github.com/newsoft/adduser
ウイルス対策をバイパスすると、ユーザーが追加されました。次のステップは、定期的な操作、プリンターの脆弱性を使用してアクセス許可を増やし、SYS許可を使用して、管理者ユーザーのデスクトップに切り替えることでした。ハッシュパス攻撃
または、それはハッシュパスであり、管理者のデスクトップに直接あります。 sekurlsa:3360pth /user3360administrator /domain:username /ntlm:194f34439dd27846db00c6723036da6b ' /run3:mstsc.exe /RECRITEDADMIN'194F34439DD27846DB00C6723036DA6B
ハッシュ配信の利点は、動きが少なく、新しいユーザーが必要であり、痕跡が少なくなり、攻撃者が発見される可能性が低下することです。下の図に示すように:
上記の操作と同じように、相手のポート3389をローカルエリアに逆に逆にして接続します。
最後に、ログインデスクトップのスクリーンショットを添付しました。ログインしたとき、バックスタブからエラーを報告しました。これは、タートルを乾燥させていたときに私がうまく殺さなかった理由を説明しています(プログラムの互換性の問題のためにクラッシュしました)。