エクスプロイトに対するバトニコフ(Windows XPのバージョン)

どういうわけか、私はHabréに関する記事- 「エクスプロイトに対するバトニコフ」に出会いました 。 アプリケーションを実行する権限を持たない特別に作成されたユーザーの下から、ブラウザをワンモーションで起動する方法について説明しました。 著者によれば、これはエクスプロイトやドライブバイ攻撃から保護できます。

この間違いなく有用な記事には1つの欠点がありました-それはWindows 7向けに書かれたものです(正直に書かれています)。

Windows XPがサポートから削除された後、私はまだブタのいるネットブックを持っていて、ソリューションを適応させることによってシステムのセキュリティを強化するという考えは非常に自然に見えました。

魔法の帽子をかぶって、レベル10のビルゲートをカスタヌル


バッチファイルを既存のロシアの豚に適合させようとすると、コードに次の欠陥が見つかりました。


改良後、次のバッチファイルコードを取得しました。

注意! コードはWinXPでのみ動作します。 7つについては、元の記事を参照してください。
::執筆:kaspersky.comのhabrahabr.ruのSergey.Golovanov(アレクセイ・ギリン-vk.com/alexey.girinに魅了)
@エコーオン
@ Echoこのバッチファイルは、インターネットファイルからダウンロードしたファイルを実行する権限のないブラウザの新しいユーザーを作成します。
一時停止
::新規ユーザーのセットアップ::
safeusername = saferun_user_%random%を設定します
safepassword =%random%Ai%random%を設定します
echo Login:%safeusername%
echo Password:%safepassword%
ネットユーザー%safeusername%/削除
del Browserlist4saferun.txt
ネットユーザー%safeusername %% safepassword%/追加

::新規ユーザープロファイルの初期化::
echoオプションexplicit> init_new_user_profile.vbs
echo Dim oShell >> init_new_user_profile.vbs
echo set oShell = Wscript.CreateObject( "WScript.Shell")>> init_new_user_profile.vbs
echo oShell.Run "RunAs / profile / user:%safeusername%ping" >> init_new_user_profile.vbs
echo WScript.Sleep 1000 >> init_new_user_profile.vbs
echo oShell.Sendkeys "%safepassword%" >> init_new_user_profile.vbs
echo oShell.Sendkeys "{ENTER}" >> init_new_user_profile.vbs
echo Wscript.Quit >> init_new_user_profile.vbs
cscript init_new_user_profile.vbsを呼び出します
ping -n 10 localhost >> nul
del init_new_user_profile.vbs

::新しいユーザーのセットアップ権限::
net localgroup users%safeusername%/削除
cscript "%Programfiles%\ Windows Resource Kits \ Tools \ XCACLS.vbs" "%USERPROFILE%\ .. \%safeusername%\" / D%safeusername%:( OI)(IO)(WDAC、WO、X)

