際際滷

際際滷Share a Scribd company logo
Cutting accounts down to
         SCYTHE!
       Chris John Riley
Cutting accounts down to scythe
THE WISEST MAN, IS HE
 WHO KNOWS, THAT HE
   KNOWS NOTHING
             SOCRATES: APOLOGY, 21D
NOT
AN EXPERT!
1) What
2) Why
3) How
4) Qs
WHAT?
FRAMEWORK FOR
    USER
 ENUMERATION
Cutting accounts down to scythe
What

Written in Python
 Threaded
Modular
 Description files (XML)
Easy to use
 Hopefully!
WHY?
BECAUSE
PENETRATION
TESTERS ARE
Cutting accounts down to scythe
Why

Speed up account enumeration
  POC Examples
Offer advanced features
  Cookie support
  CSRF token collection
  Wait / Retries
  Threading
HOW?
IT ALL STARTS
WITH A MODULE
BASIC
Basic module
<module>
 <site>
  <name>basic module</name>
  <url>
  <![CDATA[https://example.com/signup_check/
  username=<ACCOUNT>]]>
  </url>
  <method>GET</method>
  <successmatch>taken</successmatch>
 </site>
</module>
ADVANCED
<!-- Wordpress.com - Logon user enumeration issue -->
<module>
  <site>
     <name>Wordpress.com</name>
     <url><![CDATA[https://wordpress.com/wp-login.php]]></url>
     <method>POST</method>
     <postParameters>
     <![CDATA [log=<ACCOUNT>&pwd=<RANDOM>redirect_to=http://wordpress.com]]>
     </postParameters>
     <headers></headers>
     <requestCookie>False</requestCookie>
     <requestCSRF>False</requestCSRF>
     <successmatch>The password you entered for the email or user</successmatch>
     <negativematch>Invalid email or username</negativematch>
     <errormatch>You have exceeded the login limit</errormatch>
     <date>13/09/2012</date>
     <version>2</version>
     <author>CJR</author>
     <category>blogs</category>
  </site>
</module>
<!-- Wordpress.com - Logon user enumeration issue -->
<module>
  <site>
     <name>Wordpress.com</name>
     <url><![CDATA[https://wordpress.com/wp-login.php]]></url>
     <method>POST</method>
     <postParameters>
     <![CDATA [log=<ACCOUNT>&pwd=<RANDOM>redirect_to=http://wordpress.com]]>
     </postParameters>
     <headers></headers>
     <requestCookie>False</requestCookie>
     <requestCSRF>False</requestCSRF>
     <successmatch>The password you entered for the email or user</successmatch>
     <negativematch>Invalid email or username</negativematch>
     <errormatch>You have exceeded the login limit</errormatch>
     <date>13/09/2012</date>
     <version>2</version>
     <author>CJR</author>
     <category>blogs</category>
  </site>
</module>
<!-- Wordpress.com - Logon user enumeration issue -->
<module>
  <site>
      <name>Wordpress.com</name>
      <url><![CDATA[https://wordpress.com/wp-
        login.php]]></url>
      <method>POST</method>
      <postParameters>
    <![CDATA
    [log=<ACCOUNT>&pwd=<RANDOM>redirect_to=
    http://wordpress.com]]>
      </postParameters>
<headers></headers>
    <requestCookie>False</requestCookie>
    <requestCSRF>False</requestCSRF>
    <successmatch>The password you entered for the email or
       user</successmatch>
    <negativematch>Invalid email or username</negativematch>
    <errormatch>You have exceeded the login limit</errormatch>
    <date>13/09/2012</date>
    <version>2</version>
    <author>CJR</author>
    <category>blogs</category>
  </site>
</module>
ADD A LIST OF
USERNAMES /
   EMAILS
# usernames/email 1 per line

test
testuser
testuser2
testtest
devuser


    or just -account=test,test2,
MIX AND LEAVE TO
 RUN FOR A FEW
   MINUTES
Cutting accounts down to scythe
Cutting accounts down to scythe
How

 XML contains replacement points
    <ACCOUNT>
    <RANDOM>
    <CSRFTOKEN>

 These are used to create testcases
GOALS
Goals

 Flexible Running
   Single module (targeted)
     --single wordpress.com
   Category of modules
     --category=blogs
   Single account
     --account=test
   Filename containing accounts
     --accountfile=accounts.txt
Goals

 Flexible Handling
   Error detection
     Retry on error (<errorcode>)
     -- retries and --retrytime
   Handles cookies and CSRF tokens
     <CSRF_URL>
     <CSRF_regex> to extract token
     Insert into request using <CSRFTOKEN>
Goals

 Flexible Output
   Verbose output
     Detailed request info
   Output success to file
   Summary at completion
   Debug mode
     Stores body and headers for each request
Cutting accounts down to scythe
Cutting accounts down to scythe
GITHUB.COM/CHRISJOHNRILEY/SCYTHE
Questions?
GO FORTH AND
ENUMERATE ALL
  THE THINGS!
Thanks for coming
     http://c22.cc
   contact@c22.cc
Ad

Recommended

Dev traning 2016 intro to the web
Dev traning 2016 intro to the web
Sacheen Dhanjie
WordPress SugarCRM Customer Portal Pro Plugin
WordPress SugarCRM Customer Portal Pro Plugin
Biztech Store
Cookies
Cookies
Ramraj Choudhary
Latest Java Setting for MCA Portal(MANUAL)
Latest Java Setting for MCA Portal(MANUAL)
GAURAV KR SHARMA
Tools for Open Source Intelligence (OSINT)
Tools for Open Source Intelligence (OSINT)
Sudhanshu Chauhan
Defense by numbers: Making problems for script kiddies
Defense by numbers: Making problems for script kiddies
Chris John Riley
Defense by numbers: Making Problems for Script Kiddies and Scanner Monkeys
Defense by numbers: Making Problems for Script Kiddies and Scanner Monkeys
Chris John Riley
Social Media Monitoring tools as an OSINT platform for intelligence
Social Media Monitoring tools as an OSINT platform for intelligence
E Hacking
Programming in php
Programming in php
recck
BruCon 2011 Lightning talk winner: Web app testing without attack traffic
BruCon 2011 Lightning talk winner: Web app testing without attack traffic
Abraham Aranguren
I put on my mink and wizard behat - Confoo Canada
I put on my mink and wizard behat - Confoo Canada
xsist10
CNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking Authentication
Sam Bowne
Ch 6: Attacking Authentication
Ch 6: Attacking Authentication
Sam Bowne
You Shall Not Pass - Security in Symfony
You Shall Not Pass - Security in Symfony
The Software House
CNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking Authentication
Sam Bowne
Penetration Testing Report
Penetration Testing Report
Aman Srivastava
Robot framework - SAST V辰st Q3
Robot framework - SAST V辰st Q3
Anders Arnholm
Integrated security testing public
Integrated security testing public
Morgan Roman
Codeception Testing Framework -- English #phpkansai
Codeception Testing Framework -- English #phpkansai
Florent Batard
Enabling agile devliery through enabling BDD in PHP projects
Enabling agile devliery through enabling BDD in PHP projects
Konstantin Kudryashov
Python Code Camp for Professionals 4/4
Python Code Camp for Professionals 4/4
DEVCON
I put on my mink and wizard behat
I put on my mink and wizard behat
xsist10
WordPress Acceptance Testing, Solved!
WordPress Acceptance Testing, Solved!
Taylor Lovett
Course_Presentation cyber --------------.pptx
Course_Presentation cyber --------------.pptx
ssuser020436
Romulus OWASP
Romulus OWASP
Grupo Gesfor I+D+i
Web Bugs
Web Bugs
Dr Rushi Raval
Unusual Web Bugs
Unusual Web Bugs
amiable_indian
CNIT 129: 6. Attacking Authentication
CNIT 129: 6. Attacking Authentication
Sam Bowne
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore

More Related Content

Similar to Cutting accounts down to scythe (20)

Programming in php
Programming in php
recck
BruCon 2011 Lightning talk winner: Web app testing without attack traffic
BruCon 2011 Lightning talk winner: Web app testing without attack traffic
Abraham Aranguren
I put on my mink and wizard behat - Confoo Canada
I put on my mink and wizard behat - Confoo Canada
xsist10
CNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking Authentication
Sam Bowne
Ch 6: Attacking Authentication
Ch 6: Attacking Authentication
Sam Bowne
You Shall Not Pass - Security in Symfony
You Shall Not Pass - Security in Symfony
The Software House
CNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking Authentication
Sam Bowne
Penetration Testing Report
Penetration Testing Report
Aman Srivastava
Robot framework - SAST V辰st Q3
Robot framework - SAST V辰st Q3
Anders Arnholm
Integrated security testing public
Integrated security testing public
Morgan Roman
Codeception Testing Framework -- English #phpkansai
Codeception Testing Framework -- English #phpkansai
Florent Batard
Enabling agile devliery through enabling BDD in PHP projects
Enabling agile devliery through enabling BDD in PHP projects
Konstantin Kudryashov
Python Code Camp for Professionals 4/4
Python Code Camp for Professionals 4/4
DEVCON
I put on my mink and wizard behat
I put on my mink and wizard behat
xsist10
WordPress Acceptance Testing, Solved!
WordPress Acceptance Testing, Solved!
Taylor Lovett
Course_Presentation cyber --------------.pptx
Course_Presentation cyber --------------.pptx
ssuser020436
Romulus OWASP
Romulus OWASP
Grupo Gesfor I+D+i
Web Bugs
Web Bugs
Dr Rushi Raval
Unusual Web Bugs
Unusual Web Bugs
amiable_indian
CNIT 129: 6. Attacking Authentication
CNIT 129: 6. Attacking Authentication
Sam Bowne
Programming in php
Programming in php
recck
BruCon 2011 Lightning talk winner: Web app testing without attack traffic
BruCon 2011 Lightning talk winner: Web app testing without attack traffic
Abraham Aranguren
I put on my mink and wizard behat - Confoo Canada
I put on my mink and wizard behat - Confoo Canada
xsist10
CNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking Authentication
Sam Bowne
Ch 6: Attacking Authentication
Ch 6: Attacking Authentication
Sam Bowne
You Shall Not Pass - Security in Symfony
You Shall Not Pass - Security in Symfony
The Software House
CNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking Authentication
Sam Bowne
Penetration Testing Report
Penetration Testing Report
Aman Srivastava
Robot framework - SAST V辰st Q3
Robot framework - SAST V辰st Q3
Anders Arnholm
Integrated security testing public
Integrated security testing public
Morgan Roman
Codeception Testing Framework -- English #phpkansai
Codeception Testing Framework -- English #phpkansai
Florent Batard
Enabling agile devliery through enabling BDD in PHP projects
Enabling agile devliery through enabling BDD in PHP projects
Konstantin Kudryashov
Python Code Camp for Professionals 4/4
Python Code Camp for Professionals 4/4
DEVCON
I put on my mink and wizard behat
I put on my mink and wizard behat
xsist10
WordPress Acceptance Testing, Solved!
WordPress Acceptance Testing, Solved!
Taylor Lovett
Course_Presentation cyber --------------.pptx
Course_Presentation cyber --------------.pptx
ssuser020436
CNIT 129: 6. Attacking Authentication
CNIT 129: 6. Attacking Authentication
Sam Bowne

Recently uploaded (20)

UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
Mastering AI Workflows with FME by Mark Doring
Mastering AI Workflows with FME by Mark Doring
Safe Software
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
Mastering AI Workflows with FME by Mark Doring
Mastering AI Workflows with FME by Mark Doring
Safe Software
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
Ad

Cutting accounts down to scythe

  • 1. Cutting accounts down to SCYTHE! Chris John Riley
  • 3. THE WISEST MAN, IS HE WHO KNOWS, THAT HE KNOWS NOTHING SOCRATES: APOLOGY, 21D
  • 5. 1) What 2) Why 3) How 4) Qs
  • 7. FRAMEWORK FOR USER ENUMERATION
  • 9. What Written in Python Threaded Modular Description files (XML) Easy to use Hopefully!
  • 10. WHY?
  • 13. Why Speed up account enumeration POC Examples Offer advanced features Cookie support CSRF token collection Wait / Retries Threading
  • 14. HOW?
  • 15. IT ALL STARTS WITH A MODULE
  • 16. BASIC
  • 17. Basic module <module> <site> <name>basic module</name> <url> <![CDATA[https://example.com/signup_check/ username=<ACCOUNT>]]> </url> <method>GET</method> <successmatch>taken</successmatch> </site> </module>
  • 19. <!-- Wordpress.com - Logon user enumeration issue --> <module> <site> <name>Wordpress.com</name> <url><![CDATA[https://wordpress.com/wp-login.php]]></url> <method>POST</method> <postParameters> <![CDATA [log=<ACCOUNT>&pwd=<RANDOM>redirect_to=http://wordpress.com]]> </postParameters> <headers></headers> <requestCookie>False</requestCookie> <requestCSRF>False</requestCSRF> <successmatch>The password you entered for the email or user</successmatch> <negativematch>Invalid email or username</negativematch> <errormatch>You have exceeded the login limit</errormatch> <date>13/09/2012</date> <version>2</version> <author>CJR</author> <category>blogs</category> </site> </module>
  • 20. <!-- Wordpress.com - Logon user enumeration issue --> <module> <site> <name>Wordpress.com</name> <url><![CDATA[https://wordpress.com/wp-login.php]]></url> <method>POST</method> <postParameters> <![CDATA [log=<ACCOUNT>&pwd=<RANDOM>redirect_to=http://wordpress.com]]> </postParameters> <headers></headers> <requestCookie>False</requestCookie> <requestCSRF>False</requestCSRF> <successmatch>The password you entered for the email or user</successmatch> <negativematch>Invalid email or username</negativematch> <errormatch>You have exceeded the login limit</errormatch> <date>13/09/2012</date> <version>2</version> <author>CJR</author> <category>blogs</category> </site> </module>
  • 21. <!-- Wordpress.com - Logon user enumeration issue --> <module> <site> <name>Wordpress.com</name> <url><![CDATA[https://wordpress.com/wp- login.php]]></url> <method>POST</method> <postParameters> <![CDATA [log=<ACCOUNT>&pwd=<RANDOM>redirect_to= http://wordpress.com]]> </postParameters>
  • 22. <headers></headers> <requestCookie>False</requestCookie> <requestCSRF>False</requestCSRF> <successmatch>The password you entered for the email or user</successmatch> <negativematch>Invalid email or username</negativematch> <errormatch>You have exceeded the login limit</errormatch> <date>13/09/2012</date> <version>2</version> <author>CJR</author> <category>blogs</category> </site> </module>
  • 23. ADD A LIST OF USERNAMES / EMAILS
  • 24. # usernames/email 1 per line test testuser testuser2 testtest devuser or just -account=test,test2,
  • 25. MIX AND LEAVE TO RUN FOR A FEW MINUTES
  • 28. How XML contains replacement points <ACCOUNT> <RANDOM> <CSRFTOKEN> These are used to create testcases
  • 29. GOALS
  • 30. Goals Flexible Running Single module (targeted) --single wordpress.com Category of modules --category=blogs Single account --account=test Filename containing accounts --accountfile=accounts.txt
  • 31. Goals Flexible Handling Error detection Retry on error (<errorcode>) -- retries and --retrytime Handles cookies and CSRF tokens <CSRF_URL> <CSRF_regex> to extract token Insert into request using <CSRFTOKEN>
  • 32. Goals Flexible Output Verbose output Detailed request info Output success to file Summary at completion Debug mode Stores body and headers for each request
  • 37. GO FORTH AND ENUMERATE ALL THE THINGS!
  • 38. Thanks for coming http://c22.cc contact@c22.cc