Jump to content
Hak5 Forums


Pineapple Moderators
  • Content count

  • Joined

  • Last visited

  • Days Won



About newbi3

  • Rank
    Hak5 Ninja

Profile Information

  • Gender
  • Location
    The Nebakanezer
  • Interests
    Networking, Programming, Learning, Observing, and Drumming

Recent Profile Visitors

12,744 profile views
  1. Http Proxy

    I don't even remember if I ever got that module working. Maybe I'll finish it up after this next release of Evil Portal.
  2. [Official] EvilPortal

    It's been a long time since I've posted an update here. The next major release (version 3.0) is almost ready for release and I want to get it released by the end of this year. The last major thing left to work on is re-implementing the IP tables that handle who can and can not access the internet. This sounds like a simple task until you open the man page for iptables. With that said, I am looking for the help of a iptables wizard so if you are that person please let me know. 3.0 Ready For Testing Evil Portal 3.0 has some new features that I am really excited about that need to be tested by someone other than myself. I may have gone over these before but I will re-state them here so they are easy to find. SD Portals - Portals can now be created on or moved to SD cards easily through the web interface. They can also be moved between internal and SD storage very easily and existing portals can be migrated to the SD card with ease. Toggle Commands - These are commands that will be executed when a Portal is activated or deactivated. These commands can be edited by clicking into the portal and selecting "Toggle Commands" from the top right of the Workbench. Currently these commands are only executed when the specific portal is activated or deactivated. I could change this so that the commands are executed when Evil Portal starts/stops in-addition to its current functionality. Let me know what your preference is. Targeted Portals - A Targeted Portal is a captive portal that allows you to route clients to different pages based on implicit or explicit rules based on a clients Mac Address, SSID, Host Name, or Browsers User Agent. You can defined explicit rules to get a specific client or groups of clients or create an implicit rule defined by a regex string to cast a wider net. Clients that don't happen to match any of these rules will be routed a page called "default.php" Complete Refactor - When I was working on this release I decided that the code was to dirty to be allowed to go into production so ended up completely re-writing the module. As much as I like to think that I re-implemented everything flawlessly, there are bound to be bugs with it. You can pull this version of Evil Portal from development branch on the official Github repo: https://github.com/frozenjava/EvilPortalNano If you find bugs please create issues on github and I will address them there!
  3. [Official] EvilPortal

    I like that idea. I'll see what I can make happen.
  4. [Official] EvilPortal

    That saves me a ton of time! I noticed you are allowing and denying clients based on mac-address. From what I remember when moving away from NoDogSplash this required a kmod to be installed which wasn't compiled for the pineapples architectures at the time. Have you been able to get this to run on the pineapple?
  5. [Official] EvilPortal

    It's been a while since I've updated this thread so I thought I might as well jump in and let everyone know whats going. My schedule has cleared up a bit since its now summer here which means I actually have time to put into Pineapple things with my primary focus being Evil Portal. About 2 weeks ago I picked up working on the next version of Evil Portal and realized how much of a mess the code was. I'm honestly embarrassed to host the current version on github (I guess this is how every developer feels when looking back at their code years later). Because of this, I have decided to start a complete refactor of the application to make the code pretty and most importantly re-usable. I have left the "development" branch up containing all of the work up to where I left of developing the next version, so if you want to check out the next gen features feel free to pull that branch. All of the refactoring is currently happening in the "Nightly" branch so if you want to help test for bugs in my refactoring please pull that. If you do happen to find bugs please submit an issue on the github repo as I am far more likely to see it there and respond. Currently I finished up the Controls, Messages, and Library section of the Web UI in the refactor so if you want to help test, begin there! Here are links to the things: Refactor Branch: https://github.com/frozenjava/EvilPortalNano/tree/nightly Old 2.9 Branch: https://github.com/frozenjava/EvilPortalNano/tree/development Issues: https://github.com/frozenjava/EvilPortalNano/issues
  6. [Official] EvilPortal

    Is it not showing up in the live preview window or not showing up at I'll keep it in mind for a 3.x release. I'm not sure if it will make it in 3.0 since I'm just wanting to get it out the door and adding more features is going to delay it more and its been delayed long enough at this point.
  7. [Official] EvilPortal

    Oh, Android devices don't have the Captive Portal automatically pop up and there is nothing you can do about that. Apple devices do however.
  8. [Official] EvilPortal

    This is something that I indeed need to address and sud0nick has pointed out a partial solution for this, however it involved modifying the nginx config and thats something I'm trying to avoid doing. When I have a free day on my hands this is something I'm going to be researching and implementing. Wether or not it will make it into the 3.0 release I can't say for sure but it will definitely be in a 3.x release.
  9. [Official] EvilPortal

    Is this the beta version or the current version in the pineapple bar?
  10. [Official] EvilPortal

    Okay so I think you have a few misconceptions here that I will address first: The destination is not a destination URL that the client will be sent to after authorizing, but instead it is the destination landing page that EvilPortal will present to them. The default is default.php but you will need to make a new page for whatever your use case is. For example if I have a rule that sends all iphones to an iphone branded landing page the destination would be something like "iphones.php" or whatever you want to call it. Also, I think I addressed this in the readme but I could be wrong. In order for the SSID rules to work you need to be logging associations with PineAP. Finally, you will need to have a route to the network in order for the live preview to load and in order to see the captive portal. Let me know if you have any other issues!
  11. Modules Requests Discussion

    private function abortScan() { // this will write to a file in /tmp called does_it_work.txt // if the abortScan method is getting called then this file will exist file_put_contents("/tmp/does_it_work.txt", "this function got called!"); exec("killall -9 airodump-ng && cp -f /pineapple/api/wardrive-* /pineapple/modules/Wardriver/log/"); // give some sort of response back $this->response = array("aborted" => true); } you can also test by starting airodump and then checking if its still running from the command line after the abortScan method is called ps | grep airodump
  12. Modules Requests Discussion

    Test if your abortScan method is getting called by writing something to a file
  13. Modules Requests Discussion

    It might be working, one thing you arent doing is giving a response back. private function abortScan() { exec("killall -9 airodump-ng && cp -f /pineapple/api/wardrive-* /pineapple/modules/Wardriver/log/"); // give some sort of response back $this->response = array("aborted" => true); } and then handle the response in your JS $scope.abortScan = (function() { $api.request({ module: 'Wardriver', action: 'abortScan' }, function(response){ console.log(response); if (response.aborted) { $scope.scanning = false; } }); });
  14. Modules Requests Discussion

    You module.php file needs to implement the route() method http://wiki.wifipineapple.com/#!./creating_modules.md#module.php this method is what maps an action in the request to a function that gets called public function route() { // create a case for each possible action passed in the request switch($this->request->action) { // what happens when an "abortScan" action is requested case "abortScan": // call the abortScan method $this->abortScan(); // break the case - don't forget to do this otherwise what ever case comes next will also get called break; } }
  15. Modules Requests Discussion

    Hey nrohsakul, You can see JS errors in your browsers developer console https://developer.chrome.com/devtools https://developer.mozilla.org/en-US/docs/Tools/Browser_Console And I recommend showing PHP errors nano /etc/php.ini press crtl + w and search for "display_errors" and set it to "On" display_errors = On then restart nginx /etc/init.d/nginx restart Now your developer environment should be all good to go!