p.22 表層解析-マルウェアのフィンガープリント(「初めてのマルウェア解析」)
フィンガープリント
ツールによるハッシュ値生成
- Linuxはmd5sum, sha256sum, sha1sum
$ md5sum HxD.exe 86408be71abc0d8cbd60914e51500ef0 HxD.exe $ sha256sum HxD.exe 0c0d54b28674f9311e7dc9b164bc711d04ed1f1281ac3e8ea5a1435ed1c4bad9 HxD.exe $ sha1sum HxD.exe eac1d136f9ec432fa0256c4aab53ec5e84db2f85 HxD.exe
- Winは色々あるが、HashMyFilesがいいらしい。
https://www.nirsoft.net/utils/hashmyfiles.zip
zipを展開すると、
hashmyfile.exe
が出来上がる。
日本語化のためには、
https://www.nirsoft.net/utils/trans/hashmyfiles_japanese.zip
このzipを展開して、
出てきた、
HashMyFiles_lng.ini
をhasymyfile.exeと同じフォルダに入れるだけ。
同じハッシュ値を持つファイルは同じ色で強調表示してくれる。
Pythonによるハッシュ値生成
- hashlibモジュールでハッシュ値を生成できる。
>>> import hashlib >>> content = open(r"HxD.exe","rb").read() >>> print hashlib.md5(content).hexdigest() 86408be71abc0d8cbd60914e51500ef0 >>> print hashlib.sha256(content).hexdigest() 0c0d54b28674f9311e7dc9b164bc711d04ed1f1281ac3e8ea5a1435ed1c4bad9 >>> print hashlib.sha1(content).hexdigest() eac1d136f9ec432fa0256c4aab53ec5e84db2f85