0x01脆弱性の説明
最近、チェックポイントチームは19年間存在してきたWinrarについての脆弱性を発揮し、それを使用して被害者のコンピューターの制御を得ることができます。攻撃者は、この脆弱性を使用して悪意のある圧縮ファイルを構築する必要があります。これは、被害者がWinrarを使用して悪意のあるファイルを解凍するときにトリガーされます。
脆弱性は、2006年に基本的な保護メカニズム(ASLR、DEPなど)なしでコンパイルされたWinrarが使用した古い動的な動的リンクライブラリUNACEV2.DLLによって引き起こされます。動的リンクライブラリの目的は、ACE形式ファイルを処理することです。 WinrarがACEファイルを解凍すると、ファイル名が十分にフィルタリングされていないため、ディレクトリのトラバーサルを実現し、悪意のあるファイルを任意のディレクトリに書き込み、起動項目にファイルを書き込み、コード実行になります。
0x02脆弱性の影響
インパクトソフトウェア:
Winrar 5.70ベータ1
Bandizip=6.2.0.0
良好な圧力(2345圧縮)=5.9.8.10907
360圧縮=4.0.0.1170
0x03脆弱性ハザード
1。この脆弱性を通じて、ハッカーは悪意のあるプログラムをユーザースタートアップアイテムに入れて、ターゲットコンピューターが再起動するときにターゲットホストにアクセス許可を取得できます。
2。システムの許可を得て入れることができます
c:/windows/system32/wbem/mof/nullevt.mofは、ターゲットホストの許可を直接取得します。
3. DLLハイジャック用の悪意のあるDLLファイルを配置して、ターゲットホストにアクセス許可を取得するか、ユーザーホストなどにファイルを上書きしてターゲットホストへのアクセス許可を取得できます。
0x04脆弱性の詳細
の脆弱性は、主に、WinrarがACE圧縮パッケージを解凍するために使用される動的リンクライブラリUNACEV2.DLLによって引き起こされます。 unacev2.dllでファイル名を処理する場合、CRCのみが検証されます。ハッカーは、圧縮パッケージのCRC検証コードを変更して、減圧中にファイル名を変更して、このパストラバーサルの脆弱性をトリガーすることができます。ただし、Winrar自体はファイル名を検出し、いくつかの制限があります。通常のユーザーがRARファイルを解凍した場合、システム権限を必要とするフォルダーに悪意のあるペイロードを解凍することはできません。ユーザーがファイルをデフォルトのc: \ users \ administator \ downloadsディレクトリにダウンロードすると、構築します
c: \ c:c:/appdata \ roaming \ microsoft \ windows \ startmenu \ programs \ startup \ test.exe
WinrarのCleanPath関数処理の後になります
c:/appdata \ roaming \ microsoft \ windows \ startmenu \ programs \ startup \ test.exe
その中で、C:は現在のパスに変換されます。 Winrarで開くと、現在のパスはC: \ Program Files \ Winrarです。右クリックしてフォルダー内のxxx \に減圧すると、現在のパスは圧縮パッケージが配置されているパスです。
ユーザーが右クリックしてフォルダー内のXXに減圧すると、悪意のあるペイロード減圧アドレスが
c: \ uses \ administrator \ downloads ./appdata \ roaming \ microsoft \ windows \ startmenu \ programs \ startup \ test.exe
現在のユーザーのスタートアイテムです。このような使用率は、1つのパストラバーサルから任意のコマンド実行までプロセスを完了します。
0x05脆弱性の再発
この脆弱性の実装プロセス:最初に新しいファイルを作成し(またはバックドアエグジファイルを指定できます)、Winaceを使用してそれを圧縮し、ファイル名を変更してディレクトリトラバーサルの脆弱性を実装し、ファイルを任意のディレクトリに減圧します。
Winaceと010Editorの主な必要なツールは次のとおりです。
http://D3GKUJ25U7YVFK.CLOUDFRONT.NET/97M4@S345U2A5/INSTALLER_WINACE_2.69.EXE
https://download.sweetscape.com/010editorwin64installer901.exe
1。Winaceをダウンロードしてインストールします。インストールが完了したら、arbitrary.txtの名前を記載した新しいテキストファイルをここに作成します。
2。 Winaceを使用して圧縮するには、こちらからフルパスを保存します。
3.スクリプトを介してRARのヘッダー情報を確認すると、スクリプトのダウンロードアドレスは次のとおりです。
https://raw.githubusercontent.com/backlion/acefile/master/acefile.py
python acefile.py - Headers Backlion.ace
次のパラメーターに注意する必要があります。
HDR_CRCHDR_SIZEFILENAME LENGTH FILENAME
4.私たちはそれを変更し始め、スタートアップアイテムに配置します
c: \ programdata \ microsoft \ windows \ start menu \ programs \ backlion.txt。ここの変更は次のとおりです。
5.ファイルの場所を選択すると、ファイルの長さが65であることがわかります(小数点以下、ここで16進変換する必要があります)
長さは65(小数)-0x41です
6。その変更の長さの位置:00 41(変更順序は背面から前後です)
次に、hdr_sizeの値を変更します。ここで次の位置を選択してください。その長さは96であることがわかります(10進、16進数に変換する必要があります)。
の長さは96(小数)-0x0060です
変更された場所は次のとおりです。
7。その後、この時点でAceFile.pyを使用してACEファイルを解析すると、エラーを作成できます/
d: \ python3python acefile.py - headers backlion.ace
[+] Right_hdr_crc :0xcda5 | struct b '\ xa5 \ xcd'
[*] current_hdr_crc :0xed55 | struct b'u \ xed '
backlion.ace: correstededarchiveerror:ヘッダーCRCが失敗しました
8。正しいCRC値が0xCDA5であることがわかります。したがって、次の変更を行います。
9。再分析され、成功を見つけました
10. backlion.rceファイルを解凍し、スタートアップエントリの下でbacklion.txtファイルとしてファイルをリリースします。
スクリプトオートメーション利用:
また、カスタムスクリプトの実行を添付します。
https://github.com/backlion/cve-2018-20250
その中の:CALC.EXEは、Trojanファイルに置き換えることができます。テストのために、私はそれを計算機に置き換えます、そして、world.txtとhello.txtはあなたが圧縮する必要があるファイルです。
exp.pyスクリプトを実行した後、test.rarファイルが自動的に生成されます。
Test.rarファイルを開き、現在のユーザーの起動オプションの下でバックドアファイルhh.exeを作成するには、被害者が必要です。
c: \ users \これは現在のコンピューターで使用されるユーザー名\ appdata \ roaming \ microsoft \ windows \ start menu \ programs \
c: \ users \ xxx \ appdata \ roaming \ microsoft \ windows \ start menu \ programs \ startup
0x06修理提案
2つの方法があります
最新バージョンへのアップグレード、Winrarは現在5.70ベータ1です
インストールディレクトリでunacev2.dllファイルを削除します
0x07参照
https://Research.checkpoint.com/extracting-code-execution-from-winrar/
https://fuping.site/2019/02/21/winrar-extracting-code-execution-validate/
https://mp.weixin.qqc.com/s/j8g9tjq2npg0cfhxl_sqgq
https://github.com/ridter/acefile
wiz_tmp_tag id='wiz-table-range-border' contentedable='false' style='display: none;'
Recommended Comments