SlideShare a Scribd company logo
Forensic Analysts are on the front lines of
computer investigations. This guide aims to
support Forensic Analysts in their quest to
uncover the truth.
grep's strength is extracting information from
text files. grep operates on one or multiple
files when provided with a command line
argument(s) that can also include wildcards:
Example: grep "John" addressbook
Would return the lines that contained the
"John" string in the addressbook text file
Some useful flags:
-A Print number of lines after the match
-B Print number of lines before match
-c Report number of occurrences
-f Reads one or more patterns from a file.
Pattern are terminated by a newline
-h Suppress the file names on the output
-i Ignore case
-l Report matching files, not matching lines
-P Interpret pattern as a Perl Regex
-v Reverse operation: return the lines not
matching the string
The egrep (extended grep) utility can be useful
to match several possible strings at the same
time (in an OR mode):
egrep "John|Peter" addressbook
grep "John|Peter" addressbook
grep/egrep
Purpose
How To Use This Sheet
When performing an investigation it is helpful to be
reminded of the powerful options available to the
investigator. This document is aimed to be a
reference to the tools that could be used.
This sheet is split into these sections:
• Hex File Headers
• grep/egrep
• sort
• awk
• sed
• uniq
• date
• Windows findstr
The key to successful forensics is minimizing
your data loss, accurate reporting, and a
thorough investigation.
File headers are used to identify a file by
examining the first 4 or 5 bytes of its
hexadecimal content.
Filetype Start Start ASCII
Translation
ani 52 49 46 46 RIFF
au 2E 73 6E 64 snd
bmp 42 4D F8 A9 BM
bmp 42 4D 62 25 BMp%
bmp 42 4D 76 03 BMv
cab 4D 53 43 46 MSCF
dll 4D 5A 90 00 MZ
Excel D0 CF 11 E0
exe 4D 5A 50 00 MZP (inno)
exe 4D 5A 90 00 MZ
flv 46 4C 56 01 FLV
gif 47 49 46 38 39 61 GIF89a
gif 47 49 46 38 37 61 GIF87a
gz 1F 8B 08 08
ico 00 00 01 00
jpeg FF D8 FF E1
jpeg FF D8 FF E0 JFIF
jpeg FF D8 FF FE JFIF
Linux bin 7F 45 4C 46 ELF
png 89 50 4E 47 PNG
msi D0 CF 11 E0
mp3 49 44 33 2E ID3
mp3 49 44 33 03 ID3
OFT 4F 46 54 32 OFT2
PPT D0 CF 11 E0
PDF 25 50 44 46 %PDF
rar 52 61 72 21 Rar!
sfw 43 57 53 06/08 cws
tar 1F 8B 08 00
tgz 1F 9D 90 70
Word D0 CF 11 E0
wmv 30 26 B2 75
zip 50 4B 03 04 PK
Hex File Header and ASCII Equivalent
Hex File Headers and
Regex for Forensics
Cheat Sheet v1.0
SANS Forensics
http://computer-forensics.sans.org
http://blogs.sans.org/computer-forensics
By Guy Bruneau, gbruneau@sans.org
sort
sort, as its name implies, will sort the
output. There are a few interesting options you
can use:
-d Uses dictionary order. Only letters,
digits and blanks.
-n will sort the output assuming it is
numerical (instead of string)
-u will remove redundant line, 'uniquing'
the results
awk is an extremely useful tool, especially for
parsing data structured in columns. It is
straightforward to use for simple purposes. Its
basic use is to select some particular columns
from the output: column 1 is referred to as $1,
column 2 as $2, etc.
The space is the default awk separator. However
if you want to be able to parse data separated
by some other character, e.g. ":", you can use
the -F flag.
Example: echo "hello:goodbye" | awk -F:
'{print $2}'
Would return "goodbye" as an output
awk
sed is an excellent command for character
substitution. Example: if you want to
substitute the first occurrence of the 'a'
character by an 'e':
echo "hallo" | sed 's/a/e/'
The output would be: hello
You can use the g modifier to substitute all
instances:
echo "Hallo Janny" | sed 's/a/e/g'
The output would be: Hello Jenny
sed
Forensic Analysis
Cheat Sheet
Forensics
MANDIANT
contact@mandiant.com
703.683.3141
http://www.mandiant.org
The Windows findstr has one interesting
feature that differs from grep. If you need
to search for multiple strings, you need to
separate them with a space.
For example, you want or need to look for a
match for WHITE or GREEN in a text file, you
write your command like this:
findstr "WHITE GREEN" textfile
To make the search case insensitive, add the
/I to print all variant of WHITE or GREEN.
Windows findstr Command List
/B Matches pattern if at the beginning of
a line.
/E Matches pattern if at the end of a
line.
/L Uses search strings literally.
/R Uses search strings as regular
expressions.
/S Searches for matching files in the
current directory and all
subdirectories.
/I Specifies that the search is not to be
case-sensitive.
/X Prints lines that match exactly.
/V Prints only lines that do not contain
a match.
/N Prints the line number before each
line that matches.
/M Prints only the filename if a file
contains a match.
/O Prints character offset before each
matching line.
/P Skip files with non-printable
characters.
Windows findstr
Check the date man page for more options.
Returns the real date from epoch time:
date –d @1284127201
Return an epoch time of 1288756800:
date +%s -d “2010-11-03”
Return a 2 days old date:
date --date="-2 days" +"%Y-%m-%d"
Return 20:00 hours:
date -d @1288310401 +%k:%M
The uniq command reads the input and compares
adjacent lines. If two or more adjacent lines
are identical, all but one is removed.
Here is a list of the most common options used
with uniq:
-c Prefix line with number of occurrence
-f Avoid comparing the first N fields
-i Ignore case
-s Avoid comparing the first N characters
-u Only print unique lines
Consider this input file:
a
b
c
b
Now run uniq on it: sort testfile | uniq
a
b
c
Now run uniq -c on it:
1 a
2 b
1 c
uniq
Date

