| name | recovering-deleted-files-with-photorec |
| description | Recover deleted files from disk images and storage media using PhotoRec's file signature-based carving engine regardless of file system damage. Use when working with recovering deleted files with photorec. |
| domain | cybersecurity |
| tags | ["forensics","file-recovery","photorec","file-carving","data-recovery","evidence-recovery"] |
| subdomain | digital-forensics |
| version | 1.0 |
| author | oyi77 |
| license | Apache-2.0 |
| nist_ai_rmf | ["MEASURE-2.7","MAP-5.1","MANAGE-2.4"] |
| atlas_techniques | ["AML.T0070","AML.T0066","AML.T0082"] |
| nist_csf | ["RS.AN-01","RS.AN-03","DE.AE-02","RS.MA-01"] |
Recovering Deleted Files With Photorec
Overview
Cybersecurity skill for recovering deleted files with photorec. Follows industry best practices and security standards.
When to Use
Trigger phrases:
-
"recovering deleted files with photorec"
-
"Recover deleted files from disk images and storage media using PhotoRec's file s"
-
When recovering deleted files from a forensic disk image or storage device
-
When the file system is corrupted, formatted, or overwritten
-
During investigations requiring recovery of documents, images, videos, or databases
-
When file system metadata is unavailable but raw data sectors remain intact
-
For recovering files from memory cards, USB drives, and hard drives
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- PhotoRec installed (part of TestDisk suite)
- Forensic disk image or direct device access (read-only)
- Sufficient output storage space (potentially larger than source)
- Write-blocker if working with original media
- Root/sudo privileges for device access
- Knowledge of target file types for focused recovery
Workflow
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> dict:
return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}