Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.


  • Be the first to comment

  • Be the first to like this


  1. 1. EAR(E)xtensible (A)pi for (R)econnaissance
  2. 2. What/Why/How• Automatable Reconnaissance• Similar Maltego• Very early stage• Rails 2.3.8
  3. 3. Pentesters care about• Organizations• Users• Domains• Devices (Hosts) / Services / Apps• Locations• etc...
  4. 4. USAGEo = Organization.create :name => “masshackers” o.tasks o.run_task(“dns_tld_brute”)
  5. 5. USAGEo = Organization.find_by_name(“masshackers”) o.children
  6. 6. USAGEo = Organization.find_by_name(“masshackers”) o.devices o.users
  7. 7. USAGEo = Organization.find_by_name(“masshackers”) o.run_task(“dns_tld_brute”) do |d| d.run_task(“dns_sub_brute”) end
  8. 8. Background Concepts• Database Schema / Objects• Active Record (Rails ORM)• Task Manager• Object Manager
  9. 9. Background Concepts• ORM makes it easy to interact w/ a view of the world.• Keep track of things you care about, but for free
  10. 10. Objects• Rails makes it simple to declare objects• Migration create_table "organizations" do |t| t.string "name" t.text "description" t.string "address" t.string "email_mask" end• Class Definition def Organization end
  11. 11. Object Manager• Maintains relationships between objects• Who created who? (Parent / Child)
  12. 12. Tasks• Methods to make sure they can operate on an object• Setup/Run/Cleanup• Create new objects!
  13. 13. Task Manager• Maintains a list of known tasks• Lets us check to see if we can operate on an object• Runs task methods in the right order (setup / run / cleanup)• Records task runs
  14. 14. Objects->Tasks• Each Task has a: • allowed_types • update_types • create_types• TaskManager checks these at task run time
  15. 15. Tasks -> Objects• Task has a create_object method • creates the object • uses the object manager to maintain parent child relationships
  16. 16. Interacting• Rails isn’t just a web framework• script/console is super-powerful• interact directly with models
  17. 17. demo!