More Related Content

What's hot

101 3.7 search text files using regular expressions
101 3.7 search text files using regular expressions101 3.7 search text files using regular expressions
101 3.7 search text files using regular expressions
Acácio Oliveira
 
More on Lex
More on LexMore on Lex
More on LexTech_MX
 
Unix And C
Unix And CUnix And C
Unix And CDr.Ravi
 
3.7 search text files using regular expressions
3.7 search text files using regular expressions3.7 search text files using regular expressions
3.7 search text files using regular expressions
Acácio Oliveira
 
C language updated
C language updatedC language updated
C language updated
Arafat Bin Reza
 
Unit 8 text processing tools
Unit 8 text processing toolsUnit 8 text processing tools
Unit 8 text processing toolsroot_fibo
 
Embedded C - Lecture 2
Embedded C - Lecture 2Embedded C - Lecture 2
Embedded C - Lecture 2
Mohamed Abdallah
 
R programming Language
R programming LanguageR programming Language
R programming Language
SarthakBhargava7
 
Phyton Learning extracts
Phyton Learning extracts Phyton Learning extracts
Phyton Learning extracts
Pavan Babu .G
 
15 practical grep command examples in linux : unix
15 practical grep command examples in linux : unix15 practical grep command examples in linux : unix
15 practical grep command examples in linux : unixchinkshady
 
Talk Unix Shell Script 1
Talk Unix Shell Script 1Talk Unix Shell Script 1
Talk Unix Shell Script 1Dr.Ravi
 
Stream classes in C++
Stream classes in C++Stream classes in C++
Stream classes in C++
Shyam Gupta
 
Stack
StackStack
Clone detection in Python
Clone detection in PythonClone detection in Python
Clone detection in Python
Valerio Maggio
 
BUILDING BASIC STRECH SQL COMPILER
BUILDING BASIC STRECH SQL COMPILERBUILDING BASIC STRECH SQL COMPILER
BUILDING BASIC STRECH SQL COMPILER
Ajeet Dubey
 
MIPS Architecture
MIPS ArchitectureMIPS Architecture
MIPS Architecture
Dr. Balaji Ganesh Rajagopal
 
Airlover 20030324 1
Airlover 20030324 1Airlover 20030324 1
Airlover 20030324 1Dr.Ravi
 
Top down and botttom up Parsing
Top down     and botttom up ParsingTop down     and botttom up Parsing
Top down and botttom up Parsing
Gerwin Ocsena
 

What's hot (20)

Parsing
ParsingParsing
Parsing
 
101 3.7 search text files using regular expressions
101 3.7 search text files using regular expressions101 3.7 search text files using regular expressions
101 3.7 search text files using regular expressions
 
More on Lex
More on LexMore on Lex
More on Lex
 
Unix And C
Unix And CUnix And C
Unix And C
 
3.7 search text files using regular expressions
3.7 search text files using regular expressions3.7 search text files using regular expressions
3.7 search text files using regular expressions
 
C language updated
C language updatedC language updated
C language updated
 
Unit 8 text processing tools
Unit 8 text processing toolsUnit 8 text processing tools
Unit 8 text processing tools
 
tools
toolstools
tools
 
Embedded C - Lecture 2
Embedded C - Lecture 2Embedded C - Lecture 2
Embedded C - Lecture 2
 
R programming Language
R programming LanguageR programming Language
R programming Language
 
Phyton Learning extracts
Phyton Learning extracts Phyton Learning extracts
Phyton Learning extracts
 
15 practical grep command examples in linux : unix
15 practical grep command examples in linux : unix15 practical grep command examples in linux : unix
15 practical grep command examples in linux : unix
 
Talk Unix Shell Script 1
Talk Unix Shell Script 1Talk Unix Shell Script 1
Talk Unix Shell Script 1
 
Stream classes in C++
Stream classes in C++Stream classes in C++
Stream classes in C++
 
Stack
StackStack
Stack
 
Clone detection in Python
Clone detection in PythonClone detection in Python
Clone detection in Python
 
BUILDING BASIC STRECH SQL COMPILER
BUILDING BASIC STRECH SQL COMPILERBUILDING BASIC STRECH SQL COMPILER
BUILDING BASIC STRECH SQL COMPILER
 
MIPS Architecture
MIPS ArchitectureMIPS Architecture
MIPS Architecture
 
Airlover 20030324 1
Airlover 20030324 1Airlover 20030324 1
Airlover 20030324 1
 
Top down and botttom up Parsing
Top down     and botttom up ParsingTop down     and botttom up Parsing
Top down and botttom up Parsing
 

Similar to Hex file and regex cheat sheet

Awk A Pattern Scanning And Processing Language
Awk   A Pattern Scanning And Processing LanguageAwk   A Pattern Scanning And Processing Language
Awk A Pattern Scanning And Processing Language
Crystal Sanchez
 
Awk --- A Pattern Scanning And Processing Language (Second Edition)
Awk --- A Pattern Scanning And Processing Language (Second Edition)Awk --- A Pattern Scanning And Processing Language (Second Edition)
Awk --- A Pattern Scanning And Processing Language (Second Edition)
Brooke Heidt
 
ShellAdvanced aaäaaaaaaaaaaaaaaaaaaaaaaaaaaa
ShellAdvanced aaäaaaaaaaaaaaaaaaaaaaaaaaaaaaShellAdvanced aaäaaaaaaaaaaaaaaaaaaaaaaaaaaa
ShellAdvanced aaäaaaaaaaaaaaaaaaaaaaaaaaaaaa
ewout2
 
Beginning with vi text editor
Beginning with vi text editorBeginning with vi text editor
Beginning with vi text editor
Jose Pla
 
