hacktricks/forensics/basic-forensic-methodology/partitions-file-systems-carving/ext.md
Translator workflow 75e8745ba3 Translated to Hindi
2023-11-06 08:38:02 +00:00

26 KiB

☁️ HackTricks क्लाउड ☁️ -🐦 ट्विटर 🐦 - 🎙️ ट्विच 🎙️ - 🎥 यूट्यूब 🎥

Ext - विस्तारित फ़ाइल सिस्टम

Ext2 बूट पार्टीशन जैसे जर्नलिंग नहीं करने वाले पार्टीशन के लिए सबसे आम फ़ाइल सिस्टम है। Ext3/4 जर्नलिंग होते हैं और आमतौर पर शेष पार्टीशनों के लिए उपयोग किए जाते हैं।

फ़ाइल सिस्टम में सभी ब्लॉक समूहों का एक ही आकार होता है और यह क्रमशः संग्रहीत होते हैं। इससे कर्णल आसानी से ब्लॉक समूह की डिस्क में स्थान का पता लगा सकता है।

प्रत्येक ब्लॉक समूह में निम्नलिखित जानकारी होती है:

  • फ़ाइल सिस्टम का सुपरब्लॉक की एक प्रतिलिपि
  • ब्लॉक समूह विवरणिकारों की एक प्रतिलिपि
  • डेटा ब्लॉक बिटमैप जो समूह में मुक्त ब्लॉकों की पहचान करने के लिए उपयोग होती है
  • इनोड बिटमैप, जो समूह में मुक्त इनोड की पहचान करने के लिए उपयोग होती है
  • इनोड टेबल: यह एक श्रृंखला के रूप में होता है, प्रत्येक में एक पूर्वनिर्धारित आकार के Figure 1 Ext2 इनोड संख्या होती है। सभी इनोड का एक ही आकार होता है: 128 बाइट। 1,024 बाइट ब्लॉक में 8 इनोड होते हैं, जबकि 4,096-बाइट ब्लॉक में 32 इनोड होते हैं। ध्यान दें कि Ext2 में, इनोड संख्या और संबंधित ब्लॉक संख्या के बीच का मैपिंग डिस्क पर संग्रहीत करने की आवश्यकता नहीं होती है क्योंकि इसका मान ब्लॉक समूह संख्या और इनोड टेबल के अंदरीय स्थान के साथ निर्धारित किया जा सकता है। उदाहरण के लिए, मान लीजिए कि प्रत्येक ब्लॉक समूह में 4,096 इनोड होते हैं और हमें डिस्क पर इनोड 13,021 का पता लगाना है। इस मामले में, इनोड तीसरे ब्लॉक समूह का हिस्सा है और इसका डिस्क पता संबंधित इनोड टेबल के 733 वें प्रविष्टि में संग्रहीत होता है। जैसा कि आप देख सकते हैं, इनोड संख्या केवल एक कुंजी है जिसका उपयोग Ext2 रूटीन्स द्वारा डिस्क पर उचित इनोड विवरणकार को प्राप्त करने के लिए किया जाता है
  • फ़ाइलों को संग्रहीत करने वाले डेटा ब्लॉक। किसी भी ब्लॉक में कोई अर्थपूर्ण जानकारी न होने की स्थिति में उन्हें मुक्त कहा जाता है।

Ext वैकल्पिक सुविधाएँ

सुविधाएँ डेटा के स्थान को प्रभावित करती हैं, इनोड में डेटा को कैसे संग्रहीत किया जाता है और उनमें से कुछ अतिरिक्त मेटाडेटा प्रदान कर सकती हैं, इसलिए सुविधाएँ Ext में महत्वपूर्ण हैं।

Ext में ऐसी वैकल्पिक सुविधाएं होती हैं जिन्हें आपका ऑपरेटिंग सिस्टम समर्थन कर सकता है, इसके तीन संभावितताएं होती हैं:

fsstat -o <offsetstart> /pat/to/filesystem-file.ext
#You can get the <offsetstart> with the "p" command inside fdisk

आप नि:शुल्क GUI एप्लिकेशन भी उपयोग कर सकते हैं: https://www.disk-editor.org/index.html
या आप python का उपयोग करके सुपरब्लॉक जानकारी प्राप्त करने के लिए भी उपयोग कर सकते हैं: https://pypi.org/project/superblock/

