How to Flood Your ISP with Random, Noisy Data to Protect Your Privacy on the Internet « Null Byte :: WonderHowTo

Net neutrality is dead and your internet service providers can collect all the data they want. WhileVPNsare a great way to protect some of that privacy, they're not perfect. There is another option, though, calledNoisy, which was created byItay Hury. It floods your ISP with so much random HTTP/DNS noise that your data is useless to anyone even if they do get it.If you've been hiding under a rock the past year or so and don't knowwhat net neutrality is, then let's catch you up real quick. ...What people have been talking about lately isS.J.Res.34, the bill (now law) that repeals net neutrality. This means that your ISP can now legally collect your web data without your knowledge or consent. In practical terms, that means your IP addresses, which could be turned into a physical location, your web history, and non-HTTPS webpages and content including forms submitted. The Electronic Frontier Foundation (EFF) believes they could doeven more than that, using the data themselves or selling it to the highest bidder en masse.This is where Noisy comes in. The tool helps protect your data by hiding it in plain sight. More precisely, it's a "simple Python script that generates random HTTP/DNS traffic noise in the background while you go about your regular web browsing." In this way, your data is no longer unique or useful to advertisers or other data analytic firms.Noisy isn't a new idea, as it was inspired bySquawk, which is a bit of HTML code added to websites that cause the pages to send additional random requests, but Noisy makes it an easy-to-use and modify Python program. Let's take a look at how to get it up and running.Step 1: Install DependenciesAs a Python program, you will need to havePython installed. In Kali Linux, it's already installed. It's compatible with both Python 2.7 and 3.6. You can use the following command to check the version you have.python -VThe Noisy program uses therequests modulefor Python, so you'll need that. You can usepipto install it:pip install requestsAdditionally, you may get more use out of Noisy if you haveDocker installed, since you can isolate the traffic in a contained environment away from what you're trying to hide, but it isn't required for the program to run.Don't Miss:How to Create a Reusable Burner OS with DockerStep 2: Clone Noisy from GitHubNow that Python is taken care of, download Noisy from GitHub withgit:git clone https://github.com/1tayH/noisy.gitAlternatively, you can navigate to theGitHub repositoryand download the .zip file. Click "Clone or download," then "Download ZIP." Once it's downloaded, open the file and click "Extract all" to unzip the file.Step 3: Open the Config FileNow we need to edit the configuration file. It's not required for the program to run, but it's an excellent opportunity to discuss how the program works and improve it. First, move into the Noisy directory withcd:cd noisyAfter that, you'll want to open up its config.json file in your favorite text editor. For example, if you'd like to useVim, just use this command:vim config.jsonAlternatively, you can open the "Files" folder on your desktop, navigate into "noisy," then open the config.json file with your favorite text editor. I like to useNotepad++.Don't Miss:An Intro to Vim, the Unix Text Editor Every Hacker Should KnowOnce you open the file, you'll see someJSONdata. Noisy works by starting from a "root_urls" and then waiting a random time between "min_sleep" and "max_sleep" (in seconds) before clicking a random link from the page going "max_depth" links deep. It then moves to the next root URL going through them in order.{
    "max_depth": 25,
    "min_sleep": 3,
    "max_sleep": 6,
    "timeout": false,
    "root_urls": [
        "http://4chan.org",
        "https://www.reddit.com",
        "https://www.yahoo.com",
        "http://www.cnn.com",
        "https://p---hub.com",
        "https://www.ebay.com",
        "https://wikipedia.org",
        "https://youtube.com",
        "https://github.com",
        "https://medium.com",
        "https://thep-----bay.org",
    ],
    "blacklisted_urls": [
        "https://t.co",
        "t.umblr.com",
        "messenger.com",
        "itunes.apple.com",
        "l.facebook.com",
        "bit.ly",
        "mediawiki",
        ".css",
        ".ico",
        ".xml",
        "intent/tweet",
        "twitter.com/share",
        "dialog/feed?",
        ".json",
        "zendesk",
        "clickserve",
        ".png"
    ],
    "user agents": [
        "there are many user agents here!"
    ]
}You might notice a few problems with this config.json file. To begin with, there are only 11 root URLs. Additionally, some of those root URLs could be troublesome depending on the environment you find yourself in.The root sites are not going to appear on screen but could draw unwanted attention if anyone is monitoring the local network or if proxies or bans are in place on those particular sites. You may want to consider removing them, but be careful, because you want as many different sites on this list as possible. The more sites, the more random the noise.This is the biggest problem with the default config.json file — there are only 11 root URLs. With them going in order and looping back once it's reached the end, it could potentially create an easily recognizable data pattern that can be filtered out.Step 4: Add More Sites to the Config FileTo help remedy the problem above, I decided to make acustom config.json file. I decided that one million URLs would be a good number, so I downloaded theAlexa top one million websitesand used a quick and dirty Python program to randomize their order. Next, I ran the list through the randomizer five more times to make sure they were right and well mixed up. Finally, I copied the list of URLs over to the config.json file, which will make the noise that Noisy generates much more random.If you want to use my config.json file (which is over 25 MB in size), visitits GitHub pageand either right-click on "Download" and select "Save Link As" or just click on "Download" to open the file. If you clicked "Download," once it has loaded, right-click on it and "Save Page As" to your "noisy" folder to replace the original config.json. If you downloaded immediately, make sure to move the file over to the "noisy" folder manually.If you decide to put in your own URLs, remember we are editing JSON data, so each URL should have double quotation marks (" ") on both sides of it and a comma (,) at the end. I also like to put in thehttps://so it will always try the HTTPS version of the site first. For example:"https://website.com",Step 5: Start Being NoisyWith the config.json file updated, we're ready to get noisy! Make sure you're in thenoisydirectory withcd, and then run the Python program with the required config argument:cd noisy
python noisy.py --config config.jsonAnd that's it. You're now generating random traffic. If everything's working, you should begin seeing an output stream like the one below, only with different URLs.INFO:root:Visiting https://azerbaijantourism.az/about
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): azerbaijantourism.az
INFO:root:Visiting https://azerbaijantourism.az/
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): azerbaijantourism.az
INFO:root:Visiting https://azerbaijantourism.az/booking-conditions
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): azerbaijantourism.azTo stop Noisy, just hitCtrl-Con your keyboard.Step 6: See What Else You Can Do in NoisyWhen Noisy is not running, use thehorhelpargument to see what else you can do, like set a timeout.python noisy.py --helpHere are the other arguments you can use:usage: noisy.py [-h] [--log -l] --config -c [--timeout -t]

