attack-website | MITRE ATT&CK Website | Security library
kandi X-RAY | attack-website Summary
kandi X-RAY | attack-website Summary
MITRE ATT&CK Website
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Check if technique is used
- Updates reference list
- Return True if the TID is a valid TID
- Get technique data
- Return JSON data for a side nav page
- Find the index id for an external id
- Return the attack id
- Return a list of nav navigator layers
- Generate a navigator configuration
- Deploy the current version to the site
- Check if a list of redirections exist
- Get examples from tech stix
- Return a matrix of attack information
- Count the number of subtechniques for a given technique
- Get all of the instances of a given type
- Return parsed arguments
- Return a list of vulnerability information
- Convert a list of strategies to a dictionary
- Return a dict of created and modified datetime
- Returns a dict of the first and last_seen dates
- Remove modules from build
- Get side menu data
- Creates a sidebar view data
- Create a table of technique information
- Returns the data for the side navigation domains
- Convert Markdown data to HTML
attack-website Key Features
attack-website Examples and Code Snippets
Community Discussions
Trending Discussions on attack-website
QUESTION
Assuming the following setup:
- Apache server 2.4
- mpm_prefork with default settings (256 workers?)
- Default Timeout (300s)
- High KeepAliveTimeout (100s)
- reqtimeout_mod enabled with the following config:
RequestReadTimeout header=62,MinRate=500 body=62,MinRate=500
- Outdated mod_wsgi 3.5 using Daemon mode with 15 threads and 1 process
- AWS ElasticBeanstalk's load balancer acting as a reverse proxy to apache with 60s idle connection timeout
- Python/Django being the wsgi application
A simple slowloris attack like the one described here, using a "slow" request body: https://www.blackmoreops.com/2015/06/07/attack-website-using-slowhttptest-in-kali-linux/
The above attack, with just 15 requests (same as mod_wsgi threads) can easily lock the server until a timeout happens, either due to:
- Load balancer timeout (60s) happens due to no data sent, this kills the apache connection and mod_wsgi can once again serve requests
- Apache RequestReadTimeout happens due to data being sent, but not enough, again mod_wsgi is able to serve requests after this
However, with just 15 concurrent "slow" requests, I was able to lock the server up to 60 seconds.
Repeating the same but with a more bizarre number, like 4096 requests, pretty much locks the server permanently since there will be always a new request that needs to be served by mod_wsgi once the previous times out.
I would expect that the load balancer should handle/detect this before even sending requests to apache, which it already does for similar attacks (partial headers, or tcp syn flood attacks never hit apache which is nice)
What options are available to help against this? I know there's no failproof option since these kind of attacks are difficult to detect and protect, but it's quite silly that the server can be locked that easily.
Also, if the wsgi application never reads request body, I would expect for the issue to not happen as well since the request should return immediately, but I'm not sure about this or the internals of mod_wsgi, for example, this is true when using a local dev wsgi server (the attack files since the request body is never read) but the attack succeeds when using mod_wsgi, which leads me to think it tries to read the body even before sending it to the wsgi code.
...ANSWER
Answered 2017-Dec-09 at 23:43Soloution:
If you are getting hit, I recommend you go to a provider that protects against DDoS attacks. However your best bet would be to programatically block the IP once it has been decided that it is being malicious. If you receive two large Content-Length
POST
requests than you should block the IP for a few minutes for suspicious activities. Many large companies are very cheap, and some of them are free for the basic package such as Cloud Flare. I use them for my company and I am beyond happy to have them!
Edit: Their job is literally just to protect you. That is it.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install attack-website
Activate the virtual environment: macOS and Linux: source env/bin/activate Windows: env/Scripts/activate.bat
Install requirement packages: pip3 install -r requirements.txt
Update ATT&CK markdown from the STIX content, and generate the output html from the markdown: python3 update-attack.py. Note: update-attack.py, has many optional command line arguments which affect the behavior of the build. Run python3 update-attack.py -h for a list of arguments and an explanation of their functionality.
Serve the html to localhost:8000: cd output python3 -m pelican.server
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page