قالب وردپرس درنا توس
Home / Tips and Tricks / How To Overwhelm Your ISP With Random, Loud Data To Protect Your Privacy On The Internet «Null Byte :: WonderHowTo

How To Overwhelm Your ISP With Random, Loud Data To Protect Your Privacy On The Internet «Null Byte :: WonderHowTo



Net neutrality is dead and your ISPs can collect all desired data. While VPNs are a great way to protect some of this privacy, they are not perfect. However, there is another option called Noisy, created by Itay Hury. It floods your ISP with so much random HTTP / DNS noise that your data is useless to anyone, even if they get it.

If you've been hiding under a rock for the past year and you do not know what net neutrality is, then let's catch up really fast. …

What has been talked about lately is S.J.Res.34, the bill that removes net neutrality. This means that your ISP can now legally collect your web data without your knowledge or consent. In practice, this means that your IP addresses that can be converted to a physical location are your web history and not HTTPS web pages and content, including submitted forms. The Electronic Frontier Foundation (EFF) believes that they can do more by using the data themselves or by selling it to the highest bidder.

This is where Noisy comes into play. The tool protects your data by hiding it's easy view. More specifically, it is a "simple Python script that generates random HTTP / DNS traffic noise in the background while you perform your normal Web browsing." In this way, your data is no longer unique or useful to advertisers or other data analysis companies.

Noisy is not a new idea as it was inspired by Squawk, which is a bit of HTML code added to web pages to send additional random queries, but Noisy makes it an easy-to-use and too modifying Python program. Let's take a look at how we can get it to work.

Step 1
: Install Dependencies

The Python program must have Python installed. It is already installed in Kali Linux. It is compatible with Python 2.7 and 3.6. You can use the following command to verify the version that you have:

  python -V 

The Noisy program uses the request engine for Python, so you need it. You can use pip to install it:

  pip install requests 

You can also get louder if you have Docker installed because you can isolate traffic in a closed environment from the what you want to hide, but it is not necessary that the program is running.

Step 2: Clone Noisy by GitHub

Now that Python is done, download Noisy from GitHub with git :

  git clone https://github.com/1tayH/ noisy.git 

Alternatively, you can navigate to the GitHub repository and download the .zip file. Click on "Clone or Download" and then on "Download ZIP". Once downloaded, open the file and click "Extract All" to extract the file.

Step 3: Open the configuration file [19659007] Now we need to edit the configuration file. It is not necessary for the program to run, but it is an excellent opportunity to discuss how the program works and improves it. First, move to the Noisy directory with cd :

  cd noisy 

Next, you should open the config.json file in your favorite text editor. For example, if you want to use Vim, just use this command:

  vim config-json 

Alternatively, you can open the Files folder on your desktop, navigate to noisy, and then open the file config.json file with your favorite text editor. I like to use Notepad ++.

Once you open the file, you will see some JSON data. Noisy works by starting from "root_urls" and then waiting for a random time between "min_sleep" and "max_sleep" (in seconds) before clicking on a random link from the page with the maximum length of "max_depth". It then moves to the next root URL, which it cycles through.

  {
"max_depth": 25,
"min_sleep": 3,
"max_sleep": 6,
"Timeout": wrong,
"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 Agent": [
        "there are many user agents here!"
    ]
} 

You may notice some problems with this config.json file. At the beginning, there are only 11 root URLs. In addition, some of these root URLs may be problematic, depending on the environment in which you are located.

The root websites are not displayed on the screen, but they can attract unwanted attention if someone is monitoring the local area network, or if they are proxies or bans on those particular sites. You may want to remove them, but be careful because you want to have as many different sites as possible on this list. 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. If they are okay and run back after the end, this may possibly produce an easily recognizable data pattern that can be filtered out.

Step 4: Adding more sites to the configuration file