::ブラウザのセットアップ::
:FindOpera
存在する場合 "%APPDATA%\ Opera \" xcopy / E / I / C / Y / Q / H / R "%APPDATA%\ Opera \ *" "%USERPROFILE%\ .. \%safeusername%\ AppData \ Roaming \ Opera \ "
存在する場合 "%Programfiles%\ Opera \ Opera.exe" goto run4opera
存在する場合 "%Programfiles(x86)%\ Opera \ Opera.exe" goto run4operax86
後藤FindFireFox
:run4opera
echo Opera ^ |%Programfiles%\ Opera >> Browserlist4saferun.txt
後藤FindFireFox
:run4operax86
ブラウザー名の設定= Opera
echo Opera ^ |%Programfiles(x86)%\ Opera >> Browserlist4saferun.txt
後藤FindFireFox
:FindFireFox
存在する場合 "%APPDATA%\ Mozilla \" xcopy / E / I / C / Y / Q / H / R "%APPDATA%\ Mozilla \ *" "%USERPROFILE%\ .. \%safeusername%\ AppData \ Roaming \ Mozilla \ "
存在する場合「%Programfiles%\ Mozilla Firefox \ Firefox.exe」goto run4Firefox
存在する場合「%Programfiles(x86)%\ Mozilla Firefox \ Firefox.exe」goto run4Firefoxx86
後藤findchrome
:run4Firefox
echo Firefox ^ |%Programfiles%\ Mozilla Firefox >> Browserlist4saferun.txt
後藤findchrome
:run4Firefoxx86
echo Firefox ^ |%Programfiles(x86)%\ Mozilla Firefox >> Browserlist4saferun.txt
後藤findchrome
:FindChrome
存在する場合「%LOCALAPPDATA%\ Google \ Chrome \ Application \ chrome.exe」goto run4chrome
後藤ファニー
:run4chrome
:: //安定していないため、Chromeの一部のバージョンで動作します。 パフォーマンスのために無効になっています。
:: xcopy / E / I / C / Y / Q / H / R "%LOCALAPPDATA%\ Google \ Chrome \ *" "%USERPROFILE%\ .. \%safeusername%\ AppData \ Local \ Google \ Chrome \"
:: for / r "%USERPROFILE%\ .. \%safeusername%\ AppData \ Local \ Google \ Chrome \" %% C in(* .exe)do icacls %% C / grant%safeusername%:( X)
:: for / r "%USERPROFILE%\ .. \%safeusername%\ AppData \ Local \ Google \ Chrome \" %% C in(* .dll)do icacls %% C / grant%safeusername%:( X)
:: echo Chrome ^ | "%USERPROFILE%\ .. \%safeusername%\ AppData \ Local \ Google \ Chrome \ Application \" >> Browserlist4saferun.txt
後藤ファニー
:FindIE
:: // TODO多数のXCOPY
存在する場合、「%LOCALAPPDATA%\ Microsoft \ Internet Explorer」(
xcopy / E / I / C / Y / Q / H / R "%USERPROFILE%\ Favorites \ *" "%USERPROFILE%\ .. \%safeusername%\ Favorites \"
xcopy / E / I / C / Y / Q / H / R "%LOCALAPPDATA%\ Microsoft \ Internet Explorer \ *" "%USERPROFILE%\ .. \%safeusername%\ AppData \ Local \ Microsoft \ Internet Explorer \"
xcopy / E / I / C / Y / Q / H / R "%LOCALAPPDATA%\ Microsoft \ Windows \ History \ *" "%USERPROFILE%\ .. \%safeusername%\ AppData \ Local \ Windows \ History \"
xcopy / E / I / C / Y / Q / H / R "%APPDATA%\ Roaming \ Microsoft \ Windows \ Cookies * *" "%USERPROFILE%\ .. \%safeusername%\ AppData \ Roaming \ Microsoft \ Windows \クッキー\ "

存在する場合「%Programfiles(x86)%\ Internet Explorer \ iexplore.exe」goto run4iex86
存在する場合「%Programfiles%\ Internet Explorer \ iexplore.exe」goto run4ie
:run4iex86
echo IExplore ^ |%Programfiles(x86)%\ Internet Explorer >> Browserlist4saferun.txt
MakeLinksへ
:run4ie
echo IExplore ^ |%Programfiles%\ Internet Explorer >> Browserlist4saferun.txt

::リンクを作成する::
:MakeLinks
rd / s / q "%USERPROFILE%\ Downloads \ Browser"
rd / s / q "%USERPROFILE%\ђЎ" \ SafeLinks "
"%Programfiles%\ Windowsリソースキット\ツール\ linkd.exe" / d "%USERPROFILE%\ Downloads \ Browser" "%USERPROFILE%\ .. \%safeusername%\ Downloads"
mkdir "%USERPROFILE%\ђЎ" \ SafeLinks "
エコーオン
/ f "tokens = 1,2 delims = |" %% A in(Browserlist4saferun.txt)do(
echoオプションexplicit> "%% B \ %% A.vbs"
echo Dim oShell >> "%% B \ %% A.vbs"
echo set oShell = Wscript.CreateObject ^( "WScript.Shell" ^)>> "%% B \ %% A.vbs"
echo oShell.Run "RunAs / user:%safeusername%%% A.exe" >> "%% B \ %% A.vbs"
echo WScript.Sleep 1000 >> "%% B \ %% A.vbs"
echo oShell.Sendkeys "%safepassword%" >> "%% B \ %% A.vbs"
echo oShell.Sendkeys "{ENTER}" >> "%% B \ %% A.vbs"
echo Wscript.Quit >> "%% B \ %% A.vbs"
echo Set oWS = WScript.CreateObject ^( "WScript.Shell" ^)> "%USERPROFILE%\ђЎ" \ SafeLinks \ %% A.lnk.vbs "
echo sLinkFile = "%USERPROFILE%\ Desktop \ SafeLinks \ %% A_saferun.LNK" >> "%USERPROFILE%\ђ" \ SafeLinks \ %% A.lnk.vbs "
echo Set oLink = oWS.CreateShortcut ^(sLinkFile ^)>> "%USERPROFILE%\ђЎ" \ SafeLinks \ %% A.lnk.vbs "
echo oLink.TargetPath = "%% B \ %% A.vbs" >> "%USERPROFILE%\ђ" \ SafeLinks \ %% A.lnk.vbs "
echo oLink.IconLocation = "%% B \ %% A.exe、0" >> "%USERPROFILE%\ђЎ" \ SafeLinks \ %% A.lnk.vbs "
echo oLink.WorkingDirectory = "%% B \" >> "%USERPROFILE%\ђ" \ SafeLinks \ %% A.lnk.vbs "
echo oLink.Save >> "%USERPROFILE%\ђЎ" \ SafeLinks \ %% A.lnk.vbs "

for / r "%USERPROFILE%\ђЎ" \ SafeLinks \ "%% p in(* .vbs)do cscript %% p
for / r "%USERPROFILE%\ђЎ" \ SafeLinks \ "%% v in(* .vbs)do del %% v
::リンク付きのエクスプローラーを開く::
エクスプローラー "%USERPROFILE%\ђЎ" \ SafeLinks \ "

::アンインストールの作成::
echo @ echo off> uninstall_%〜n0.bat
echo net user%safeusername%/ del >> uninstall_%〜n0.bat
echo rd / s / q "%USERPROFILE%\ Downloads \ Browser" >> uninstall_%〜n0.bat
echo rd / s / q "%USERPROFILE%\ђЎ" \ SafeLinks ">> uninstall_%〜n0.bat
echo rd / s / q "%USERPROFILE%\ .. \%safeusername%\" >> uninstall_%〜n0.bat
echo For / f "tokens = 1,2 delims = |" %%%% A in(Browserlist4saferun.txt)do del "%%%% B \ %%%% A.vbs" >> uninstall_%〜n0.bat
echo del Browserlist4saferun.txt >> uninstall_%〜n0.bat
echo del %% 0 >> uninstall_%〜n0.bat

:終了


このテキストをメモ帳にコピーして、SaveRun.batとして保存する必要があります。

注意! 英語版のWindowsで実行する場合は、コード内のすべてのサブストリング「ђЎ」および「Desktop」(引用符なし)をDesktopサブストリング(まあ、またはデスクトップがあるディレクトリの名前)で再生する必要があります。 それ以外の場合、このコードはロシアのWindowsでのみ正しく機能します。

さらに、マシンにダウンロードして配置する必要があります。

1. Windows Server 2003リソースキットツール ;
2. 拡張変更アクセス制御リストツール(Xcacls)

注意! 両方とも、リソースキットが配置されているデフォルトディレクトリに配置する必要があります-%Programfiles%\ Windows Resource Kits \ Tools \

または、コードのこの行を修正します。

今-あなたが実行することができます。

システムは非常にシンプルです。 彼女:
  1. プロファイルからアプリケーションを実行する権限を持たないランダムなユーザーを作成します。作成者の意図に従って、すべてのウイルスがそこから開始しようとします。
  2. すべてのメインブラウザー(キツネ、クローム、ロバ、オペラ)がインストールされているデフォルトのパスをスキャンし、見つかった場合は、ブラウザーVBSごとにスクリプトを作成し(実行すると)、ブラウザーを起動するリンクを生成します。 後でこのリンクを起動すると、ブラウザはその去勢されたユーザーの権限で起動します。
  3. すべてのVBSスクリプトが配置されるデスクトップにSafeLinksフォルダーを作成します。
    ブラウザを起動するためにこれらのスクリプトによって生成されたリンクもそこに到達します。
  4. ソースバッチファイルの横にuninstall_%〜n0.batファイルを作成します。 このバッチファイル(実行する場合)は、去勢されたユーザーとスクリプトおよびディレクトリの両方を削除します。 私自身も。


Firefox 33.0がインストールされたロシアのWindowsでこのすべての経済をテストしました。

動作します。

Source: https://habr.com/ru/post/J241081/


All Articles