. Назовем ее WriteScriptPath
. Заходим в эту директорию и переименовываем файл AdminTo.jsx
в WriteScriptPath.jsx
.Откроем файл
WriteScriptPath.jsx
и выполним изменения:import React from 'react';
import PropTypes from 'prop-types';
import {Tabs, Tab} from 'react-bootstrap';
import General from './General';
import Abuse from './Abuse';
import Opsec from './Opsec';
import References from './References';
const
WriteScriptPath
= ({sourceName, sourceType, targetName, targetType}) => {
return (
sourceName={sourceName}
sourceType={sourceType}
targetName={targetName}
/>
);
};
WriteScriptPath
.propTypes = {
sourceName: PropTypes.string,
sourceType: PropTypes.string,
targetName: PropTypes.string,
targetType: PropTypes.string,
};
export default
WriteScriptPath
;Открываем файл
General.jsx
и изменим текст, не трогая информацию в фигурных скобках.import React from 'react';
import PropTypes from 'prop-types';
import {groupSpecialFormat} from '../Formatter';
const General = ({sourceName, sourceType, targetName}) => {
return (
<>
{sourceName} имеет привилегии Write ScriptPath
на {targetName}.
В среде Active Directory профиль пользователя
можно настроить
таким образом, что при входе пользователя на машину автоматически
будет выполняться скрипт
или
исполняемый файл. Путь к скрипту или исполняемому файлу
будет храниться в атрибуте ScriptPath пользователя.
Права Write позволяют изменять этот атрибут.
>
);
};
General.propTypes = {
sourceName: PropTypes.string,
sourceType: PropTypes.string,
targetName: PropTypes.string,
};
export default General;
Сохраняем файл, переходим к следующему файлу
References.jsx
и заменяем ссылки на соответствующие теме:import React from 'react';
const References = () => {
return (
<>
https://github.com/PowerShellMafia/PowerSploit/blob/ dev/Recon/PowerView.ps1
https://www.thehacker.recipes/ad/movement/dacl/logon-
script
>
);
};
export default References;
Сохраняем, переходим к следующему файлу
Abuse.jsx
и меняем код текста:…
const Abuse = () => {
return (
<>
Права Write позволяют изменять атрибут ScriptPath.
Изменить значение атрибута ScriptPath
можно с помощью PowerView:
{ "Set-DomainObject -Identity victim -Set @ {'scriptpath'='//share\script.bat'}"}
Теперь необходимо дождаться, когда пользователь локально зайдет на машину.
После выполнения атаки следует удалить установленный
путь с помощью PowerView:
{ "Set-DomainObject -Identity vicitm -Clear scriptpath"}
>
);
};
…
Сохраняем, переходим к следующему файлу
Opesec.jsx
и меняем код текста:import React from 'react';
const Opsec = () => {
return (
<>
Средства
мониторинга
могут
быть настроены на события, связанные с изменением атрибута ScriptPath.
>
);
};
export default Opsec;
Сохраняем последний файл и собираем приложение:
npm run build: win32
Запускаем обновленную версию BloodHound, выполняем запрос поиска от
user
до victim
, правой клавишей мыши нажимаем на связь и смотрим на результат нашей работы:
Рис. 4.50. Общее описание недостатка
Рис. 4.51. Описание эксплуатации
Общие файловые ресурсы
Общие файловые ресурсы являются источником дополнительной информации, такой как пароли в открытом виде, а возможность записи файлов в общие ресурсы позволяет выполнять технику принудительной аутентификации пользователей.
Создание нового узла с новой меткойОбщие файловые ресурсы не имеют собственного guid, поэтому нам потребуется сгенерировать их самостоятельно с помощью функции
randomUUID
. Запрос на создание нового узла с меткой Share
будет выглядеть следующим образом:MERGE (:Share {name: "Share", path: "\\\\comp1\\test", objectid: toUpper(randomUUID())})
Внимание
Для корректного отображения пути необходимо экранировать слеш.
Проверим, что создался новый узел с указанными параметрами: