Flowinspect - A Network
Inspection Tool
Ankur Tyagi (@7h3rAm)
Outline
●

Understanding Incident Response
Requirements

●

Vision for an Ideal Inspection Tool

●

Introducing Flowinspect as a Viable Solution

●

Flowinspect: Architecture

●

Real-World Usecase Scenarios

●

Future Goals
Understanding Incident Response
Requirements
●

●

●

You have been called to investigate an incident
You analyze evidence and find traces of a
malware
You want to know:
–

Who were the actors?

–

What did they talk about?

–

What secrets did they share?

–

Which other hosts were compromised?
Understanding Incident Response
Requirements
●

●

●

●

●

Immediate response requires data
Data from the exploit, payload delivered, C&C
channel, etc.
Tools like Wireshark, tcpdump, ngrep and
flowgrep are helpful
But they all have a few shortcomings
Many are flow/stream agnostic and lack
inspection features
Understanding Incident Response
Requirements
●

●

●

●

●

Tcpdump/Wireshark – Packet sniffing and
comprehensive protocol decoding
Ngrep/Flowgrep – Packet sniffing and regex
matching over L4 packets and streams resp.
How about network shellcode detection?
How about malware identification and extraction
from network flows?
None of above tools address these requirements
Vision for an Ideal Inspection Tool
●

Malware identification via signatures

●

Shellcode emulation/detection

●

Extraction of matching flows to files

●

