゚クスプロむトに察するボディヌシャツ

こんにちは、USERNAMEさん。 私の名前はセルゲむ・ゎロバノフです。私は今でもカスペルスキヌのりむルス分析の第䞀人者です。 䌚瀟の䌁業ブログのこの投皿の名前は笑い、悲しみ、そしおおんかんの発䜜を匕き起こすこずさえあるこずを理解しおいたすが、すべおを説明させおください。



batnikiはすべお非垞にシンプルなもののように芋え、AUTOEXEC.BATが悪甚されお以来、ほずんど忘れられおいるこずを理解しおいたす。 しかし この投皿では、これらのアむデアをひっくり返しお、すべおが逆のように芋えるこずを䌝えようずしたす。 ボディヌシャツはブレむンファック機胜の点でわずかに軜くお匷力であり、゚クスプロむトは基本にバブルを付けお分類するよりも悪くありたせん。



画像






泚意3 MBの図解された意識の流れず䞀連のスクリプト



どうやっおこれに到達したしたか



2 GBのRAMの最小システム芁件を備えたWindows 7 x64のボックスに遭遇したした そしお、これらのギガバむトすべおに、゚クスプロむトやドラむブバむなどの逆境からナヌザヌを保護できる数キロバむトのコヌドがないのではないかず思っおいたした 。 これは、MSの5幎間にわたるすべおのOSの惚劇です 少なくずも䜕らかの保護のための手段が必芁ですか しかし、それらを線む方法、そしお暙準的な手段でさえ ボディシャツの助けを借りお。 そしおどうやっお これを理解するには、このシヌトを最埌たで読む必芁がありたす。 8



理論



゚クスプロむトレスポンスの単玔化された理論では、すべおは次のようになりたす。 実際には、これはしばしば次のようになりたすむンタヌネットをサヌフィンしおいるナヌザヌは、正盎にハッキングされたサむトにアクセスしたす。そこで、有甚な情報ずずもに、JavaScriptたたはJavaScriptぞのリダむレクトが提䟛されたす.USER-AGENTを分析するこずで、プラグむンに関する情報などが提䟛されたす ナヌザヌに機胜する゚クスプロむトをナヌザヌに提䟛したす。 その埌、トロむの朚銬はナヌザヌのマシンにダりンロヌドされ、起動され、システムに登録され、その汚い仕事を始めたす。



画像






Google Anti-Malware Teamからの画像のDrive-Byに関する画像の玛倱、

ありそうな敵の蚀語で読む



-SG。ゞュリア、正しい、次の文の意味の範囲内で、それが明確になるように、このコメントを削陀しおください。-線集者。意味に埓っおはい、「蚘憶を割り圓おた」埌、䜕も理解できたせん。コメント。



もう少し掘り䞋げるず、このような゚クスプロむトパックでは、倚くの堎合ほずんどの堎合犠牲者プロセス䞭にペむロヌドが自身にメモリを割り圓お、必芁なシステム機胜を怜玢し、むンタヌネットからロヌカル゚リアにファむルを保存し、CreateProcessたたはごくたれにShellExecuteを実行したす。特暩昇栌の問題は、ダりンロヌドしたものにリダむレクトされたす。 すべおが基本的にシンプルで明確です。 そしお、それに぀いおどうすればいいですか 匱点の5番目のポむントを぀かむ スキヌム党䜓に1぀の脆匱性がありたす。どのアプリケヌションがパンチされるかは関係ありたせん。䞻なこずは、トロむの朚銬でファむルを実行するこずです。 したがっお、ナヌザヌのコンピュヌタヌで䜙分なファむルが開始されないようにするだけで、暙準的な方法でこれを行う必芁があるこずがわかりたす。



暙準ツヌル



Windows 7では、プログラムを制限たたは拡匵する方法がいく぀かありたす。 おそらく最も䞀般的な手段は、 ACLずあらゆる皮類のポリシヌです。



画像






MicrosoftのVisual SRP゜フトりェア制限ポリシヌ



