エクスプロイトに対するバトニコフ(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でこのすべての経済をテストしました。



動作します。



All Articles