SlideShare a Scribd company logo
1 of 18
A beginner’s guide to contributing to an
Open Source Project
Module Making in recon-ng
NovaHackers June 2013Micah Hoffman @WebBreacher
Who am I?
 Micah Hoffman - @WebBreacher
 Internal penetration tester
 Recon-ng module-maker
 SANS Mentor
 Appalachian Trail hiker
NovaHackers June 2013Micah Hoffman @WebBreacher
The Setup
 Wanted to learn a new language
 Needed a reason/direction
 Thought about contributing to some tool
 No coding experience
 Found recon-ng
 Fit with my work tasks
 Fit with the programming language I use (python)
 How do you contribute?
NovaHackers June 2013Micah Hoffman @WebBreacher
Recon-ng (Highlights)
Language Python (2.7)
Code Management Git (bitbucket.org)
Owner Tim Tomes - @LaNMaSteR53
Purpose Web Reconnaissance
framework
NovaHackers June 2013Micah Hoffman @WebBreacher
Code Management - git
 Make account on bitbucket.org
 Fork recon-ng repository (copy into your
account)
 Set up your computer to work on the code
 Python, IDE/Text Editor (syntax highlighting
helps)
 git
 Learn about git
 Lotsa docs on Interwebs
 Fork, Clone, Pull, Add, Commit, Push, Branch
NovaHackers June 2013Micah Hoffman @WebBreacher
What will the module do?
 Generally the hardest part for me
 Get ideas:
 Twitter, coworkers/friends, web sites you use
 Keep a log of ideas
 Overall function of my module
 User enters information
 recon-ng retrieves data from site
 Parse response data for something
 Display
NovaHackers June 2013Micah Hoffman @WebBreacher
Google IDs
 Thought:
 Google Analytics and Google AdSense codes are
