Проблема
Необходимо определить время последнего успешного входа пользователя в систему для целей аудита, форензики или выявления несанкционированного доступа.Причины
- Подозрение на компрометацию учетной записи.- Требования внутреннего аудита или расследования инцидентов.
- Проверка активности сотрудников или подозрительных сессий.
- Необходимость анализа временных меток в рамках OSINT-расследования.
Решение
Windows (командная строка с правами администратора)
Определение времени последнего входа в систему windows:cmd
net user %USERNAME% | findstr /C:"Last logon"Для всех пользователей:
cmd
net user | moreИли через PowerShell (полный лог последних входов):
powershell
Get-LocalUser | Select-Object Name, LastLogon, PasswordLastSetПроверка через Event Viewer (Security log, ID 4624):
powershell
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624} -MaxEvents 10 | Select-Object TimeCreated, @{n='User';e={$_.Properties[5].Value}}Linux
Проверка истории входов в linux (файл /var/log/wtmp):bash
last -w | head -20Только для конкретного пользователя:
bash
last usernameПоследний вход:
bash
lastlog -u username(Если файл wtmp очищен — данные недоступны.)
macOS
bash
last | head -10Или через `log show`:
bash
log show --predicate 'eventMessage contains "Authentication" and process == "loginwindow"' --last 1dФорензика (анализ образа диска)
Смонтировать раздел (только чтение), извлечь файлы логов:- Windows: `C:\Windows\System32\winevt\Logs\Security.evtx`
- Linux: `/var/log/wtmp`, `/var/log/auth.log`
- Анализ утилитами `log2timeline` (plaso) или `EvtxeCmd`.
Примечание: Время хранится в UTC. Локальное смещение учитывайте отдельно. Для точной привязки (даже при смене таймзоны) — сверяйте с записями в реестре Windows (SYSTEM\CurrentControlSet\Control\TimeZoneInformation).