intro unix/linux 05
intro unix/linux 05intro unix/linux 05
intro unix/linux 05
duquoi
 
typemap in Perl/XS
typemap in Perl/XS  typemap in Perl/XS
typemap in Perl/XS
charsbar
 
awkbash quick ref for Red hat Linux admin
awkbash quick ref for Red hat Linux adminawkbash quick ref for Red hat Linux admin
awkbash quick ref for Red hat Linux admin
ZoumanaDiomande1
 
Talk Unix Shell Script
Talk Unix Shell ScriptTalk Unix Shell Script
Talk Unix Shell ScriptDr.Ravi
 
C cheat sheet for varsity (extreme edition)
C cheat sheet for varsity (extreme edition)C cheat sheet for varsity (extreme edition)
C cheat sheet for varsity (extreme edition)
Saifur Rahman
 
Grep - A powerful search utility
Grep - A powerful search utilityGrep - A powerful search utility
Grep - A powerful search utility
Nirajan Pant
 
Advanced perl finer points ,pack&unpack,eval,files
Advanced perl   finer points ,pack&unpack,eval,filesAdvanced perl   finer points ,pack&unpack,eval,files
Advanced perl finer points ,pack&unpack,eval,files
Shankar D
 
Unix Trainning Doc.pptx
Unix Trainning Doc.pptxUnix Trainning Doc.pptx
Unix Trainning Doc.pptx
KalpeshRaut7
 
Shell Scripts
Shell ScriptsShell Scripts
Shell ScriptsDr.Ravi
 
Matlab: Procedures And Functions
Matlab: Procedures And FunctionsMatlab: Procedures And Functions
Matlab: Procedures And Functions
matlab Content
 

Similar to Hex file and regex cheat sheet (20)

CInputOutput.ppt
CInputOutput.pptCInputOutput.ppt
CInputOutput.ppt
 
Awk A Pattern Scanning And Processing Language
Awk   A Pattern Scanning And Processing LanguageAwk   A Pattern Scanning And Processing Language
Awk A Pattern Scanning And Processing Language
 
Awk --- A Pattern Scanning And Processing Language (Second Edition)
Awk --- A Pattern Scanning And Processing Language (Second Edition)Awk --- A Pattern Scanning And Processing Language (Second Edition)
Awk --- A Pattern Scanning And Processing Language (Second Edition)
 
ShellAdvanced aaäaaaaaaaaaaaaaaaaaaaaaaaaaaa
ShellAdvanced aaäaaaaaaaaaaaaaaaaaaaaaaaaaaaShellAdvanced aaäaaaaaaaaaaaaaaaaaaaaaaaaaaa
ShellAdvanced aaäaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Beginning with vi text editor
Beginning with vi text editorBeginning with vi text editor
Beginning with vi text editor
 
intro unix/linux 05
intro unix/linux 05intro unix/linux 05
intro unix/linux 05
 
typemap in Perl/XS
typemap in Perl/XS  typemap in Perl/XS
typemap in Perl/XS
 
awkbash quick ref for Red hat Linux admin
awkbash quick ref for Red hat Linux adminawkbash quick ref for Red hat Linux admin
awkbash quick ref for Red hat Linux admin
 
Talk Unix Shell Script
Talk Unix Shell ScriptTalk Unix Shell Script
Talk Unix Shell Script
 
Vim and Python
Vim and PythonVim and Python
Vim and Python
 
C cheat sheet for varsity (extreme edition)
C cheat sheet for varsity (extreme edition)C cheat sheet for varsity (extreme edition)
C cheat sheet for varsity (extreme edition)
 
Grep - A powerful search utility
Grep - A powerful search utilityGrep - A powerful search utility
Grep - A powerful search utility
 
Advanced perl finer points ,pack&unpack,eval,files
Advanced perl   finer points ,pack&unpack,eval,filesAdvanced perl   finer points ,pack&unpack,eval,files
Advanced perl finer points ,pack&unpack,eval,files
 
