
UNIX जैसी फ़ाइल प्रणालियों पर विशिष्ट गुणों वाली फ़ाइलों को कुशलतापूर्वक खोजने के लिए Python स्क्रिप्ट (find से तेज़)
पेनेट्रेशन टेस्टिंग के दौरान किसी रिमोट मशीन पर एक्सेस प्राप्त करने के बाद, आप प्रिविलेज एस्केलेशन के प्रयास के लिए दिलचस्प कॉन्फ़िगरेशन फ़ाइलें या बाइनरी खोजना चाह सकते हैं।
यह स्क्रिप्ट स्व-निहित है और Python3 तथा Python2.7 दोनों पर काम करती है, ताकि यह हाल की मशीनों (जो डिफ़ॉल्ट रूप से python2 के साथ नहीं आतीं) और पुरानी मशीनों दोनों के साथ संगत हो।
कई find कमांड निष्पादित करने के बजाय, यह सरल स्क्रिप्ट सभी प्रेडिकेट्स (_p या _filep में समाप्त होने वाले फ़ंक्शन, जो केवल फ़ाइलों पर लागू होने वाले प्रेडिकेट्स के लिए होते हैं) को लागू करते हुए आपके पूरे डिस्क ट्री संरचना पर एक ही पास करके उनका ट्रैक रखती है।
अभी भी WIP है, लेकिन कोड बहुत ही सुगठित है और अपने खुद के प्रेडिकेट लिखना बहुत आसान है: उसे बस एक ऐसा फ़ंक्शन होना चाहिए जो फ़ाइल पथ प्राप्त करे और बूलियन लौटाए।
अंत में, सभी फ़ाइल सेट d नामक डिक्शनरी में संग्रहीत होते हैं, जिसकी कुंजियाँ प्रेडिकेट नाम होती हैं। इसे एक्सेस करने के लिए बस python3 -i diskwalk.py चलाएँ। आप पाइथन रेप्ल में पहुँच जाएँगे, और चूँकि ये पाइथन सेट हैं, आप आसानी से ऐसे ऑपरेशन कर सकते हैं जैसे
d['executable_files'] & d['writable_files']
उन फ़ाइलों का सेट प्राप्त करने के लिए जो लिखने योग्य और निष्पादन योग्य दोनों हैं
d['executable_files'] - d['readable_files']
निष्पादन योग्य लेकिन पढ़ने योग्य नहीं फ़ाइलें प्राप्त करने के लिए
d['owned_by_nobody_dirs'] | d['owned_by_nobody_files']
nobody उपयोगकर्ता के स्वामित्व वाली डायरेक्ट्रीज़ और फ़ाइलों का यूनियन प्राप्त करने के लिए
प्राप्त डेटा को पिकल की गई और संपीड़ित फ़ाइल dump.gz में सहेजा जाएगा; इसे लोड करने और डिस्क को दोबारा स्कैन करने से बचने के लिए बस इसे एक आर्ग्युमेंट के रूप में दें
python -i diskwalk.py dump.gz
चूँकि पाइथन का पिकल इस तरह काम करता है, सामान्य चेतावनियाँ लागू होती हैं: उदाहरण के लिए, आप इसी फ़ाइल को उस पाइथन इंटरप्रेटर से भिन्न किसी पाइथन इंटरप्रेटर में लोड नहीं कर पाएँगे, जिसका उपयोग आपने फ़ाइल बनाने के लिए किया था।