Translated ['src/generic-methodologies-and-resources/basic-forensic-meth

This commit is contained in:
Translator 2025-08-21 02:37:31 +00:00
parent f8d72fb4be
commit 79095baba4
3 changed files with 191 additions and 87 deletions

View File

@ -5,7 +5,7 @@
## टाइमस्टैम्प
एक हमलावर **फाइलों के टाइमस्टैम्प को बदलने** में रुचि रख सकता है ताकि उसे पकड़ा न जा सके।\
यह संभव है कि MFT के अंदर `$STANDARD_INFORMATION` \_\_ और \_\_ `$FILE_NAME` में टाइमस्टैम्प पाए जाएं
यह संभव है कि टाइमस्टैम्प को MFT के अंदर `$STANDARD_INFORMATION` \_\_ और \_\_ `$FILE_NAME` में पाया जा सके
दोनों विशेषताओं में 4 टाइमस्टैम्प होते हैं: **संशोधन**, **पहुँच**, **निर्माण**, और **MFT रजिस्ट्रि संशोधन** (MACE या MACB)।
@ -21,7 +21,7 @@
![](<../../images/image (801).png>)
पिछली छवि **उपकरण** द्वारा दिखाए गए **आउटपुट** है जहाँ देखा जा सकता है कि कुछ **परिवर्तन किए गए** थे।
पिछली छवि **उपकरण** द्वारा दिखाया गया **आउटपुट** है जहाँ देखा जा सकता है कि कुछ **परिवर्तन किए गए** थे।
### $LogFile
@ -54,22 +54,22 @@
## डेटा छिपाना
NFTS एक क्लस्टर और न्यूनतम जानकारी के आकार का उपयोग करता है। इसका मतलब है कि यदि एक फ़ाइल एक और आधे क्लस्टर का उपयोग करती है, तो **बाकी आधा कभी उपयोग नहीं होगा** जब तक फ़ाइल को हटाया नहीं जाता। फिर, इस स्लैक स्पेस में **डेटा छिपाना** संभव है।
NFTS एक क्लस्टर और न्यूनतम जानकारी के आकार का उपयोग करता है। इसका मतलब है कि यदि एक फ़ाइल एक और आधे क्लस्टर का उपयोग करती है, तो **बाकी आधा कभी उपयोग नहीं किया जाएगा** जब तक फ़ाइल को हटा नहीं दिया जाता। फिर, इस स्लैक स्पेस में **डेटा छिपाना** संभव है।
ऐसे उपकरण हैं जैसे स्लैकर जो इस "छिपे हुए" स्थान में डेटा छिपाने की अनुमति देते हैं। हालाँकि, `$logfile` और `$usnjrnl` का विश्लेषण दिखा सकता है कि कुछ डेटा जोड़ा गया था:
![](<../../images/image (1060).png>)
फिर, FTK इमेजर जैसे उपकरणों का उपयोग करके स्लैक स्पेस को पुनर्प्राप्त करना संभव है। ध्यान दें कि इस प्रकार के उपकरण सामग्री को ओब्स्क्यूरेट या यहां तक कि एन्क्रिप्टेड रूप में सहेज सकते हैं।
फिर, FTK इमेजर जैसे उपकरणों का उपयोग करके स्लैक स्पेस को पुनर्प्राप्त करना संभव है। ध्यान दें कि इस प्रकार के उपकरण सामग्री को ओबफस्केटेड या यहां तक कि एन्क्रिप्टेड रूप में सहेज सकते हैं।
## UsbKill
यह एक उपकरण है जो **USB** पोर्ट में किसी भी परिवर्तन का पता लगाने पर **कंप्यूटर को बंद** कर देगा।\
यह एक उपकरण है जो **USB** पोर्ट में किसी भी परिवर्तन का पता लगाते ही **कंप्यूटर को बंद** कर देगा।\
इसका पता लगाने का एक तरीका चल रहे प्रक्रियाओं का निरीक्षण करना और **प्रत्येक चल रहे पायथन स्क्रिप्ट की समीक्षा करना** है।
## लाइव लिनक्स वितरण
ये डिस्ट्रीब्यूशन **RAM** मेमोरी के अंदर **निष्पादित** होते हैं। इन्हें केवल तभी पहचानना संभव है जब **NTFS फ़ाइल-प्रणाली को लिखने की अनुमति के साथ माउंट किया गया हो**। यदि इसे केवल पढ़ने की अनुमति के साथ माउंट किया गया है, तो घुसपैठ का पता लगाना संभव नहीं होगा।
ये डिस्ट्रीब्यूशन **RAM** मेमोरी के अंदर **निष्पादित** होते हैं। इन्हें केवल तभी पता लगाया जा सकता है जब **NTFS फ़ाइल सिस्टम को लिखने की अनुमति के साथ माउंट किया गया हो**। यदि इसे केवल पढ़ने की अनुमति के साथ माउंट किया गया है, तो घुसपैठ का पता लगाना संभव नहीं होगा।
## सुरक्षित विलोपन
@ -86,7 +86,7 @@ NFTS एक क्लस्टर और न्यूनतम जानका
UserAssist को अक्षम करने के लिए दो चरणों की आवश्यकता होती है:
1. दो रजिस्ट्री कुंजियाँ सेट करें, `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs` और `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled`, दोनों को शून्य पर सेट करें ताकि संकेत मिले कि हम UserAssist को अक्षम करना चाहते हैं।
2. अपन रजिस्ट्री उप-ट्री को साफ करें जो `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>` की तरह दिखती है
2. अपन रजिस्ट्री उप-ट्री को साफ करें जो `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>` की तरह दिखते हैं
### टाइमस्टैम्प अक्षम करें - Prefetch
@ -96,7 +96,7 @@ UserAssist को अक्षम करने के लिए दो चरण
- फ़ाइल पथ का चयन करें `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters`
- दोनों `EnablePrefetcher` और `EnableSuperfetch` पर राइट-क्लिक करें
- प्रत्येक पर संशोधित करें ताकि मान 1 (या 3) से 0 में बदल जाए
- पुनरंभ करें
- पुनरारंभ करें
### टाइमस्टैम्प अक्षम करें - अंतिम पहुँच समय
@ -109,7 +109,7 @@ UserAssist को अक्षम करने के लिए दो चरण
### USB इतिहास हटाएँ
सभी **USB डिवाइस प्रविष्टियाँ** Windows रजिस्ट्री में **USBSTOR** रजिस्ट्री कुंजी के तहत संग्रहीत होती हैं जिसमें उप कुंजियाँ होती हैं जो तब बनाई जाती हैं जब आप अपने PC या लैपटॉप में USB डिवाइस लगाते हैं। आप इस कुंजी को यहाँ पा सकते हैं `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`**इसे हटाने से** आप USB इतिहास को हटा देंगे।\
सभी **USB डिवाइस प्रविष्टियाँ** Windows रजिस्ट्री में **USBSTOR** रजिस्ट्री कुंजी के तहत संग्रहीत होती हैं जिसमें उप कुंजियाँ होती हैं जो तब बनाई जाती हैं जब आप अपने पीसी या लैपटॉप में USB डिवाइस लगाते हैं। आप इस कुंजी को यहाँ पा सकते हैं `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`**इसे हटाने से** आप USB इतिहास हटा देंगे।\
आप यह सुनिश्चित करने के लिए [**USBDeview**](https://www.nirsoft.net/utils/usb_devices_view.html) उपकरण का भी उपयोग कर सकते हैं कि आपने उन्हें हटा दिया है (और उन्हें हटाने के लिए)।
एक और फ़ाइल जो USB के बारे में जानकारी सहेजती है वह है फ़ाइल `setupapi.dev.log` जो `C:\Windows\INF` के अंदर है। इसे भी हटाया जाना चाहिए।
@ -127,7 +127,7 @@ UserAssist को अक्षम करने के लिए दो चरण
2. सूची में "Volume Shadow Copy" खोजें, इसे चुनें, और फिर राइट-क्लिक करके प्रॉपर्टीज़ पर जाएँ।
3. "Startup type" ड्रॉप-डाउन मेनू से Disabled चुनें, और फिर Apply और OK पर क्लिक करके परिवर्तन की पुष्टि करें।
यह भी संभव है कि रजिस्ट्री `HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot` में शैडो कॉपी में कौन सी फ़ाइलें कॉपी की जाएँगी, उसकी कॉन्फ़िगरेशन को संशोधित किया जाए।
यह भी संभव है कि रजिस्ट्री में यह निर्धारित किया जाए कि कौन सी फ़ाइलें शैडो कॉपी में कॉपी की जाएँगी `HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot`
### हटाई गई फ़ाइलों को ओवरराइट करें
@ -174,7 +174,7 @@ Remove-WinEvent # requires admin & Win11 23H2+
### ETW (Windows के लिए इवेंट ट्रेसिंग) पैच
एंडपॉइंट सुरक्षा उत्पाद ETW पर बहुत निर्भर करते हैं। एक लोकप्रिय 2024 बचाव विधि है कि मेमोरी में `ntdll!EtwEventWrite`/`EtwEventWriteFull` को पैच किया जाए ताकि हर ETW कॉल `STATUS_SUCCESS` लौटाए बिना घटना को उत्पन्न किए।
एंडपॉइंट सुरक्षा उत्पाद ETW पर बहुत निर्भर करते हैं। 2024 का एक लोकप्रिय बचाव विधि है कि मेमोरी में `ntdll!EtwEventWrite`/`EtwEventWriteFull` को पैच करना ताकि हर ETW कॉल `STATUS_SUCCESS` लौटाए बिना घटना को उत्पन्न किए।
```c
// 0xC3 = RET on x64
unsigned char patch[1] = { 0xC3 };
@ -186,7 +186,7 @@ Public PoCs (e.g. `EtwTiSwallow`) PowerShell या C++ में वही प
### Alternate Data Streams (ADS) Revival
2023 में मैलवेयर अभियान (जैसे **FIN12** लोडर्स) को पारंपरिक स्कैनरों की नज़र से बने के लिए ADS के अंदर दूसरे चरण के बाइनरी स्टेज करते हुए देखा गया है:
2023 में मैलवेयर अभियान (जैसे **FIN12** लोडर्स) को पारंपरिक स्कैनरों की नज़र से बाहर रहने के लिए ADS के अंदर दूसरे चरण के बाइनरी स्टेज करते हुए देखा गया है:
```cmd
rem Hide cobalt.bin inside an ADS of a PDF
type cobalt.bin > report.pdf:win32res.dll
@ -202,17 +202,93 @@ Bring-Your-Own-Vulnerable-Driver अब रैंसमवेयर घुसप
AuKill.exe -e "C:\\Program Files\\Windows Defender\\MsMpEng.exe"
AuKill.exe -k CrowdStrike
```
ड्राइवर को बाद में हटा दिया जाता है, जिससे न्यूनतम अवशेष रहते हैं।
निवारण: Microsoft कमजोर-ड्राइवर ब्लॉकलिस्ट (HVCI/SAC) सक्षम करें,
और उपयोगकर्ता-लिखने योग्य पथों से कर्नेल-सेवा निर्माण पर अलर्ट करें।
ड्राइवर को बाद में हटा दिया जाता है, जिससे न्यूनतम अवशेष रह जाते हैं।
निवारण: Microsoft कमजोर-ड्राइवर ब्लॉकलिस्ट (HVCI/SAC) सक्षम करें, और उपयोगकर्ता-लिखने योग्य पथों से कर्नेल-सेवा निर्माण पर अलर्ट करें।
---
## संदर्भ
## Linux एंटी-फॉरेंसिक्स: स्वयं-पैचिंग और क्लाउड C2 (20232025)
- Sophos X-Ops “AuKill: A Weaponized Vulnerable Driver for Disabling EDR” (मार्च 2023)
https://news.sophos.com/en-us/2023/03/07/aukill-a-weaponized-vulnerable-driver-for-disabling-edr
- Red Canary “Patching EtwEventWrite for Stealth: Detection & Hunting” (जून 2024)
https://redcanary.com/blog/etw-patching-detection
### पहचान कम करने के लिए स्वयं-पैचिंग किए गए सेवाएँ (Linux)
विपक्षी अक्सर एक सेवा को उसके शोषण के तुरंत बाद "स्वयं-पैच" करते हैं ताकि पुनः-शोषण को रोका जा सके और कमजोरियों पर आधारित पहचान को दबाया जा सके। विचार यह है कि कमजोर घटकों को नवीनतम वैध अपस्ट्रीम बाइनरी/JARs के साथ प्रतिस्थापित किया जाए, ताकि स्कैनर होस्ट को पैच किया हुआ रिपोर्ट करें जबकि स्थायीता और C2 बनी रहे।
उदाहरण: Apache ActiveMQ OpenWire RCE (CVE202346604)
- पोस्ट-शोषण, हमलावरों ने Maven Central (repo1.maven.org) से वैध JARs प्राप्त किए, ActiveMQ इंस्टॉलेशन में कमजोर JARs को हटा दिया, और ब्रोकर को पुनः प्रारंभ किया।
- इससे प्रारंभिक RCE बंद हो गया जबकि अन्य पांव (cron, SSH कॉन्फ़िग परिवर्तन, अलग C2 इम्प्लांट) बनाए रखे गए।
संचालनात्मक उदाहरण (चित्रात्मक)
```bash
# ActiveMQ install root (adjust as needed)
AMQ_DIR=/opt/activemq
cd "$AMQ_DIR"/lib
# Fetch patched JARs from Maven Central (versions as appropriate)
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-client/5.18.3/activemq-client-5.18.3.jar
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-openwire-legacy/5.18.3/activemq-openwire-legacy-5.18.3.jar
# Remove vulnerable files and ensure the service uses the patched ones
rm -f activemq-client-5.18.2.jar activemq-openwire-legacy-5.18.2.jar || true
ln -sf activemq-client-5.18.3.jar activemq-client.jar
ln -sf activemq-openwire-legacy-5.18.3.jar activemq-openwire-legacy.jar
# Apply changes without removing persistence
systemctl restart activemq || service activemq restart
```
Forensic/hunting tips
- अस्थायी बाइनरी/JAR प्रतिस्थापन के लिए सेवा निर्देशिकाओं की समीक्षा करें:
- Debian/Ubuntu: `dpkg -V activemq` और फ़ाइल हैश/पथों की तुलना करें repo mirrors के साथ।
- RHEL/CentOS: `rpm -Va 'activemq*'`
- उन JAR संस्करणों की तलाश करें जो डिस्क पर हैं और पैकेज प्रबंधक के स्वामित्व में नहीं हैं, या प्रतीकात्मक लिंक जो बैंड से बाहर अपडेट किए गए हैं।
- टाइमलाइन: `find "$AMQ_DIR" -type f -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort` ctime/mtime को समझौता विंडो के साथ सहसंबंधित करने के लिए।
- शेल इतिहास/प्रक्रिया टेलीमेट्री: प्रारंभिक शोषण के तुरंत बाद `curl`/`wget` के `repo1.maven.org` या अन्य आर्टिफैक्ट CDN के सबूत।
- परिवर्तन प्रबंधन: यह मान्य करें कि "पैच" किसने लागू किया और क्यों, केवल यह नहीं कि एक पैच किया गया संस्करण मौजूद है।
### Cloudservice C2 with bearer tokens and antianalysis stagers
देखे गए व्यापार कौशल ने कई दीर्घकालिक C2 पथों और एंटी-विश्लेषण पैकेजिंग को संयोजित किया:
- पासवर्ड-संरक्षित PyInstaller ELF लोडर्स जो सैंडबॉक्सिंग और स्थैतिक विश्लेषण को बाधित करते हैं (जैसे, एन्क्रिप्टेड PYZ, अस्थायी निष्कर्षण `/_MEI*` के तहत)।
- संकेतक: `strings` हिट जैसे `PyInstaller`, `pyi-archive`, `PYZ-00.pyz`, `MEIPASS`
- रनटाइम आर्टिफैक्ट: `/tmp/_MEI*` या कस्टम `--runtime-tmpdir` पथों पर निष्कर्षण।
- हार्डकोडेड OAuth Bearer टोकन का उपयोग करके Dropbox-समर्थित C2
- नेटवर्क मार्कर: `api.dropboxapi.com` / `content.dropboxapi.com` के साथ `Authorization: Bearer <token>`
- सर्वर कार्यभार से Dropbox डोमेन के लिए आउटबाउंड HTTPS के लिए प्रॉक्सी/NetFlow/Zeek/Suricata में शिकार करें जो सामान्यतः फ़ाइलें समन्वयित नहीं करते हैं।
- एक चैनल अवरुद्ध होने पर नियंत्रण बनाए रखते हुए टनलिंग (जैसे, Cloudflare Tunnel `cloudflared`) के माध्यम से समानांतर/बैकअप C2।
- होस्ट IOCs: `cloudflared` प्रक्रियाएँ/इकाइयाँ, `~/.cloudflared/*.json` पर कॉन्फ़िगरेशन, Cloudflare किनारों के लिए आउटबाउंड 443।
### Persistence and “hardening rollback” to maintain access (Linux examples)
हमलावर अक्सर आत्म-पैचिंग को टिकाऊ पहुंच पथों के साथ जोड़ते हैं:
- Cron/Anacron: प्रत्येक `/etc/cron.*/` निर्देशिका में `0anacron` स्टब में संपादन के लिए आवधिक निष्पादन।
- शिकार:
```bash
for d in /etc/cron.*; do [ -f "$d/0anacron" ] && stat -c '%n %y %s' "$d/0anacron"; done
grep -R --line-number -E 'curl|wget|python|/bin/sh' /etc/cron.*/* 2>/dev/null
```
- SSH कॉन्फ़िगरेशन हार्डनिंग रोलबैक: रूट लॉगिन सक्षम करना और निम्न-विशिष्ट खातों के लिए डिफ़ॉल्ट शेल को बदलना।
- रूट लॉगिन सक्षम करने के लिए शिकार:
```bash
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
# "yes" या अत्यधिक अनुमति सेटिंग्स जैसे ध्वज मान
```
- सि्टम खातों पर संदिग्ध इंटरैक्टिव शेल के लिए शिकार (जैसे, `games`):
```bash
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
```
- डिस्क पर गिराए गए यादृच्छिक, छोटे नाम वाले बीकन आर्टिफैक्ट (8 वर्णमाला वर्ण) जो क्लाउड C2 से भी संपर्क करते हैं:
- शिकार:
```bash
find / -maxdepth 3 -type f -regextype posix-extended -regex '.*/[A-Za-z]{8}$' \
-exec stat -c '%n %s %y' {} \; 2>/dev/null | sort
```
रक्षा करने वालों को इन आर्टिफैक्ट्स को बाहरी एक्सपोजर और सेवा पैचिंग घटनाओं के साथ सहसंबंधित करना चाहिए ताकि प्रारंभिक शोषण को छिपाने के लिए उपयोग की जाने वाली एंटी-फॉरेंसिक आत्म-उपचार को उजागर किया जा सके।
## References
- Sophos X-Ops “AuKill: A Weaponized Vulnerable Driver for Disabling EDR” (March 2023)
https://news.sophos.com/en-us/2023/03/07/aukill-a-weaponized-vulnerable-driver-for-disabling-edr
- Red Canary “Patching EtwEventWrite for Stealth: Detection & Hunting” (June 2024)
https://redcanary.com/blog/etw-patching-detection
- [Red Canary Patching for persistence: How DripDropper Linux malware moves through the cloud](https://redcanary.com/blog/threat-intelligence/dripdropper-linux-malware/)
- [CVE202346604 Apache ActiveMQ OpenWire RCE (NVD)](https://nvd.nist.gov/vuln/detail/CVE-2023-46604)
{{#include ../../banners/hacktricks-training.md}}

View File

@ -42,8 +42,8 @@ find /directory -type f -mtime -1 -print #Find modified files during the last mi
चल रहे सिस्टम की मेमोरी प्राप्त करने के लिए, [**LiME**](https://github.com/504ensicsLabs/LiME) का उपयोग करने की सिफारिश की जाती है।\
इसे **संकलित** करने के लिए, आपको **उसी कर्नेल** का उपयोग करना होगा जो पीड़ित मशीन उपयोग कर रही है।
> [!NOTE]
> याद रखें कि आप **पीड़ित मशीन में LiME या कोई अन्य चीज़ स्थापित नहीं कर सकते** क्योंकि इससे इसमें कई परिवर्तन होंगे
> [!TIP]
> याद रखें कि आप **पीड़ित मशीन में LiME या कोई अन्य चीज़** स्थापित नहीं कर सकते क्योंकि इससे कई परिवर्तन होंगे
तो, यदि आपके पास Ubuntu का एक समान संस्करण है तो आप `apt-get install lime-forensics-dkms` का उपयोग कर सकते हैं।\
अन्य मामलों में, आपको github से [**LiME**](https://github.com/504ensicsLabs/LiME) डाउनलोड करना होगा और इसे सही कर्नेल हेडर के साथ संकलित करना होगा। पीड़ित मशीन के **सटीक कर्नेल हेडर** प्राप्त करने के लिए, आप बस **डायरेक्टरी** `/lib/modules/<kernel version>` को अपनी मशीन पर **कॉपी** कर सकते हैं, और फिर उन्हें उपयोग करके LiME को **संकलित** कर सकते हैं:
@ -53,22 +53,22 @@ sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime"
```
LiME 3 **फॉर्मेट** का समर्थन करता है:
- कच्चा (हर खंड को एक साथ जोड़ा गया)
- पैडेड (कच्चे के समान, लेकिन दाहिने बिट्स में ज़ीरो के साथ)
- लाइम (मेटाडेटा के साथ अनुशंसित फॉर्मेट)
- Raw (हर खंड को एक साथ जोड़ा गया)
- Padded (raw के समान, लेकिन दाहिने बिट्स में शून्य के साथ)
- Lime (मेटाडेटा के साथ अनुशंसित फॉर्मेट)
LiME का उपयोग **नेटवर्क के माध्यम से डंप भेजने** के लिए भी किया जा सकता है, इसे सिस्टम पर स्टोर करने के बजाय कुछ इस तरह: `path=tcp:4444`
LiME का उपयोग **नेटवर्क के माध्यम से डंप भेजने** के लिए भी किया जा सकता है, इसे सिस्टम पर संग्रहीत करने के बजाय, जैसे: `path=tcp:4444`
### डिस्क इमेजिंग
#### सिस्टम को बंद करना
सबसे पहले, आपको **सिस्टम को बंद करना** होगा। यह हमेशा एक विकल्प नहीं होता क्योंकि कभी-कभी सिस्टम एक प्रोडक्शन सर्वर होता है जिसे कंपनी बंद नहीं कर सकती।\
सिस्टम को बंद करने के **2 तरीके** हैं, एक **सामान्य शटडाउन** और एक **"प्लग को खींचना" शटडाउन**। पहला तरीका **प्रक्रियाओं को सामान्य रूप से समाप्त** करने और **फाइल सिस्टम** को **सिंक्रनाइज़** करने की अनुमति देगा, लेकिन यह संभावित **मैलवेयर** को **साक्ष्य नष्ट** करने की भी अनुमति देगा। "प्लग को खींचने" का तरीका **कुछ जानकारी के नुकसान** को ले जा सकता है (जितनी जानकारी खोई नहीं जाएगी क्योंकि हमने पहले ही मेमोरी की एक इमेज ले ली है) और **मैलवेयर को इसके बारे में कुछ करने का कोई अवसर नहीं मिलेगा**। इसलिए, यदि आप **संदेह** करते हैं कि वहाँ **मैलवेयर** हो सकता है, तो बस सिस्टम पर **`sync`** **कमांड** चलाएँ और प्लग को खींचें।
सिस्टम को बंद करने के **2 तरीके** हैं, एक **सामान्य शटडाउन** और एक **"प्लग को खींचना" शटडाउन**। पहला तरीका **प्रक्रियाओं को सामान्य रूप से समाप्त** करने की अनुमति देगा और **फाइल सिस्टम** को **सिंक्रनाइज़** करेगा, लेकिन यह संभावित **मैलवेयर** को **साक्ष्य नष्ट** करने की अनुमति भी देगा। "प्लग को खींचने" का दृष्टिकोण **कुछ जानकारी के नुकसान** को ले जा सकता है (ज्यादातर जानकारी खोने वाली नहीं है क्योंकि हमने पहले ही मेमोरी की एक इमेज ले ली है) और **मैलवेयर को इसके बारे में कुछ करने का कोई अवसर नहीं मिलेगा**। इसलिए, यदि आप **संदेह** करते हैं कि वहाँ **मैलवेयर** हो सकता है, तो बस सिस्टम पर **`sync`** **कमांड** चलाएँ और प्लग को खींचें।
#### डिस्क की इमेज लेना
यह महत्वपूर्ण है कि **आपके कंप्यूटर को मामले से संबंधित किसी भी चीज़ से कनेक्ट करने से पहले**, आपको यह सुनिश्चित करना होगा कि इसे **केवल पढ़ने के लिए माउंट किया जाएगा** ताकि किसी भी जानकारी को संशोधित करने से बचा जा सके।
यह ध्यान रखना महत्वपूर्ण है कि **आपके कंप्यूटर को मामले से संबंधित किसी भी चीज़ से कनेक्ट करने से पहले**, आपको यह सुनिश्चित करना होगा कि इसे **केवल पढ़ने के लिए माउंट किया जाएगा** ताकि किसी भी जानकारी को संशोधित करने से बचा जा सके।
```bash
#Create a raw copy of the disk
dd if=<subject device> of=<image file> bs=512
@ -136,10 +136,10 @@ ThisisTheMasterSecret
### संशोधित सिस्टम फ़ाइलें
Linux सिस्टम घटकों की अखंडता सुनिश्चित करने के लिए उपकरण प्रदान करता है, जो संभावित रूप से समस्याग्रस्त फ़ाइलों को पहचानने के लिए महत्वपूर्ण है।
Linux सिस्टम घटकों की अखंडता सुनिश्चित करने के लिए उपकरण प्रदान करता है, जो संभावित समस्याग्रस्त फ़ाइलों को पहचानने के लिए महत्वपूर्ण है।
- **RedHat-आधारित सिस्टम**: व्यापक जांच के लिए `rpm -Va` का उपयोग करें।
- **Debian-आधारित सिस्टम**: प्रारंभिक सत्यापन के लिए `dpkg --verify` का उपयोग करें, इसके बाद `debsums | grep -v "OK$"` (जिसके लिए `debsums` को `apt-get install debsums` के साथ स्थापित करें) का उपयोग करें ताकि किसी भी समस्या की पहचान की जा सके।
- **Debian-आधारित सिस्टम**: प्रारंभिक सत्यापन के लिए `dpkg --verify` का उपयोग करें, इसके बाद `debsums | grep -v "OK$"` (जिसके लिए `debsums` को `apt-get install debsums` के साथ स्थापित करना होगा) का उपयोग करें ताकि किसी भी समस्या की पहचान की जा सके।
### मैलवेयर/रूटकिट डिटेक्टर्स
@ -149,14 +149,14 @@ Linux सिस्टम घटकों की अखंडता सुनि
malware-analysis.md
{{#endref}}
## स्थापित कार्यक्रमों की खोज करें
## स्थापित कार्यक्रमों के लिए खोजें
Debian और RedHat सिस्टम पर स्थापित कार्यक्रमों की प्रभावी खोज के लिए, सामान्य निर्देशिकाओं में मैनुअल जांच के साथ-साथ सिस्टम लॉग और डेटाबेस का उपयोग करने पर विचार करें।
- Debian के लिए, पैकेज इंस्टॉलेशन के बारे में विवरण प्राप्त करने के लिए _**`/var/lib/dpkg/status`**_ और _**`/var/log/dpkg.log`**_ की जांच करें, विशेष जानकारी के लिए `grep` का उपयोग करें।
- RedHat उपयोगकर्ता स्थापित पैकेजों की सूची के लिए `rpm -qa --root=/mntpath/var/lib/rpm` के साथ RPM डेटाबेस को क्वेरी कर सकते हैं।
इन पैकेज प्रबंधकों के बाहर या मैन्युअल रूप से स्थापित सॉफ़्टवेयर को उजागर करने के लिए, _**`/usr/local`**_, _**`/opt`**_, _**`/usr/sbin`**_, _**`/usr/bin`**_, _**`/bin`**_, और _**`/sbin`**_ जैसी निर्देशिकाओं का अन्वेषण करें। ज्ञात पैकेजों से संबंधित नहीं होने वाले निष्पादन योग्य फ़ाइलों की पहचान करने के लिए निर्देशिका लिस्टिंग को सिस्टम-विशिष्ट कमांड के साथ मिलाएं, जिससे सभी स्थापित कार्यक्रमों की खोज को बढ़ावा मिलेगा
इन पैकेज प्रबंधकों के बाहर या मैन्युअल रूप से स्थापित सॉफ़्टवेयर को उजागर करने के लिए, _**`/usr/local`**_, _**`/opt`**_, _**`/usr/sbin`**_, _**`/usr/bin`**_, _**`/bin`**_, और _**`/sbin`**_ जैसी निर्देशिकाओं का अन्वेषण करें। ज्ञात पैकेजों से संबंधित नहीं होने वाले निष्पादन योग्य फ़ाइलों की पहचान करने के लिए निर्देशिका लिस्टिंग को सिस्टम-विशिष्ट कमांड के साथ मिलाएं, जिससे सभी स्थापित कार्यक्रमों की खोज को बढ़ाया जा सके
```bash
# Debian package and log details
cat /var/lib/dpkg/status | grep -E "Package:|Status:"
@ -196,11 +196,37 @@ cat /var/spool/cron/crontabs/* \
#MacOS
ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Library/LaunchAgents/
```
#### Hunt: Cron/Anacron का दुरुपयोग 0anacron और संदिग्ध स्टब के माध्यम से
हमलावर अक्सर प्रत्येक /etc/cron.*/ निर्देशिका के तहत मौजूद 0anacron स्टब को संपादित करते हैं ताकि आवधिक निष्पादन सुनिश्चित किया जा सके।
```bash
# List 0anacron files and their timestamps/sizes
for d in /etc/cron.*; do [ -f "$d/0anacron" ] && stat -c '%n %y %s' "$d/0anacron"; done
# Look for obvious execution of shells or downloaders embedded in cron stubs
grep -R --line-number -E 'curl|wget|/bin/sh|python|bash -c' /etc/cron.*/* 2>/dev/null
```
#### Hunt: SSH हार्डनिंग रोलबैक और बैकडोर शेल
sshd_config और सिस्टम खाता शेल में परिवर्तन आमतौर पर पोस्ट-एक्सप्लॉइटेशन के दौरान पहुंच बनाए रखने के लिए होते हैं।
```bash
# Root login enablement (flag "yes" or lax values)
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
# System accounts with interactive shells (e.g., games → /bin/sh)
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
```
#### Hunt: Cloud C2 markers (Dropbox/Cloudflare Tunnel)
- Dropbox API बीकन आमतौर पर HTTPS पर Authorization: Bearer टोकन के साथ api.dropboxapi.com या content.dropboxapi.com का उपयोग करते हैं।
- सर्वरों से अप्रत्याशित Dropbox egress के लिए proxy/Zeek/NetFlow में Hunt करें।
- Cloudflare Tunnel (`cloudflared`) आउटबाउंड 443 पर बैकअप C2 प्रदान करता है।
```bash
ps aux | grep -E '[c]loudflared|trycloudflare'
systemctl list-units | grep -i cloudflared
```
### Services
एक पथ जहाँ एक मैलवेयर को सेवा के रूप में स्थापित किया जा सकता है:
- **/etc/inittab**: प्रारंभिक स्क्रिप्ट को कॉल करता है जैसे rc.sysinit, आगे स्टार्टअप स्क्रिप्ट की ओर निर्देशित करता है।
- **/etc/inittab**: प्रारंभिक स्क्रिप्ट को कॉल करता है जैसे rc.sysinit, आगे के लिए स्टार्टअप स्क्रिप्ट की ओर निर्देशित करता है।
- **/etc/rc.d/** और **/etc/rc.boot/**: सेवा स्टार्टअप के लिए स्क्रिप्ट्स होते हैं, बाद वाला पुराने Linux संस्करणों में पाया जाता है।
- **/etc/init.d/**: कुछ Linux संस्करणों जैसे Debian में स्टार्टअप स्क्रिप्ट्स को संग्रहीत करने के लिए उपयोग किया जाता है।
- सेवाएँ **/etc/inetd.conf** या **/etc/xinetd/** के माध्यम से भी सक्रिय की जा सकती हैं, Linux के प्रकार के आधार पर।
@ -212,7 +238,7 @@ ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Libra
### Kernel Modules
Linux कर्नेल मॉड्यूल, जिन्हें अक्सर मैलवेयर द्वारा रूटकिट घटकों के रूप में उपयोग किया जाता है, सिस्टम बूट पर लोड होते हैं। इन मॉड्यूल के लिए महत्वपूर्ण निर्देशिकाएँ और फ़ाइलें शामिल हैं:
Linux कर्नेल मॉड्यूल, ज अक्सर मैलवेयर द्वारा रूटकिट घटकों के रूप में उपयोग किए जाते हैं, सिस्टम बूट पर लोड होते हैं। इन मॉड्यूल के लिए महत्वपूर्ण निर्देशिकाएँ और फ़ाइलें शामिल हैं:
- **/lib/modules/$(uname -r)**: चल रहे कर्नेल संस्करण के लिए मॉड्यूल रखता है।
- **/etc/modprobe.d**: मॉड्यूल लोडिंग को नियंत्रित करने के लिए कॉन्फ़िगरेशन फ़ाइलें होती हैं।
@ -230,8 +256,8 @@ Linux विभिन्न फ़ाइलों का उपयोग कर
Linux सिस्टम उपयोगकर्ता गतिविधियों और सिस्टम घटनाओं को विभिन्न लॉग फ़ाइलों के माध्यम से ट्रैक करता है। ये लॉग अनधिकृत पहुंच, मैलवेयर संक्रमण, और अन्य सुरक्षा घटनाओं की पहचान के लिए महत्वपूर्ण हैं। प्रमुख लॉग फ़ाइलें शामिल हैं:
- **/var/log/syslog** (Debian) या **/var/log/messages** (RedHat): सिस्टम-व्यापी संदेशों और गतिविधियों को कैप्चर करते हैं
- **/var/log/auth.log** (Debian) या **/var/log/secure** (RedHat): प्रमाणीकरण प्रयासों, सफल और असफल लॉगिन को रिकॉर्ड करते हैं
- **/var/log/syslog** (Debian) या **/var/log/messages** (RedHat): सिस्टम-व्यापी संदेशों और गतिविधियों को कैप्चर करता है
- **/var/log/auth.log** (Debian) या **/var/log/secure** (RedHat): प्रमाणीकरण प्रयासों, सफल और असफल लॉगिन को रिकॉर्ड करता है
- प्रासंगिक प्रमाणीकरण घटनाओं को फ़िल्टर करने के लिए `grep -iE "session opened for|accepted password|new session|not in sudoers" /var/log/auth.log` का उपयोग करें।
- **/var/log/boot.log**: सिस्टम स्टार्टअप संदेशों को रखता है।
- **/var/log/maillog** या **/var/log/mail.log**: ईमेल सर्वर गतिविधियों को लॉग करता है, ईमेल-संबंधित सेवाओं को ट्रैक करने के लिए उपयोगी।
@ -240,14 +266,14 @@ Linux सिस्टम उपयोगकर्ता गतिविधिय
- **/var/log/faillog**: असफल लॉगिन प्रयासों को रिकॉर्ड करता है, सुरक्षा उल्लंघन की जांच में मदद करता है।
- **/var/log/cron**: क्रोन जॉब निष्पादन को लॉग करता है।
- **/var/log/daemon.log**: पृष्ठभूमि सेवा गतिविधियों को ट्रैक करता है।
- **/var/log/btmp**: असफल लॉगिन प्रयासों का दस्तावेज़ीकरण करता है।
- **/var/log/btmp**: असफल लॉगिन प्रयासों का दस्तावेज करता है।
- **/var/log/httpd/**: Apache HTTPD त्रुटि और एक्सेस लॉग को रखता है।
- **/var/log/mysqld.log** या **/var/log/mysql.log**: MySQL डेटाबेस गतिविधियों को लॉग करता है।
- **/var/log/xferlog**: FTP फ़ाइल स्थानांतरणों को रिकॉर्ड करता है।
- **/var/log/**: यहाँ अप्रत्याशित लॉग के लिए हमेशा जाँच करें।
> [!NOTE]
> Linux सिस्टम लॉग और ऑडिट उपप्रणालियाँ एक घुसपैठ या मैलवेयर घटना में अक्षम या हटा दी जा सकती हैं। क्योंकि Linux सिस्टम पर लॉग आमतौर पर दुर्भावनापूर्ण गतिविधियों के बारे में कुछ सबसे उपयोगी जानकारी रखते हैं, घुसपैठिए नियमित रूप से उन्हें हटा देते हैं। इसलिए, उपलब्ध लॉग फ़ाइलों की जांच करते समय, यह महत्वपूर्ण है कि आप उन गैप्स या अनुक्रम से बाहर की प्रविष्टियों की तलाश करें जो हटाने या छेड़छाड़ का संकेत हो सकते हैं।
> [!TIP]
> Linux सिस्टम लॉग और ऑडिट उपप्रणालियाँ एक घुसपैठ या मैलवेयर घटना में अक्षम या हटा दी जा सकती हैं। क्योंकि Linux सिस्टम पर लॉग आमतौर पर दुर्भावनापूर्ण गतिविधियों के बारे में कुछ सबसे उपयोगी जानकारी रखते हैं, घुसपैठिए नियमित रूप से उन्हें हटा देते हैं। इसलिए, उपलब्ध लॉग फ़ाइलों की जांच करते समय, यह महत्वपूर्ण है कि आप उन अंतरालों या अनुक्रम से बाहर की प्रविष्टियों की तलाश करें जो हटाने या छेड़छाड़ का संकेत हो सकते हैं।
**Linux प्रत्येक उपयोगकर्ता के लिए एक कमांड इतिहास बनाए रखता है**, जो निम्नलिखित में संग्रहीत होता है:
@ -257,12 +283,12 @@ Linux सिस्टम उपयोगकर्ता गतिविधिय
- \~/.python_history
- \~/.\*\_history
इसके अलावा, `last -Faiwx` कमांड उपयोगकर्ता लॉगिन की एक सूची प्रदान करता है। अज्ञात या अप्रत्याशित लॉगिन के लिए इसे जाचें।
इसके अलावा, `last -Faiwx` कमांड उपयोगकर्ता लॉगिन की एक सूची प्रदान करता है। अज्ञात या अप्रत्याशित लॉगिन के लिए इसे जाचें।
अतिरिक्त rprivileges देने वाली फ़ाइलों की जाँच करें:
- अप्रत्याशित उपयोगकर्ता विशेषाधिकारों के लिए `/etc/sudoers` की समीक्षा करें जो दिए गए हो सकते हैं।
- अप्रत्याशित उपयोगकर्ता विशेषाधिकारों के लिए `/etc/sudoers.d/` की समीक्षा करें जो दिए गए हो सकते हैं।
- अप्रत्याशित उपयोगकर्ता विशेषाधिकारों के लिए `/etc/sudoers` की समीक्षा करें जो दिए जा सकते हैं।
- अप्रत्याशित उपयोगकर्ता विशेषाधिकारों के लिए `/etc/sudoers.d/` की समीक्षा करें जो दिए जा सकते हैं।
- किसी भी असामान्य समूह सदस्यता या अनुमतियों की पहचान करने के लिए `/etc/groups` की जांच करें।
- किसी भी असामान्य समूह सदस्यता या अनुमतियों की पहचान करने के लिए `/etc/passwd` की जांच करें।
@ -271,10 +297,10 @@ Linux सिस्टम उपयोगकर्ता गतिविधिय
- **SSH**: अनधिकृत दूरस्थ कनेक्शनों के लिए _\~/.ssh/authorized_keys_ और _\~/.ssh/known_hosts_ की जांच करें।
- **Gnome Desktop**: Gnome अनुप्रयोगों के माध्यम से हाल ही में एक्सेस की गई फ़ाइलों के लिए _\~/.recently-used.xbel_ में देखें।
- **Firefox/Chrome**: संदिग्ध गतिविधियों के लिए _\~/.mozilla/firefox_ या _\~/.config/google-chrome_ में ब्राउज़र इतिहास और डाउनलोड की जाँच करें।
- **VIM**: उपयोग विवरणों के लिए _\~/.viminfo_ की समीक्षा करें, जैसे एक्सेस की गई फ़ाइल पथ और खोज इतिहास।
- **Open Office**: हाल की दस्तावेज़ पहुंच की जांच करें जो समझौता की गई फ़ाइलों का संकेत दे सकती है।
- **VIM**: उपयोग किए गए विवरणों के लिए _\~/.viminfo_ की समीक्षा करें, जैसे एक्सेस की गई फ़ाइलों के पथ और खोज इतिहास।
- **Open Office**: हाल की दस्तावेज़ पहुँच की जाँच करें जो समझौता की गई फ़ाइलों का संकेत दे सकती है।
- **FTP/SFTP**: अनधिकृत फ़ाइल स्थानांतरणों के लिए _\~/.ftp_history_ या _\~/.sftp_history_ में लॉग की समीक्षा करें।
- **MySQL**: संभावित रूप से अनधिकृत डेटाबेस गतिविधियों को प्रकट करने के लिए _\~/.mysql_history_ की जांच करें
- **MySQL**: निष्पादित MySQL प्रश्नों के लिए _\~/.mysql_history_ की जांच करें, जो संभावित रूप से अनधिकृत डेटाबेस गतिविधियों को प्रकट कर सकती है
- **Less**: उपयोग इतिहास के लिए _\~/.lesshst_ का विश्लेषण करें, जिसमें देखी गई फ़ाइलें और निष्पादित कमांड शामिल हैं।
- **Git**: रिपॉजिटरी में परिवर्तनों के लिए _\~/.gitconfig_ और प्रोजेक्ट _.git/logs_ की जांच करें।
@ -282,7 +308,7 @@ Linux सिस्टम उपयोगकर्ता गतिविधिय
[**usbrip**](https://github.com/snovvcrash/usbrip) एक छोटा सा सॉफ़्टवेयर है जो शुद्ध Python 3 में लिखा गया है जो USB इवेंट इतिहास तालिकाओं का निर्माण करने के लिए Linux लॉग फ़ाइलों (`/var/log/syslog*` या `/var/log/messages*` वितरण के आधार पर) को पार्स करता है।
यह जानना दिलचस्प है कि **सभी USBs का उपयोग किया गया है** और यदि आपके पास "उल्लंघन घटनाओं" (उन USBs का उपयोग जो उस सूची में नहीं हैं) को खोजने के लिए USBs की एक अधिकृत सूची है तो यह अधिक उपयोगी होगा।
यह जानना दिलचस्प है कि **सभी USBs का उपयोग किया गया है** और यदि आपके पास "उल्लंघन घटनाओं" (उन USBs का उपयोग जो उस सूची में नहीं हैं) को खोजने के लिए एक अधिकृत USBs की सूची है तो यह अधिक उपयोगी होगा।
### Installation
```bash
@ -313,9 +339,9 @@ More examples and info inside the github: [https://github.com/snovvcrash/usbrip]
इन एंटी-फॉरेंसिक विधियों का मुकाबला करने के लिए, यह आवश्यक है:
- **घटनाओं के समयरेखा का गहन विश्लेषण करें** जैसे उपकरणों का उपयोग करके **Autopsy** घटनाओं की समयरेखा को दृश्य बनाने के लिए या **Sleuth Kit's** `mactime` विस्तृत समयरेखा डेटा के लिए।
- **घनिष्ठ समयरेखा विश्लेषण** करें, जैसे **Autopsy** का उपयोग करके घटनाओं की समयरेखा को दृश्य रूप में देखने के लिए या **Sleuth Kit's** `mactime` का उपयोग करके विस्तृत समयरेखा डेटा के लिए।
- **सिस्टम के $PATH में अप्रत्याशित स्क्रिप्टों की जांच करें**, जिसमें हमलावरों द्वारा उपयोग किए गए शेल या PHP स्क्रिप्ट शामिल हो सकते हैं।
- **असामान्य फ़ाइलों के लिए `/dev` की जांच करें**, क्योंकि इसमें पारंपरिक रूप से विशेष फ़ाइलें होती हैं, लेकिन यह मैलवेयर से संबंधित फ़ाइलें भी रख सकता है।
- **असामान्य फ़ाइलों के लिए `/dev` की जांच करें**, क्योंकि इसमें पारंपरिक रूप से विशेष फ़ाइलें होती हैं, लेकिन यह मैलवेयर से संबंधित फ़ाइलों को भी रख सकता है।
- **छिपी हुई फ़ाइलों या निर्देशिकाओं की खोज करें** जिनके नाम ".. " (डॉट डॉट स्पेस) या "..^G" (डॉट डॉट कंट्रोल-G) हो सकते हैं, जो दुर्भावनापूर्ण सामग्री को छिपा सकते हैं।
- **setuid रूट फ़ाइलों की पहचान करें** कमांड का उपयोग करके: `find / -user root -perm -04000 -print` यह उन फ़ाइलों को खोजता है जिनके पास उच्च विशेषाधिकार होते हैं, जिन्हें हमलावरों द्वारा दुरुपयोग किया जा सकता है।
- **मास फ़ाइल हटाने को इंगित करने के लिए इनोड तालिकाओं में हटाने के टाइमस्टैम्प की समीक्षा करें**, जो संभवतः रूटकिट या ट्रोजन की उपस्थिति को इंगित कर सकते हैं।
@ -328,8 +354,8 @@ ls -laR --sort=time /bin```
# Sort files in a directory by inode:
ls -lai /bin | sort -n```
````
> [!NOTE]
> ध्यान दें कि एक **हमलावर** **समय** को **संशोधित** कर सकता है ताकि **फाइलें वैध** **दिखें**, लेकिन वह **inode** को **संशोधित** नहीं कर सकता। यदि आप पाते हैं कि एक **फाइल** यह दर्शाती है कि इसे उसी **समय** में बनाया और संशोधित किया गया था जैसे कि उसी फ़ोल्डर में अन्य फ़ाइलें, लेकिन **inode** **अप्रत्याशित रूप से बड़ा** है, तो उस **फाइल के टाइमस्टैम्प को संशोधित किया गया था**
> [!TIP]
> ध्यान दें कि एक **हमलावर** **समय** को **संशोधित** कर सकता है ताकि **फाइलें वैध** **दिखें**, लेकिन वह **inode** को **संशोधित** नहीं कर सकता। यदि आप पाते हैं कि एक **फाइल** यह दर्शाती है कि इसे उसी **समय** में बनाया और संशोधित किया गया था जैसे कि उसी फ़ोल्डर में अन्य फ़ाइलें, लेकिन **inode** **अप्रत्याशित रूप से बड़ा** है, तो इसका मतलब है कि उस **फाइल के टाइमस्टैम्प को संशोधित किया गया था**
## विभिन्न फाइल सिस्टम संस्करणों की तुलना करें
@ -356,7 +382,7 @@ git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
- `M`: संशोधित फ़ाइलें
- `R`: नाम बदली गई फ़ाइलें
- `T`: प्रकार परिवर्तन (जैसे, फ़ाइल से सिम्लिंक)
- `U`: असंयुक्त फ़ाइलें
- `U`: अनमर्ज की गई फ़ाइलें
- `X`: अज्ञात फ़ाइलें
- `B`: टूटी हुई फ़ाइलें
@ -367,4 +393,6 @@ git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
- [https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203)
- **पुस्तक: Malware Forensics Field Guide for Linux Systems: Digital Forensics Field Guides**
- [Red Canary Patching for persistence: How DripDropper Linux malware moves through the cloud](https://redcanary.com/blog/threat-intelligence/dripdropper-linux-malware/)
{{#include ../../banners/hacktricks-training.md}}

File diff suppressed because one or more lines are too long