used on multiple sites
 Means that sites are related somehow
 Same developers?
 Same maintainers?
 Same owners?
 Simple Regexes to locate codes
 ["'](UA-d+)
 ["'](pub-d+)
NovaHackers June 2013Micah Hoffman @WebBreacher
Find a web app for lookups
NovaHackers June 2013Micah Hoffman @WebBreacher
Look at response/results
NovaHackers June 2013Micah Hoffman @WebBreacher
Results parse-able?
• Yes!
• Regex: <div class="row"><a[^>]*>(.+?)</a>
NovaHackers June 2013Micah Hoffman @WebBreacher
Make the module
 RTFM – recon-ng
 https://bitbucket.org/LaNMaSteR53/recon-ng/wiki/Home
 Examine other modules
NovaHackers June 2013Micah Hoffman @WebBreacher
The code
NovaHackers June 2013Micah Hoffman @WebBreacher
The results
NovaHackers June 2013Micah Hoffman @WebBreacher
Submission and Review
 Git add/commit/push to your account
 Create a “pull” request to pull into tool’s main
trunk
 Module will be reviewed and commented on
 Address issues/comments
 Resubmit
 Lather, rinse, repeat
 Pull request accepted and merged
 Git clone the main branch

 Move to the next module
NovaHackers June 2013Micah Hoffman @WebBreacher
Bonus: dev_diver
 How about a module that takes a
hacker/coder nym and checks coding sites
for it?
 Introducing dev_diver (not in recon-ng yet!)
 Got the module…just need a hacker name
 Volunteers?
NovaHackers June 2013Micah Hoffman @WebBreacher
Thanks for volunteering Rob!
“mubix” it is!
NovaHackers June 2013Micah Hoffman @WebBreacher
Bonus: dev_diver
7,946 photos
NovaHackers June 2013Micah Hoffman @WebBreacher
Micah Hoffman @WebBreacher
http://webbreacher.blogspot.com/
Questions?

More Related Content

Viewers also liked

Protecting confidential files using SE-Linux
Protecting confidential files using SE-LinuxProtecting confidential files using SE-Linux
Protecting confidential files using SE-LinuxGiuseppe Paterno'
 
SHOWDOWN: Threat Stack vs. Red Hat AuditD
SHOWDOWN: Threat Stack vs. Red Hat AuditDSHOWDOWN: Threat Stack vs. Red Hat AuditD
SHOWDOWN: Threat Stack vs. Red Hat AuditDThreat Stack
 
How To Train Your Python
How To Train Your PythonHow To Train Your Python
How To Train Your PythonJordi Riera
 
Open Audit
Open AuditOpen Audit
Open Auditncspa
 
Dealing with Linux Malware
Dealing with Linux MalwareDealing with Linux Malware
Dealing with Linux MalwareMichael Boelen
 
Bringing Infosec Into The Devops Tribe: Q&A With Gene Kim and Pete Cheslock
Bringing Infosec Into The Devops Tribe: Q&A With Gene Kim and Pete CheslockBringing Infosec Into The Devops Tribe: Q&A With Gene Kim and Pete Cheslock
Bringing Infosec Into The Devops Tribe: Q&A With Gene Kim and Pete CheslockThreat Stack
 
Whitepaper: User Audit Options for Linux and Solaris
Whitepaper: User Audit Options for Linux and SolarisWhitepaper: User Audit Options for Linux and Solaris
Whitepaper: User Audit Options for Linux and SolarisObserveIT
 
MySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionMySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionOlivier DASINI
 
2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview
2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview
2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security OverviewShawn Wells
 
Network Security and Analysis with Python
Network Security and Analysis with PythonNetwork Security and Analysis with Python
Network Security and Analysis with Pythonpycontw
 
Linux Security Scanning with Lynis
Linux Security Scanning with LynisLinux Security Scanning with Lynis
Linux Security Scanning with LynisMichael Boelen
 
How to make an e learning module
How to make an e learning moduleHow to make an e learning module
How to make an e learning moduleTooNey Krongpho
 
Handling of compromised Linux systems
Handling of compromised Linux systemsHandling of compromised Linux systems
Handling of compromised Linux systemsMichael Boelen
 

Viewers also liked (16)

Protecting confidential files using SE-Linux
Protecting confidential files using SE-LinuxProtecting confidential files using SE-Linux
Protecting confidential files using SE-Linux
 
Audit
AuditAudit
Audit
 
SHOWDOWN: Threat Stack vs. Red Hat AuditD
SHOWDOWN: Threat Stack vs. Red Hat AuditDSHOWDOWN: Threat Stack vs. Red Hat AuditD
SHOWDOWN: Threat Stack vs. Red Hat AuditD
 
How To Train Your Python
How To Train Your PythonHow To Train Your Python
How To Train Your Python
 
Open Audit
Open AuditOpen Audit
Open Audit
 
Linux audit framework
Linux audit frameworkLinux audit framework
Linux audit framework
 
Dealing with Linux Malware
Dealing with Linux MalwareDealing with Linux Malware
Dealing with Linux Malware
 
Bringing Infosec Into The Devops Tribe: Q&A With Gene Kim and Pete Cheslock
Bringing Infosec Into The Devops Tribe: Q&A With Gene Kim and Pete CheslockBringing Infosec Into The Devops Tribe: Q&A With Gene Kim and Pete Cheslock
Bringing Infosec Into The Devops Tribe: Q&A With Gene Kim and Pete Cheslock
 
Whitepaper: User Audit Options for Linux and Solaris
Whitepaper: User Audit Options for Linux and SolarisWhitepaper: User Audit Options for Linux and Solaris
Whitepaper: User Audit Options for Linux and Solaris
 
Python build your security tools.pdf
Python build your security tools.pdfPython build your security tools.pdf
Python build your security tools.pdf
 
MySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionMySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise Edition
 
2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview
2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview
2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview
 
Network Security and Analysis with Python
Network Security and Analysis with PythonNetwork Security and Analysis with Python
Network Security and Analysis with Python
 
Linux Security Scanning with Lynis
Linux Security Scanning with LynisLinux Security Scanning with Lynis
Linux Security Scanning with Lynis
 
How to make an e learning module
How to make an e learning moduleHow to make an e learning module
How to make an e learning module
 
Handling of compromised Linux systems
Handling of compromised Linux systemsHandling of compromised Linux systems
Handling of compromised Linux systems
 

Recently uploaded

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Module Making in recon-ng

  • 1. A beginner’s guide to contributing to an Open Source Project Module Making in recon-ng NovaHackers June 2013Micah Hoffman @WebBreacher
  • 2. Who am I?  Micah Hoffman - @WebBreacher  Internal penetration tester  Recon-ng module-maker  SANS Mentor  Appalachian Trail hiker NovaHackers June 2013Micah Hoffman @WebBreacher
  • 3. The Setup  Wanted to learn a new language  Needed a reason/direction  Thought about contributing to some tool  No coding experience  Found recon-ng  Fit with my work tasks  Fit with the programming language I use (python)  How do you contribute? NovaHackers June 2013Micah Hoffman @WebBreacher
  • 4. Recon-ng (Highlights) Language Python (2.7) Code Management Git (bitbucket.org) Owner Tim Tomes - @LaNMaSteR53 Purpose Web Reconnaissance framework NovaHackers June 2013Micah Hoffman @WebBreacher
  • 5. Code Management - git  Make account on bitbucket.org  Fork recon-ng repository (copy into your account)  Set up your computer to work on the code  Python, IDE/Text Editor (syntax highlighting helps)  git  Learn about git  Lotsa docs on Interwebs  Fork, Clone, Pull, Add, Commit, Push, Branch NovaHackers June 2013Micah Hoffman @WebBreacher
  • 6. What will the module do?  Generally the hardest part for me  Get ideas:  Twitter, coworkers/friends, web sites you use  Keep a log of ideas  Overall function of my module  User enters information  recon-ng retrieves data from site  Parse response data for something  Display NovaHackers June 2013Micah Hoffman @WebBreacher
  • 7. Google IDs  Thought:  Google Analytics and Google AdSense codes are used on multiple sites  Means that sites are related somehow  Same developers?  Same maintainers?  Same owners?  Simple Regexes to locate codes  ["'](UA-d+)  ["'](pub-d+) NovaHackers June 2013Micah Hoffman @WebBreacher
  • 8. Find a web app for lookups NovaHackers June 2013Micah Hoffman @WebBreacher
  • 9. Look at response/results NovaHackers June 2013Micah Hoffman @WebBreacher
  • 10. Results parse-able? • Yes! • Regex: <div class="row"><a[^>]*>(.+?)</a> NovaHackers June 2013Micah Hoffman @WebBreacher
  • 11. Make the module  RTFM – recon-ng  https://bitbucket.org/LaNMaSteR53/recon-ng/wiki/Home  Examine other modules NovaHackers June 2013Micah Hoffman @WebBreacher
  • 12. The code NovaHackers June 2013Micah Hoffman @WebBreacher
  • 13. The results NovaHackers June 2013Micah Hoffman @WebBreacher
  • 14. Submission and Review  Git add/commit/push to your account  Create a “pull” request to pull into tool’s main trunk  Module will be reviewed and commented on  Address issues/comments  Resubmit  Lather, rinse, repeat  Pull request accepted and merged  Git clone the main branch   Move to the next module NovaHackers June 2013Micah Hoffman @WebBreacher
  • 15. Bonus: dev_diver  How about a module that takes a hacker/coder nym and checks coding sites for it?  Introducing dev_diver (not in recon-ng yet!)  Got the module…just need a hacker name  Volunteers? NovaHackers June 2013Micah Hoffman @WebBreacher
  • 16. Thanks for volunteering Rob! “mubix” it is! NovaHackers June 2013Micah Hoffman @WebBreacher
  • 17. Bonus: dev_diver 7,946 photos NovaHackers June 2013Micah Hoffman @WebBreacher