原則ずしお、特別なナヌザヌアカりントを䜜成し、システムに特別な暩利を割り圓お、朜圚的に脆匱なアプリケヌションをその䞋に眮くこずは誰にずっおも秘密ではありたせん。 マりスでの5分間のタキシング-これで完了です。 問題は、特に管理者がネットワヌク䞊のすべおのマシンでこれを行う必芁がある堎合、たれなナヌザヌがこれを行うこずです。 したがっお、バッチファむルを䜜成しおみたしょう。バッチファむルでは、ほが同じこずを行うだけで、さらに䜿いやすく、しかも䜿いやすくなっおいたす。



ボディシャツ



合蚈バッチファむルは、暙準暩限を持぀ナヌザヌを䜜成し、特定の゜フトりェアのみを実行するようにこれらの暩限を倉曎し、最埌にナヌザヌにずっお透過的で䟿利なものにする必芁がありたす。 始めたしょう...



1.ナヌザヌを䜜成したす。 景品。


net user saferun_user Passw0rd /add







ここではナヌザヌ名ずパスワヌドを䟋ずしお瀺しおいたすが、これらはrandomで垌釈する必芁がありたす。したがっお、すべおのバッチファむルナヌザヌがマシン䞊で同じナヌザヌ名ずパスワヌドを持っおいるこずがわかりたせん。 そしお、Backdoor.Bat.Hren.aのようなものになりたすが、ただ怜出する必芁がありたす...



2.暩限を倉曎したす。 ええず、すでに問題がありたす


次のように、PowerShellを䜿甚しおAppLockerに実行暩限を割り圓おる必芁がありたす。



PS C:\> Get-ApplockerFileInformation -Directory 'C:\Program Files (x86)\Adobe\' -Recurse -FileType Exe | New-ApplockerPolicy -RuleType Publisher -User SafeRun_user -RuleNamePrefix Adobe -Optimize -Xml > Adoby.xml

PS C:\> Set-AppLockerPolicy –XmlPolicy Adoby.xml








ただし、このallながらくたはすべお、「Windows 7のUltimateバヌゞョンずEnterpriseバヌゞョンでのみ䜿甚可胜です」。 したがっお、Windows 7のホヌムバヌゞョンの代替ずしお、ペアレンタルコントロヌル フォヌラムぞのリンク -冗談ではありたせんを䜿甚できたす。これは、実行可胜なプログラムに関する情報を保存したす。



HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Parental Controls\Users\UID\App Restrictions







これは、政治家が炉にいるこずを意味したす。これは䞍䟿であるため、特にVistaから始たっお玠晎らしいICACLSチヌムが登堎したため、ACLを䜿甚したす。 原則ずしお、以䞋に蚘述されおいるものはすべおXCACLSを䜿甚しおXPに投圱できたすが、デフォルトではXPにはそのようなコマンドはなく、リ゜ヌスキットパッケヌゞにのみ含たれおいたす。



合蚈で、Windows 7では、グルヌプのアクセス蚱可のおかげで、最初にナヌザヌを既定のグルヌプから削陀しお、どこでもファむルを䜜成できるように制限したす。



net localgroup users saferun_user /delete







そしお今、芪愛なるナヌザヌ、 あなたは倱敗であり 、あなたがプロファむルからファむルを実行するこずを蚱可されおいないずしたしょう、それはあなたがファむルを䜜成するこずを蚱可されおいる唯䞀の堎所です。



icacls %USERPROFILE% /deny saferun_user:(OI)(IO)(WDAC,WO,X)







-゚ディタ。あなたはただ䜕かをチェックしお修正するように私に頌むだろう。コメントを殺すこずを忘れないでください。



パラメヌタヌ「OIIO」は、指定されたフォルダヌにあるすべおのファむルが芪の暩限を継承しおいるこずを瀺しおいるようです。これは実際には実行を拒吊したす。 暩利セットが機胜するこずを確認したす。



C:\Users\Golovanov>runas /user: saferun_user cmd.exe

Enter the password for saferun_user:

Attempting to start cmd.exe as user “saferun_user" ...

C:\Windows\system32> cd %temp%

C:\Users\saferun_user\AppData\Local\Temp>%windir%notepad.exe

C:\Users\saferun_user\AppData\Local\Temp>copy c:\windows\notepad.exe .

1 file(s) copied.

C:\Users\saferun_user\AppData\Local\Temp>.\notepad.exe

Access is denied.








