Showing posts with label time. Show all posts
Showing posts with label time. Show all posts

Wednesday, 17 July 2024

Timeline forensics.

Hi all.

One question, which is very prominent in forensics is, “When?”

In other words, time is a very important factor at which analytics is based in the process of forensics. There are many artifacts that we use in an investigation which have temporal characteristics. These characteristics allow us to build the whole picture of an incident. Moreover, timeline analysis could help when we analyze different types of evidence. Timeline analysis may be built on the base of any source that has timestamps. This could be the metadata of the filesystem, registry, event log files, log files of applications, memory, network traffic, and so on.

Certainly, the timeline is one of the most useful techniques that is applied in digital forensics. However, this is based on the analysis of particular artifacts, so it is very important to understand how to analyze the artifacts that are suppliers of timeline events. Despite the apparent simplicity of the idea underlying the timeline, in practice, it is not so easy. One of the difficulties is the large amount of data that has to be analyzed. The issue with a running system is that there are a few users and many system services, which produce a lot of events. We need to filter out such activities from normal users. The idea of a timeline is not very new. It has been around since the year 2000, when Rob Lee and some other forensic people started applying it in digital forensics. Originally, filesystems served as a source of data for the timeline. We will consider the NTFS filesystem as the most prevalent filesystem in our review. 

The timeline of the NTFS filesystem is based on the timestamps in some attributes of the filesystem objects.

Every object of the filesystem has the following timestamps:

M: This is the date of data modification

A: This is the date of data access

C: This is the date of metadata change

B: This is the date of metadata creation

Based on the analysis of this data, we can determinate when a file was created, copied, moved, and so on. The NTFS filesystem uses FILETIME as its time format in UTC. UTC is  Coordinated Universal Time. FILETIME contains a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (UTC). MS Windows also uses other time formats. They are the UNIX time format, DOS Date format, and SYSTEMTIME format.

Friday, 5 May 2023

Настройка NTP сервера в Windows.

Всем привет.

Сегодня напомню себе, а попутно и вам, настройку NTP сервера в Windows. Оригинал находил на сайте http://windowsnotes.ru, точную ссылку не помню.

Итак, операционные системы семейства Windows содержат службу времени W32Time. Эта служба предназначена для синхронизации времени в пределах организации. W32Time отвечает за работу как клиентской, так и серверной части службы времени, причем один и тот же компьютер может быть одновременно и клиентом и сервером NTP (NTP - Network Time Protocol). 

По умолчанию служба времени в Windows сконфигурирована следующим образом: 

• При установке операционной системы Windows запускает клиента NTP, который синхронизируется с внешним источником времени; 

• При добавлении компьютера в домен тип синхронизации меняется. Все клиентские компьютеры и рядовые сервера в домене используют для синхронизации времени контроллер домена, проверяющий их подлинность; 

• При повышении рядового сервера до контроллера домена на нем запускается NTP-сервер, который в качестве источника времени использует контроллер с ролью PDC-эмулятор; 

• PDC-эмулятор, расположенный в корневом домене леса, является основным сервером времени для всей организации. При этом сам он также синхронизируется с внешним источником времени. 

Такая схема работает в большинстве случаев и не требует вмешательства. Однако структура сервиса времени в Windows может и не следовать доменной иерархии и надежным источником времени можно назначить любой компьютер. 

Запуск самого NTP сервера 

Служба времени в Windows Server не имеет графического интерфейса и настраивается либо из командной строки, либо путем прямой правки системного реестра. Рассмотрим второй способ: 

Необходимо запустить сервер NTP. Открываем ветку реестра: 

HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer. 

Для включения сервера NTP параметру Enabled надо установить значение 1. Затем перезапускаем службу времени командой net stop w32time && net start w32time. 

После перезапуска службы NTP, сервер уже активен и может обслуживать клиентов. Убедиться в этом можно с помощью команды  w32tm /query /configuration. Эта команда выводит полный список параметров службы. Если раздел NtpServer содержит строку Enabled :1 , то все в порядке, сервер времени работает. 

Для того, чтобы NTP-сервер мог обслуживать клиентов, в брандмауэре необходимо открыть UDP порт 123 для входящего и исходящего трафика. 

Saturday, 21 May 2022

Полчаса после полуночи.

Всем привет.

Давайте еще раз про время по английски. Я подозревал что я где-то ошибаюсь, но где именно ..?)

Итак 00:30 АМ это как пол первого ночи, т.е. как "полчаса после полуночи".

