Strikeback with iplog and nmap



  • Strikeback is a package that uses iplog to monitor for port scans or connection attempts that could be malicious. Using the information generated you can determine if a port scan is an attacker or if any action needs to be taken against a particular host. nmap is used to gather more in depth information about possible attackers thus giving pfsense the capability to 'strikeback'

    Sidewinder takes pride that they were to first to implement a strikeback capability and until recently they were the only router platform to do so. Now pfsense is among the short list with a strikeback capability.

    Version: 1.0 BETA.

    If you would like to support these packages please donate at TomSchaefer.org/pfsense






  • What does strikeback do?  Fire off the LOIC at source IP?  ;D



  • @jwelter99:

    What does strikeback do?  Fire off the LOIC at source IP?  ;D

    :), no. Just like the sidewinder series firewalls are capable of a strikeback, pfsense is now among the few. Sidewinder originally implemented that feature because corporations wanted options when it came to being scanned. pfsense is becoming more and more of a viable solution for corporations. Adding this feature just narrows the gap between pfsense and other solutions out there.

    With forensic analytics becoming more significant, and even responses like trace backs, other automated forensics, and reporting, I have enabled pfsense to continue to be on the edge giving the end user or corporation more options that may be parallel with their security requirements.

    In other words this package gives you the user more power while making pfsense a competitive platform to other firewall vendors.



  • why    / strikeback / parse.php      can not be accessed ?  Nmap scan results (condensed)



  • Wow, this looks great. I need to give it a try.



  • After reboot strikeback can not run auto. why ??



  • Jul 6 14:58:31 php: /packages/strikeback/strikeback.php: The command '/usr/local/etc/rc.d/iplog start' returned exit code '127', the output was '/usr/local/etc/rc.d/iplog: not found'

    Jul 6 14:58:31 php: /packages/strikeback/strikeback.php: The command 'rm /usr/local/etc/rc.d/iplog-e' returned exit code '1', the output was 'rm: /usr/local/etc/rc.d/iplog-e: No such file or directory'

    Jul 6 14:58:31 php: /packages/strikeback/strikeback.php: The command '/usr/bin/sed -i -e 's/iplog_enable="NO"/iplog_enable="YES"/g' /usr/local/etc/rc.d/iplog' returned exit code '1', the output was 'sed: /usr/local/etc/rc.d/iplog: No such file or directory'



  • This do look really nice, but i can not get this packet to work.
    Have tried to get it to run on two different systems but end up with the same error  ???  ???

    Here is the errors i get on both boxes:
    Jul 17 18:37:00 php: /packages/strikeback/strikeback.php: The command 'rm /var/log/iplog' returned exit code '1', the output was 'rm: /var/log/iplog: No such file or directory'
    Jul 17 18:37:00 php: /packages/strikeback/strikeback.php: The command 'mkdir /var/run/iplog' returned exit code '1', the output was 'mkdir: /var/run/iplog: File exists'
    Jul 17 18:36:59 php: /packages/strikeback/strikeback.php: The command 'rm /usr/local/www/packages/strikeback/ENABLED' returned exit code '1', the output was 'rm: /usr/local/www/packages/strikeback/ENABLED: No such file or directory'

    Any pointers to get this to work, is much appreciated  ;D



  • You have to click on CLEAR LOG and then when it refreshes click on ENABLE strikeback.  Not sure why when I click on clear log it disables strikeback.  I guess to release the logfile lock so it can clear it.

    This will work just fine until the reboot which you have to do that again.  It's a first release so give him time to address it.  Pretty cool package tho!

    Darkk



  • @Darkk:

    You have to click on CLEAR LOG and then when it refreshes click on ENABLE strikeback.  Not sure why when I click on clear log it disables strikeback.  I guess to release the logfile lock so it can clear it.

    This will work just fine until the reboot which you have to do that again.  It's a first release so give him time to address it.  Pretty cool package tho!

    Darkk

    This i as u say really, and to be first release it is really good work.


  • Rebel Alliance Global Moderator

    Ok I installed it, but not seeing in the web gui anywhere.  Do I have to restart pfsense?



  • @johnpoz:

    Ok I installed it, but not seeing in the web gui anywhere.  Do I have to restart pfsense?

    Should not need to restart, just click pfsense logo to reload webgui and the it should be under services



  • @Unubtanium:

    This do look really nice, but i can not get this packet to work.
    Have tried to get it to run on two different systems but end up with the same error  ???   ???

    Here is the errors i get on both boxes:
    Jul 17 18:37:00 php: /packages/strikeback/strikeback.php: The command 'rm /var/log/iplog' returned exit code '1', the output was 'rm: /var/log/iplog: No such file or directory'
    Jul 17 18:37:00 php: /packages/strikeback/strikeback.php: The command 'mkdir /var/run/iplog' returned exit code '1', the output was 'mkdir: /var/run/iplog: File exists'
    Jul 17 18:36:59 php: /packages/strikeback/strikeback.php: The command 'rm /usr/local/www/packages/strikeback/ENABLED' returned exit code '1', the output was 'rm: /usr/local/www/packages/strikeback/ENABLED: No such file or directory'

    Any pointers to get this to work, is much appreciated  ;D

    Hi Everyone  and tommyboy180, i found the problem for this and it looks like you can not use Opera Browser 11.5 to activate strickback, when i tried to use other browser it works fin.  Strange one, anyone else that can confirm this????


  • Rebel Alliance Global Moderator

    Ok same problem as other guy, using firefox – WTF would the browser have to do with system not finding stuff?

    Jul 18 07:34:41 php: /packages/strikeback/strikeback.php: The command '/usr/local/etc/rc.d/iplog start' returned exit code '127', the output was '/usr/local/etc/rc.d/iplog: not found'
    Jul 18 07:34:41 php: /packages/strikeback/strikeback.php: The command 'rm /usr/local/etc/rc.d/iplog-e' returned exit code '1', the output was 'rm: /usr/local/etc/rc.d/iplog-e: No such file or directory'
    Jul 18 07:34:41 php: /packages/strikeback/strikeback.php: The command '/usr/bin/sed -i -e 's/iplog_enable="NO"/iplog_enable="YES"/g' /usr/local/etc/rc.d/iplog' returned exit code '1', the output was 'sed: /usr/local/etc/rc.d/iplog: No such file or directory'

    I pushed the clear log a few times, and sure enough it removes the enabled checkbox.



  • @johnpoz:

    Ok same problem as other guy, using firefox – WTF would the browser have to do with system not finding stuff?

    Hehe, jupp this one do not make sense to me either  ???

    But this behaver is expected, it is a 0.1 beta  ;D


  • Rebel Alliance Global Moderator

    Don't get me wrong, I completely understand its .1 – looking forward to working out the bugs with you, etc.

    Just letting you know getting the same error as other guy.  If you want me to try doing it with IE, or any other browser just let me know.  But it makes NO sense at all that browser would have anything to do with system reporting it can not find stuff.

    Ok tried with IE9, Opera 11, Chrome, Firefox and Safari -- all the same thing, those errors in the system log.  You have some other browser you would like me to try it with ;)



  • Hi,

    sorry for asking this:
    I cannot find this package in package manager. I am using amd64. is this only available for 386?



  • @johnpoz:

    Ok same problem as other guy, using firefox – WTF would the browser have to do with system not finding stuff?

    Jul 18 07:34:41 php: /packages/strikeback/strikeback.php: The command '/usr/local/etc/rc.d/iplog start' returned exit code '127', the output was '/usr/local/etc/rc.d/iplog: not found'
    Jul 18 07:34:41 php: /packages/strikeback/strikeback.php: The command 'rm /usr/local/etc/rc.d/iplog-e' returned exit code '1', the output was 'rm: /usr/local/etc/rc.d/iplog-e: No such file or directory'
    Jul 18 07:34:41 php: /packages/strikeback/strikeback.php: The command '/usr/bin/sed -i -e 's/iplog_enable="NO"/iplog_enable="YES"/g' /usr/local/etc/rc.d/iplog' returned exit code '1', the output was 'sed: /usr/local/etc/rc.d/iplog: No such file or directory'

    I pushed the clear log a few times, and sure enough it removes the enabled checkbox.

    Quick fix to get Strikeback running is to:

    1. Install Strikeback from the package manager
    2. pkg_add -r iplog
    3. Edit /usr/local/etc/iplog.conf and change the user from iplog to root
    4. Enable Strikeback from the UI


  • All those things should be done automatically.

    During the install process pkg_add -r iplog is ran. The username is also changed to root (you can also do this via the GUI).
    The only thing that I can think of is that when the pkg_add command is ran the command doesn't install iplog due to the freeBSD repo not being contacted or the connection being interrupted.

    I will be able to look into this more tomorrow.



  • @tommyboy180:

    All those things should be done automatically.

    During the install process pkg_add -r iplog is ran. The username is also changed to root (you can also do this via the GUI).
    The only thing that I can think of is that when the pkg_add command is ran the command doesn't install iplog due to the freeBSD repo not being contacted or the connection being interrupted.

    I will be able to look into this more tomorrow.

    Also I had to manually add nmap .. it didn't pull it in for whatever reason



  • That means the FreeBSD repo is un-reliable. I'll look into other options.



  • I finished my testing. The package is working correctly.

    First thing new users should do it go to the setting page and click save. This will overwrite the config file.
    Next go back to the main strikeback page, Check enable, and click save. I tested on the latest version of RC3.

    I didn't run into any issue while testing.



  • not to hijack this thread, but I remember testing this package a couple of months ago and remember that iplog wouldn't auto-start on a reboot… Was this fix or is it still the case?



  • @Cino:

    not to hijack this thread, but I remember testing this package a couple of months ago and remember that iplog wouldn't auto-start on a reboot… Was this fix or is it still the case?

    You're not hijacking at all. You are right about the auto start. That item is now on my to-do list.



  • @tommyboy180:

    @Cino:

    not to hijack this thread, but I remember testing this package a couple of months ago and remember that iplog wouldn't auto-start on a reboot… Was this fix or is it still the case?

    You're not hijacking at all. You are right about the auto start. That item is now on my to-do list.

    looking at my notes, i used this to auto start it i believe /usr/local/etc/rc.d/iplog.sh
    its been awhile so I can't remember it worked correctly work not…

    
    #!/bin/sh
    # This file was automatically generated
    # by the pfSense service handler on other machine :).
    
    rc_start() {
    	/usr/local/sbin/iplog -d -z
    }
    
    rc_stop() {
    	/usr/bin/killall iplog
    }
    
    case $1 in
    	start)
    		rc_start
    		;;
    	stop)
    		rc_stop
    		;;
    	restart)
    		rc_stop
    		rc_start
    		;;
    esac
    
    


  • overwriting the current iplog file in /usr/local/etc/rc.d/iplog will break the script. I'm working on an update now to solve this issue.



  • I like this. Thanks for releasing!

    Just a small bug report, there is a typo "Stikeback" under the Services tab.



  • Is this package available for amd64 ?
    Where can I download/test this package ?



  • Hi, i try this package and when i execute strikeback i get this message

    Warning: Invalid argument supplied for foreach() in /usr/local/www/packages/strikeback/parse.php on line 252
    Nmap scan results (condensed)

    in the system log i have this

    php: /packages/strikeback/strikeback.php: The command 'mkdir /usr/local/www/packages/strikeback/reports' returned exit code '1', the output was 'mkdir: /usr/local/www/packages/strikeback/reports: File exists'

    php: /packages/strikeback/strikeback.php: The command 'mkdir /var/run/iplog' returned exit code '1', the output was 'mkdir: /var/run/iplog: File exists'

    can you help me?
    thanks
    Simone



  • @ataru75:

    Hi, i try this package and when i execute strikeback i get this message

    Warning: Invalid argument supplied for foreach() in /usr/local/www/packages/strikeback/parse.php on line 252
    Nmap scan results (condensed)

    in the system log i have this

    php: /packages/strikeback/strikeback.php: The command 'mkdir /usr/local/www/packages/strikeback/reports' returned exit code '1', the output was 'mkdir: /usr/local/www/packages/strikeback/reports: File exists'

    php: /packages/strikeback/strikeback.php: The command 'mkdir /var/run/iplog' returned exit code '1', the output was 'mkdir: /var/run/iplog: File exists'

    Confirmed - Pfsense i386, 2.0-RC3



  • just installed this on 2.0 final

    not working, I think iplog is missing

    Nov 1 13:58:08 php: /packages/strikeback/strikeback.php: The command '/usr/local/etc/rc.d/iplog start' returned exit code '127', the output was '/usr/local/etc/rc.d/iplog: not found'
    Nov 1 13:58:08 php: /packages/strikeback/strikeback.php: The command 'rm /usr/local/etc/rc.d/iplog-e' returned exit code '1', the output was 'rm: /usr/local/etc/rc.d/iplog-e: No such file or directory'
    Nov 1 13:58:08 php: /packages/strikeback/strikeback.php: The command '/usr/bin/sed -i -e 's/iplog_enable="NO"/iplog_enable="YES"/g' /usr/local/etc/rc.d/iplog' returned exit code '1', the output was 'sed: /usr/local/etc/rc.d/iplog: No such file or directory'

    also tryed pkg_add -r iplog

    Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/iplog.tbz: File unavailable (e.g., file not found, no access)

    < typo forum, it add http:// but for real it doesnt …

    packages-8.1-release doesnt exist anymore


  • Rebel Alliance Global Moderator



  • So if I spoofed my IP address during scanning to say be some military or government IP I can have you port scanning away in "response"? I am sure they would like that. Portscan detections are also notoriously unreliable as they are prone to false positive events.

    I think detection is fine and then silently blocking if so desired but no revenge strikes. What would you do after port scanning someone? Go hunting for vulnerabilities to take your revenge on them? I think snort's sfportscan preprocessor may be better for detection. All it does it:
    a) leaves you open to manipulation to portscan sensitive places in response
    b) reveals yourself to the attacker (unlike a nice silent drop)
    c) If it was a hacker (script kiddies get detected would perhaps be caught by this, pros no) and they saw you portscanning them they may be encouraged to seek revenge.



  • I'm away on business right now. When I return I will take some time to update the package.



  • Hi There,

    I have a kind of similar issue. I'm running the latest PFsense 2.0 official release on an ALIX board. I have succesfully intalled STRIKEBACK package. As recommended, I went to Strikeback SETTINGS tab and clicked on SAVE, resulting in an updated /usr/local/etc/iplog.conf file. Then I go to LOG VIEWER tab and enable StrikeBack then click on SAVE. The System Logs reveal the following:
    Nov 15 10:35:13 php: /packages/strikeback/strikeback.php: The command '/usr/bin/sed -i -e 's/iplog_enable="NO"/iplog_enable="YES"/g' /usr/local/etc/rc.d/iplog' returned exit code '1', the output was 'sed: /usr/local/etc/rc.d/iplog: No such file or directory'
    Nov 15 10:35:13 php: /packages/strikeback/strikeback.php: The command 'rm /usr/local/etc/rc.d/iplog-e' returned exit code '1', the output was 'rm: /usr/local/etc/rc.d/iplog-e: No such file or directory'
    Nov 15 10:35:13 php: /packages/strikeback/strikeback.php: The command '/usr/local/etc/rc.d/iplog start' returned exit code '127', the output was '/usr/local/etc/rc.d/iplog: not found'

    I'm stuck in figuring out how to even figure out weither or not iplog is indeed installed  ???

    Any help greatly appreciated. Thanks in advance  :)



  • @jhaye:

    Hi There,

    I have a kind of similar issue. I'm running the latest PFsense 2.0 official release on an ALIX board. I have succesfully intalled STRIKEBACK package. As recommended, I went to Strikeback SETTINGS tab and clicked on SAVE, resulting in an updated /usr/local/etc/iplog.conf file. Then I go to LOG VIEWER tab and enable StrikeBack then click on SAVE. The System Logs reveal the following:
    Nov 15 10:35:13 php: /packages/strikeback/strikeback.php: The command '/usr/bin/sed -i -e 's/iplog_enable="NO"/iplog_enable="YES"/g' /usr/local/etc/rc.d/iplog' returned exit code '1', the output was 'sed: /usr/local/etc/rc.d/iplog: No such file or directory'
    Nov 15 10:35:13 php: /packages/strikeback/strikeback.php: The command 'rm /usr/local/etc/rc.d/iplog-e' returned exit code '1', the output was 'rm: /usr/local/etc/rc.d/iplog-e: No such file or directory'
    Nov 15 10:35:13 php: /packages/strikeback/strikeback.php: The command '/usr/local/etc/rc.d/iplog start' returned exit code '127', the output was '/usr/local/etc/rc.d/iplog: not found'

    I'm stuck in figuring out how to even figure out weither or not iplog is indeed installed  ???

    Any help greatly appreciated. Thanks in advance  :)

    It appears if the iplog binary did not get installed. Run pkg_add -r iplog to install it.



  • Tom, many thanks for the very fast reply. Unfortunately, I did try this last trick already, as I had read through the forum. This results in the following error message:

    Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/iplog.tbz: File unavailable (e.g., file not found, no access)
    pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/iplog.tbz' by URL

    :-(



  • You have to change an environment variable to use pkg_add -r or you can add it directly via URL.

    Try```
    pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/iplog.tbz



  • Does nmap have some sort of conf file that tells it what interface to use. I can scan the local network from within pfsense nmap ui.

    Nov 16 09:58:59 	php: /packages/strikeback/strikeback.php: The command '/usr/local/bin/nmap -oX /usr/local/www/packages/strikeback/reports/58.104.179.126.xml -vv -sS -sU -sY -O 58.104.179.126' returned exit code '1', the output was ' Starting Nmap 5.51 ( http://nmap.org ) at 2011-11-16 09:58 EST WARNING: Unable to find appropriate interface for system route to 10.20.21.36 WARNING: Unable to find appropriate interface for system route to 10.20.21.36 WARNING: Unable to find appropriate interface for system route to 10.20.21.36 nexthost: failed to determine route to 58.104.179.126 QUITTING!'
    Nov 16 09:58:59 	php: /packages/strikeback/strikeback.php: The command 'mkdir /usr/local/www/packages/strikeback/reports' returned exit code '1', the output was 'mkdir: /usr/local/www/packages/strikeback/reports: File exists'
    

    And get this same error from Nmap within the shell

    [2.0-RELEASE][root@pfsense.domain.local]/root(2): nmap -v -sn 58.104.179.126
    
    Starting Nmap 5.51 ( http://nmap.org ) at 2011-11-16 10:19 EST
    WARNING: Unable to find appropriate interface for system route to 10.20.21.36
    
    

    I tried adding the -e switch with the wan interface but I still am getting the same error.



  • Many thanks Tom, that does the trick indeed :-)


Locked