To fix the problem above, I've decided to create a custom config.json file. I decided that one million URLs would be a good number, so I downloaded the Alexa Top Million websites and used a fast and dirty Python program to randomize their order. Next, I ran the list through the randomizer five times to make sure they were right and good. Finally, I copied the list of URLs into the config.json file, which makes Noisy's noise much more random.

If you want to use my config.json file (which is more than 25 MB in size), visit the GitHub page and either right-click on "Download" and select "Save link as" or just click on "Download" to open the file. If you clicked "Download" after loading, right-click on it and "Save Page As" in your "noisy" folder to replace the original config.json. If you have downloaded immediately, make sure you manually move the file to the "noise" folder.

If you choose to enter your own URLs, you'll need to edit JSON data so that each URL should have double quotes. I also like to use the https: // so it will always try the HTTPS version of the page first, for example: [19659008] "https://website.com",

Step 5: Start to Get Loud

With the updated config.json file we're ready to get loud! Make sure you log in are directory with cd and then run the Python program with the required config argument:

  cd noisy
python noisy.py --config config.json 

And that's it. You are now generating random traffic. If everything works, you should see an output stream like the one below with only different URLs.

  INFO: root: Visit https://azerbaijantourism.az/about
INFO: requests.packages.urllib3.connectionpool: New HTTPS connection is started (1): azerbaijantourism.az
INFO: root: Visit https://azerbajantourism.az/
INFO: requests.packages.urllib3.connectionpool: New HTTPS connection is started (1): azerbaijantourism.az
INFO: root: Visit https://azerbajantourism.az/booking-conditions
INFO: requests.packages.urllib3.connectionpool: Starting a new HTTPS connection (1): azerbaijantourism.az 

To stop Noisy, press Ctrl-C on your keyboard

Step 6: What else you can do in Noise

If Noisy is not running, use the h or help argument to see what else you are doing can, for.

  python noisy.py --help 

Here are the other arguments you can use:

  Usage: noisy.py [-h] [--log -l]   - config -c [--timeout -t]

optional arguments:
-h, --help displays this help message and stops it
--log -l logging level
--config -c configuration file
--timeout -t for how long the crawler should run in seconds 

Step 7: Execute Loud Execution with a Docker (optional)

It is also possible to containerize Noisy with Docker, as previously discussed , If you want to do this, it's as easy as using the command build . (You may need to install Docker on your system first.)

  docker build -t noise 

You can even build it for a Raspberry Pi with Raspbian stretch; This would be a great option if you want to outsource Noisy to run on a Pi somewhere else on the network.

  docker build -f Dockerfile.pi -t loud 

Once the Docker build is done, you will be able to start it with docker run :

  docker run -it noise --config config.json 

Step 8: Be the loudest with loud Docker (optional)

You might have noticed when viewing the config.json file that the idle time is a random integer in seconds. In practice this means that the fastest Noisy can process a new URL per second if we set the configuration like this:

  "min_sleep": 0,
"max_sleep": 1, 

However, this will not be fast enough for some users. If you For example, if you have many real people on your network, you may want to generate more false traffic to disguise your data. But that's not possible with the one-second limit.

Luckily, Docker-Compose can save us by allowing us to run multiple containers simultaneously to create unlimited noise. Just go to the example folder, create the new Docker image, and run it with the desired number of containers.

  cd examples / docker-compose
docker-compose build
docker-compose up --scale noisy =  

If you go this route, be careful how much data you are currently using. If you have an unlimited data connection then it should be ok, just slow down the internet speed a bit. On the other hand, if you have some kind of data cap, watch how much of it Noisy uses.

As you've seen, Noisy is incredibly easy to set up and once you've made a small configuration, it's incredibly powerful. It should be part of everyone's privacy strategy and guarantee that anyone receiving your data is useless to them.

Thank you for reading! If you have questions, ask at or on Twitter @The_Hoid .

Do not Miss: Anonymize Kali with Tor, Whonix & PIA VPN

Cover Picture and Screenshots of Hoid / Null Byte




Source link