Или днем можно сказать 00:30 PM как "пол первого дня", т.е. как "полчаса после полудня".

Но оказывается 12:30 PM это тоже пол первого дня, и 12:30 АМ тоже можно как "пол первого ночи". Сюрприз! Для вас нет? Ok, то когда же проходит тот самый меридиан по которому мы пишем Ante Meridiem и Post Merediem?

И вот буквально вчера вынул список из одного промышленного шедулера. Нравится вам такое?))

Удачи.





Saturday, 18 December 2021

Синхронизация времени в Active Directory.

Всем привет.

Синхронизация времени - важный и во многом достаточно критичный аспект работы Active Directory, особенно сегодня, когда широко используется взаимодействие с внешними системами и работа с сотрудниками, которые могут находиться в различных часовых поясах. Применение систем виртуализации вносит дополнительные особенности, которые также следует учитывать. Поэтому данный вопрос может оказаться не столь простым, как кажется, а синхронизация с внешним источником точного времени становится одной из актуальных задач.

Прежде всего вспомним, как происходит синхронизация времени в Active Directory. В качестве эталона времени выступает контроллер, владеющий ролью эмулятора PDC. Это FSMO-роль и эмулятором PDC может являться только один контроллер в каждом домене. С ним синхронизируют время остальные контроллеры домена. Доменные ПК и рядовые серверы сверяют часы с ближайшим контроллером домена.

Сам эмулятор PDC в качестве источника точного времени может использовать либо аппаратные часы материнской платы, либо внешний источник точного времени, при нахождении в виртуальной среде также может быть использовано время хоста виртуализации.

С приходом виртуализации все изменилось, появился еще один источник времени - время хоста виртуализации. Многие гипервизоры по умолчанию имеют включенной настройку синхронизации времени гостевых систем и при попадании в виртуальную среду контроллера может возникнуть следующая коллизия: контроллер синхронизирует время с хостом, но сам хост, являясь членом домена, в свою очередь синхронизируется с контроллером.


Еще хуже, если в виртуальную среду попадает эмулятор PDC, в силу особенностей таймера виртуальных машин, время внутри может достаточно сильно плавать, поэтому виртуальный эмулятор PDC всегда должен синхронизировать время с внешним источником, а синхронизация времени с хостом должна быть отключена, последнее касается и всех остальных виртуальных членов домена.

Monday, 12 April 2021

MS Outlook и летнее время.

Всем привет.

Увы, но мы опять перешли на летнее время хотя проку от него никакого. Многие страны нашли смелость от этого отказаться. Но наша ИТ-инфраструктура дружно щелкнула часами и ушла на час вперед.

Хм, а вот с переходом на летнее время открылись и новые тайны в MS Outlook. Например, Вы можете начать получать все письма с меткой времени получения ровно час тому. Оказалось что почтовый клиент MS Outlook имеет свои собственные настройки часовых поясов и системное время вашего ПК не является для него определяющим. В настольном клиенте они меняются в Параметры/Календарь/Часовые пояса. Однако это еще не все. Облачный клиент MS Outlook 365 также имеет возможность задания часового пояса и находится он уже в Параметры/Общие/Часовой пояс.

Также следует обратить внимание на точное указание именно вашего часового пояса, а не любого другого совпадающего с вашим местонахождением, например с GMT+2. Ибо не всякая страна находящаяся с вашей на одном меридиане переходит на летнее время.

Удачи.

Friday, 2 April 2021

RunAsDate - манипулируем временем.

Всем привет.

Сегодня мы храним на своих компьютерах множество инструментов и программ, которые со временем, часто мы даже не помним, что у нас они есть. Конечно, мы нуждаемся в них в определенное время чтобы использовать их повторно. Однако во многих случаях, когда мы собираемся воспользоваться ими, мы обнаруживаем, что они больше не работают, потому что это то была пробная версия и которая была действительна до определенной даты. Иногда даже не известно до какой.

Если это случилось с нами, то первое что хочется сделать это запустить программу с датой до текущей. Второе - это удалить программу и переустановить ее, изменив системное время. Однако мы можем столкнуться с проблемами: некоторые данные были сохранены в реестре, и, хотя мы переустанавливаем их, мы все равно распознаем дату начальной установки или что, несмотря на изменение системного времени, они все еще не работают.

В обшем то перевод системного времени может негативно повлиять на многое на вашем ПК, т.е. ваш эксперимент того явно не стоит. Поэтому для таких экспериментов и существует  утилита  RunAsDate.