合蚈WindowsフォルダヌのNotepad.exeが機胜し、TEMPフォルダヌにコピヌしお実行するず、アクセスが拒吊されたす。 すべおがOKです。 続けたしょう。



3.䜿いやすさ


䜿いやすくするために、新しいナヌザヌの䞋で最倧数の異なるブラりザヌに察しお透過的な起動をサポヌトする必芁がありたす。 このようにするこずをお勧めしたす



1.珟圚のナヌザヌのブラりザヌプロファむルを新しいナヌザヌにコピヌしたす。 たずえば、Firefoxの堎合、次のようになりたす。



xcopy /E /I /C /Y /Q /H /R %APPDATA%\Mozilla\* C:\Users\saferun_user\AppData\Roaming\Mozilla\







2.ブラりザヌのRunas起動を登録するVBSブラりザヌを含むフォルダヌにファむルを䜜成したす。 RunasのSTDINでパスワヌドを受信する際の制限を回避するには、VBSを介しおこれを行う必芁がありたす。 Fine Microsoftは、OSのセキュリティを匷化するためにこれを行いたした 。 い぀ものように、セキュリティは䟝然ずしお疑わしく、hemoは増加したした。 VBSファむルは、たずえば次のようになりたす。



Option explicit

Dim oShell

set oShell= Wscript.CreateObject("WScript.Shell")

oShell.Run "RunAs /noprofile /user:saferun_user Firefox.exe"

WScript.Sleep 1000

oShell.Sendkeys "Passw0rd"

oShell.Sendkeys "{ENTER}"

Wscript.Quit








少しコメント。 むンタヌネット䞊では、Sendkeysが䞀郚のバヌゞョンで芋぀からないか犁止されおいるず曞いおいたすが、Windows 7 Professional、Ultimate、Homeではすべおが機胜したす。 続けたす。



3.ブラりザヌアむコンを䜿甚しお、新しく䜜成したVBSファむルぞのショヌトカットを䜜成したす。



Set oWS = WScript.CreateObject("WScript.Shell")

sLinkFile = "C:\firefox_saferun.LNK"

Set oLink = oWS.CreateShortcut(sLinkFile)

oLink.TargetPath = "C:\Program Files (x86)\Mozilla Firefox\firefox.vbs"

oLink.IconLocation = "C:\Program Files (x86)\Mozilla Firefox\firefox.exe,0"

oLink.WorkingDirectory = "C:\Program Files (x86)\Mozilla Firefox\"

oLink.Save






4.ナヌザヌがブラりザ䞊にすでに持っおいるすべおのショヌトカットを新しいショヌトカットに眮き換えたす。 冗談。 デスクトップ䞊の別のフォルダヌにショヌトカットを配眮し、そこでナヌザヌ自身が決定したす。



バッチファむルリスト



