
कुछ पेंटेस्ट टूल्स। कुछ पेंटेस्टिंग टूल्स को इंस्टॉल करें और अपडेट रखें। मैंने अपनी OSCP परीक्षा पास करने के लिए इसका उपयोग किया।
अपने सभी पेंटेस्ट टूल्स को एक जगह प्रबंधित करें और एक कमांड से उन्हें अपडेट रखें 😎
sometools का लक्ष्य उन सभी टूल्स को प्रबंधित करना है जो Kali में शामिल नहीं हैं या जिनके लिए sudo apt install उपलब्ध नहीं है। Sometools बेहतर काम करता है यदि टूल्स एक repo हैं, लेकिन इसे बिना repo के भी काम करने के लिए ट्वीक किया जा सकता है।
मैं उन टूल्स को प्रबंधित और अपडेट रखने का एक आसान तरीका ढूंढ रहा था जो Kali-Linux में शामिल नहीं हैं। उदाहरण के लिए, मैं privilege escalation स्क्रिप्ट्स को प्रबंधित करने का एक आसान तरीका ढूंढ रहा था। एक दिन मैंने eugenekolo का sec-tools देखा (जिसे आप पेज के नीचे देख सकते हैं) और इसने मुझे तुरंत अपने टूल पर काम शुरू करने की प्रेरणा दी। मेरी मुख्य प्रेरणा check-update-all कमांड थी, जो आपको अपने सभी इंस्टॉल किए गए टूल्स को आसानी से अपडेट करने देता है।
लेकिन ध्यान रखें कि यह अलग है। मैंने इसे उन लोगों के लिए बनाया है जो Kali के साथ काम कर रहे हैं। इसे अन्य distro पर भी काम करना चाहिए, लेकिन मैंने Burp Suite या SQLmap जैसे टूल शामिल नहीं किए क्योंकि वे Kali में डिफ़ॉल्ट रूप से आते हैं।
$ git clone https://github.com/som3canadian/Some-Tools $ cd Some-Tools $ ./sometools.sh setup
$ ./sometools.sh list
## बुनियादी उपयोग

