@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

pin.shのディレクトリエントリからinode番号を確認する

ちょっと気になったので、キーワード検索で文字列「pin.sh」を ASCII のみで検索してみたのですが、Fragment 137312 で pin.sh のディレクトリエントリの残骸と推測される以下の内容を確認することができました。

Hex Contents of Fragment 137312 in redhat.dd-15261813-15791894

0	a57e0000 18000d01 54617267 65744772 	.~.. .... Targ etGr 
16	6f75702e 6f000000 a67e0000 10000801 	oup. o... .~.. .... 
32	54617267 65742e6f a77e0000 1c001401 	Targ et.o .~.. .... 
48	46696e67 65725072 696e7452 6573756c 	Fing erPr intR esul 
64	74732e6f a87e0000 18000e01 73657276 	ts.o .~.. .... serv 
80	6963655f 7363616e 2e6f0000 a97e0000 	ice_ scan .o.. .~.. 
96	1c001101 4e6d6170 4f757470 75745461 	.... Nmap Outp utTa 
112	626c652e 6f000000 aa7e0000 28000b01 	ble. o... .~.. (... 
128	4d41434c 6f6f6b75 702e6f00 ab7e0000 	MACL ooku p.o. .~.. 
144	14000b01 2e70696e 2e73682e 73777000 	.... .pin .sh. swp. 
160	ac7e0000 60030601 70696e2e 73687000 	.~.. `... pin. shp. 
176	ad7e0000 50030b01 2e70696e 2e73682e 	.~.. P... .pin .sh. 
192	73777800 00000000 00000000 00000000 	swx. .... .... .... 

ext2 ファイルシステムのディレクトリエントリは、詳解Linuxカーネル 第2版 などの書籍に詳細が書かれていますが、2.1. Directory File Format から図を引用させていただくと、以下の構造になっています。

Figure 2-1. directory entry

offset  size    description
------- ------- -----------
      0       4 inode
      4       2 rec_len
      6       1 name_len
      7       1 file_type
      8     ... name

pin.sh のディレクトリエントリとおぼしき部分 ac7e0000 60030601 70696e2e 73687000 で解釈すると、inode 00007eac で10進数 32428 という感じですかね。