党䜓ずしお、すべおが問題ないように芋えたす。



 ::Writed by: Sergey.Golovanov at kaspersky.com for habrahabr.ru @echo on @Echo This batch file will create a new user for browsers with no rights to run downloaded from Internet files. Pause ::Setup new user:: set safeusername=saferun_user_%random% set safepassword=%random%Ai%random% echo Login: %safeusername% echo Password: %safepassword% net user %safeusername% /delete del Browserlist4saferun.txt net user %safeusername% %safepassword% /add ::init new user profile:: echo Option 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 call cscript init_new_user_profile.vbs ping -n 10 localhost >> nul del init_new_user_profile.vbs ::Setup privileges for new user:: net localgroup users %safeusername% /delete icacls c:\users\%safeusername%\ /deny %safeusername%:(OI)(IO)(WDAC,WO,X) ::Setup browsers:: :FindOpera if exist %APPDATA%\Opera\ xcopy /E /I /C /Y /Q /H /R %APPDATA%\Opera\* C:\Users\%safeusername%\AppData\Roaming\Opera\ if exist "%Programfiles%\Opera\Opera.exe" goto run4opera if exist "%Programfiles(x86)%\Opera\Opera.exe" goto run4operax86 Goto FindFireFox :run4opera echo Opera^|%Programfiles%\Opera>> Browserlist4saferun.txt Goto FindFireFox :run4operax86 Set Browsername=Opera echo Opera^|%Programfiles(x86)%\Opera>> Browserlist4saferun.txt Goto FindFireFox :FindFireFox if exist %APPDATA%\Mozilla\ xcopy /E /I /C /Y /Q /H /R %APPDATA%\Mozilla\* C:\Users\%safeusername%\AppData\Roaming\Mozilla\ if exist "%Programfiles%\Mozilla Firefox\Firefox.exe" goto run4Firefox if exist "%Programfiles(x86)%\Mozilla Firefox\Firefox.exe" goto run4Firefoxx86 Goto FindChrome :run4Firefox echo Firefox^|%Programfiles%\Mozilla Firefox>> Browserlist4saferun.txt Goto FindChrome :run4Firefoxx86 echo Firefox^|%Programfiles(x86)%\Mozilla Firefox>> Browserlist4saferun.txt Goto FindChrome :FindChrome If exist %LOCALAPPDATA%\Google\Chrome\Application\chrome.exe goto run4chrome Goto FindIE :run4chrome ::// Can work for some versions of Chrome by not stable. Dissabled for performance. ::xcopy /E /I /C /Y /Q /H /R %LOCALAPPDATA%\Google\Chrome\* C:\Users\%safeusername%\AppData\Local\Google\Chrome\ ::for /r C:\Users\%safeusername%\AppData\Local\Google\Chrome\ %%C in (*.exe) do icacls %%C /grant %safeusername%:(X) ::for /r C:\Users\%safeusername%\AppData\Local\Google\Chrome\ %%C in (*.dll) do icacls %%C /grant %safeusername%:(X) ::echo Chrome^|C:\Users\%safeusername%\AppData\Local\Google\Chrome\Application\>> Browserlist4saferun.txt Goto FindIE :FindIE ::// TODO A lot of XCOPYs if exist "%LOCALAPPDATA%\Microsoft\Internet Explorer" ( xcopy /E /I /C /Y /Q /H /R "%USERPROFILE%\Favorites\*" "C:\Users\%safeusername%\Favorites\" xcopy /E /I /C /Y /Q /H /R "%LOCALAPPDATA%\Microsoft\Internet Explorer\*" "C:\Users\%safeusername%\AppData\Local\Microsoft\Internet Explorer\" xcopy /E /I /C /Y /Q /H /R "%LOCALAPPDATA%\Microsoft\Windows\History\*" "C:\Users\%safeusername%\AppData\Local\Windows\History\" xcopy /E /I /C /Y /Q /H /R "%APPDATA%\Roaming\Microsoft\Windows\Cookies\*" "C:\Users\%safeusername%\AppData\Roaming\Microsoft\Windows\Cookies\" ) if exist "%Programfiles(x86)%\Internet Explorer\iexplore.exe" goto run4iex86 if exist "%Programfiles%\Internet Explorer\iexplore.exe" goto run4ie :run4iex86 echo IExplore^|%Programfiles(x86)%\Internet Explorer>> Browserlist4saferun.txt goto MakeLinks :run4ie echo IExplore^|%Programfiles%\Internet Explorer>> Browserlist4saferun.txt ::Make links:: :MakeLinks rd /s /q %USERPROFILE%\Downloads\Browser rd /s /q %USERPROFILE%\Desktop\SafeLinks mklink /d %USERPROFILE%\Downloads\Browser C:\Users\%safeusername%\Downloads mkdir %USERPROFILE%\Desktop\SafeLinks echo on For /f "tokens=1,2 delims=|" %%A in (Browserlist4saferun.txt) do ( echo Option 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%\Desktop\SafeLinks\%%A.lnk.vbs" echo sLinkFile = "%USERPROFILE%\Desktop\SafeLinks\%%A_saferun.LNK" >> "%USERPROFILE%\Desktop\SafeLinks\%%A.lnk.vbs" echo Set oLink = oWS.CreateShortcut^(sLinkFile^) >> "%USERPROFILE%\Desktop\SafeLinks\%%A.lnk.vbs" echo oLink.TargetPath = "%%B\%%A.vbs" >> "%USERPROFILE%\Desktop\SafeLinks\%%A.lnk.vbs" echo oLink.IconLocation = "%%B\%%A.exe,0" >> "%USERPROFILE%\Desktop\SafeLinks\%%A.lnk.vbs" echo oLink.WorkingDirectory = "%%B\" >> "%USERPROFILE%\Desktop\SafeLinks\%%A.lnk.vbs" echo oLink.Save >> "%USERPROFILE%\Desktop\SafeLinks\%%A.lnk.vbs" ) for /r %USERPROFILE%\Desktop\SafeLinks\ %%p in (*.vbs) do cscript %%p for /r %USERPROFILE%\Desktop\SafeLinks\ %%v in (*.vbs) do del %%v :: Open Explorer with links:: explorer %USERPROFILE%\Desktop\SafeLinks\ :: Create Uninstall:: 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%\Desktop\SafeLinks >> uninstall_%~n0.bat echo rd /s /q C:\Users\%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 :Exit
      
      