**नोट**: टूल का उपयोग करते समय श्रेणी के नाम निर्दिष्ट करने की आवश्यकता नहीं है। बस टूल का नाम या ID का उपयोग करें। आप `./sometools.sh list` करके टूल ID देख सकते हैं।
सबसे अधिक उपयोग की जाने वाली क्रियाएं हैं:
- list
- install
- check-update-all
- git-search
- self-update```bash
# Inital setup. Should be the first command
$ ./sometools.sh setup
# List all available tools
$ ./sometools.sh list
# List all available tools of a category
$ ./sometools.sh list-cat Utilities
# List install tool(s)
$ ./sometools.sh list-installed
# List installed tools accessible from anywhere on your machine
$ ./sometool.sh list-bin
# Install a tool
$ ./sometools.sh install unicorn
# Using ID instead of tool name
$ ./sometools.sh install 4
# Install all tools of a Category
$ ./sometools.sh install-cat PrivEsc-Win
# Install All tools
$ ./sometools.sh install all
# Check update for all installed tools
# check-update-all command is the main reason why I made this
$ ./sometools.sh check-update-all
# Check for update
$ ./sometools.sh check-update PEAS
# Using ID instead of tool name
$ ./sometools.sh check-update 9
# Search for a tool on github
$ ./sometools.sh git-search LinEnum
# Search for a PoC in the PoC-in-GitHub tool
$ ./sometools.sh search-poc
# Show README.md of an installed tool
$ ./sometools.sh info unicorn
# Using ID instead of tool name
$ ./sometools.sh info 4
# Add a new tool
$ ./sometools.sh add-tool newtoolname PrivEsc-Lin
# Uninstall a tool
$ ./sometools.sh uninstall unicorn
# Using ID instead of tool name
$ ./sometools.sh uninstall 4
# Unistall all tools of a Category
$ ./sometools.sh uninstall-cat PrivEsc-Win
# Update some-tools
$ ./sometools.sh self-update
# Delete all installed tools, remove bin directory and delete our modification in .zshrc or .bashrc
$ ./sometools.sh complete-uninstall
बिन निर्देशिका सेटअप क्रिया करने पर बनाई जाएगी। यह वह निर्देशिका पथ होगा जिसे हम अपने शेल $PATH (your/install/dir/Some-Tools/bin) में जोड़ेंगे। बिन निर्देशिका में हम उन उपकरणों की प्रतिलिपि (सिमलिंक) रखेंगे जिन्हें हम अपनी मशीन पर हर जगह निष्पादनीय बनाना चाहते हैं। उदाहरण के लिए unicorn.py जैसे उपकरण को, आप जहाँ चाहें वहाँ unicorn निष्पादित कर सकते हैं।
सेटअप क्रिया प्रक्रिया में bin/PrivEsc-Lin और bin/PrivEsc-Win भी बनाएगी। इस निर्देशिका में हम अपने विशेषाधिकार वृद्धि स्क्रिप्ट रखेंगे। इसलिए, जब आप अपने उपकरणों का उपयोग करना चाहें, तो आप एक पायथन HTTP सर्वर चला सकते हैं और जल्दी से वांछित स्क्रिप्ट अपलोड कर सकते हैं। उन फ़ोल्डरों में स्क्रिप्ट check-update क्रिया के साथ उपकरण(ों) को अपडेट करने के साथ ही अपडेट हो जाएंगी।
नोट:
setup (सेटअप प्रक्रिया):
.bashrc या .zshrc के बीच किस शेल का उपयोग करना चाहते हैं (निर्मित सेटअप क्रिया काम नहीं करेगी यदि आप दो शेल में से एक का उपयोग नहीं कर रहे हैं)echo $PATH कर सकते हैंsometools.sh में सेटअप अनुभाग पढ़ सकते हैं। ```bash
$ ./sometools.sh setupinstall और install-all:
./sometools.sh list करने पर दिखाया जाता है।.installed फ़ाइल बनाएगा। यह फ़ाइल हमारी list-installed कार्रवाई में सहायता करेगी। ```bash
$ ./sometools.sh list # see which tool can be install

self-update:
pull करना चाहते हैं। ```bash
$ ./sometools.sh self-updateuninstall:
./sometools.sh list चलाने पर दिखाई गई उसकी आईडी संख्या का उपयोग कर सकते हैं। ```bash
$ ./sometools.sh uninstall unicorn$ ./sometools.sh uninstall 4
add-tool:
install-tool.sh, uninstall-tool.sh और .gitignore।add-tool एक्शन आपके लिए बनाएगा।PrivEsc-Lin निर्देशिका में टूल के साथ एक उदाहरण देख सकते हैं। आपको अपने टूल निर्देशिका में फ़ाइल को बदलने की आवश्यकता हो सकती है।Zsh फंक्शन्स में कोई पेंटेस्ट टूल नहीं हैं, इसमें छोटी स्क्रिप्ट हैं जो मेरे कार्यप्रवाह में बहुत मदद करती हैं और मुझे लगा कि यह दूसरों के लिए भी उपयोगी होगी।
शायद इसका उपयोग अन्य शेल के साथ किया जा सकता है लेकिन मैं इसे zsh के साथ उपयोग करता हूँ।
यह सेटअप प्रक्रिया के दौरान सेट नहीं होगा। आपको इसे मैन्युअल रूप से सेट करना होगा। कैसे? अपनी .zshrc फ़ाइल में नीचे दिए गए स्निपेट को जोड़कर।```bash
fpath=(~/path/of/sometools/Zsh-Functions $fpath); autoload -U $fpath[1]/*(.:t)
- mkcd: mkdir और cd
- mv: एक फ़ाइल/फ़ोल्डर को अपनी वर्तमान निर्देशिका में ले जाएँ (एक तर्क के साथ)
- op: फ़ाइल मैनेजर में फ़ाइल या फ़ोल्डर खोलें (वर्तमान निर्देशिका खोलने के लिए `op .`)
## अन्य
- टूल नाम के बजाय आईडी नंबर का उपयोग करते समय, सुनिश्चित करें कि आप `./sometools.sh list` से आईडी नंबर का उपयोग करें, न कि `./sometools.sh list-installed` से।
- यदि आप एक नया टूल जोड़ते हैं जिसके लिए विशिष्ट अद्यतन निर्देशों की आवश्यकता है, तो आप टूल निर्देशिका में `update-tool.sh` फ़ाइल बना सकते हैं (जैसे install-tool.sh और uninstall-tool.sh फ़ाइल)। जब आप check-update करेंगे, तो some-tools.sh स्क्रिप्ट इसे ध्यान में रखेगी।
- आप दो टूल के लिए एक ही नाम का **उपयोग नहीं कर सकते**। इससे समस्याएँ होंगी। add-tool क्रिया का उपयोग करते समय, हम इसकी जाँच करेंगे। इसका एक समाधान क्रिया का उपयोग करते समय श्रेणी का नाम निर्दिष्ट करना होगा, लेकिन मैं **वास्तव में ऐसा नहीं चाहता**। चूंकि एक अलग नाम का उपयोग करना आसान है, मेरा अभी के लिए ऐसा समाधान विकसित करने का कोई इरादा नहीं है जो हमें कई टूल के लिए एक ही नाम का उपयोग करने दे।
- आपके द्वारा स्थापित किए जाने वाले कुछ टूल `sudo` अनुमतियाँ माँग सकते हैं!
- रिपो में शामिल `check-git.sh` फ़ाइल check-update और check-update-all क्रियाओं के लिए है।
- मैं इसे अपने खाली समय में बना रहा हूँ, इसमें कुछ बग हो सकते हैं। यदि स्टार्स बढ़ने लगे, तो मैं अधिक समय और प्रयास लगा सकता हूँ।
## लाइसेंस
प्रत्येक टूल अपने स्वयं के लाइसेंस के तहत लाइसेंस प्राप्त हैं। जहाँ तक Some-Tools का सवाल है, यह GNU सामान्य सार्वजनिक लाइसेंस v3.0 के तहत लाइसेंस प्राप्त है।
⭐ यदि आप इसे उपयोगी पाते हैं, तो इस पृष्ठ के शीर्ष पर इसे स्टार करें ⭐ या आप मुझे एक ☕ खरीद सकते हैं। धन्यवाद 🔥😎
<a href="https://www.buymeacoffee.com/somecanadian" target="_blank"><img src="https://assets.kitploit.com/production/public/readmes/3722/eecc7380590efb5bd32637f86ef07884b0e9f1f82f7dbf8b2bc7e8410d721225.png" alt="Buy Me A Coffee" height="51" width="217"></a>
## श्रेय
- के विचार से बनाया गया: <https://github.com/eugenekolo/sec-tools> और <https://github.com/zardus/ctf-tools>।
- Vagrant बॉक्स द्वारा: [nicmilot](https://app.vagrantup.com/nicmilot/boxes/kali-full-2020)। आप उनके अन्य Vagrant बॉक्स देख सकते हैं जैसे: VMware Fusion के लिए [pwk-kali-2018](https://app.vagrantup.com/nicmilot/boxes/pwk-kali-2018) और VMware Fusion के लिए [Metapsloitable3](https://app.vagrantup.com/nicmilot/boxes/metasploitable3-win2008-vmware) भी।
| श्रेणी | उपकरण | विवरण |
|---|
| चोरी-छिपना | Bashfuscator | एक पूरी तरह से कॉन्फ़िगरेबल और विस्तार योग्य Bash अस्पष्टीकरण ढांचा। |
| चोरी-छिपना | Chimera | Chimera एक PowerShell अस्पष्टीकरण स्क्रिप्ट है जो AMSI और वाणिज्यिक एंटीवायरस समाधानों को बायपास करने के लिए डिज़ाइन की गई है। |
| चोरी-छिपना | PyFuscation | फ़ंक्शन नाम, चर और पैरामीटर बदलकर PowerShell स्क्रिप्ट को अस्पष्ट करें। |
| चोरी-छिपना | tvasion | 🎭 PowerShell और C# के साथ AES एन्क्रिप्शन के माध्यम से फ़ाइल हस्ताक्षर परिवर्तन पर आधारित एंटी वायरस चोरी-छिपना... |
| चोरी-छिपना | unicorn | Unicorn एक सरल उपकरण है जो PowerShell डाउनग्रेड हमले का उपयोग करके सीधे मेमोरी में शेलकोड इंजेक्ट करने के लिए है... |
| शोषण-विन | windows-kernel-exploits | windows-kernel-exploits Windows प्लेटफ़ॉर्म विशेषाधिकार वृद्धि भेद्यता संग्रह |
| विशेषाधिकार-लिन | BeRoot | विशेषाधिकार वृद्धि परियोजना - Windows / Linux / Mac |
| विशेषाधिकार-लिन | LinEnum | स्क्रिप्टेड स्थानीय Linux गणना <> विशेषाधिकार वृद्धि जाँच |
| विशेषाधिकार-लिन | LinPwn | इंटरैक्टिव पोस्ट एक्सप्लॉइटेशन उपकरण |
| विशेषाधिकार-लिन | PEAS | PEASS - विशेषाधिकार वृद्धि अद्भुत स्क्रिप्ट सूट |
| विशेषाधिकार-लिन | SUID3NUM | एक स्वतंत्र पायथन स्क्रिप्ट जो SUID बाइनरी को गणना करने के लिए पायथन के अंतर्निहित मॉड्यूल का उपयोग करती है... |
| विशेषाधिकार-लिन | SetUID | विशेषाधिकार वृद्धि के लिए मेरी व्यक्तिगत मार्गदर्शिका |
| विशेषाधिकार-लिन | linux-enum-mod | बस पेंटेस्ट सामग्री का संग्रह |
| विशेषाधिकार-लिन | linux-exploit-suggester | Linux विशेषाधिकार वृद्धि ऑडिटिंग उपकरण |
| विशेषाधिकार-लिन | linux-exploit-suggester-2 | अगली पीढ़ी का Linux कर्नेल शोषण सुझावक |
| विशेषाधिकार-लिन | linuxprivchecker | एक Linux विशेषाधिकार वृद्धि जाँच स्क्रिप्ट |
| विशेषाधिकार-लिन | lse | वर्बोसिटी स्तरों के साथ पेंटेस्टिंग और CTF के लिए Linux गणना उपकरण |
| विशेषाधिकार-लिन | pspy | रूट अनुमतियों के बिना Linux प्रक्रियाओं की निगरानी करें |
| विशेषाधिकार-लिन | setuid-wrapper | एक सरल setuid रैपर प्रोग्राम, जो उन्नत विशेषाधिकारों के साथ शेल स्क्रिप्ट लॉन्च करने के लिए है। |
| विशेषाधिकार-लिन | unix-privesc-check | code.google.com/p/unix-privesc-check से स्वचालित रूप से निर्यात किया गया |
| विशेषाधिकार-विन | Ghostpack-CompiledBinaries | Ghostpack के लिए संकलित बाइनरी (.NET v4.0) |
| विशेषाधिकार-विन | JAWS | JAWS - बस एक और Windows (गणना) स्क्रिप्ट |
| विशेषाधिकार-विन | Powerless | OSCP लैब (पुराने Windows) को ध्यान में रखकर बनाई गई Windows विशेषाधिकार वृद्धि (गणना) स्क्रिप्ट |
| विशेषाधिकार-विन | Privesc | Windows बैच स्क्रिप्ट जो गलत कॉन्फ़िगरेशन समस्याओं का पता लगाती है जो विशेषाधिकार वृद्धि का कारण बन सकती हैं। |
| विशेषाधिकार-विन | SessionGopher | SessionGopher एक PowerShell उपकरण है जो दूरस्थ पहुँच के लिए सहेजे गए सत्र जानकारी निकालने के लिए WMI का उपयोग करता है... |
| विशेषाधिकार-विन | Sherlock | स्थानीय विशेषाधिकार वृद्धि भेद्यता के लिए लापता सॉफ़्टवेयर पैच खोजने के लिए PowerShell स्क्रिप्ट। |
| विशेषाधिकार-विन | WinPwn | आंतरिक Windows प्रवेश परीक्षण / AD-सुरक्षा के लिए स्वचालन |
| विशेषाधिकार-विन | Windows-Privilege-Escalation | Windows विशेषाधिकार वृद्धि तकनीकें और स्क्रिप्ट |
| विशेषाधिकार-विन | Windows-Exploit-Suggester | यह उपकरण लक्ष्य के पैच स्तरों की तुलना Microsoft भेद्यता डेटाबेस से करता है... |
| विशेषाधिकार-विन | mimikatz | Windows सुरक्षा के साथ खेलने के लिए एक छोटा उपकरण |
| विशेषाधिकार-विन | wesng | Windows शोषण सुझावक - अगली पीढ़ी |
| विशेषाधिकार-विन | windows-privesc-check | Windows सिस्टम पर सरल विशेषाधिकार वृद्धि वेक्टर की जाँच के लिए स्वतंत्र निष्पादन योग्य |
| उपयोगिताएँ | GraphQLmap | GraphQLmap एक स्क्रिप्टिंग इंजन है जो पेंटेस्टिंग उद्देश्यों के लिए graphql एंडपॉइंट के साथ बातचीत करने के लिए है। |
| उपयोगिताएँ | PoC-in-GitHub | 📡 GitHub से स्वचालित रूप से PoC संग्रह। ⚠️ मैलवेयर से सावधान रहें। |
| उपयोगिताएँ | SirepRAT | Windows IoT Core पर SYSTEM के रूप में दूरस्थ कमांड निष्पादन (Python2.7 <> Python3 के लिए रिलीज़ उपलब्ध) |
| उपयोगिताएँ | Windows-Tools | कुछ Windows उपकरण। |
| उपयोगिताएँ | chisel | HTTP पर एक तेज़ TCP/UDP सुरंग |
| उपयोगिताएँ | crackhash | Crackhash एक उपकरण है जो मुफ्त ऑनलाइन सेवाओं का उपयोग करके विभिन्न प्रकार के हैश को क्रैक करने का प्रयास करता है। |
| उपयोगिताएँ | cryptz | 🔒 [ बहु एन्क्रिप्शन / डिक्रिप्शन ] 🔓 |
| उपयोगिताएँ | decodify | एन्कोडेड स्ट्रिंग्स का पता लगाएं और डीकोड करें, पुनरावर्ती रूप से। |
| उपयोगिताएँ | enum4linux-ng | enum4linux (एक Windows/Samba गणना उपकरण) का अगली पीढ़ी का संस्करण अतिरिक्त सुविधाओं के साथ... |
| उपयोगिताएँ | evil-winrm | हैकिंग/पेंटेस्टिंग के लिए अंतिम WinRM शेल |
| उपयोगिताएँ | haiti | 🔑 हैश प्रकार पहचानकर्ता (CLI <> lib) |
| उपयोगिताएँ | impacket | Impacket नेटवर्क प्रोटोकॉल के साथ काम करने के लिए पायथन कक्षाओं का एक संग्रह है। |
| उपयोगिताएँ | nishang | Nishang - रेड टीम, प्रवेश परीक्षण और आक्रामक सुरक्षा के लिए आक्रामक PowerShell। |
| उपयोगिताएँ | nmapAutomator | एक स्क्रिप्ट जिसे आप पृष्ठभूमि में चला सकते हैं! |
| उपयोगिताएँ | pypykatz | शुद्ध पायथन में Mimikatz कार्यान्वयन |
| उपयोगिताएँ | revshellgen | Python 3 में लिखित रिवर्स शेल जनरेटर। |
| उपयोगिताएँ | snmp | SNMP डेटा संग्रह स्क्रिप्ट |
| वेब | byp4xx | HTTP 40X प्रतिक्रिया बायपास के लिए पायथन स्क्रिप्ट... |
| वेब | fuxploider | फ़ाइल अपलोड भेद्यता स्कैनर और शोषण उपकरण। |
| वेब | LFISuite | पूरी तरह से स्वचालित LFI शोषक (+ रिवर्स शेल) और स्कैनर। |
| वेब | MyJWT | Json वेब टोकन (JWT) पर क्रैकिंग, भेद्यता परीक्षण के लिए एक क्ली |
| वेब | php-reverse-shell | PHP रिवर्स शेल स्क्रिप्ट। Linux OS, macOS, और Windows OS पर काम करता है। |
| वेब | windows-php-reverse-shell | बाइनरी का उपयोग करके सरल php रिवर्स शेल। |
| वेब | wwwolf-php-webshell | WhiteWinterWolf का PHP वेब शेल |
| वेब | malicious-wordpress-plugin | बस एक वर्डप्रेस प्लगइन उत्पन्न करता है जो अपलोड होने पर आपको एक रिवर्स शेल देगा। |
| वेब | whitepass | वेब अनुप्रयोगों/API में व्हाइटलिस्ट/रेटलिमिट कार्यान्वयन को बायपास करें |
| वेब | wordpress-exploit-framework | WordPress सिस्टम की प्रवेश परीक्षा में सहायता के लिए डिज़ाइन किया गया एक Ruby ढांचा। |
$ ./sometools.sh install LinEnum
$ ./sometools.sh install 7
$ ./sometools.sh install-all
install-cat and uninstall-cat:
$ ./sometools.sh install-cat PrivEsc-Win
$ ./sometools.sh uninstall-cat PrivEsc-Win
check-update और check-update-all:
.git निर्देशिका) नहीं है, तो आप अपने विशेष निर्देशों के साथ एक update-tool.sh फ़ाइल बना सकते हैं (फ़ाइल का नाम update-tool.sh होना चाहिए)।./sometools.sh list करने पर दिखाया जाता है। ```bash
$ ./sometools.sh list-installed # list currently installed tool(s)
$ ./sometools.sh check-update LinEnum$ ./sometools.sh check-update 7
$ ./sometools.sh check-update-all
दो check-git क्यों? check-git.sh केवल यह बताता है कि उपकरण पीछे है या नहीं। यदि हम एक नया संस्करण पाते हैं, तो हम check-git-action.sh निष्पादित करने के लिए कहेंगे।
git-search
sortSearch वेरिएबल बदल सकते हैं)$ ./sometools.sh git-search LinEnum 15
lse.gitignoreinstall-tool.sh फ़ाइल को संशोधित करना होगा। यदि आप ऐसा करते हैं, तो check-update एक्शन "out of the box" काम नहीं करेगा (क्योंकि हमें कोई .git निर्देशिका नहीं मिलेगी)। समाधान: आप एक फ़ाइल नाम update-tool.sh (टूल निर्देशिका में) बना सकते हैं और उसमें अपने अपडेट कमांड डाल सकते हैं। some-tools.sh स्क्रिप्ट check-update एक्शन का उपयोग करते समय इस फ़ाइल नाम का पता लगाएगी। अपनी नई फ़ाइल को chmod +x करना न भूलें।.gitignore में आपका टूल नाम और .installed होगा। क्यों? क्योंकि हम git repo को दूसरे repo में push नहीं करना चाहते और हम .installed फ़ाइल को push नहीं करना चाहते। ```bash
$ ./sometools.sh add-tool newtoolname PrivEsc-Lin$ ./sometools.sh add-tool LinEnum PrivEsc-Lin
install-tool और update-tool Github API के साथ
कभी-कभी टूल्स को releases/latest पेज के माध्यम से डाउनलोड करने की आवश्यकता होती है, जैसे DominicBreuker से pspy। इसलिए हमेशा नवीनतम संस्करण को अपडेट और डाउनलोड करने में सक्षम होने के लिए, प्रक्रिया को Github API के साथ थोड़ा सा मोड़ने की आवश्यकता थी। यदि आप इस पैटर्न का उपयोग करके एक नया टूल जोड़ते हैं, तो आप अपनी install-tool.sh और update-tool.sh फ़ाइलों में नीचे दिए गए फ़ंक्शन का उपयोग कर सकते हैं। ```bash #!/bin/bash
function gitGetLatestRelease() { gitCounter=0 repoToGet="DominicBreuker/pspy" apiURL="https://api.github.com/repos" while [[ $checkDownloadURL != null ]]; do checkDownloadURL=$(http "$apiURL/$repoToGet/releases/latest" | jq -r ".assets[$gitCounter].browser_download_url") if [[ $checkDownloadURL == null ]]; then break fi # download the release wget "$checkDownloadURL" gitCounter=$((gitCounter + 1)) done } gitGetLatestRelease
जानकारी:
./sometools.sh list चलाने पर दिखता है।info क्रिया का उपयोग किया जाता है, तो some-tools bat बाइनरी का पता लगाने का प्रयास करेगा। यदि यह मिल जाता है तो यह आपसे bat या cat के बीच पूछेगा।bat नहीं पाया जाता है तो बिना पूछे डिफ़ॉल्ट रूप से cat का उपयोग किया जाएगा। ```bash
$ ./sometools.sh info LinEnum$ ./sometools.sh info 7
पूर्ण-अनइंस्टॉल:
.zshrc या .bashrc में हमारे संशोधन को हटाएं।.zshrc या .bashrc फ़ाइल में केवल some-tools अनुभाग हटाएंगे। इसलिए यदि आपने बीच में कुछ संशोधन किए हैं, तो वे रखे जाएंगे।.zshrc या .bashrc फ़ाइलें होनी चाहिए। एक .backup पर समाप्त होती है जो हमने प्रारंभिक सेटअप पर बनाई थी और दूसरी .backup2, पूर्ण-अनइंस्टॉल प्रक्रिया में sometools अनुभाग हटाने से पहले। ```bash
$ ./sometools.sh complete-uninstall