इनोड्स

इनोड्स में ब्लॉकों की सूची होती है जो एक फ़ाइल के वास्तविक डेटा को संग्रहित करते हैं।
यदि फ़ाइल बड़ी है और इनोड में अन्य इनोड्स को इंगित कर सकता है जो फ़ाइल डेटा को संग्रहित करने वाले ब्लॉकों / अधिक इनोड्स की ओर पहुंचते हैं।

Ext2 और Ext3 में इनोड्स का आकार 128B होता है, Ext4 वर्तमान में 156B का उपयोग करता है लेकिन भविष्य में विस्तार की अनुमति देने के लिए डिस्क पर 256B का आवंटन करता है।

इनोड संरचना:

Offset Size Name DescriptionF
0x0 2 फ़ाइल मोड फ़ाइल मोड और प्रकार
0x2 2 UID मालिक ID के निचले 16 बिट
0x4 4 आकार इल फ़ाइल के आकार के निचले 32 बिट
0x8 4 Atime एपॉक से सेकंड में पहुंच का समय
0xC 4 Ctime एपॉक से सेकंड में बदलने का समय
0x10 4 Mtime एपॉक से सेकंड में संशोधित करने का समय
0x14 4 Dtime एपॉक से सेकंड में हटाने का समय
0x18 2 GID समूह ID के निचले 16 बिट
0x1A 2 Hlink count हार्ड लिंक की संख्या
0xC 4 ब्लॉक्स आईओ ब्लॉक की गिनती के निचले 32 बिट
0x20 4 ध्वज ध्वज
0x24 4 संघ ओएसडी1 लिनक्स: आई संस्करण
0x28 69 ब्लॉक[15] 15 डेटा ब्लॉक की ओर पहुंच करता है
0x64 4 संस्करण NFS के लिए फ़ाइल संस्करण
0x68 4 फ़ाइल एसीएल लो विस्तारित गुणधर्मों (ACL, आदि) के निचले 32 बिट
0x6C 4 फ़ाइल आकार हाई फ़ाइल के ऊपरी 32 बिट (केवल ext4)
0x70 4 विघ्नित टुकड़ा एक विघ्नित टुकड़ा पता
0x74 12 ओएसडी 2 दूसरे ऑपरेटिंग सिस्टम निर्भर संघ
0x74 2 ब्लॉक्स हाई ब्लॉक की गिनती के ऊपरी 16 बिट
0x76 2 फ़ाइल एसीएल हाई विस्तारित गुणधर्मों (ACL, आदि) के ऊपरी 16 बिट
0x78 2 UID हाई मालिक ID के ऊपरी 16 बिट
0x7A 2 GID हाई समूह ID के ऊपरी 16 बिट
0x7C 2 चेकसम आईओ इनोड चेकसम के निचले 16 बिट

"संशोधित" वह समय है जब फ़ाइल की सामग्री को अंतिम बार संशोधित किया गया है। इसे अक्सर "मोडिफाई समय" कहा जाता है।
"बदलें" वह समय है जब फ़ाइल की इनोड को बदला गया है, जैसे अनुमतियों, स्वामित्व, फ़ाइल नाम और हार्ड लिंक की संख्या बदलकर। इसे अक्सर "चेंज समय" कहा जाता है।

इनोड संरचना विस्तारित (Ext4):

Offset Size Name Description
0x80 2 अतिरिक्त आकार 128 के पार स्टैंडर्ड बाइट का उपयोग होता है
0x82 2 चेकसम हाई इनोड चेकसम के ऊपरी 16 बिट
0x84 4 चेंज समय अतिरिक्त चेंज समय अतिरिक्त बिट
0x88 4 मोडिफाई समय अतिरिक्त मोडिफाई समय अतिरिक्त बिट
0x8C 4 पहुंच समय अतिरिक्त पहुंच समय अतिरिक्त बिट
0x90 4 फ़ाइल बनाने का समय फ़ाइल बनाने का समय (एपॉक से सेकंड)
0x94 4 फ़ाइल बनाने का समय अतिरिक्त फ़ाइल बनाने का समय अतिरिक्त बिट
0x98 4 संस्करण हाई संस्करण के ऊपरी 32
ls -ali /bin | sort -n #Get all inode numbers and sort by them
stat /bin/ls #Get the inode information of a file
istat -o <start offset> /path/to/image.ext 657103 #Get information of that inode inside the given ext file
icat -o <start offset> /path/to/image.ext 657103 #Cat the file