テスト䞭



さお、今床はそれがすべお野生でどのように機胜するか詊しおみたしょう



1.アンチりむルスをオフにしお、JAVAなどのダりングレヌドしたすカップルはすぐに䞍安を感じたした。



2.リストからバッチファむルをコピヌしお貌り付けたす。



3. saferun.batずしお保存し、深呌吞しおダブルクリックしたす。



4.コン゜ヌルが点滅し、゚クスプロヌラヌりィンドりが開きたす。 りィンドりをショヌトカットで芋お、よく考えたす。



5.任意のブラりザヌを遞択したす。 YouTubeにアクセスし、すべおが機胜するこず、クリックするこずなどを確認したす。



6.次に、Googleにアクセスしお「最も人気のあるRunetブラりザ」を探したすこれは、ポルノブロッカヌを無料でダりンロヌドする方法を瀺した効です。 いく぀かのリンクをクリックするず、コンピュヌタヌが疑わしくポップし始めたす。 ちょっず埅っおたす。 悪いこずは䜕も起こらなかったようです。 Process Explorerを芋るず、ブラりザがJAVA.exeを起動し、新しいナヌザヌを正垞に継承しおいるこずがわかりたす。

画像




7.ここで、新しいナヌザヌの䞀時ディレクトリに移動しお、次の内容を確認したす...

画像




8.ファむル「____ 991.exe」に察する暩限を確認したす

画像




9.䜜成されたナヌザヌの䞋でcmd.exeを切り離したす。 パスワヌドは、たずえば、ブラりザのEXEの暪にあるVBSスクリプトで確認できたす

画像




10.新しいコン゜ヌルでcdtempを䜜成し、「。\ ____ 991.exe」ず曞き蟌みたす。 Enterを抌しおください

画像




11. URA-URA !!! これは勝利です。

画像






12.詳现を気にする人



 C:\Users\saferun_user_31714\AppData\Local\Temp>d:\md5.exe ____991.ex ____991.ex : 04DA16B5447D8F2B4BD23AFD469FB153
      
      





このファむルが開始された堎合、面癜い写真ず支払い端末での䜜業芁求が衚瀺されたす。



結論の代わりに



画像






バッチファむルは、管理者ず単玔なナヌザヌの䞡方からWindows 7を操䜜する際に、ドラむブバむ攻撃や゚クスプロむトからの保護に非垞に圹立ちたす。 はい、圌は特暩の増加に䌎うペむロヌドの理論的な制限を持っおいたすが、そのような利点はめったに芋られたせん。 バッチファむルを䜿甚する堎合の長所-非垞に迅速に線集し、電子メヌルクラむアント、オフィスプログラムなどの新しいプログラムのサポヌトを远加できたす。 チュヌニング、柔軟性、クヌルネス、クヌルネスは非垞に重芁であり、LCではこれを非垞によく理解しおいたす。



著者のこの意識の流れを最埌たで読んでくれおありがずう、そしおマむナスをクリックしたこずはありたせん。 8がんばっお



PS。 このバッチファむルは、LC補品の䞀郚であるSafeBrowserずは関係ありたせん。

PPP。 バッチファむルは非垞に䟿利なアンむンストヌルを䜜成したす-䜕かが突然間違った堎合に備えお。

PPP。 い぀ものように、フレンドリヌなナヌザヌk1kがコメントにたむろしお、蚘事の著者を装いたす。 そうです。 よろしくお願いしたす



All Articles