hacktricks/forensics/basic-forensic-methodology/malware-analysis.md

165 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# मैलवेयर विश्लेषण
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण AWS रेड टीम विशेषज्ञ (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks प्रशिक्षण GCP रेड टीम विशेषज्ञ (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>हैकट्रिक्स का समर्थन करें</summary>
* [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जाँच करें!
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **ट्विटर** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपो में।
</details>
{% endhint %}
## फोरेंसिक्स चीटशीट्स
[https://www.jaiminton.com/cheatsheet/DFIR/#](https://www.jaiminton.com/cheatsheet/DFIR/)
## ऑनलाइन सेवाएं
* [VirusTotal](https://www.virustotal.com/gui/home/upload)
* [HybridAnalysis](https://www.hybrid-analysis.com)
* [Koodous](https://koodous.com)
* [Intezer](https://analyze.intezer.com)
* [Any.Run](https://any.run/)
## ऑफलाइन एंटीवायरस और पहचान उपकरण
### यारा
#### स्थापित
```bash
sudo apt-get install -y yara
```
#### नियम तैयार करें
इस स्क्रिप्ट का उपयोग करके गिथब से सभी यारा मैलवेयर नियम डाउनलोड और मर्ज करें: [https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
_**rules**_ निर्देशिका बनाएं और इसे निष्पादित करें। इससे _**malware\_rules.yar**_ नामक एक फ़ाइल बनेगी जिसमें सभी मैलवेयर के लिए यारा नियम होंगे।
```bash
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
```
#### स्कैन
```bash
yara -w malware_rules.yar image #Scan 1 file
yara -w malware_rules.yar folder #Scan the whole folder
```
#### YaraGen: मैलवेयर की जाँच करें और नियम बनाएं
आप टूल [**YaraGen**](https://github.com/Neo23x0/yarGen) का उपयोग कर सकते हैं ताकि आप एक बाइनरी से यारा नियम उत्पन्न कर सकें। इन ट्यूटोरियल्स की जाँच करें: [**भाग 1**](https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), [**भाग 2**](https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), [**भाग 3**](https://www.nextron-systems.com/2016/04/15/how-to-write-simple-but-sound-yara-rules-part-3/)
```bash
python3 yarGen.py --update
python3.exe yarGen.py --excludegood -m ../../mals/
```
### ClamAV
#### स्थापित करें
```
sudo apt-get install -y clamav
```
#### स्कैन
```bash
sudo freshclam #Update rules
clamscan filepath #Scan 1 file
clamscan folderpath #Scan the whole folder
```
### [Capa](https://github.com/mandiant/capa)
**Capa** प्रोग्रामों में पोटेंशियली जानलेवा **क्षमताएँ** पहचानता है: PE, ELF, .NET। इसलिए यह चीजें खोजेगा जैसे Att\&ck तकनीकें, या संदिग्ध क्षमताएँ जैसे:
* OutputDebugString त्रुटि की जाँच करें
* सेवा के रूप में चलाएं
* प्रक्रिया बनाएं
इसे [**Github रेपो**](https://github.com/mandiant/capa) से प्राप्त करें।
### IOCs
IOC का मतलब होता है Indicator Of Compromise। एक IOC एक सेट की **शर्तें हैं जो** कुछ पोटेंशियली अवांछित सॉफ्टवेयर या पुष्टि की गई **मैलवेयर** की पहचान करती हैं। ब्लू टीम इस प्रकार की परिभाषा का उपयोग अपने **सिस्टम** और **नेटवर्क्स** में इस प्रकार के जानलेवा फ़ाइलों की **खोज के लिए** करती है।\
इन परिभाषाओं को साझा करना बहुत उपयोगी है क्योंकि जब किसी कंप्यूटर में मैलवेयर की पहचान होती है और उस मैलवेयर के लिए एक IOC बनाया जाता है, तो अन्य ब्लू टीम इसका उपयोग करके मैलवेयर की पहचान तेजी से कर सकती है।
IOC बनाने या संशोधित करने के लिए एक उपकरण है [**IOC संपादक**](https://www.fireeye.com/services/freeware/ioc-editor.html)**।**\
आप [**Redline**](https://www.fireeye.com/services/freeware/redline.html) जैसे उपकरण का उपयोग कर सकते हैं **एक उपकरण में परिभाषित IOC की खोज के लिए**
### Loki
[**Loki**](https://github.com/Neo23x0/Loki) एक स्कैनर है आसान जानलेवा संकेतों के लिए।\
पहचान चार पहचान पद्धतियों पर आधारित है:
```
1. File Name IOC
Regex match on full file path/name
2. Yara Rule Check
Yara signature matches on file data and process memory
3. Hash Check
Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
4. C2 Back Connect Check
Compares process connection endpoints with C2 IOCs (new since version v.10)
```
### लिनक्स मैलवेयर डिटेक्ट
[**लिनक्स मैलवेयर डिटेक्ट (LMD)**](https://www.rfxn.com/projects/linux-malware-detect/) एक मैलवेयर स्कैनर है जो लिनक्स के लिए GNU GPLv2 लाइसेंस के तहत जारी किया गया है, जो साझा होस्टेड वातावरणों में प्रतिकूलताओं के आसपास डिज़ाइन किया गया है। यह नेटवर्क एज इन्ट्रूजन डिटेक्शन सिस्टम से धारा डेटा का उपयोग करता है ताकि हमलों में सक्रिय रूप से उपयोग किया जा रहा मैलवेयर निकाल सके और पहचान के लिए सिग्नेचर उत्पन्न कर सके। साथ ही, धारा डेटा भी उपयोगकर्ता सबमिशन से लिया जाता है जिसमें LMD चेकआउट फीचर और मैलवेयर समुदाय संसाधन शामिल हैं।
### rkhunter
[**rkhunter**](http://rkhunter.sourceforge.net) जैसे उपकरण को फाइल सिस्टम की जाँच के लिए उपयोग किया जा सकता है जिसमें संभावित **रूटकिट्स** और मैलवेयर की जाँच की जा सकती है।
```bash
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
```
### FLOSS
[**FLOSS**](https://github.com/mandiant/flare-floss) एक टूल है जो विभिन्न तकनीकों का उपयोग करके executables में छिपे हुए strings को खोजने का प्रयास करेगा।
### PEpper
[PEpper ](https://github.com/Th3Hurrican3/PEpper) executable में कुछ मौलिक चीजें जैसे binary data, entropy, URLs और IPs, कुछ yara rules की जांच करता है।
### PEstudio
[PEstudio](https://www.winitor.com/download) एक टूल है जो Windows executables की जानकारी प्राप्त करने की अनुमति देता है जैसे imports, exports, headers, लेकिन यह वायरस टोटल की जांच करेगा और potential Att\&ck techniques खोजेगा।
### Detect It Easy(DiE)
[**DiE**](https://github.com/horsicq/Detect-It-Easy/) एक टूल है जो फ़ाइल को **encrypted** है या नहीं यह खोजने के लिए है और **packers** भी खोजेगा।
### NeoPI
[**NeoPI** ](https://github.com/CiscoCXSecurity/NeoPI) एक Python script है जो **statistical methods** का उपयोग करके **obfuscated** और **encrypted** content को text/script files में खोजने के लिए है। NeoPI का उद्देश्य **hidden web shell code** की **detection** में सहायता करना है।
### **php-malware-finder**
[**PHP-malware-finder**](https://github.com/nbs-system/php-malware-finder) अपनी सर्वोत्तम प्रयास करता है कि **obfuscated**/**dodgy code** और फ़ाइलें खोजें जो **malwares**/webshells में अक्सर उपयोग की जाने वाली **PHP** functions का उपयोग करती हैं।
### Apple Binary Signatures
किसी **malware sample** की जांच करते समय आपको हमेशा बाइनरी के **signature** की जांच करनी चाहिए क्योंकि उस **developer** को जिसने इसे **sign** किया हो संबंधित हो सकता है **malware** के साथ।
```bash
#Get signer
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"
#Check if the apps contents have been modified
codesign --verify --verbose /Applications/Safari.app
#Check if the signature is valid
spctl --assess --verbose /Applications/Safari.app
```
## डिटेक्शन तकनीक
### फ़ाइल स्टैकिंग
अगर आपको पता है कि किसी वेब सर्वर के **फ़ाइलें** की किसी तारीख को **अंतिम बार अपडेट हुई थी****जांचें** कि **वेब सर्वर में सभी फ़ाइलें कब बनाई और संशोधित की गई थीं** और यदि कोई तारीख **संदिग्ध** है, तो उस फ़ाइल की जांच करें।
### बेसलाइन्स
अगर किसी फ़ोल्डर की फ़ाइलें **संशोधित नहीं होनी चाहिए**, तो आप फ़ोल्डर की **मौलिक फ़ाइलों** का **हैश** निकाल सकते हैं और उन्हें **वर्तमान** फ़ाइलों के साथ **तुलना** कर सकते हैं। कुछ भी संशोधित होने पर **संदिग्ध** होगा।
### सांख्यिकीय विश्लेषण
जब जानकारी लॉग में सहेजी जाती है तो आप **जांच सकते हैं कि वेब सर्वर की प्रत्येक फ़ाइल का कितनी बार एक्सेस किया गया था क्योंकि एक वेब शैल में सबसे अधिक हो सकता है**