изменить время
https://man.freebsd.org/cgi/man.cgi?date
рекурсивная замена даты изменения файлов и папок в директории
find . -exec touch {} \;
find . -exec touch -mat 197001010000.00 {} \;
ORIGTS=`stat -c "%Y" $f`
touch -d @$ORIGTS $f
touch $(date --date=@$ORIGTS +%Y%m%d%H%M.%S) $f
find . -exec touch -mat $(date --date=@$ORIGTS +%Y%m%d%H%M.%S) {} \;
проверка
ls -ltr
stat файл
ls -l файл
ls --full-time файл
https://www.nirsoft.net/utils/bulk_file_changer.html
far ctrl+A
Временные параметры файла - atime mtime ctime
Linux — Изменить Метки Времени Файла (Access, Modify, Change)
systemctl stop systemd-timesyncd
hwclock --set --date="2011-08-14 16:45:05"
hwclock -s
hwclock -w
изменить время внутри каталога
find ./ -exec touch -a -m -t 201512180130.09 {} \;
изменить время локальной папки tmp
find ./tmp -exec touch -a -m -t 201512180130.09 {} \;
systemctl start systemd-timesyncd
Из файла /var/log/messages удалите строки с информацией об изменении системного времени (необходим root):
Очистите историю входов в Linux (необходим root):
$ sudo echo > /var/log/wtmp
$ sudo echo > /var/log/btmp
$ sudo echo > /var/log/lastlog
Очистите историю текущей сессии:
$ history -r
hwclock - показать аппаратное время hwclock --help - вывести подсказку по утилите hwclock --hctosys - установить системное время в соответствии с аппаратными часами hwclock --systohc --debug - установить аппаратные часы в соответствии с системным временем с выводом отладочной информации hwclock --set --date="2011-01-25 08:55:01" - установка конкретного значения аппаратного времени hwclock --set --date="$(date --utc +'%F %T')" - установка конкретного значения аппаратного времени hwclock --systohc --localtime timedatectl set-local-rtc 0
ntpdate pool.ntp.org
timedatectl set-ntp true
nano /etc/chrony.conf
systemctl start chronyd
systemctl enable chronyd
chronyc sources
timedatectl status
Очистить Историю Команд в BASH
Полностью удалить историю Bash
$ history -cw
-c Очистить файл истории
-w Внести команды текущей сессии в файл с историей
Удалить определенную строку из истории Bash
$ history -dw 352
-d Удалить строку с указанным номером из истории
Очистить историю команд текущей сессии
$ history -r
-r Прочитать файл с текущие историей и добавить его содержимое к списку истории команд
Не сохранять команду в истории Bash
$ <пробел>команда
Не сохранять все команды текущей сессии в истории Bash
Отключение HISTFILE приводит к тому, что пока Вы не выйдите из текущей сессии, любые команды которые Вы будете выполнять не будут сохраняться в файле с историей bash_history:
$ unset HISTFILE
настройка отображения времени в истории команд
https://www.shellhacks.com/ru/tune-command-line-history-bash/
добавить метки времени в .bash_history
nano .bashrc
export HISTTIMEFORMAT='%F %T '
или просто
HISTTIMEFORMAT='%F %T '
Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз
shopt -s histappend
Увеличиваем Размер Хранимой Истории
HISTSIZE — количество команд
export HISTSIZE=5000
HISTFILESIZE — максимальное количество строк
export HISTFILESIZE=5000
Не сохранять команды ls, ps и history
export HISTIGNORE="ls:ps:history"
Сохранять все строки многострочной команды в одной записи списка истории :
shopt -s cmdhist
применить изменения
source ~/.bashrc
проставить нулевые метки в .bash_history
sed -ie '/^/i\#0000000001' /root/.bash_history
удалить их
sed -i '/#0000000001/d' /root/.bash_history
Однострочные скрипты sed
Использование SED. Полезные команды SED
Конвертер даты и времени в UNIX формат
https://time.is/ru/Unix_time_converter
Очистить или Удалить Историю Входов в Linux
https://www.shellhacks.com/ru/clear-remove-last-login-history-linux/
В Linux системах есть три стандартные команды, которые показывают информацию о последних подключавшихся пользователях: last, lastb, и lastlog.
Команда Журнал логов Описание last /var/log/wtmp История успешных входов/выходов lastb /var/log/btmp История неудавшихся попыток входа lastlog /var/log/lastlog Список последних подключавшихся пользователей
Для удаления всей информации о последних подключавшихся пользователях необходимо очистить журналы с логами:
# echo > /var/log/wtmp
# echo > /var/log/btmp
# echo > /var/log/lastlog
Кто же был на сервере?
Файлы /var/run/utmp и /var/log/wtmp содержат журналы для входа и выхода из системы.
Эти два файла представляют собой двоичные файлы.
who
Файл /var/log/wtmp записывает все логины и логауты
last mia # узнать дату создания файла wtmp
lastlog
last | head -5
lastb # неудачные попытки входа в систему
tail /var/log/secure
быстро глянуть пользователей
compgen -u
cat /etc/passwd | awk /bash/{print}
сброс пароля
узнать OS
cat /proc/version
*************************************************************************
Отредактировать пункт меню, загружающий систему, сделав так, чтобы первым аргументом командной строки ядра было слово ebash.
[меняем строчку linux... после цифр ( например 3.10.108) перед boot прописываем ebash то есть будет строчка вида :
linux ... ebash boot ro].
Нажимаем F10
Чтобы скинуть пароль, надо смонтировать корневую ФС.
Корневая ФС у нас на lvm. Надо проинициализировать lvm:
lvm vgchange -ay
После этого должно появиться устройство
/dev/vg0/SYSTEM - это корневая ФС.
Надо её куда-то смонтировать. После этого можно сделать chroot в неё. Например:
mount /dev/vg0/SYSTEM /mnt/root
chroot /mnt/root /bin/bash
После этого можно скинуть пароль через
passwd
*************************************************************************
https://voxlink.ru/kb/linux/kak-sbrosit-zabytyj-parol-root-v-rhel-centos-i-fedora/
Сброс пароля root помощью редактирования файла /etc/passwd
Если у вас установлена 32 битная ОС, вам потребуется загрузочный диск с Linux x32 и наоборот. Загрузитесь с Live-диска или установите жесткий диск, где установлена система с забытым паролем в другой компьютер с ОС Linux.
Создайте поддиректорию
# mkdir /mnt/centos
Определите системный диск (sda1, sda2). Утилита fdisk выведет информацию о существующих разделах диска.
#fdisk -l
Смонтируйте системный раздел:
# mount /dev/sda2 /mnt/centos
Необходимо изменить файл /mnt/centos/etc/shadow, удалив из него хэш пароля пользователя root
# sudo vi /mnt/centos/etc/shadow
Найти строку, начинающуюся с root: . После двоеточия будет строка с хэшем вида: „$6$CWdx4fdslxDol…“. Нажмите i, чтобы войти в режим редактирования. После удаления символов должна получиться строка вида:
root::0:0:99999:7:::
нужно стереть хэш сумму между первым и вторым двоеточием.
! знак - root не может логинится
root:!:0:0:99999:7:::
Т.е. между „root” и номером группы пользователя “root” должно стоять два знака двоеточия «::» (root::0). Нажмите Esc чтобы выйти из режима редактирования, сохраните файл — нажмите «:wq» и Enter.
В /mnt/centos/etc/passwd в строке, относящейся к root символ «x» необходимо заменить на, «*». Помните, что файлы /etc/passwd и /etc/shadow, относятся к Live-системе.
Перезагрузите систему. Введите имя пользователя root, на запрос пароля нажмите Enter и после этого сможете попасть в систему без пароля. После перезагрузки не забудьте сразу новый пароль у пользователя root.
*************************************************************************
https://disnetern.ru/password-reset-root-centos-red-hat/
Если Вы забыли root пароль на линуксе CentOS Вам нужно провести данные манипуляции:
1) При загрузке останавливаем загрузчик на GRUB нажатием любой кнопки.
2) Выбираем нужную строчку и нажимаем e.
3) Выбираем строчку с kernel (kernel /vmlinuz /…версия ядра…/ root=LABEL=/)
4) Дописываем в конец строки single и нажимаем Enter
5) Нажимаем b для загрузки системы
6) После загрузки меняем пароль (passwd)
Данная методика работает почти на всех ОС линукс.
*************************************************************************
https://losst.ru/kak-smenit-parol-v-linux
сначала нам нужно получить зашифрованный пароль. Это можно сделать несколькими способами, например с помощью openssl:
openssl passwd -1 -salt xyz yourpass
Замените xyz на любую случайную комбинацию символов, чем больше, тем лучше; yourpass - это ваш новый пароль.
Скопируйте полученный результат в буфер обмена, затем откройте файл /etc/shadow и найдите там нужного пользователя. Я хочу сменить пароль Linux для test:
sudo vi /etc/shadow
Синтаксис этого файла такой:
имя_пользователя:пароль:::::
Следующее поле указывает на последнее изменение пароля в виде количества дней, прошедших с первого января 1970
*************************************************************************
https://max-ko.ru/13-sbros-parolja-root.html
https://itdoxy.com/как-сбросить-пароль-root-в-fedora/
1. При загрузке системы нажмите e, когда появится меню загрузки GRUB 2.
2. Введите rd.break в качестве аргумента загрузки в строку, которая загружает ядро, и нажмите Ctrl + X, чтобы загрузить эту опцию.
замените rhgb quiet следующей строчкой.
rd.break enforcing=0
Добавление ‘enforcing = 0’ приведёт к игнорированию всей системы меток SELinux. После перезапуска системы, восстановите для файла ‘/etc/shadow’ соответствующий контекст SELinux, как будет показано ниже.
3. Теперь вы будете отброшены в конце этапа загрузки, на котором загружается initramfs, непосредственно перед монтированием корневой файловой системы в каталог /.
4. Введите mount -o remount,rw /sysroot, чтобы получить доступ для чтения/записи к образу системы.
5. На этом этапе сделайте содержимое каталога /sysimage вашим новым корневым каталогом, введя chroot /sysroot.
6. Теперь вы можете ввести passwd и установить новый пароль для пользователя root.
7. Поскольку на этом очень раннем этапе загрузки SELinux еще не был активирован, тип контекста в /etc/shadow будет испорчен. Если вы перезагрузитесь в этот момент, никто не сможет войти в систему. Поэтому вы должны убедиться, что тип контекста установлен правильно. Для этого вы должны загрузить политику SELinux с помощью load_policy -i.
8. Теперь вы можете вручную установить правильный тип контекста в /etc/shadow. Для этого введите chcon -t shadow_t /etc/shadow.
9. Перезагрузка. Теперь вы можете войти с измененным паролем пользователя root.
*************************************************************************
Загрузиться с любой Live Linux системы, подмонтировать необходимую партицию стационарной системы в точку_монтирования и вычистить шифрованные пароли из следующих файлов:
/точка_монтирования/etc/passwd
Здесь в строчке, относящейся к руту надо символ «x» заменить на звёздочку, «*».
/точка_монтирования/etc/shadow
Здесь надо удалить всю строку, относящуюся к руту.
*************************************************************************
https://b14esh.com/kali/сброс-пароля-reset-password.html
/etc/passwd — файл, содержащий в текстовом формате список пользовательских учётных записей.
Каждая строка файла описывает одного пользователя и содержит семь полей, разделённых двоеточиями:
login : password : UID : GID : GECOS : home : shell
root:lZTB0KTrSKy8M:0:0:root:/root:/bin/sh
1. регистрационное имя, или логин;
2. хеш пароля (см. ниже);
3. идентификатор пользователя;
4. идентификатор группы по умолчанию;
5. информационное поле GECOS*;
6. начальный (он же домашний) каталог;
7. регистрационная оболочка, или shell.
Основным назначением /etc/passwd является сопоставление логина(login) и идентификатора пользователя (UID).
Изначально поле пароля содержало хеш пароль и использовалось для аутентификации. Однако, в связи с ростом вычислительных
мощностей процессоров появилась серьёзная угроза применения простого перебора для взлома пароля. Поэтому все пароли
были перенесены в специальные файлы, такие как /etc/shadow в GNU/Linux или /etc/master.passwd во FreeBSD.
Эти файлы недоступны для чтения обычным пользователям. Такой подход называется механизмом скрытых паролей.
В файле /etc/shadow хранятся хеши паролей всех пользователей в системе. Процессы суперпользователя могут читать его напрямую,
а для остальных создана специальная библиотека PAM. Она позволяет непривилегированным приложениям спрашивать у неё, правильный
ли пароль ввёл пользователь, и получать ответ. Таким образом, хеш не попадает «в чужие руки». Дело в том, что злоумышленник,
имея набор хешей, всегда может осуществить атаку путём перебора паролей. Например, слова из словаря являются ненадёжными паролями,
так как можно зашифровать словарь целиком и поискать хеши в том, что получится. Одна из наилучших программ,
выполняющих такого рода атаки — John The Ripper. Также весьма популярна утилита crack.
Фрагмент файла /etc/shadow
login : хеш-password : ....
john:13$80l1AVB5$6AdyTstdHpsSTsewiac8O1:13283:0:31:3:14:13514:
От теории к практике:
Процесс получения прав root делится на 2 этапа - получение доступа(чтения и/или записи) к файлам /etc/passwd и /etc/shadow
и в зависимости от того какой вы получили доступ к файлам
проделываем не хитрые махенации с системой:
1) допустим у нас доступ на чтение тогда выдергиваем хеш-пароль из /etc/passwd root:lZTB0KTrSKy8M:0:0:root:/root:/bin/sh - lZTB0KTrSKy8M,
если в нем нет пароля в моем случае x свидетельствует что используется механизм скрытых паролей root:x:0:0:root:/root:/bin/sh то обращаемся к файлу /etc/shadow root:13$/Xhw3kaR$Vif2djTL4aQshu8aKfkl0/:12545:0:99999:7::: - 13$/Xhw3kaR$Vif2djTL4aQshu8aKfkl0/
далее получив хеш-пароль мы должны его расшифровать точне осуществить атаку путём перебора паролей
с помощью программ типа John The Ripper, Slurpie или crack.
John The Ripper — быстрая и гибкая программа подбора пароля. Она может использовать несколько списков слов
и подбирать пароль методом грубой силы. Она доступна по адресу http://www.openwall.com/john/.
Crack — возможно, наиболее известная программа взлом паролей. Crack также очень быстрая программа, хотя
и не так проста в использовании, как John The Ripper. Её можно найти по адресу http://google.com/. :)
Slurpie — программа Slurpie похожа на John The Ripper и Crack, но она рассчитана на работу сразу на нескольких компьютерах,
и позволяет провести распределённый взлом пароля. Её, а также другие средства организации распределённой атаки,
можно найти по адресу http://www.ussrback.com/distributed.htm.
2) допустим у нас доступ на чтение/запись тогда можно:
а)сменить идентификатор пользователя (UID) у которого вы случайно не забыли пароль как все мы помним в системе могут
существовать несколько пользователей с одним идентификатором(UID). Это нередко используется взломщиками, когда они после
проникновения в систему создают себе учётную запись с UID=0. В результате они выглядят как обычные пользователи,
но на самом деле имеют права root.
b)стереть хеш-пароль в /etc/passwd или в /etc/shadow то есть 'обнулить' его или встаить хеш-пароль пользователя
у которого вы случайно не забыли пароль.
c)отключить аутенфикацию паролей в системе если я не ошибаюсь то делается это так в файле /etc/pam.d/passwd
коментируем строчку #password required pam_stack.so service=system-auth.
d)тупо ввести команду #passwd root.
Процесс получения доступа
1) Грузимся с какого-либо LiveCD/flash/дискетки и восстанавливаемся... Надеюсь, файловые системы не шифрованы :)
2) Можно загрузится с инсталляционного диска. А дальше смонтировать корень поставленного линукса например в /mnt
и chroot /mnt после чего passwd или текстовый редактор на /etc/shadow в помощь :)
3) Если нет(или не забыл) пароля на загрузчик, то передаем ядру init=/bin/bash, если нужно перемонтируй раздел в rw,
смени пароль, обратно в ro и reboot. На своей машине я делал так, нажал "a" при выборе партиции в grub и дописал init=/bin/bash ч/з 10 сек в консоли :)
4) Загружайся в single user. В 9-ом редхате при загрузке в single user получаешь рутовскую консоль без пароля но в ASP 11.2
запрашивает пароль рута нажал "a" при выборе партиции в grub и дописал s
5) Задаем другой root-partition грузимся с другого раздела root=/dev/sda2
6) При загрузке grub нажать "c" попадаем в командную строчку и cat /etc/passwd :)
*************************************************************************
https://andreyex.ru/linux/ponimanie-fajla-etc-shadow/
Cуществует несколько разных схем аутентификации, которые можно использовать в системах Linux. Наиболее часто используется и стандартная схема для выполнения аутентификации файлов /etc/passwd и /etc/shadow.
/etc/shadow – это текстовый файл, содержащий информацию о паролях пользователей системы. Он принадлежит пользователю root и группе shadow и имеет 640 разрешений.
Формат /etc/shadow
Файл /etc/shadow содержит одну запись в каждой строке, каждая из которых представляет собой учетную запись пользователя. Вы можете просмотреть содержимое файла с помощью текстового редактора или команды, такой как cat:
sudo cat /etc/shadow
Как правило, первая строка описывает пользователя root, затем системные и обычные учетные записи пользователей. Новые записи добавляются в конец файла.
Каждая строка файла /etc/shadow содержит девять полей, разделенных запятыми:
mark:$6$.n.:17736:0:99999:7::: [--] [----] [---] - [---] ---- | | | | | |||+-----------> 9. Неиспользованный | | | | | ||+------------> 8. Срок годности | | | | | |+-------------> 7. Период бездействия | | | | | +--------------> 6. Период предупреждения | | | | +------------------> 5. Максимальный возраст пароля | | | +----------------------> 4. Минимальный возраст пароля | | +--------------------------> 3. Последнее изменение пароля | +---------------------------------> 2. Зашифрованный пароль +----------------------------------------> 1. Имя пользователя
- Имя пользователя. Строка, которую вы вводите при входе в систему. Учетная запись пользователя, которая существует в системе.
- Зашифрованный пароль. Пароль использует формату $type$salt$hashed. $type является методом криптографического алгоритма хеширования и может иметь следующие значения:
- $1$ – MD5
- $2a$ – Blowfish
- $2y$ – Eksblowfish
- $5$ – SHA-256
- $6$ – SHA-512
Если поле пароля содержит звездочку ( *) или восклицательный знак ( !), пользователь не сможет войти в систему с использованием аутентификации по паролю. Другие методы входа, такие как аутентификация на основе ключей или переключение на пользователя, по-прежнему разрешены
В старых системах Linux зашифрованный пароль пользователя хранился в файле /etc/passwd.
- Последнее изменения пароля. Это дата последнего изменения пароля. Количество дней исчисляется с 1 января 1970 года (дата эпохи).
- Минимальный срок действия пароля. Количество дней, которое должно пройти, прежде чем пароль пользователя может быть изменен. Как правило, он установлен на ноль, что означает отсутствие минимального срока действия пароля.
- Максимальный срок действия пароля. Количество дней после смены пароля пользователя. По умолчанию этот номер установлен на 99999.
- Период предупреждения. Количество дней до истечения срока действия пароля, в течение которого пользователь получает предупреждение о необходимости изменения пароля.
- Период бездействия. Количество дней после истечения срока действия пароля пользователя до отключения учетной записи пользователя. Обычно это поле пустое.
- Срок хранения. Дата, когда учетная запись была отключена. Это представляется как дата эпохи.
- Неиспользованный. Это поле игнорируется. Оно зарезервированно для будущего использования.
Файл /etc/shadow не стоит редактировать вручную, если вы не знаете, что вы делаете. Всегда используйте команду, которая предназначена для этой цели. Например, чтобы изменить пароль пользователя, используйте команду passwd, а для изменения информации об устаревании пароля используйте команду chage.
Пример записи
Давайте посмотрим на следующий пример:
andreyex:$6$zHvrJMa5Y690smbQ$z5zdL...:18009:0:120:7:14::
Запись выше содержит информацию о пароле пользователя andreyex:
- Пароль зашифрован с помощью SHA-512 (пароль сокращен для лучшей читаемости).
- Последний раз пароль изменялся 23 апреля 2019 года 18009.
- Минимального срока действия пароля нет.
- Пароль необходимо менять как минимум каждые 120 дней.
- Пользователь получит предупреждающее сообщение за семь дней до истечения срока действия пароля.
- Если пользователь не попытается войти в систему через 14 дней после истечения срока действия пароля, учетная запись будет отключена.
- Нет срока действия аккаунта.
очистка метаданных
https://github.com/jubalh/MAT
https://0xacab.org/jvoisin/mat2
увидеть все поддерживаемые форматы файлов
$ mat -l
проверить актуальные метаданные используя опцию '-d':
$ mat -d file
просканируем все файлы в текущем каталоге и в поддиректориях, и создадим отчёт по их состоянию
если вместо точки можно использовать *, т. е. звёздочку, но тогда очистка происходит только в текущем каталоге, без рекурсивного обхода подкаталогов:
$ mat -c .
очистить метаданные всех файлов в директории
$ mat .
очистить все файлы и сохранит оригинальные файлы с расширением '*.bak".
$ mat -b .