optional arguments:
  -h, --help    show this help message and exit
  --log -l      logging level
  --config -c   config file
  --timeout -t  for how long the crawler should be running, in secondsStep 7: Run Noisy Using a Using Docker (Optional)It's also possible to containerize Noisy by usingDocker, as discussed previously. If you want to do this, it's as easy as using thebuildcommand. (You may need toinstall Docker firston your system.)docker build -t noisy .You can even build it for aRaspberry Pirunning Raspbian stretch; This would be a great option if you want to offload Noisy to have it run on a Pi somewhere else on the network.docker build -f Dockerfile.pi -t noisy .Once the Docker build is done, you can launch it withdocker run:docker run -it noisy --config config.jsonStep 8: Be the Noisiest with Noisy in Docker (Optional)You might have noticed when looking at the config.json file that the sleep time is a random integer in seconds. In practical terms, this means that the fastest Noisy can work is one new URL every second, if we set the configuration like so:"min_sleep": 0,
"max_sleep": 1,However, this won't be fast enough for some users. For example, if you have a lot of real people on your network, you may want to generate more fake traffic to obfuscate their data. But that's not possible with the one-second limitation.Thankfully, Docker-compose can save us by allowing us to run multiple containers simultaneously to generate unlimited noise. Just move to the examples folder, then build the new docker image and run it with the number of containers you want.cd examples/docker-compose
docker-compose build
docker-compose up --scale noisy=<number-of-containers>If you do go this route, be careful about just how much data you're using. If you have an unlimited data connection, then it should be fine, only slightly slowing down the internet speed. On the other hand, if you do have some kind of data cap, then be mindful of just how much of that is being used by Noisy.As you've seen, Noisy is incredibly simple to get set up, and once you've done a little configuration, it's incredibly powerful. It should be a part of everyone's privacy strategy, guaranteeing if anyone does get ahold of your data, it's useless to them.Thanks for reading! If you have any questions, ask below or on Twitter@The_Hoid.Don't Miss:Fully Anonymize Kali with Tor, Whonix & PIA VPNFollow Null Byte onTwitterandGoogle+Follow WonderHowTo onFacebook,Twitter,Pinterest, andGoogle+Want to start making money as a white hat hacker?Jump-start your hacking career with our2020 Premium Ethical Hacking Certification Training Bundlefrom the newNull Byte Shopand get over 60 hours of training from cybersecurity professionals.Buy Now (90% off) >Other worthwhile deals to check out:97% off The Ultimate 2021 White Hat Hacker Certification Bundle99% off The 2021 All-in-One Data Scientist Mega Bundle98% off The 2021 Premium Learn To Code Certification Bundle62% off MindMaster Mind Mapping Software: Perpetual LicenseCover image and screenshots by Hoid/Null ByteRelatedHow To:A Hitchhiker's Guide to the Internet: Today and Now, How It All ConnectsHow To:Boost Internet Speeds & Hide Your Browsing History from Your ISPNews:A Rundown of the Privacy Policies for Major Mobile Carriers & ISPsHow To:5 Ways to Keep Google from Collecting Data on Your Android PhoneHow To:Top 10 Browser Extensions for Hackers & OSINT ResearchersHow To:Your Phone's Biggest Security Weakness Is Its Data Connection — Here's How to Lock It DownHow To:Opt Out of Ad Tracking on AndroidHow To:Clear Your Cache on Any Web BrowserNews:Here's Why You Should Be Using Private DNS on Your PhoneHow To:Block Annoying GDPR Cookie Pop-Ups While Browsing the Web on AndroidNews:Your Bose Headphones Are Spying on YouHow To:The 4 Best Firefox Mobile Extensions for Privacy & SecurityHow To:5 Ways to Communicate Safely on Your Smartphone — Keep Police & Big Data Out of Your ConversationsHow To:Conserve Data in Windows 10How To:5 Major Privacy Concerns with 5GHow To:Optimize & Speed Up Web Surfing on Your Nexus 7 Tablet with This Super Easy ModChrome 101:How to Set Your Privacy & Choose Which Data to Share with GoogleNews:Google Introduces AI for Its Android Services That Learns from You Without Compromising PrivacyHow To:The 4 Best Phones for Privacy & Security in 2020UDP Flooding:How to Kick a Local User Off the NetworkNews:Anonymity, Darknets and Staying Out of Federal Custody, Part Two: Onions and DaggersNews:Should Kids Be Allowed to Use Facebook and Google+?News:Stop Internet CensorshipHow To:Become Anonymous on the Internet Using TorNews:Foursquare Money & PrivacyHow To:Permanently Erase Data So That It Cannot be RecoveredRemove Your Online Identity:The Ultimate Guide to Anonymity and Security on the InternetNews:Social Media Buttons – Solution For Inadvertent Data TransmissionHow To:How The Internet WorksHow To:amend Adobe Flash SettingsHow To:Chrome Shares Your Activity with Google - Here's How to Use Comodo Dragon to Block ItSecure Your Computer, Part 3:Encrypt Your HDD/SSD to Prevent Data TheftNews:Privacy in the InternetHow To:Don't Get Caught! How to Protect Your Hard Drives from Data ForensicsDEBUNKED:3 Viral Google+ MythsUncrackable:Secure Your Secrets with 4096-Bit EncryptionCoding Fundamentals:An Introduction to Data Structures and AlgorithmsHow To:Edit Your Google+ Account SettingsYour Poo Flood Begins:A Contest Update