Unix Trainning Doc.pptx
Unix Trainning Doc.pptxUnix Trainning Doc.pptx
Unix Trainning Doc.pptx
 
Shell Scripts
Shell ScriptsShell Scripts
Shell Scripts
 
Linux
LinuxLinux
Linux
 
Linux
LinuxLinux
Linux
 
Linux
LinuxLinux
Linux
 
Linux
LinuxLinux
Linux
 
Matlab: Procedures And Functions
Matlab: Procedures And FunctionsMatlab: Procedures And Functions
Matlab: Procedures And Functions
 

More from Martin Cabrera

Log Management
Log ManagementLog Management
Log Management
Martin Cabrera
 
Metodologia de Operacion frente a ataques
Metodologia de Operacion frente a ataquesMetodologia de Operacion frente a ataques
Metodologia de Operacion frente a ataques
Martin Cabrera
 
Network DDoS Incident Response Cheat Sheet (by SANS)
Network DDoS Incident Response Cheat Sheet (by SANS)Network DDoS Incident Response Cheat Sheet (by SANS)
Network DDoS Incident Response Cheat Sheet (by SANS)
Martin Cabrera
 
IPSEC
IPSECIPSEC
Memory forensics cheat sheet
Memory forensics cheat sheetMemory forensics cheat sheet
Memory forensics cheat sheet
Martin Cabrera
 

More from Martin Cabrera (7)

Log Management
Log ManagementLog Management
Log Management
 
Metodologia de Operacion frente a ataques
Metodologia de Operacion frente a ataquesMetodologia de Operacion frente a ataques
Metodologia de Operacion frente a ataques
 
Network DDoS Incident Response Cheat Sheet (by SANS)
Network DDoS Incident Response Cheat Sheet (by SANS)Network DDoS Incident Response Cheat Sheet (by SANS)
Network DDoS Incident Response Cheat Sheet (by SANS)
 
IPv6
IPv6IPv6
IPv6
 
IPSEC
IPSECIPSEC
IPSEC
 
TCPDUMP
TCPDUMPTCPDUMP
TCPDUMP
 
Memory forensics cheat sheet
Memory forensics cheat sheetMemory forensics cheat sheet
Memory forensics cheat sheet
 

Recently uploaded

top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 

Recently uploaded (20)

top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 