Match statistics (direction, offset, depth, size,
packet #)

●

Snort like Content Modifiers (offset/depth)

●

Pcap generation for matching flows

●

TCP reset for matching flows
Introducing Flowinspect as a Viable
Solution
Introducing Flowinspect as a Viable
Solution
●

●

●

●

IP defragmentation and TCP reassembly extract data into stream buffers
Multiple inspection modes – regex, fuzzy
string, Yara, shellcode detection
Inspection happens over layer 4 payload and
as such is immune to fragmentation attacks
Matching flows dumped via (a combination
of) output modes for lateral analysis
Flowinspect: Architecture
●

Has 3 modules: input, inspection, and output
–

Input: libnids, BPF expressions,
offset/depth, max flow/packet inspection
counters

–

Inspection: regex, fuzzy, yara, shellcode

–

Output: match statistics, outmodes (meta,
print, hex, raw), file writing, pcap
generation
Flowinspect: Architecture
●

Has 3 modules: input, inspection, and output
–

Input: libnids, BPF expressions,
offset/depth, max flow/packet inspection
counters

–

Inspection: regex, fuzzy, yara, shellcode

–

Output: match statistics, outmodes (meta,
print, hex, raw), file writing, pcap
generation
Flowinspect: Architecture
●

Has 3 modules: input, inspection, and output
–

Input: libnids, BPF expressions,
offset/depth, max flow/packet inspection
counters

–

Inspection: regex, fuzzy, yara, shellcode

–

Output: match statistics, outmodes (meta,
print, hex, raw), file writing, pcap
generation
Flowinspect: Architecture
Flowinspect: Architecture
Flowinspect: Architecture
Flowinspect: Architecture
●

Has 3 modules: input, inspection, and output
–

Input: libnids, BPF expressions,
offset/depth, max flow/packet inspection
counters

–

Inspection: regex, fuzzy, yara, shellcode

–

Output: match statistics, outmodes (meta,
print, hex, raw), file writing, pcap
generation
Flowinspect: Architecture
Flowinspect: Architecture
Flowinspect: Architecture
Flowinspect: Architecture
●

Has 3 modules: input, inspection, and output
–

Input: libnids, BPF expressions,
offset/depth, max flow/packet inspection
counters

–

Inspection: regex, fuzzy, yara, shellcode

–

Output: match statistics, outmodes (meta,
print, hex, raw), file writing, pcap
generation
Flowinspect: Architecture
Flowinspect: Architecture
●

Has 3 modules: input, inspection, and output
–

Input: libnids, BPF expressions,
offset/depth, max flow/packet inspection
counters

–

Inspection: regex, fuzzy, yara, shellcode

–

Output: match statistics, outmodes (meta,
print, hex, raw), file writing, pcap
generation
Flowinspect: Architecture
Flowinspect: Architecture
Flowinspect: Architecture
Real-World Usecase Scenarios/
Demo
Future Goals
●

Protocol decoders for HTTP, SMTP, POP3, IMAP, etc.

●

File extraction and hash based inspection

●

●

●

●

Javascript deobfuscation using SpiderMonkey
or/and v8
File format characterization for Jar/PDF/Flash/MS
Office/ELF/PE/...
Integration with online scanners like VirusTotal,
Wepawet, Anubis, Jsunpack, etc.
Opensource - New ideas, suggestions, bugfixes are all
equally welcome
Credits
●

Many thanks to the following projects:
–

The Python Community

–

Libnids and Pynids

–

Fuzzywuzzy

–

Yara

–

Libemu and pyLibemu

•

FOSS community in general

•

Juniper Networks
Q&A
Thanks for your attention
Flowinspect - A Network Inspection Tool

More Related Content

PPTX
Network based file carving
PPTX
Forensic Analysis - Empower Tech Days 2013
PPTX
PPTX
Reverse Engineering Malware: A look inside Operation Tovar
PPT
Investigating server logs
PPTX
PHP's Filter Module
PPTX
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...
Network based file carving
Forensic Analysis - Empower Tech Days 2013
Reverse Engineering Malware: A look inside Operation Tovar
Investigating server logs
PHP's Filter Module
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...

Viewers also liked (20)

PDF
DABiS800
PDF
Dematic Logistics Review #4
PPT
Tieto Enator
PDF
Optimizing the Virtual Environment
PDF
OutSys Company Presentation
PDF
Safend- DL
PDF
Bloombase 为 KVM 企业级虚拟数据中心提供全方位信息安全保护及运算
PDF
Mapa Mental
PDF
Guide to Investment: Republic of Tatarstan
PDF
30 Band Marks
PDF
Tranzeo
PPT
New concepts in human
PDF
Catalog Sew-Eurodrive
PPTX
History of the llano estacado
PDF
Estrategias y recursos i
PPT
E-group's pitch
 
PPT
Desafios jurídicos de Internet
ODP
Girl, interrupted
PPT
Somerdata AROW Data Diode
PPTX
ABP o PBL
DABiS800
Dematic Logistics Review #4
Tieto Enator
Optimizing the Virtual Environment
OutSys Company Presentation
Safend- DL
Bloombase 为 KVM 企业级虚拟数据中心提供全方位信息安全保护及运算
Mapa Mental
Guide to Investment: Republic of Tatarstan
30 Band Marks
Tranzeo
New concepts in human
Catalog Sew-Eurodrive
History of the llano estacado
Estrategias y recursos i
E-group's pitch
 
Desafios jurídicos de Internet
Girl, interrupted
Somerdata AROW Data Diode
ABP o PBL
Ad

Similar to Flowinspect - A Network Inspection Tool (20)

PDF
Time Series Tech Stack for the IoT Edge
PDF
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI server
PDF
Monitoring&Logging - Stanislav Kolenkin
PDF
Reactive Hypermedia APIs
PPTX
Debugging Microservices - key challenges and techniques - Microservices Odesa...
PPTX
Tech talk microservices debugging
PDF
Network visibility and control using industry standard sFlow telemetry
PDF
Reactive Hypermedia
KEY
The sFlow Standard: Scalable, Unified Monitoring of Networks, Systems and App...
PDF
Scalable Online Analytics for Monitoring
PPTX
Practical SPARQL Benchmarking Revisited
PPTX
Applied Detection and Analysis Using Flow Data - MIRCon 2014
PPTX
Siddhi: A Second Look at Complex Event Processing Implementations
PPTX
Apache Flink: Past, Present and Future
PDF
Building a system for machine and event-oriented data - SF HUG Nov 2015
KEY
Polyglot parallelism
PPTX
Streaming ETL for All
PPTX
Project Deimos
PDF
Bay Area Apache Flink Meetup Community Update August 2015
PDF
PRIME OOPSLA12 paper
Time Series Tech Stack for the IoT Edge
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI server
Monitoring&Logging - Stanislav Kolenkin
Reactive Hypermedia APIs
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Tech talk microservices debugging
Network visibility and control using industry standard sFlow telemetry
Reactive Hypermedia
The sFlow Standard: Scalable, Unified Monitoring of Networks, Systems and App...
Scalable Online Analytics for Monitoring
Practical SPARQL Benchmarking Revisited
Applied Detection and Analysis Using Flow Data - MIRCon 2014
Siddhi: A Second Look at Complex Event Processing Implementations
Apache Flink: Past, Present and Future
Building a system for machine and event-oriented data - SF HUG Nov 2015
Polyglot parallelism
Streaming ETL for All
Project Deimos
Bay Area Apache Flink Meetup Community Update August 2015
PRIME OOPSLA12 paper
Ad

Recently uploaded (20)

PDF
Consumable AI The What, Why & How for Small Teams.pdf
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
Architecture types and enterprise applications.pdf
PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
Configure Apache Mutual Authentication
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Five Habits of High-Impact Board Members
PDF
sustainability-14-14877-v2.pddhzftheheeeee
Consumable AI The What, Why & How for Small Teams.pdf
OpenACC and Open Hackathons Monthly Highlights July 2025
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Architecture types and enterprise applications.pdf
Flame analysis and combustion estimation using large language and vision assi...
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A proposed approach for plagiarism detection in Myanmar Unicode text
Getting started with AI Agents and Multi-Agent Systems
A review of recent deep learning applications in wood surface defect identifi...
CloudStack 4.21: First Look Webinar slides
Taming the Chaos: How to Turn Unstructured Data into Decisions
Enhancing emotion recognition model for a student engagement use case through...
A comparative study of natural language inference in Swahili using monolingua...
Configure Apache Mutual Authentication
A contest of sentiment analysis: k-nearest neighbor versus neural network
1 - Historical Antecedents, Social Consideration.pdf
Five Habits of High-Impact Board Members
sustainability-14-14877-v2.pddhzftheheeeee

Flowinspect - A Network Inspection Tool

  • 1. Flowinspect - A Network Inspection Tool Ankur Tyagi (@7h3rAm)
  • 2. Outline ● Understanding Incident Response Requirements ● Vision for an Ideal Inspection Tool ● Introducing Flowinspect as a Viable Solution ● Flowinspect: Architecture ● Real-World Usecase Scenarios ● Future Goals
  • 3. Understanding Incident Response Requirements ● ● ● You have been called to investigate an incident You analyze evidence and find traces of a malware You want to know: – Who were the actors? – What did they talk about? – What secrets did they share? – Which other hosts were compromised?
  • 4. Understanding Incident Response Requirements ● ● ● ● ● Immediate response requires data Data from the exploit, payload delivered, C&C channel, etc. Tools like Wireshark, tcpdump, ngrep and flowgrep are helpful But they all have a few shortcomings Many are flow/stream agnostic and lack inspection features
  • 5. Understanding Incident Response Requirements ● ● ● ● ● Tcpdump/Wireshark – Packet sniffing and comprehensive protocol decoding Ngrep/Flowgrep – Packet sniffing and regex matching over L4 packets and streams resp. How about network shellcode detection? How about malware identification and extraction from network flows? None of above tools address these requirements
  • 6. Vision for an Ideal Inspection Tool ● Malware identification via signatures ● Shellcode emulation/detection ● Extraction of matching flows to files ● Match statistics (direction, offset, depth, size, packet #) ● Snort like Content Modifiers (offset/depth) ● Pcap generation for matching flows ● TCP reset for matching flows
  • 7. Introducing Flowinspect as a Viable Solution
  • 8. Introducing Flowinspect as a Viable Solution ● ● ● ● IP defragmentation and TCP reassembly extract data into stream buffers Multiple inspection modes – regex, fuzzy string, Yara, shellcode detection Inspection happens over layer 4 payload and as such is immune to fragmentation attacks Matching flows dumped via (a combination of) output modes for lateral analysis
  • 9. Flowinspect: Architecture ● Has 3 modules: input, inspection, and output – Input: libnids, BPF expressions, offset/depth, max flow/packet inspection counters – Inspection: regex, fuzzy, yara, shellcode – Output: match statistics, outmodes (meta, print, hex, raw), file writing, pcap generation
  • 10. Flowinspect: Architecture ● Has 3 modules: input, inspection, and output – Input: libnids, BPF expressions, offset/depth, max flow/packet inspection counters – Inspection: regex, fuzzy, yara, shellcode – Output: match statistics, outmodes (meta, print, hex, raw), file writing, pcap generation
  • 11. Flowinspect: Architecture ● Has 3 modules: input, inspection, and output – Input: libnids, BPF expressions, offset/depth, max flow/packet inspection counters – Inspection: regex, fuzzy, yara, shellcode – Output: match statistics, outmodes (meta, print, hex, raw), file writing, pcap generation
  • 15. Flowinspect: Architecture ● Has 3 modules: input, inspection, and output – Input: libnids, BPF expressions, offset/depth, max flow/packet inspection counters – Inspection: regex, fuzzy, yara, shellcode – Output: match statistics, outmodes (meta, print, hex, raw), file writing, pcap generation
  • 19. Flowinspect: Architecture ● Has 3 modules: input, inspection, and output – Input: libnids, BPF expressions, offset/depth, max flow/packet inspection counters – Inspection: regex, fuzzy, yara, shellcode – Output: match statistics, outmodes (meta, print, hex, raw), file writing, pcap generation
  • 21. Flowinspect: Architecture ● Has 3 modules: input, inspection, and output – Input: libnids, BPF expressions, offset/depth, max flow/packet inspection counters – Inspection: regex, fuzzy, yara, shellcode – Output: match statistics, outmodes (meta, print, hex, raw), file writing, pcap generation
  • 26. Future Goals ● Protocol decoders for HTTP, SMTP, POP3, IMAP, etc. ● File extraction and hash based inspection ● ● ● ● Javascript deobfuscation using SpiderMonkey or/and v8 File format characterization for Jar/PDF/Flash/MS Office/ELF/PE/... Integration with online scanners like VirusTotal, Wepawet, Anubis, Jsunpack, etc. Opensource - New ideas, suggestions, bugfixes are all equally welcome
  • 27. Credits ● Many thanks to the following projects: – The Python Community – Libnids and Pynids – Fuzzywuzzy – Yara – Libemu and pyLibemu • FOSS community in general • Juniper Networks
  • 28. Q&A
  • 29. Thanks for your attention