फ़ाइल मोड

संख्या विवरण
15 Reg/Slink-13/Socket-14
14 Directory/Block Bit 13
13 Char Device/Block Bit 14
12 FIFO
11 सेट UID
10 सेट GID
9 स्टिकी बिट (इसके बिना, किसी भी व्यक्ति को एक निर्देशिका पर लिखने और नाम बदलने की अनुमति होती है)
8 मालिक पढ़ें
7 मालिक लिखें
6 मालिक चलाएं
5 समूह पढ़ें
4 समूह लिखें
3 समूह चलाएं
2 अन्य लोग पढ़ें
1 अन्य लोग लिखें
0 अन्य लोग चलाएं

बोल्ड बिट (12, 13, 14, 15) फ़ाइल के प्रकार को दर्शाते हैं (एक निर्देशिका, सॉकेट...) बोल्ड में से केवल एक विकल्प हो सकता है।

निर्देशिकाएँ

ऑफसेट आकार नाम विवरण
0x0 4 इनोड
0x4 2 रेक लेन रेकॉर्ड लंबाई
0x6 1 नाम लंबाई नाम लंबाई
0x7 1 फ़ाइल प्रकार

0x00 अज्ञात
0x01 नियमित

0x02 निर्देशिका

0x03 चार उपकरण

0x04 ब्लॉक उपकरण

0x05 FIFO

0x06 सॉकेट

0x07 सिम लिंक

0x8 नाम नाम स्ट्रिंग (अधिकतम 255 वर्ण)

प्रदर्शन को बढ़ाने के लिए, रूट हैश निर्देशिका ब्लॉक का उपयोग किया जा सकता है।

विस्तारित गुण

इनमें संग्रहीत किया जा सकता है

  • इनोड के बीच अतिरिक्त स्थान (256 - इनोड आकार, आमतौर पर = 100)
  • इनोड में फ़ाइल_acl द्वारा इंगित डेटा ब्लॉक

यदि नाम "उपयोगकर्ता" से शुरू होता है, तो किसी भी डेटा को उपयोगकर्ताओं के गुण के रूप में संग्रहीत किया जा सकता है। इस तरीके से डेटा छिपाया जा सकता है।

विस्तारित गुण प्रविष्टियाँ

ऑफसेट आकार नाम विवरण
0x0 1 नाम लंबाई गुण के नाम की लंबाई
0x1 1 नाम सूचकांक

0x0 = कोई प्रीफ़िक्स नहीं

0x1 = उपयोगकर्ता. प्रीफ़िक्स

0x2 = सिस्टम.posix_acl_access

0x3 = सिस्टम.posix_acl_default

0x4 = विश्वसनीय.

0x6 = सुरक्षा.

0x7 = सिस्टम.

0x8 = सिस्टम.richacl

0x2 2 मान ऑफ़सेट पहले इनोड प्रविष्टि या ब्लॉक की शुरुआत से ऑफ़सेट
0x4 4 मान ब्लॉक मान संग्रहीत किए गए डिस्क ब्लॉक या इस ब्लॉक के लिए शून्य
0x8 4 मान आकार मान की लंबाई
0xC 4 हैश ब्लॉक में गुणों के लिए हैश या इनोड में हैश के लिए शून्य
0x10 नाम गुण का नाम ट्रेलिंग नल बिना
setfattr -n 'user.secret' -v 'This is a secret' file.txt #Save a secret using extended attributes
getfattr file.txt #Get extended attribute names of a file
getdattr -n 'user.secret' file.txt #Get extended attribute called "user.secret"

फ़ाइल सिस्टम दृश्य

फ़ाइल सिस्टम की सामग्री देखने के लिए, आप मुफ़्त उपकरण का उपयोग कर सकते हैं: https://www.disk-editor.org/index.html
या आप इसे अपने लिनक्स में mount कमांड का उपयोग करके माउंट कर सकते हैं।

https://piazza.com/class_profile/get_resource/il71xfllx3l16f/inz4wsb2m0w2oz#:~:text=The%20Ext2%20file%20system%20divides,lower%20average%20disk%20seek%20time.

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