Hex file and regex cheat sheet

  • 1. Forensic Analysts are on the front lines of computer investigations. This guide aims to support Forensic Analysts in their quest to uncover the truth. grep's strength is extracting information from text files. grep operates on one or multiple files when provided with a command line argument(s) that can also include wildcards: Example: grep "John" addressbook Would return the lines that contained the "John" string in the addressbook text file Some useful flags: -A Print number of lines after the match -B Print number of lines before match -c Report number of occurrences -f Reads one or more patterns from a file. Pattern are terminated by a newline -h Suppress the file names on the output -i Ignore case -l Report matching files, not matching lines -P Interpret pattern as a Perl Regex -v Reverse operation: return the lines not matching the string The egrep (extended grep) utility can be useful to match several possible strings at the same time (in an OR mode): egrep "John|Peter" addressbook grep "John|Peter" addressbook grep/egrep Purpose How To Use This Sheet When performing an investigation it is helpful to be reminded of the powerful options available to the investigator. This document is aimed to be a reference to the tools that could be used. This sheet is split into these sections: • Hex File Headers • grep/egrep • sort • awk • sed • uniq • date • Windows findstr The key to successful forensics is minimizing your data loss, accurate reporting, and a thorough investigation. File headers are used to identify a file by examining the first 4 or 5 bytes of its hexadecimal content. Filetype Start Start ASCII Translation ani 52 49 46 46 RIFF au 2E 73 6E 64 snd bmp 42 4D F8 A9 BM bmp 42 4D 62 25 BMp% bmp 42 4D 76 03 BMv cab 4D 53 43 46 MSCF dll 4D 5A 90 00 MZ Excel D0 CF 11 E0 exe 4D 5A 50 00 MZP (inno) exe 4D 5A 90 00 MZ flv 46 4C 56 01 FLV gif 47 49 46 38 39 61 GIF89a gif 47 49 46 38 37 61 GIF87a gz 1F 8B 08 08 ico 00 00 01 00 jpeg FF D8 FF E1 jpeg FF D8 FF E0 JFIF jpeg FF D8 FF FE JFIF Linux bin 7F 45 4C 46 ELF png 89 50 4E 47 PNG msi D0 CF 11 E0 mp3 49 44 33 2E ID3 mp3 49 44 33 03 ID3 OFT 4F 46 54 32 OFT2 PPT D0 CF 11 E0 PDF 25 50 44 46 %PDF rar 52 61 72 21 Rar! sfw 43 57 53 06/08 cws tar 1F 8B 08 00 tgz 1F 9D 90 70 Word D0 CF 11 E0 wmv 30 26 B2 75 zip 50 4B 03 04 PK Hex File Header and ASCII Equivalent Hex File Headers and Regex for Forensics Cheat Sheet v1.0 SANS Forensics http://computer-forensics.sans.org http://blogs.sans.org/computer-forensics By Guy Bruneau, gbruneau@sans.org sort sort, as its name implies, will sort the output. There are a few interesting options you can use: -d Uses dictionary order. Only letters, digits and blanks. -n will sort the output assuming it is numerical (instead of string) -u will remove redundant line, 'uniquing' the results
  • 2. awk is an extremely useful tool, especially for parsing data structured in columns. It is straightforward to use for simple purposes. Its basic use is to select some particular columns from the output: column 1 is referred to as $1, column 2 as $2, etc. The space is the default awk separator. However if you want to be able to parse data separated by some other character, e.g. ":", you can use the -F flag. Example: echo "hello:goodbye" | awk -F: '{print $2}' Would return "goodbye" as an output awk sed is an excellent command for character substitution. Example: if you want to substitute the first occurrence of the 'a' character by an 'e': echo "hallo" | sed 's/a/e/' The output would be: hello You can use the g modifier to substitute all instances: echo "Hallo Janny" | sed 's/a/e/g' The output would be: Hello Jenny sed Forensic Analysis Cheat Sheet Forensics MANDIANT contact@mandiant.com 703.683.3141 http://www.mandiant.org The Windows findstr has one interesting feature that differs from grep. If you need to search for multiple strings, you need to separate them with a space. For example, you want or need to look for a match for WHITE or GREEN in a text file, you write your command like this: findstr "WHITE GREEN" textfile To make the search case insensitive, add the /I to print all variant of WHITE or GREEN. Windows findstr Command List /B Matches pattern if at the beginning of a line. /E Matches pattern if at the end of a line. /L Uses search strings literally. /R Uses search strings as regular expressions. /S Searches for matching files in the current directory and all subdirectories. /I Specifies that the search is not to be case-sensitive. /X Prints lines that match exactly. /V Prints only lines that do not contain a match. /N Prints the line number before each line that matches. /M Prints only the filename if a file contains a match. /O Prints character offset before each matching line. /P Skip files with non-printable characters. Windows findstr Check the date man page for more options. Returns the real date from epoch time: date –d @1284127201 Return an epoch time of 1288756800: date +%s -d “2010-11-03” Return a 2 days old date: date --date="-2 days" +"%Y-%m-%d" Return 20:00 hours: date -d @1288310401 +%k:%M The uniq command reads the input and compares adjacent lines. If two or more adjacent lines are identical, all but one is removed. Here is a list of the most common options used with uniq: -c Prefix line with number of occurrence -f Avoid comparing the first N fields -i Ignore case -s Avoid comparing the first N characters -u Only print unique lines Consider this input file: a b c b Now run uniq on it: sort testfile | uniq a b c Now run uniq -c on it: 1 a 2 b 1 c uniq Date