RunAsDate - это маленькая утилита, позволяющая вам устанавливать дату и время для программы. RunAsDate не меняет текущей даты и времени на вашем ПК, она всего лишь устанавливает желаемую дату и время для программы. Вы можете запускать множество приложений одновременно, и каждое приложение будет работать с разными датами и временем, в то время как дата и время вашей системы остаются без изменений.

Как это работает?

RunAsDate перехватывает сигналы ядра API, которые возвращают ткущую дату и время ((GetSystemTime, GetLocalTime, GetSystemTimeAsFileTime) и заменяет текущую дату/время на указанные вами.

Thursday, 4 March 2021

Локализация временной зоны в Linux.

Всем привет.

После свежей установки вашей Linux кроме настройки подключения к сети и интернет не менее важной операцией является локализация временной зоны

Проверить формат времени по умолчанию можно командой date.

date

date -u

Вывод времени в нужном формате:

date '+%Y-%m-%d_%H:%M:%S'

date +%Y%m%d -s "20210218"

Set time and date from the command line

date -s "18 FEB 2021 11:14:00"

Этой же командой можно поменть текущее время:

date +%T -s "11:14:00"

timedatectl set-time "2020-10-06 11:14:00"


Но правильным решением будет внести изменения на постоянной основе:

timedatectl

timedatectl list-timezones

# timedatectl set-timezone Europe/Kyiv


Или настроить синхронизацию с помощью ntpdate:

sudo apt install ntpdate

sudo ntpdate ntp1.forza.com

sudo timedatectl set-ntp off

sudo apt install ntp

sudo nano /etc/ntp.conf

Добавить в файл ntp.conf строку 

server ntp1.forza.com prefer iburst

где ntp1.forza.com наш сервер времени.

sudo systemctl restart ntp

Выполняем проверку действий: 

ntpq -p


Оказывается в некоторых случаях можно наблюдать рассинхронизацию системного времени с аппаратным.

Если ввести команду

hwclock --show

то можно увидеть разницу в долях секунды:

Thu 19 Apr 2012 03:23:05 PM BOT  -0.785086 seconds

Синхронизировать его можно так:

hwclock --set --date="2012-04-19 16:45:05" --localtime

Или в UTC-формате:

hwclock --set --date="2012-04-19 20:45:05"  --utc

На этом все.

Thursday, 17 January 2019

Системное время в AD.

Всем привет.

Системное время это один из самых важных показателей работы вашей инфраструктуры. Оно должно быть точным и одинаковым на всех хостах домена. Если время по какой то причине убежало от точного его надо поправить.

По сути на контроллере домена следует выполнить следующее.

1. Запускаем командную строку от имени администратора.

2. Останавливаем службу W32Time:
net stop w32time

3. Задаем адреса внешних источников времени:
w32tm /config /syncfromflags:manual /manualpeerlist:"IP-adr-timeserver"

4. Теперь заставим контроллер отвечать клиентам на запросы о синхронизации времени:
w32tm /config /reliable:yes

5. Запускаем службу времени W32Time:
net start w32time

6. Проверяем текущую конфигурацию службы времени:
w32tm /query /configuration


На рабочих станциях и серверах домена проверяем синхронизацию времени так.

Задания часового пояса UTC-2:
tzutil /s "FLE Standard Time"
Проверка текущего пояса:
tzutil /g

Time synchronization, вариант #1:
w32tm /tz

Просмотр источника source:
w32tm /query /source
w32tm /query /peers

Запуск синхронизации:
w32tm /resync
w32tm /resync /rediscover

Мониторинг состония:
w32tm /monitor

Time synchronization, вариант #2:
Source:
net time

Синхронизация:
net time /set

Tuesday, 19 December 2017

Время выполнения скрипта в Powershell.

Всем привет.

Иногда в скриптах PowerShell требуется определить время, затраченное на выполнение команды. В PowerShell есть несколько способов решения этой задачи. К примеру в .NET есть специальный класс StopWatch, который можно использовать как секундомер для измерения времени, потраченного на выполнение задачи.

Класс StopWatch входит в пространство имен System.Diagnostics и у него есть статический метод StartNew. С помощью этого метода создадим новый экземпляр класса StopWatch, сохраним его в переменную и выведем свойства и методы нашего таймера:
$watch = [System.Diagnostics.Stopwatch]::StartNew()
$watch | Get-Member

Здесь нас интересуют методы Start и Stop, отвечающие за запуск и остановку таймера и свойство Elapsed, показывающее прошедшее время.

Теперь создадим вот такой скрипт, который ищет в некоторой папке все файлы с расширением txt и записывает полученный результат в файл:
$watch = [System.Diagnostics.Stopwatch]::StartNew()
$watch.Start() #Запуск таймера
Get-Childitem -Path E:\TMP\audit -Filter ?*.txt? -Recurse | Out-File e:\files1.txt
$watch.Stop() #Остановка таймера
Write-Host 'Время выполнения 1' $watch.Elapsed

Запустим его и посмотрим, что выдаст секундомер. Как видите, выполнение задачи заняло  3674526 долей секунды.

Еще для измерения времени выполнения задачи в PowerShell есть командлет Measure-Command. Этот командлет берет команду(блок команд), указанную в фигурных скобках, выполняет ее внутри себя и в качестве результата выдает время, затраченное на выполнение. Вот так будет выглядеть наш скрипт с использованием Measure-Command:
Measure-Command -Expression {Get-Childitem -Path E:\TMP\audit -Filter ?*.txt? -Recurse | Out-File e:\files2.txt}

Measure-Command выдает результат в не очень удобном виде. Для того, чтобы получить более наглядное представление, можно воспользоваться методом ToString:
$time2 = Measure-Command -Expression {Get-Childitem -Path E:\TMP\audit -Filter ?*.txt? -Recurse | Out-File e:\files2.txt}
Write-Host 'Время выполнения 2' $time2.ToString()

В этом случае результат выводится в одну строку, в таком же виде, как и при использовании StopWatch.

Ух ты, а на первый раз результат то на порядок меньший, как в предыдущем примере - всего 269218 долей секунды.

Такая огромная разница в показателях хронометра видна только на малых выборках. Чем больше данных надо обработать тем больше совпадение результатов между Measure-Command и
System.Diagnostics.Stopwatch.

Также следует учесть, что на скорость выполнения скрипта может влиять загруженность системы, скорость сетевого подключения и прочие внешние факторы. Для одной и той же команды, запущенной в разное время результат может заметно различаться. Поэтому для получения более-менее точного результата измерение стоит повторить несколько раз и усреднить итог.

Успехов.

Friday, 10 March 2017

Your phrases about Time for everyday.

Hi everybody.

Today I would like to present for you a phrases of timing situation. I'm sure that it will be very useful for your English conversation. Please, see it below:

a while back / a while ago некоторое время назад, раньше
about time пора, самое время
after a while через некоторое время
ahead of time заранее
all along все время
all day long целый день
all the same без разницы, все равно
all the while все это время
any day (now) когда угодно
at a moment's notice немедленно, сию же минуту
at a time в то время, когда
at all times все время, всегда
at last / at long last наконец
at one time одно время
at that point в этот момент
at the moment в нужный момент
at the point of в момент чего-либо
at the same time в то же время
at the worst possible time в самое неподходящее время
at times иногда
day after day / day by day / from day to day день за днем
day in, day out целыми днями
every now and then время от времени, периодически
every so often / once in a while/ every now and again время от времени, периодически
for the moment/ for the present что касается настоящего момента
from now on отныне и впредь
from the ground up с самого начала
from this day forward отныне и впредь
from time to time время от времени
from way back с давних пор
hard times трудные времена
have all the time in the world иметь уйму времени
high time самое время
his days are numbered его дни сочтены
hurry up! поторапливайся
it's wastle of time это пустая трата времени
in his day в свое время
in no time мигом, с минуты на минуту
in old days в былые времена
in the meantime тем временем
in time/just in time вовремя / как раз вовремя
it's a matter of time вопрос времени
just about почти уже
just now как раз сейчас
make haste спешить
make time спешить
more often than not чаще всего
on and off время от времени, с перерывами
on and on непрерывно, снова и снова
on the spot на месте, без промедления
on time точно в назначенное время
once and for all раз и навсегда
once in a while изредка
out of date устаревший
play for time тянуть время
right away прямо сейчас
round the clock круглые сутки
run out of time не успевать
set the pace задавать темп
so far / as yet до сих пор
sooner or later рано или поздно
take time занимать время
take your time! не спеши!
till the end of time до скончания веков
time after time / time and again раз за разом, регулярно
time is up время вышло
time out перерыв
time will tell время покажет
time's getting short у нас мало времени
that's not the point это не относится к вопросу
the whole year round / all year round круглый год
there is no hurry спешить некуда

Версия на печать

Популярное