いろいろメモ

メモ帳

Powershellコマンドログについて

Windows10のPowershell 5.0からコマンド履歴が保存されるようになったようです。 Linuxの.bash_historyのようなものです。

保存パス

以下のファイルに入力したコマンドが保存されます。

.bash_historyと違い実行した瞬間に更新されるようです。

ファイルパス

%USERPROFILE%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

ファイルの中身

dir
ipconfig
ping 8.8.8.8
cme.exe
exit

最後のコマンドを実行した日時が更新日時になりますが、そのほかのコマンドは実行時間が記載されないため不明です。

参考情報

https://digital-forensics.sans.org/media/SANS_Poster_2018_Hunt_Evil_FINAL.pdf

PowerShell の入力履歴

Windows 10 NTFS代替ストリーム

代替データストリーム(Alternate Data Streams)の情報がWindows10から少し変わったようです。

代替データストリームとは

NTFSで使われる、ファイルやフォルダに追加することのできるメタデータみたいなものです。
このデータはインターネットなどからダウンロードしたファイルを開こうとしたときに出る警告画面の表示などに使用したりします。

ZoneIDの種類

メタデータの中にZoneIDというデータがありインターネットからダウンロードされたものには3が付きます。


ZoneIDの種類は以下のようになっていて、インターネットオプションで私用される4つのゾーンがあります。

  1. ローカルイントラネットゾーン
  2. 信頼済みサイトゾーン
  3. インターネットゾーン
  4. 制限付きサイトゾーン

 

f:id:for0n6x:20180705222205p:plain

 

代替ストリームの確認方法

 DIRコマンドのオプション/rで確認することが出来ます。

代替ストリームがあるものはファイル名の後に「:Zone.Identifier:$DATA」という文字列が付いています。

メタデータの中身を見たいときは以下のコマンドで表示することが出来ます。

c:\>more < googlelogo_color_272x92dp.png:Zone.Identifier:$DATA

出力結果

[ZoneTransfer]
ZoneId=3
ReferrerUrl=https://www.google.com/
HostUrl=https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png

 Windows 10ではZoneIDのほかにダウンロードしたURLなどの情報が記載されるようになったようです。

参考情報

qiita.com

Introduction to ADS – Alternate Data Streamshshrzd.wordpress.com

did2memo.net

Windows 10 WindowsUpdateログについて

Windows 10 (1607)?からWindows Updateログの場所が変わったようです。

今まで保存してあったWindowsupdate.logログを見ると以下の内容に変わっている。

Windows Update logs are now generated using ETW (Event Tracing for Windows).
Please run the Get-WindowsUpdateLog PowerShell command to convert ETW traces into a readable WindowsUpdate.log.


For more information, please visit https://go.microsoft.com/fwlink/?LinkId=518345

旧保存場所 C:\Windows\Windowsupdate.log

新保存場所 C:\Windows\Logs\WindowsUpdate\WindowsUpdate.日時.etl

バイナリログになってしまったため、ログを見るためには変換する必要がある。

Powershellを使い今までのWindowsUpdate.log形式に変換することが出来る。

変換コマンド Get-WindowsUpdateLog

引数無しの場合デフォルトのフォルダを参照する

任意のフォルダを指定したい場合は引数にディレクトリを指定する

d:\logの下にWindowsUpdate.etlがある場合は以下のコマンドで変換可能

Get-WindowsUpdateLog d:\log\

コマンドを実行するとカレントディレクトリWindowsUpdate.logが出力される。

Windows10 インストール日時について

Windows 10 でインストール日時を調べる方法

コマンドプロンプトで以下のコマンドを実行すると表示されます

systeminfo
最初のインストール日付: 2018/05/09, 23:09:33
wmic os get installdate
20180509230933.000000+540

コマンド以外に以下のレジストリキーでも確認ができます

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\(InstallDate,InstallTime)

InstallDateはUnixタイム 0x5af3011d(1525874973)
InstallTimeはNTエポックタイム 0x1d3e79f5b2be451(131703485739295825)

f:id:for0n6x:20180603222249p:plain
Softwareレジストリ

Unixタイムは、1970年1月1日0時0分0秒からの秒数

NTエポックタイムは、1601年1月1日0時0分からの100ナノ秒単位

これらの方法で調べた日時は、インストール日時でなくビルドのアップグレード日時が出力されてしまいます。

Windows 10でインストール日時を調べるには以下のレジストリを見る必要があります

HKEY_LOCAL_MACHINE\SYSTEM\Setup\Source OS(Updated on 日時)

Windows7や8からのアップグレードやビルドのアップグレード時に過去のOS情報が記載されます

f:id:for0n6x:20180603222244p:plain
Systemレジストリ

参考情報

community.spiceworks.com

winaero.com