Websites and web applications power the internet as we know it, representing a juicy target for any hacker or red team. TIDoS is a framework of modules brought together for their usefulness in hacking web apps, organized into a common sense workflow. With an impressive array of active and passive OSINT modules, TIDoS has the right instrument for any web app audit.
Similar to the way Metasploit organizes an engagement into phases, TIDoS is a process-oriented framework. Keeping in mind the process of moving from stealthy scanning to active peeking before forming a plan, TIDoS neatly organizes the best tools for each category laid out in the order it should be used, naturally leading the user through the steps of discovering and exploiting vulnerabilities.
Hacking isn't about whipping out the perfect tool and cracking through security in a fraction of a second. Instead, assume that most targets have a vulnerability, and the most logical path of action is to discover and exploit it, rather than going up against more prepared defenses. The best way of doing this is to make sure that no stone is left unturned in the search for vulnerabilities, allowing the hacker to pick and choose which to exploit with relatively little risk.
The progression from broad OSINT to specific scanning is a process of identifying target surfaces and enumerating them — or learning as much as possible about them up until actually trying an exploit on a suspected vulnerability. Once we have the best understanding of target surfaces, e.g., IP addresses, domain names, and the services running behind applications, we can formulate the best plan to attack a target.
An important distinction between scanning tools that TIDoS makes is between active and passive observation. It's an important distinction to make because, depending on your target, active scanning may cause you to be immediately detected. On a corporate network, running invasive port scans on company resources is a terrible idea. Active methods produce direct contact between you and the target, and they're like shining a very bright spotlight on a target that's under surveillance.
TIDoS organizes passive and active recon into their own sections, allowing a hacker on a sensitive network to steer clear of any noisy tools that might cause them to be detected. That attention to detail is what makes TIDoS a valuable resource in organizing workflows to exploit web apps. While there is only currently a single exploitation module, TIDoS has five main phases, divided into 14 sub-phases, for a total of 108 modules available.
To use TIDoS, you'll need to install Python if you don't have it already. It's cross-platform, so you should be able to do so regardless of your operating system. Next, you'll need to update your system with an apt update command in a terminal window, and then install some required libraries with the command below.
sudo apt-get install libncurses5 libxml2 nmap tcpdump libexiv2-dev build-essential python-pip default-libmysqlclient-dev python-xmpp
Once you have Python and these libraries installed, you're really to install the TIDoS framework.
First, we'll need to clone the GitHub repository so that we can download the program. To do so, open a terminal and type the following command together.
git clone https://github.com/0xinfection/tidos-framework.git cd tidos-framework
That will download the repository and move you into its directory. (You may have to hit Enter after it's done being cloned to move into its directory.) If you type ls, you'll see the files included with the installation. Now, we'll need to make the program executable, so we'll execute the following command to give it execution privileges.
chmod +x install ./install
Now, we should be able to call TIDoS by simply typing tidos into a terminal window. Do so in order to launch the framework, and you should see an ASCII art intro display.
. ___________________________ |\_________________________/|＼ || || ＼ || The || | || TIDoS || | || Framework || | || || | || Web Application Audit || | || Framework || | || || | || From: CodeSploit || / ||_________________________|| / |/_________________________\|/ __\_________________/__/| |_______________________|/ ________________________ /oooo oooo oooo oooo /| /ooooooooooooooooooooooo/ / /ooooooooooooooooooooooo/ / /C=_____________________/_/ [---] The TIDoS Framework | Version v1.7 [---] [---] [---] [---] ~ Author : Infected Drake ~ [---] [---] ~ github.com / 0xInfection ~ [---] [---] [---] [---] 5 Phases | 14 Sub-Phases | 108 Modules [---] Welcome to The TIDoS Framework (TTF) The TIDoS Framework is a project by Team CodeSploit [#] Target web address :>
Now, let's select a website for our test. In our example, we'll be using priceline.com because it is the worst travel service that I know (your mileage may vary). We'll need to know a few things about the target before selecting it. First, let's go to the web URL and see if it uses HTTPS, as this will require TIDoS to use a different port.
When we type in priceline.com in a browser, it redirects to a URL that starts with "https" instead of "http," which means they're using transportation layer security, or TLS. Now, let's enter the web URL priceline.com to TIDoS, and select "Yes" when asked if the target uses TLS. It should bring us to the main menu for TIDoS.
. + ______ . . +. / ==== \ . + . . . . ,-~--------~-. * + ,^ ___ ^. + * . . . * * / .^ ^. \ . _ | _ | | o ! | . __ \ /--. . |_ '.___.' _| I__/_\ / )}======> + | "'----------------"| + _[ _(0): ))========> + . ! ! . I__\ / \. ]}======> . . \ TIDoS Prober / ~^-.--' ^. .^ . | +. * . "-..______.,-" . . * + . . + * . -=[ L E T S S T A R T ]=- + . ' . + + * . + * . * . Choose from the options below :  Reconnaissance & OSINT (50 modules)  Scanning & Enumeration (16 modules)  Vulnerability Analysis (37 modules)  Exploitation (beta) (1 modules)  Auxillary Modules (4 modules)  Say "alvida"! (Exit TIDoS) [#] TID :>
To start, let's check out the OSINT and recon modules. Select option 1, and you'll see the following menu asking if you want to use active, passive, or information disclosure sources.
[#] TID :> 1
* . . . . * . . . . . . ### o -=[ R E C O N N A I S S A N C E ]=- > ######- --0 + . . . ### 0 . . . . . + , , , . \ . . + . . \ . . ### . . o . > ###########- --0 . + . \ ######## . . #\##\##. > ###########- --0 . . + # #O##\### ### . + . . #*# #\##\### . + . . ##*# #\##\## + . . ##*# #o##\# . * , . . **# #\# . . . + \ . /\^ .". / ____^/\___^--____/\____O_____________/ \/\___________/\/ \______________ /\^ ^ ^ ^ ^^ ^ '\ ^ ^ --- -- - -- - - --- __ ^ -- __ ___-- ^ ^ -- __ Choose from the following options:  Passive Footprinting (Open Source Intelligence)  Active Reconnaissance (Gather via Interaction)  Information Disclosure (Errors, Emails, etc)  Back
Now, we'll start with the passive footprinting by selecting 1 again, which will give us access to passive observation tools.
[#] TID :> 1
[!] Module Selected : Passive Reconnaissance +-----------------+ | PASSIVE RECON | +-----------------+  Ping Check (Using external APi)  WhoIS Lookup (Get domain info)  GeoIP Lookup (Pinpoint Server Location)  DNS Configuration Lookup (DNSDump)  Gather Subdomains (Only indexed ones)  Reverse DNS Configuration Lookup  Subnet Enumeration (Class Based)  Reverse IP Lookup (Hosts on same server)  Domain IP History (IP History Instances)  Gather All Links from WebPage (Indexed ones)  Google Search (Search your own Query or Dork)  Google Dorking (Multiple Modules)  Wayback Machine Lookup (pure backups)  Hacked Email Check (Breached/leaked emails)  Email to Domain Resolver (Email whois)  Email Enumeration via Google Groups  Check Alias Availability (Social Networks)  Find PasteBin Posts (Domain Based)  LinkedIn Gathering (Employees, Companies)  Google Plus Gathering (Profiles Crawling)  Public Contact Info Gathering (Full Contact)  CENSYS Domain Reconnaissance (CENSYS.IO)  Threat Intelligence Gathering (Bad IPs) [A] The Auto-Awesome Module (Unleash the Beast)  Back
There are quite a lot of tools here! Because they are all passive, we can eyeball "The Auto-Awesome Module" (option A) to use every single one of these tools, generating a report of the results at the end.
This "giant red button" can take quite some time on a slow connection because it launches everything in the arsenal against the target in wave after wave of probing. Despite the intensity of the gathering, these tools should alert the target that they are under observation.
So, let's "unleash the beast" by pressing A to engage "The Auto-Awesome Module." It will run every single scan in an impressive display of automated snooping. Be aware that this will take some time. When the results come back, you should have a lot of information on the target.
[#] TID :> A
Next, we can explore the more active modules by typing 99 to go back to the previous menu. Select 2 to go to the active recon module. Here, we can learn a lot more information, at the possible risk of exposing our investigation with direct contact with the target.
[#] TID :> 99 [#] TID :> 2
[!] Module Selected : Active Reconnaissance +----------------+ | ACTIVE RECON | +----------------+  Ping/NPing Enumeration (Adaptative+Debug)  Grab HTTP Headers (Live Capture)  Find Allowed HTTP Methods (Via OPTIONS)  Examine robots.txt and sitemap.xml  Scrape Comments from Webpage (Regex Based)  Perform Advanced Traceroute (TTL Based)  Find Shared DNS Hosts (NameServer Based)  Examine SSL Certificate (Absolute)  CMS Detection (185+ CMSs supported)  Apache Status Disclosure (File Based)  WebDAV HTTP Enumeration (SEARCH, PROFIND)  Find PHPInfo File (Regular Bruteforce)  Enumerate Server behind website  Alternate Sites (User-Agent Based)  Common File Bruteforce (5 modules) [A] The Auto-Awesome Module  Back
After you've run any tools you want to try, type 99 twice to return to the main menu. Next, we'll check out the modules to scan the attack surfaces we've discovered in the scanning phase.
From the main menu, select option 2 to enter the scanning module.
[#] TID :> 2
[+] Module Selected : Scanning and Enumeation ,-. . + . + * / \ `. __..-,O + * . + : \ --''_..-'.' | . .-' `. '. + . . + + . : . .`.' \ `. / .. . + + . + \ `. ' . * . `, `. \ + + . ,|,`. `-.\ * . + '.|| ``-...__..-` ' + | | . * + * |__| + * . . /||\ . . //||\＼ + -=[ P R O B E & E N U M E R A T E ]=- + // || \＼ + __//__||__\＼_ . . * . + ____________'--------------'____________________________________________ Choose from the following options:  Remote Server WAF Enumeration (Generic) (54 WAFs)  Port Scanning and Analysis (Several Types)  Interactive Scanning with NMap (16 Preloaded modules)  Web Technologies Enumeration(FrontEnd Technologies)  Remote Server SSL Enumeration(Absolute)  Operating System Enumeration (Absolute)  Grab Banners on Services (via Open Ports)  Scan all IP Addresses Linked to Domain (CENSYS)  Let loose Crawlers on the target (Depth 1, 2 & 3) [A] Automate all one by one on target  Back
Unlike the first menu, this one is not broken down into smaller sections. Select any tools you want to run, but be aware tools in this section should not be used to scan an entire organization. These tools are much more active and could set off a lot of alarm bells if used against a target indiscriminately. For example, we can reach out and scan for a web app's firewall by selecting the first tool.
TID :> 1
[!] Type Selected : WAF Analysis [*] Loading module... =============================== W A F E N U M E R A T I O N =============================== [*] Testing the firewall/loadbalancer... [!] Making the request... [*] Response seems to be matching a WAF signature... [+] The website seems to be behind a WAF... [+] Firewall Detected : Varnish FireWall (OWASP) [+] WAF Fingerprinting module completed! [#] Press Enter to continue...
With a single command (1), we've identified "Varnish FireWall" as the one we're up against at priceline.com. While we reached out directly to do this scan, the contact probably won't be noticed by Priceline. Whether or not your target would notice it heavily depends on your target and where you're scanning from.
- Don't Miss: Brute-Force Nearly Any Website Login with Hatch
Once you're done with the scanning module, type 99 to return to the main menu.
From the main menu, type 3 and hit Enter to go to the Vulnerability Analysis module, which will give you the option between "Basic Bugs & Misconfigurations," which are of a lower priority, or "Critical Vulnerabilities," which have the potential to be more serious.
[#] TID :> 3
[!] Module Selected : Vulnerability Analysis ..... .:noONNNNNNNOon:. .:NNNNNNNmddddNNNNNNN:. :NNNNmy+:. + .:+ymNNNN: NNNNy:` + `:yNNNN NNNNy. -!NNNN NNNN/ + \NNNN NNNm- .:#####:. -mNNN \033[1;37m[0x00] \033[1;33mV U L N E R A B I L I T Y \033[1;31m :NNN+ # + # +NNN: NNNm # + # mNNN \033[1;33mE N U M E R A T I O N\033[1;31m \033[1;37m[0x00] NNNh+++ ++#+++++++++++#++ +++hNNN NNNm # + # mNNN :NNN+ # + # +NNN: NNNm- *:#####:* -mNNN NNNN\ + /NNNN NNNNy. -yNNNN NNNNy:` + `:yNNNN" :NNNNmy+:. + .:+ymNNNN: *:NNNNNNNmddddNNNNNNNN* *:!NNNNNNNNNNN!:* '''*'''  Basic Bugs & Misconfigurations (Low Priority [P0x3-P0x4])  Critical Vulnerabilities (High Priority [P0x1-P0x2])  Others (Bruters)  Back
Let's select 2 for "Critical Vulnerabilities," as I imagine a company like Priceline probably has several. In the new menu that opens, there are 13 tools we can use to probe for various vulnerabilities.
[#] TID :> 2
+------------------------------------------------------+ | TIDoS Dialog [-] [口] [×] | | ---------------------------------------------------- | | | | TIDoS has detected that you want to hunt for bugs! | | Do you wish to continue? | | | | .----------. .----------. .----------. | | | Yes | | No | | Maybe | | | '----------' '----------' '----------' | |______________________________________________________|  Insecure Cross Origin Resource Sharing (Absolute)  Same Site Scripting (Sub-Domains Based)  Clickjackable Vulnerabilities (Framable Response)  Zone Transfer Vulnerabilities (DNS Based)  Security on Cookies (HTTPOnly & Secure Flags)  Security Headers Analysis (Absolute)  Cloudflare Misconfiguration (Get Real IP)  HTTP Strict Transport Security Usage  Cross-Site Tracing (Port Based)  Network Security Misconfig. (Telnet Port Based)  Spoofable Emails (Missing SPF & DMARC Records)  Host Header Injection (Port Based)  Cookie Injection (Session Fixation) [A] Load all the modules 1 by 1  Back [#] TID :>
This is where "The Auto-Awesome Module" is a bad idea. Due to a few poor design choices in the script, it's easy to get stuck in a tool and have to exit the entire script to get out. Instead, let's try option 6 to analyze the security headers.
[#] TID :> 6
[!] Type Selected : Sec. Headers ========================================= H T T P H E A D E R A N A L Y S I S ========================================= [!] Initializing Header Analysis... [!] Ignore SSL certificate errors? (Y/n) :> y [!] Ignoring certificate errors... [-] X-Frame-Options not present (Not OK) [-] Content-Security-Policy not present (Not OK) [-] X-XSS-Protection not present (Not OK) [-] X-Content-Type-Options not present (Not OK) [I] Detected Server header - 'Server: Varnish' (Informational) [-] Referrer-Policy not present (Not OK) [I] Anomalous Header detected 'Retry-After: 0' (Possible Informational) [I] Anomalous Header detected 'Via: 1.1 varnish' (Possible Informational) [I] Anomalous Header detected 'X-Served-By: cache-lax8628-LAX' (Possible Informational) [I] Anomalous Header detected 'X-Cache: MISS' (Possible Informational) [I] Anomalous Header detected 'X-Cache-Hits: 0' (Possible Informational) [I] Anomalous Header detected 'X-Timer: S1550496323.213716,VS0,VE39' (Possible Informational) [I] Anomalous Header detected 'WSHeader: ws=fLAX/' (Possible Informational) [-] Strict-Transport-Security not present (Not OK) [-] Public-Key-Pins not present (Not OK) [+] Done! [#] Press Enter to continue...
There we go! We can quickly run any of the tools here or in the previous "Basic Bugs & Misconfigurations" module. While there are other useful modules in TIDoS, the exploitation module only includes a ShellShock attack, which isn't viable against most web applications.
Probing for vulnerabilities can involve a lot of powerful but disconnected tools, and it's often difficult to set up an effective system for planning to attack web applications. TIDoS arranges these tools usefully, combining the best tools for the job in a workflow optimized for efficiency. By giving you the ability to pass information between programs easily, TIDoS automates selection and configuration of some of Kali's most useful tools for hunting flaws in web applications.
I hope you enjoyed this guide to scanning websites and web apps for vulnerabilities with TIDoS! If you have any questions about this tutorial on web vulnerability scanning, leave a comment below and feel free to reach me on Twitter @KodyKinzie.