> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/ru/privesc/cron-jobs/cron-expression-calculator.md).

# Калькулятор cron-выражений

Найдите cron-выражение, например `* * * * *`, `*/5 * * * *`, `0 0 * * *`или `@reboot` чтобы прочитать его расписание и заметки по пентесту.

## Поиск cron

<table data-view="cards" data-full-width="true" data-search="true"><thead><tr><th>Выражение</th><th>Значение</th><th>Типичное использование</th><th>Заметки по проверке</th></tr></thead><tbody><tr><td><code>* * * * *</code></td><td>Каждую минуту</td><td>Быстро повторяющаяся задача</td><td>Высокая ценность для повышения привилегий, если скрипт доступен для записи.</td></tr><tr><td><code>*/2 * * * *</code></td><td>Каждые 2 минуты</td><td>Задача опроса</td><td>Используйте pspy, чтобы наблюдать выполнение.</td></tr><tr><td><code>*/5 * * * *</code></td><td>Каждые 5 минут</td><td>Проверки состояния, задания синхронизации</td><td>Проверьте путь к команде и цели с правом записи.</td></tr><tr><td><code>*/10 * * * *</code></td><td>Каждые 10 минут</td><td>Задача обслуживания</td><td>Ищите относительные пути и небезопасный PATH.</td></tr><tr><td><code>*/15 * * * *</code></td><td>Каждые 15 минут</td><td>Запланированная синхронизация</td><td>Проверьте логи и владельца скрипта.</td></tr><tr><td><code>*/30 * * * *</code></td><td>Каждые 30 минут</td><td>Периодическая очистка</td><td>Проверьте команды удаления и подстановочные знаки.</td></tr><tr><td><code>0 * * * *</code></td><td>Каждый час</td><td>Почасовая задача</td><td>Проверьте также `/etc/cron.hourly`.</td></tr><tr><td><code>30 * * * *</code></td><td>В 30-й минуте каждого часа</td><td>Почасовой сдвиг</td><td>Отслеживайте около получаса.</td></tr><tr><td><code>0 */2 * * *</code></td><td>Каждые 2 часа</td><td>Пакетная задача</td><td>Проверьте скрипты в каталогах резервного копирования и синхронизации.</td></tr><tr><td><code>0 0 * * *</code></td><td>Каждый день в полночь</td><td>Ежедневная ротация</td><td>Проверьте `/etc/cron.daily` и скрипты резервного копирования.</td></tr><tr><td><code>30 2 * * *</code></td><td>Каждый день в 02:30</td><td>Ночное обслуживание</td><td>Обычное время для заданий резервного копирования root.</td></tr><tr><td><code>0 6 * * *</code></td><td>Каждый день в 06:00</td><td>Утренняя задача</td><td>Проверьте генерацию отчетов и скрипты очистки.</td></tr><tr><td><code>0 0 * * 0</code></td><td>Каждое воскресенье в полночь</td><td>Еженедельная задача</td><td>Проверьте `/etc/cron.weekly`.</td></tr><tr><td><code>0 0 * * 1</code></td><td>Каждый понедельник в полночь</td><td>Еженедельная задача</td><td>Проверьте скрипты рабочих дней.</td></tr><tr><td><code>0 0 1 * *</code></td><td>Первый день каждого месяца</td><td>Ежемесячные отчеты</td><td>Проверьте `/etc/cron.monthly`.</td></tr><tr><td><code>0 0 1 1 *</code></td><td>Каждое 1 января в полночь</td><td>Ежегодная задача</td><td>Низкая частота, но может выполняться от root.</td></tr><tr><td><code>0 9-17 * * 1-5</code></td><td>Каждый час с 09:00 до 17:00, понедельник-пятница</td><td>Автоматизация в рабочее время</td><td>Проверьте скрипты, принадлежащие пользователям, которые используются административными заданиями.</td></tr><tr><td><code>*/15 9-17 * * 1-5</code></td><td>Каждые 15 минут в рабочее время</td><td>Офисный опрос</td><td>Хорошее окно для pspy.</td></tr><tr><td><code>0 0,12 * * *</code></td><td>В полночь и в полдень</td><td>Задача дважды в день</td><td>Часы, разделенные запятыми.</td></tr><tr><td><code>0 3 * * 1,3,5</code></td><td>В 03:00 в понедельник, среду и пятницу</td><td>Запланированная пакетная задача</td><td>Проверьте совпадение дня недели.</td></tr><tr><td><code>@reboot</code></td><td>При запуске системы</td><td>Скрипт запуска</td><td>Проверьте закрепление и доступные для записи команды запуска.</td></tr><tr><td><code>@hourly</code></td><td>Раз в час</td><td>Сокращение для почасового запуска</td><td>Эквивалентно `0 * * * *`.</td></tr><tr><td><code>@daily</code></td><td>Раз в день</td><td>Сокращение для ежедневного запуска</td><td>Эквивалентно `0 0 * * *`.</td></tr><tr><td><code>@weekly</code></td><td>Раз в неделю</td><td>Сокращение для еженедельного запуска</td><td>Эквивалентно `0 0 * * 0`.</td></tr><tr><td><code>@monthly</code></td><td>Раз в месяц</td><td>Сокращение для ежемесячного запуска</td><td>Эквивалентно `0 0 1 * *`.</td></tr><tr><td><code>@yearly</code></td><td>Раз в год</td><td>Сокращение для ежегодного запуска</td><td>Эквивалентно `0 0 1 1 *`.</td></tr></tbody></table>

## Калькулятор полей

```
* * * * *
| | | | |
| | | | +-- День недели: 0-7, воскресенье — 0 или 7
| | | +---- Месяц: 1-12
| | +------ День месяца: 1-31
| +-------- Час: 0-23
+---------- Минута: 0-59
```

| Оператор | Значение        | Пример                               |
| -------- | --------------- | ------------------------------------ |
| `*`      | Любое значение  | `* * * * *` каждую минуту            |
| `,`      | Список значений | `0 0,12 * * *` полночь и полдень     |
| `-`      | Диапазон        | `0 9-17 * * *` каждый час с 09 до 17 |
| `/`      | Шаг             | `*/5 * * * *` каждые 5 минут         |

## Команды для перечисления

```bash
crontab -l
cat /etc/crontab
ls -la /etc/cron.*
find /etc/cron* -type f -exec ls -la {} \; 2>/dev/null
find /var/spool/cron -type f -exec ls -la {} \; 2>/dev/null
systemctl list-timers --all
```

## Чек-лист повышения привилегий

| Проверьте                                        | Почему это важно                                             |
| ------------------------------------------------ | ------------------------------------------------------------ |
| Доступный для записи скрипт, выполняемый root    | Прямой путь выполнения привилегированной команды             |
| Относительный путь к команде                     | Перехват PATH может контролировать выполняемый бинарный файл |
| Подстановочные знаки в каталогах с правом записи | Инъекция опций против таких инструментов, как `tar`          |
| Каталог cron с правом записи для всех            | Подкладка файла или замена скрипта                           |
| Задача root обрабатывает файлы пользователя      | Инъекция в парсер или команду через входные файлы            |
| Отсутствуют полные пути                          | Поведение, зависящее от окружения                            |
| Логи раскрывают расписание                       | Помогает проверять время и собирать доказательства           |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/ru/privesc/cron-jobs/cron-expression-calculator.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
