<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Exploiting Stuff.</title>
	<atom:link href="http://exploiting.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://exploiting.wordpress.com</link>
	<description>Reverse Engineering, Assembly, Exploit writing, Rootkits, Debuggers, Tools, Code Snippets, and more.</description>
	<lastBuildDate>Fri, 27 Jan 2012 03:20:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='exploiting.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/c087b48b83a6bfe91f199b4640a87fcf?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Exploiting Stuff.</title>
		<link>http://exploiting.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://exploiting.wordpress.com/osd.xml" title="Exploiting Stuff." />
	<atom:link rel='hub' href='http://exploiting.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Quickpost: IDAPython script to identify unrecognized functions.</title>
		<link>http://exploiting.wordpress.com/2011/12/06/quickpost-idapython-script-to-identify-unrecognized-functions/</link>
		<comments>http://exploiting.wordpress.com/2011/12/06/quickpost-idapython-script-to-identify-unrecognized-functions/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 16:25:57 +0000</pubDate>
		<dc:creator>aLS --</dc:creator>
				<category><![CDATA[Main()]]></category>
		<category><![CDATA[defining]]></category>
		<category><![CDATA[disassembly]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[functions]]></category>
		<category><![CDATA[IDA]]></category>
		<category><![CDATA[IDAPython]]></category>
		<category><![CDATA[Reversing]]></category>

		<guid isPermaLink="false">http://exploiting.wordpress.com/?p=285</guid>
		<description><![CDATA[Hey folks! This time I'm gonna share with you a small IDAPython tool made by Federico Muttis (aka @acid_. Maybe you remember him from the -pretty awesome- pidgin vulnerability or the WebEx one). This is one of those scripts that you have to use and reuse several times when working with obscure firmwares, memory dumps or even unknown pieces of code.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=285&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_304" class="wp-caption aligncenter" style="width: 390px"><a href="http://exploiting.files.wordpress.com/2011/12/whatthefunct.jpg"><img class="size-full wp-image-304" title="WhatTheFunct?" src="http://exploiting.files.wordpress.com/2011/12/whatthefunct.jpg?w=497" alt="WhatTheFunct?"   /></a><p class="wp-caption-text">WhatTheFunct?</p></div>
<p>Hey folks! This time I&#8217;m gonna share with you a small IDAPython tool made by Federico Muttis (aka @acid_. Maybe you remember him from the -pretty awesome- pidgin <a href="http://www.coresecurity.com/content/libpurple-arbitrary-write">vulnerability</a> or the WebEx <a href="http://blog.coresecurity.com/2011/01/31/a-tale-of-webex-vulnerabilities-and-forgotten-valentines-cards/">one</a>). This is one of those scripts that you have to use and reuse several times when working with obscure firmwares, memory dumps or even unknown pieces of code.  A lot of us made something like this in the past. It&#8217;s a must. But I felt that we really needed something with a little more generical approach. Like Acid did.</p>
<p>Let&#8217;s see what he has to say about it <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-285"></span></p>
<p>When reversing unknown binaries, such as firmware or any non-standard executable (ELF, PE, etc), it&#8217;s pretty common that IDA doesn&#8217;t recognize most of the functions.</p>
<p>This is when I usually start hitting &#8220;C&#8221; whenever something looks like code, and then define everything that looks like functions using &#8220;P&#8221;.</p>
<p>Of course IDA helps a bit, i.e. when you find a function that jumps to another section on the file, it disassemblies that part, and defines some functions.</p>
<p>But sometimes the binary file is just too long, and even if IDA helps by defining such sections of the file as code/functions, there is a lot of undefined code as well.</p>
<p>This little IDA Python script finds all your defined functions, takes the first instruction&#8217;s opcode and searches for it in the rest of the file, if the opcode is found in an undefined portion of the file, it does MakeCode, which is the same as hitting &#8220;C&#8221;, and then MakeFunction (IDC equivalent for &#8220;P&#8221;).</p>
<p>It&#8217;s worth mentioning that the script also filters which opcodes are functions prologues based on a set of common instructions (i.e. &#8220;STMFD&#8221; (for ARM), &#8220;PUSH&#8221; and &#8220;MOV&#8221;).</p>
<p>You should modify it to suit your needs.</p>
<p><pre class="brush: python;">

import idc
import struct
import idautils

def find_all( opcode_str ):
    ret = []
    ea = idc.FindBinary(0, 1, opcode_str)
    while ea != idc.BADADDR:
        ret.append(ea)
        ea = idc.FindBinary(ea + 4, 1, opcode_str)
    return ret
    
def define_functions():
    # The function first searches for all user defined functions, reads
    # the opcodes and searches for that opcodes in the rest of the file.
    #
    # You can extend this by adding more disassembled instructions that
    # make you believe are function prologues.
    #
    # Obviously not any PUSH is a function start, this is only a filter
    # against erroneously defined functions. So if you define a function
    # that starts with other instruction (and you think there could be
    # other functions that start with that instruction), just add it here.
    prologues = [&quot;STMFD&quot;, &quot;push&quot;, &quot;PUSH&quot;, &quot;mov&quot;, &quot;MOV&quot;]
    
    print &quot;Finding all signatures&quot;
    ea = 0
    opcodes = set()
    for funcea in idautils.Functions(idc.SegStart(ea), idc.SegEnd(ea)):
        # Get the opcode
        start_opcode = idc.Dword(funcea)
        
        # Get the disassembled text
        dis_text = idc.GetDisasm(funcea)
        we_like_it = False
        
        # Filter possible errors on manually defined functions
        for prologue in prologues:
            if prologue in dis_text:
                we_like_it = True
        
        # If it passes the filter, add the opcode to the search list.
        if we_like_it:
            opcodes.add(start_opcode)
        
    print &quot;# different opcodes: %x&quot; % (len(opcodes))
    while len(opcodes) &gt; 0:
        # Search for this opcode in the rest of the file
        opcode_bin = opcodes.pop()
        opcode_str = &quot; &quot;.join(x.encode(&quot;hex&quot;) for x in struct.pack(&quot;&lt;L&quot;, opcode_bin))
        print &quot;Searching for &quot; + opcode_str
        matches = find_all( opcode_str )
        for matchea in matches:
            # If the opcode is found in a non-function
            if not idc.GetFunctionName(matchea):
                # Try to make code and function
                print &quot;Defining function at &quot; + hex(matchea)
                idc.MakeCode(matchea)
                idc.MakeFunction(matchea)

    print &quot;We're done!&quot;
    
define_functions()


</pre></p>
<p>This in an example of a firmware file with only user (and IDA) defined functions:</p>
<p><a href="http://exploiting.files.wordpress.com/2011/12/before.png"><img class="aligncenter size-full wp-image-288" title="before" src="http://exploiting.files.wordpress.com/2011/12/before.png?w=497&#038;h=19" alt="" width="497" height="19" /></a></p>
<p>And this is after the script ran:</p>
<p><a href="http://exploiting.files.wordpress.com/2011/12/after1.png"><img class="aligncenter size-full wp-image-290" title="after" src="http://exploiting.files.wordpress.com/2011/12/after1.png?w=497&#038;h=19" alt="" width="497" height="19" /></a></p>
<p>Obviously, blue means code within a function.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/exploiting.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/exploiting.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/exploiting.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/exploiting.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/exploiting.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/exploiting.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/exploiting.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/exploiting.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/exploiting.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/exploiting.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/exploiting.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/exploiting.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/exploiting.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/exploiting.wordpress.com/285/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=285&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://exploiting.wordpress.com/2011/12/06/quickpost-idapython-script-to-identify-unrecognized-functions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5e963b441a73812620a82d6b092fc46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aLS</media:title>
		</media:content>

		<media:content url="http://exploiting.files.wordpress.com/2011/12/whatthefunct.jpg" medium="image">
			<media:title type="html">WhatTheFunct?</media:title>
		</media:content>

		<media:content url="http://exploiting.files.wordpress.com/2011/12/before.png" medium="image">
			<media:title type="html">before</media:title>
		</media:content>

		<media:content url="http://exploiting.files.wordpress.com/2011/12/after1.png" medium="image">
			<media:title type="html">after</media:title>
		</media:content>
	</item>
		<item>
		<title>Apple OS X Sandbox Predefined Profiles Bypass</title>
		<link>http://exploiting.wordpress.com/2011/11/14/apple-os-x-sandbox-predefined-profiles-bypass/</link>
		<comments>http://exploiting.wordpress.com/2011/11/14/apple-os-x-sandbox-predefined-profiles-bypass/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 03:15:23 +0000</pubDate>
		<dc:creator>aLS --</dc:creator>
				<category><![CDATA[Advisories]]></category>
		<category><![CDATA[apple hole]]></category>
		<category><![CDATA[Apple sandbox]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[Core Security]]></category>
		<category><![CDATA[sandbox hole]]></category>
		<category><![CDATA[seatbelt]]></category>
		<category><![CDATA[Vulnerability]]></category>

		<guid isPermaLink="false">http://exploiting.wordpress.com/?p=262</guid>
		<description><![CDATA[the_excerpt()<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=262&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 430px"><img class="  " title=" Seatbelt" src="http://htekidsnews.com/wp-content/uploads/2011/07/dog-3.jpg" alt=" You know... the apple sandbox, the 'seatbelt', the dog. Heh, that's Funny, Isn't It?" width="420" height="309" /><p class="wp-caption-text">Nice seatbelt.</p></div>
<p>Hey guys!<br />
Today I wanna mention a little bug we found together with Matias Eissler. It&#8217;s not the big thing,  that&#8217;s clear. But it&#8217;s potentially dangerous and it shows the complexity of a sandbox implementation.</p>
<p>This is the story: After a few hours fooling around with the sandbox, we found this method that allowed us to bypass the network access restriction. The funny thing here is that we did a quick search on google about the topic to see if some of this was reported before and guess what?  Charlie Miller publicly disclosed the same thing (that apple events were allowed in a sandbox profile) in the quicklookd profile like 3 years ago.</p>
<p><span id="more-262"></span></p>
<p>So, when we checked the current version of the profile and saw that it was modified to also restrict apple events we though: &#8220;Ok, if Apple modified the profile after Charlie&#8217;s talk,  they recognize the issue as a vulnerability, or at least as a problem&#8221;.<br />
Well, they actually recognized the issue, and they are considering to &#8216;modify the documentation&#8217; to explicily point this out. Better than nothing, but that means that by the time, the no-network sandbox profile doesn&#8217;t actually restrict network access. Funny huh?</p>
<p>Some articles mentioning the issue:</p>
<p><a href="http://apple.slashdot.org/story/11/11/13/2152232/mac-os-x-sandbox-security-hole-uncovered">http://apple.slashdot.org/story/11/11/13/2152232/mac-os-x-sandbox-security-hole-uncovered<br />
</a><a href="http://www.theinquirer.net/inquirer/news/2124732/apple-fails-fix-longstanding-sandbox-vulnerability">http://www.theinquirer.net/inquirer/news/2124732/apple-fails-fix-longstanding-sandbox-vulnerability<br />
</a><a href="http://threatpost.com/en_us/blogs/mac-os-x-sandbox-security-hole-uncovered-111211">http://threatpost.com/en_us/blogs/mac-os-x-sandbox-security-hole-uncovered-111211</a></p>
<p>Edit:</p>
<p>Some words about the comments I&#8217;ve seen regarding the issue: It doesn&#8217;t affect the applications sandboxed directly from the source code. This issue only exist (as Apple suggests) when a user runs a -maybe untrusted- binary application in a sandboxed environment through the sandbox-exec command. Althought that is a problem itself, because the user would get a false sense of security, I think the main problem is that those profiles are provided as some sort of example. If a developer,  for instance, defines a sandbox environment for a critical application based on that rules, the new application will be as insecure as the default profiles.</p>
<pre>-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

    Core Security - Corelabs Advisory
    <a href="http://corelabs.coresecurity.com/" rel="nofollow">http://corelabs.coresecurity.com/</a>

 Apple OS X Sandbox Predefined Profiles Bypass

1. *Advisory Information*

Title: Apple OS X Sandbox Predefined Profiles Bypass
Advisory ID: CORE-2011-0919
Advisory URL: <a href="http://www.coresecurity.com/content/apple-osx-sandbox-bypass" rel="nofollow">http://www.coresecurity.com/content/apple-osx-sandbox-bypass</a>
Date published: 2011-11-10
Date of last update: 2011-11-10
Vendors contacted: Apple
Release mode: User release

2. *Vulnerability Information*

Class: Access control failure [CWE-264]
Impact: Code execution
Remotely Exploitable: Yes
Locally Exploitable: No
CVE Name: CVE-2011-1516

3. *Vulnerability Description*

Several of the default pre-defined sandbox profiles don't properly
limit all the available mechanisms and therefore allow exercising part
of the restricted functionality. Namely, sending Apple events is
possible within the no-network sandbox (kSBXProfileNoNetwork). A
compromised application hypothetically restricted by the use of the
no-network profile may have access to network resources through the
use of Apple events to invoke the execution of other applications not
directly restricted by the sandbox.

It is worth mentioning that a similar issue was reported by Charlie
Miller in his talk at Black Hat Japan 2008 [2]. He mentioned a few
processes sandboxed by default as well as a method to circumvent the
protection. Sometime after the talk, Apple modified the mentioned
profiles by restricting the use of Apple events but did not modify the
generic profiles.

4. *Vulnerable packages*

   . Apple Mac OS X 10.7.x
   . Apple Mac OS X 10.6.x
   . Apple Mac OS X 10.5.x

5. *Non-vulnerable packages*

   . Apple Mac OS X 10.4

6. *Vendor Information, Solutions and Workarounds*

Contact the vendor for more information.

7. *Credits*

This vulnerability was discovered and researched by Anibal Sacco and
Matias Eissler from Core Security Technologies. The publication of
this advisory was coordinated by Carlos Sarraute.

8. *Technical Description / Proof of Concept Code*

The use of Apple events is possible within the several default
profiles as no-network, no-internet (kSBXProfileNoNetwork,
kSBXProfileNoInternet) and others. A compromised application
hypothetically restricted by the use of the no-network profile may
have access to network resources through the use of Apple events to
invoke the execution of other applications not directly restricted by
the sandbox.

As Apple's "App Sandbox Design Guide" document points out,
applications that require sending Apple events to other arbitrary
applications are not suitable for sandboxing, because some developer
tools restrict Apple events by default while defining the sandbox. The
reason for this is that, as we show here, by dispatching Apple events
a process can escape the sandbox [1].

The method used by Charlie Miller involves dropping a script to the
disk and getting it executed by launchd via launchctl. Our approach is
technically the same without the need to drop a file. In our PoC we
used "osascript" to send the required Apple events to launchd in order
to execute the new process. As the new process is not a 'child' of the
sandboxed process, it is created without the sandbox restrictions.

An additional risk with these profiles is that they are supposed to
provide an example of how a process should be restricted in different
scenarios. If the no-network profile allows Apple-script events, this
may result in new applications using the same restriction rules,
therefore offering a false sense of security.

The following PoC illustrates this vulnerability:

/-----
import os
import sys
import socket

if len(sys.argv) != 2:
    print "[-] Usage: sandbox-exec -n no-network python %s hostname" %
sys.argv[0]

try:
    targetIP = sys.argv[1]
    s = socket.socket()
    s.connect((targetIP, 80))
    s.send('GET /\r\n\r\n')
    print(s.recv(1024))
    print "\n\n\n[+] Sandbox escaped"

except Exception, e:
    if "Operation not permitted" in str(e): #print repr(e)
        print "[-] Blocked by seatbelt"
        print "[ ] Escaping..."
        os.system("""/usr/bin/osascript -e 'tell application
"Terminal" to do script "python %s %s"'""" % (sys.argv[0], targetIP))

- -----/

9. *Report Timeline*

. 2011-09-20:
Core Security Technologies notifies Apple Product Security of the
vulnerability, including technical details. Preliminary publication
date is set to November 7, 2011.

. 2010-09-20:
Vendor acknowledges the receipt of the information.

. 2010-10-05:
Vendor informs that it does not see any actual security implications.
The kSBXProfileNoNetwork sandbox profile does not promise that Apple
Events will be blocked in the documentation. (Specifically, all it
guarantees is "all sockets-based networking is prohibited".)

. 2011-10-13:
Core responds that the kSBXProfileNoNetwork sandbox profile should
guarantee that "all sockets-based networking is prohibited". The PoC
sent to Apple shows that through the use of Apple events (osascript is
used in the PoC just to keep it simple) an attacker could circumvent
the restriction. So, at the end, sockets-based networking is used.

. 2010-10-18:
Vendor responds that it is currently considering modifying its
documentation to explicitly point out what Core described; namely,
that the restrictions that these particular sandbox profiles provide
are limited to the process in which the sandbox is applied.

. 2011-11-10:
The advisory CORE-2011-0919 is published as user release.

10. *References*

[1] App Sandbox Design Guide -- Designing for App Sandbox
<a href="http://developer.apple.com/library/mac/#documentation/Security/Conceptual/AppSandboxDesignGuide/DesigningYourSandbox/DesigningYourSandbox.html" rel="nofollow">http://developer.apple.com/library/mac/#documentation/Security/Conceptual/AppSandboxDesignGuide/DesigningYourSandbox/DesigningYourSandbox.html</a>

[2] Charlie Miller, "Hacking OS X", Black Hat Japan 2008
<a href="https://www.blackhat.com/presentations/bh-jp-08/bh-jp-08-Miller/BlackHat-Japan-08-Miller-Hacking-OSX.pdf" rel="nofollow">https://www.blackhat.com/presentations/bh-jp-08/bh-jp-08-Miller/BlackHat-Japan-08-Miller-Hacking-OSX.pdf</a>

11. *About CoreLabs*

CoreLabs, the research center of Core Security Technologies, is
charged with anticipating the future needs and requirements for
information security technologies. We conduct our research in several
important areas of computer security including system vulnerabilities,
cyber attack planning and simulation, source code auditing, and
cryptography. Our results include problem formalization,
identification of vulnerabilities, novel solutions and prototypes for
new technologies. CoreLabs regularly publishes security advisories,
technical papers, project information and shared software tools for
public use at: <a href="http://corelabs.coresecurity.com/" rel="nofollow">http://corelabs.coresecurity.com</a>.

12. *About Core Security Technologies*

Core Security Technologies enables organizations to get ahead of
threats with security test and measurement solutions that continuously
identify and demonstrate real-world exposures to their most critical
assets. Our customers can gain real visibility into their security
standing, real validation of their security controls, and real metrics
to more effectively secure their organizations.

Core Security's software solutions build on over a decade of trusted
research and leading-edge threat expertise from the company's Security
Consulting Services, CoreLabs and Engineering groups. Core Security
Technologies can be reached at +1 (617) 399-6980 or on the Web at:
<a href="http://www.coresecurity.com/" rel="nofollow">http://www.coresecurity.com</a>.

13. *Disclaimer*

The contents of this advisory are copyright (c) 2011 Core Security
Technologies and (c) 2011 CoreLabs, and are licensed under a Creative
Commons Attribution Non-Commercial Share-Alike 3.0 (United States)
License: <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/" rel="nofollow">http://creativecommons.org/licenses/by-nc-sa/3.0/us/</a>

14. *PGP/GPG Keys*

This advisory has been signed with the GPG key of Core Security
Technologies advisories team, which is available for download at
<a href="http://www.coresecurity.com/files/attachments/core_security_advisories.asc" rel="nofollow">http://www.coresecurity.com/files/attachments/core_security_advisories.asc</a>.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (MingW32)

iEYEARECAAYFAk68OxMACgkQyNibggitWa0YWgCfYbGm9R0+YJw6CxP6TNwdhEWr
9ZMAn16nqBqNbO582D5QpejeuTEV5RAj
=HruN
-----END PGP SIGNATURE-----</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/exploiting.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/exploiting.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/exploiting.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/exploiting.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/exploiting.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/exploiting.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/exploiting.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/exploiting.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/exploiting.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/exploiting.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/exploiting.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/exploiting.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/exploiting.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/exploiting.wordpress.com/262/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=262&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://exploiting.wordpress.com/2011/11/14/apple-os-x-sandbox-predefined-profiles-bypass/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5e963b441a73812620a82d6b092fc46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aLS</media:title>
		</media:content>

		<media:content url="http://htekidsnews.com/wp-content/uploads/2011/07/dog-3.jpg" medium="image">
			<media:title type="html"> Seatbelt</media:title>
		</media:content>
	</item>
		<item>
		<title>Ph-Neutral 0x7db</title>
		<link>http://exploiting.wordpress.com/2011/05/23/ph-neutral-0x7db/</link>
		<comments>http://exploiting.wordpress.com/2011/05/23/ph-neutral-0x7db/#comments</comments>
		<pubDate>Mon, 23 May 2011 21:29:16 +0000</pubDate>
		<dc:creator>aLS --</dc:creator>
				<category><![CDATA[Main()]]></category>
		<category><![CDATA[berlin]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[phneutral. ph-neutral]]></category>

		<guid isPermaLink="false">http://exploiting.wordpress.com/?p=253</guid>
		<description><![CDATA[the_excerpt()<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=253&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_255" class="wp-caption aligncenter" style="width: 507px"><a href="http://exploiting.files.wordpress.com/2011/05/phneutral.jpg"><img class="size-full wp-image-255" title="Ph-Neutral" src="http://exploiting.files.wordpress.com/2011/05/phneutral.jpg?w=497&#038;h=107" alt="Ph-Neutral" width="497" height="107" /></a><p class="wp-caption-text">Ph-Neutral</p></div>
<p>And the day finally came. The last (public, at least) edition of Ph-Neutral is very close and i gotta say: I&#8217;m very excited about being there.  Luckily, I&#8217;ll be arriving two days before the conference so I&#8217;m gonna have enough time to recover myself after the flight. I wanna be in good shape to deal with the -pretty insane- Ph-Neutral rhythm that usually consist in the mix of highly technical talks with amazing parties at night.</p>
<p><span id="more-253"></span></p>
<p>I’m also looking forward to seeing a lot of friends I only get to see a couple of times a year (at best) and, of course, im always happy to meet new people so if you wanna share a few beers with me drop me a mail (als.alsx), tweet me (@hannibals) or just look for the bald-guy-with-a-goat-beard near any of these talks:</p>
<p>Building your own TETRA radio sniffer  / Harald Welte (laforge)</p>
<p>Chip &amp; PIN is definitely broken  / Andrea Barisani &amp; Daniele Bianco</p>
<p>FreeBSD Kernel Exploitation  / argp</p>
<p>Advances in Win32 ASLR evasion  / JF</p>
<p>Exploiting the Hard-Working DWARF:</p>
<p>Trojans with no Native Executable Code  / James Oakley &amp; Sergey Bratus</p>
<p>1 fact + 2 rules &#8211; 3 outcomes = 0 good news for you! (or how I walked in and destroyed your company)  / Jayson E. Street</p>
<p>Exploit Next Generation ++  / Nelson Brito</p>
<p>98% Zero-Day Virus Detection (by natural language training)  / Shirtie</p>
<p>You can read more and see some of the abstracts <a href="http://www.ph-neutral.org/">here</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/exploiting.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/exploiting.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/exploiting.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/exploiting.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/exploiting.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/exploiting.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/exploiting.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/exploiting.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/exploiting.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/exploiting.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/exploiting.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/exploiting.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/exploiting.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/exploiting.wordpress.com/253/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=253&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://exploiting.wordpress.com/2011/05/23/ph-neutral-0x7db/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5e963b441a73812620a82d6b092fc46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aLS</media:title>
		</media:content>

		<media:content url="http://exploiting.files.wordpress.com/2011/05/phneutral.jpg" medium="image">
			<media:title type="html">Ph-Neutral</media:title>
		</media:content>
	</item>
		<item>
		<title>[Unpatched] Apple OS X ATSServer CFF CharStrings INDEX Sign Mismatch (The Jailbreakme bug in OSX)</title>
		<link>http://exploiting.wordpress.com/2010/11/09/unpatched-apple-os-x-atsserver-cff-charstrings-index-sign-mismatch-the-jailbreakme-bug-in-osx/</link>
		<comments>http://exploiting.wordpress.com/2010/11/09/unpatched-apple-os-x-atsserver-cff-charstrings-index-sign-mismatch-the-jailbreakme-bug-in-osx/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 16:12:25 +0000</pubDate>
		<dc:creator>aLS --</dc:creator>
				<category><![CDATA[Advisories]]></category>
		<category><![CDATA[ATSServer]]></category>
		<category><![CDATA[charstrings]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[jailbreakme]]></category>
		<category><![CDATA[mac bug]]></category>

		<guid isPermaLink="false">http://exploiting.wordpress.com/?p=234</guid>
		<description><![CDATA[the_excerpt()<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=234&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 479px"><a href="http://exploiting.wordpress.com"><img title="Jailbreakme" src="http://www.nolapeles.com/wp-content/uploads/2010/08/jailbreakme_2_iphone_4.jpg" alt="" width="469" height="352" /></a><p class="wp-caption-text">Jailbreakme</p></div>
<p>Hey guys! It&#8217;s been a long time since my last post&#8230; I&#8217;ve been very busy with some personal projects but i though this advisory deserveded at least a small post about it.</p>
<p>I&#8217;ll make it short; <a href="http://corelabs.coresecurity.com/index.php?module=Wiki&amp;action=view&amp;type=researcher&amp;name=Matias_Eissler">Matias Eissler</a>, a teammate at Core triggered the Jailbreakme bug in OSX, so we decided to spend some time researching it.</p>
<p><span id="more-234"></span></p>
<p>But, what we found is a completely different bug, when handling exactly the same type of component. And, btw, it has *very* dangerous attack vectors. </p>
<p>For all these things (and because we wanna support this amazing project) we are gonna give a small talk about this bug, its attack vectors and its exploitation (Core Impact already counts with a working multiversion exploit) today, on the upcoming <a href="https://sites.google.com/site/securityjam/">Open Security Jam 2010</a> as an event of the <a href="http://www.hackerspace.com.ar/">La Fabrica de Inventos</a>, the first BsAs. Hackerspace.</p>
<p>Hope to see some of you there.</p>
<p>Oh, another little thing! This advisory was released as &#8220;User Release&#8221;. That means that Apple still didn&#8217;t patched it. Although it was reported to apple almost 3 months ago.<br />
I suggest you to read the timeline. I think this was the right thing to do. Apple likes to establish dates that is not going to honor and.. to be honest, it looks like some kind of power demonstration technique to me.<br />
And&#8230; they might not have *that* power.</p>
<p>Apple OS X ATSServer CFF CharStrings INDEX Sign Mismatch<br />
1. Advisory Information</p>
<p>Title: Apple OS X ATSServer CFF CharStrings INDEX Sign Mismatch<br />
Advisory Id: CORE-2010-0825<br />
Advisory URL: http://www.coresecurity.com/content/Apple-OSX-ATSServer-CharStrings-Sign-Mismatch<br />
Date published: 2010-11-08<br />
Date of last update: 2010-11-08<br />
Vendors contacted: Apple<br />
Release mode: User release<br />
2. Vulnerability Information</p>
<p>Class: Input validation error [CWE-20]<br />
Impact: Code execution<br />
Remotely Exploitable: Yes (client-side)<br />
Locally Exploitable: No<br />
CVE Name: CVE-2010-1797<br />
Bugtraq ID: N/A<br />
3. Vulnerability Description</p>
<p>The Apple Type Services is prone to memory corruption due a sign mismatch vulnerability when handling the last offset value of the CharStrings INDEX structure.</p>
<p>This vulnerability could be used by a remote attacker to execute arbitrary code, by enticing the user of Mac OS X v10.5.x to view or download a PDF document containing a embedded malicious CFF font (Compact Font Format [1]).</p>
<p>This vulnerability is a variation of the vulnerability labeled as CVE-2010-1797 (FreeType JailbreakMe iPhone exploit variation).<br />
4. Vulnerable packages</p>
<p>* Apple Mac OS X v10.5.x</p>
<p>5. Solutions and Workarounds</p>
<p>According to information provided to us by Apple, a patch for this fix has already been developed. Apple provided us a release date for this patch in two opportunities but then failed to meet their our deadlines without giving us any notice or explanation.</p>
<p>Apple Mac OSX 10.6 is not affected by this vulnerability, upgrading to this version is highly recommed when possible.<br />
6. Credits</p>
<p>This vulnerability was discovered and researched by Anibal Sacco and Matias Eissler, from Core Security Technologies. Publication was coordinated by Fernando Russ and Pedro Varangot.<br />
7. Technical Description</p>
<p>When loading a PDF with an embedded CFF font a sign mismatch error exists in ATSServer when handling the last offset value of the CharStrings INDEX structure.<br />
This could be triggered in different ways:</p>
<p>* When trying to make a thumbnail of the file<br />
* When trying to open the file with the Preview app<br />
* Serving the file in a web server and tricking the user to click on it.<br />
* Embedded in an email (if handled by Mail.app)</p>
<p>This allows to corrupt the process memory by controlling the size parameter of a memcpy function call allowing an attacker to get code execution.</p>
<p>At [00042AFA] we can see how the value obtained from the file is sign extended prior to be passed to the function loc_370F0. Inside this function this value will be used as the size parameter of memcpy:<br />
<pre class="brush: cpp;">
00042AF2 movsx eax, word ptr [edx+5Eh] 
00042AF6 mov [esp+0Ch], eax 
00042AFA movsx eax, word ptr [esi+4] 
00042AFE mov [esp], edi 
00042B01 mov [esp+8], eax 
00042B05 mov eax, [ebp-2Ch] 
00042B08 mov [esp+4], eax 
00042B0C call loc_370F0 
</pre></p>
<p>An attacker could take advantage of this condition by setting a negative offset value (0xfffa) in the file that will be converted to a DWORD without enough validation leading to a memcpy of size 0xfffffffa.</p>
<p>This vulnerability results in arbitrary code execution.<br />
8. Report Timeline</p>
<p>* 2010-08-26: Vendor contacted, a draft of this advisory is sent and September 28th is proposed as a coordinated publication date. Core remarks that since this is a variation of a publicly disclossed vulnerability it may have already been discovered by other security researchers like vulnerability research brokers or independent security researchers.<br />
* 2010-08-28: The Apple Product Security team acknowledges the report, saying that they were able to reproduce the issue in Mac OS X 10.5 but not in Mac OS X 10.6, they also said that the deadline for September 28th will be imposible to meet.<br />
* 2010-08-30: Core informs Apple that there is no problem changing the publication date for the report, whenever the new publication date remains reasonable. Also, Core asks for a tentive timeframe for the fix, and confirm that Mac OS X 10.6 does not seem to be affected.<br />
* 2010-08-31: Apple acknowledges the comunication informing the publication timing, and state that they are still trying to determine the most appropiate timeframe.<br />
* 2010-09-28: Core asks the vendor for an update regarding this issue. Also, Core asks for a specific timeframe for the fix, and sets October 18th as tentative publication date.<br />
* 2010-09-28: Apple acknowledges the comunication informing that this issue will be fixed in the next security update of Mac OS X 10.5, which is tentatively scheduled for the end of October without a firm date of publication.<br />
* 2010-08-31: Apple asks Core about credit information for the advisory.<br />
* 2010-09-28: Core acknowledges the comunication sending the credit information for this report.<br />
* 2010-10-20: Core asks Apple for a firm date for the release of this securiry issue since the initial propossed timeframe of October 18th is due.<br />
* 2010-10-22: Apple acknowledges the comunication informing that the publication date is scheduled to the week of October 25th. Also, Apple notifies that the assigned identifier for this vulnerability is CVE-2010-1797.<br />
* 2010-11-01: Core asks Apple for a new schedule for the publication, since there was no notice of any Apple security update during the week of October 25th.<br />
* 2010-11-01: Apple acknowledges the communication informing that the publication date was rescheduled to the middle of the week of November 1st.<br />
* 2010-11-03: Core informs Apple that the publication of this advisory was scheduled to Monday 8th, taking into account the last communication this is a final publication date. Core also informs that the information about how this vulnerability was found and how it can be exploited will be discussed in a small infosec related local event in Buenos Aires city.<br />
* 2010-11-08: Core publishes advisory CORE-2010-0825.</p>
<p>9. References</p>
<p>[1] http://en.wikipedia.org/wiki/PostScript_fonts#Compact_Font_Format<br />
10. About CoreLabs</p>
<p>CoreLabs, the research center of Core Security Technologies, is charged with anticipating the future needs and requirements for information security technologies. We conduct our research in several important areas of computer security including system vulnerabilities, cyber attack planning and simulation, source code auditing, and cryptography. Our results include problem formalization, identification of vulnerabilities, novel solutions and prototypes for new technologies. CoreLabs regularly publishes security advisories, technical papers, project information and shared software tools for public use at: http://corelabs.coresecurity.com.<br />
11. About Core Security Technologies</p>
<p>Core Security Technologies develops strategic solutions that help security-conscious organizations worldwide develop and maintain a proactive process for securing their networks. The company&#8217;s flagship product, CORE IMPACT, is the most comprehensive product for performing enterprise security assurance testing. CORE IMPACT evaluates network, endpoint and end-user vulnerabilities and identifies what resources are exposed. It enables organizations to determine if current security investments are detecting and preventing attacks. Core Security Technologies augments its leading technology solution with world-class security consulting services, including penetration testing and software security auditing. Based in Boston, MA and Buenos Aires, Argentina, Core Security Technologies can be reached at 617-399-6980 or on the Web at http://www.coresecurity.com.<br />
12. Disclaimer</p>
<p>The contents of this advisory are copyright (c) 2010 Core Security Technologies and (c) 2010 CoreLabs, and are licensed under a Creative Commons Attribution Non-Commercial Share-Alike 3.0 (United States) License: http://creativecommons.org/licenses/by-nc-sa/3.0/us/<br />
13. PGP/GPG Keys</p>
<p>This advisory has been signed with the GPG key of Core Security Technologies advisories team, which is available for download at http://www.coresecurity.com/files/attachments/core_security_advisories.asc.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/exploiting.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/exploiting.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/exploiting.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/exploiting.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/exploiting.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/exploiting.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/exploiting.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/exploiting.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/exploiting.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/exploiting.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/exploiting.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/exploiting.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/exploiting.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/exploiting.wordpress.com/234/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=234&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://exploiting.wordpress.com/2010/11/09/unpatched-apple-os-x-atsserver-cff-charstrings-index-sign-mismatch-the-jailbreakme-bug-in-osx/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5e963b441a73812620a82d6b092fc46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aLS</media:title>
		</media:content>

		<media:content url="http://www.nolapeles.com/wp-content/uploads/2010/08/jailbreakme_2_iphone_4.jpg" medium="image">
			<media:title type="html">Jailbreakme</media:title>
		</media:content>
	</item>
		<item>
		<title>IDAPython conditional breakpoints or &#8216;QuickHooking with IDAPython&#8217;</title>
		<link>http://exploiting.wordpress.com/2010/06/29/idapython-conditional-breakpoints-or-quickhooking-with-idapython/</link>
		<comments>http://exploiting.wordpress.com/2010/06/29/idapython-conditional-breakpoints-or-quickhooking-with-idapython/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 17:08:01 +0000</pubDate>
		<dc:creator>aLS --</dc:creator>
				<category><![CDATA[Main()]]></category>

		<guid isPermaLink="false">http://exploiting.wordpress.com/?p=214</guid>
		<description><![CDATA[the_excerpt()<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=214&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;">&nbsp;</p>
<p style="text-align:center;">&nbsp;</p>
<div id="attachment_237" class="wp-caption aligncenter" style="width: 410px"><img class="size-medium wp-image-237  " title="Breakpoint" src="http://www.nopuedocreer.com/noticias/wp-content/images/2008/05/stop.jpg" alt="Breakpoint" width="400" height="299" /><p class="wp-caption-text">Breakpoint</p></div>
<p>Conditional breakpoints. Ohh beloved conditional breakpoints!</p>
<p>Everybody loves conditional breakpoints. They allows us to wait at a certain moment to stop, sparing us a lot of tedious manual tracing. There isn&#8217;t anything easier and more gratifying that <em>hooking</em> our process&#8217; code by just setting a breakpoint, typing some lines, and looking our process stopped right there, when the fun starts.</p>
<p>Nowadays, almost every decent debugger counts with hardware breakpoints. Some of them with very flexibles interfaces and some others with very limited ones. In fact, this is a crucial point when deciding the limit between a complex hardware breakpoint and the use of a debugging library/tool that allows us to have full control of the context to programatically manipulate the process execution as we need.</p>
<p>When talking about IDA, we can say that it has a very flexible interface because it allows us to define the breakpoint conditions using the IDC scripting language. It&#8217;s mostly used to express very simple conditions like <strong>EAX == 0&#215;1</strong> or to do little memory modifications.  But, as an <a href="http://code.google.com/p/idapython/" target="_blank">IDAPython</a> fan, I&#8217;ve always wanted to be able to use  IDAPython when handling my quick conditional breakpoints.<br />
<span id="more-214"></span><br />
Thinking on this and with the help of some friends i managed to get a way to reuse the tip I&#8217;ve previously shared with you <a href="http://exploiting.wordpress.com/2010/01/03/tip-how-to-define-a-keyboard-shortcut-for-an-idapython-script/" target="_blank">here</a>.<br />
The idea behind this post is to take advantage of the posibilities of using IDC in conditional breakpoints to define an IDC function that will execute and evaluate an IDAPython function.</p>
<p>To demonstrate this I&#8217;ve made a very simple script called <strong>conditional_plugin.py</strong> that can be used as a template for more elaborated scripts.<br />
Let&#8217;s see the code. It&#8217;s divided in two main parts: The one in charge of setting a breakpoint in a desired address, and one in charge of the handling of it.</p>
<p><pre class="brush: python;">
def set_bp(address, cnd):

 global cond_file

 print &quot;[+] Setting conditional IDAPython breakpoint on %08x&quot; % address

 add_bpt(address, 0, BPT_SOFT)
 enable_bpt(address, True)
 SetBptCnd(address, cnd)

idaapi.CompileLine('static cond() {return (RunPythonStatement(&quot;condition()&quot;) | Byte(0x10000));}')
set_bp(ScreenEA(), 'cond()')
</pre></p>
<p>We can clearly see that <strong>set_bp</strong> only sets a breakpoint (in this example, a software breakpoint), enables it, and defines a condition for it.<br />
The next two lines are very similar to <a href="http://exploiting.wordpress.com/2010/01/03/tip-how-to-define-a-keyboard-shortcut-for-an-idapython-script">this</a>.  There is a small caveat with this technique but we&#8217;ll talk about the particularities of this case later. By now, we&#8217;ll just take care of:</p>
<p>1 &#8211; Define the IDC function &#8220;<strong>func()</strong>&#8221; that will be in charge through RunPythonStatement of calling our Python function &#8220;<strong>condition()</strong>&#8220;.<br />
2 &#8211; Set <strong>cond()</strong> as breakpoint condition<br />
Then we have the IDAPython condition itself:</p>
<p><pre class="brush: python;">
def condition():
...

 # Condition
 eax = GetRegValue(&quot;EAX&quot;)
 if eax != 0x0:
 print &quot;[+] Condition met&quot;
 BREAK()
 else:
 CONTINUE()
</pre></p>
<p>It&#8217;s in this function where we&#8217;ll be doing the IDAPython magic to handle our breakpoint.<br />
In this example we&#8217;ll just get the EAX value to compare it with an specific value. If the condition is met, we&#8217;ll call <strong>BREAK()</strong> to stop the process execution. Otherwise, we&#8217;ll call <strong>CONTINUE()</strong> to continue with the normal execution. Let&#8217;s see this two functions</p>
<p><pre class="brush: python;">
CONTINUE = lambda: PatchByte(0x10000,0)
BREAK = lambda: PatchByte(0x10000,1)
</pre></p>
<p>These are just some DEFINE-like lines to get rid of the problem i&#8217;ve mentioned before. <strong>RunPythonStatement</strong> always returns 0. As there is no way to obtain a value sent from python I chose to use a byte from the process memory space as a global variable through IDC and IDAPython.<br />
Probably there are better solutions to this issue out there. I must admit didn&#8217;t search enough. Anyway, if somebody has a better idea, I&#8217;ll be glad to hear about it <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Here, we&#8217;ll simply use <strong>PatchByte()</strong> to put 0 or 1 at address 0&#215;10000, the memory address used by every process to hold the environment variables.</p>
<p>This explains the line that defines the cond() function:</p>
<p><pre class="brush: python;">
idaapi.CompileLine('static cond() {return (RunPythonStatement(&quot;condition()&quot;) | Byte(0x10000));}')
</pre></p>
<p>It&#8217;s just a dirty way to keep it a oneliner: <strong>RunPythonStatement</strong> always returns 0, so <strong>Byte(0&#215;10000)</strong> is what really matters. that way <strong>cond()</strong> will return 0 or 1 depending on which function (<strong>CONTINUE</strong> or <strong>BREAK</strong>) we called.</p>
<p>So, there you have it! A quick &#8216;n dirty way to programaticaly handle breakpoints with IDAPython.</p>
<p>Of course, this is obviously just a basic example. Based in this template we can implement a lot of different techniques like memory tracking, function monitoring, process patching, bypasses of anti debugging methods, code injection, and much more fun!</p>
<p>If my laziness doesn&#8217;t stop me  -as it usually does- I will try to put together a few scripts I&#8217;ve made to offer you a few different starting-points.</p>
<p>See ya!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/exploiting.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/exploiting.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/exploiting.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/exploiting.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/exploiting.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/exploiting.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/exploiting.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/exploiting.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/exploiting.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/exploiting.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/exploiting.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/exploiting.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/exploiting.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/exploiting.wordpress.com/214/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=214&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://exploiting.wordpress.com/2010/06/29/idapython-conditional-breakpoints-or-quickhooking-with-idapython/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5e963b441a73812620a82d6b092fc46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aLS</media:title>
		</media:content>

		<media:content url="http://www.nopuedocreer.com/noticias/wp-content/images/2008/05/stop.jpg" medium="image">
			<media:title type="html">Breakpoint</media:title>
		</media:content>
	</item>
		<item>
		<title>[TIP] How to define a keyboard shortcut for an IDAPython script</title>
		<link>http://exploiting.wordpress.com/2010/01/03/tip-how-to-define-a-keyboard-shortcut-for-an-idapython-script/</link>
		<comments>http://exploiting.wordpress.com/2010/01/03/tip-how-to-define-a-keyboard-shortcut-for-an-idapython-script/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 18:33:09 +0000</pubDate>
		<dc:creator>aLS --</dc:creator>
				<category><![CDATA[Main()]]></category>
		<category><![CDATA[Dissasembly]]></category>
		<category><![CDATA[exploit]]></category>
		<category><![CDATA[IDA]]></category>
		<category><![CDATA[IDAPython]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[RE]]></category>
		<category><![CDATA[Reversing]]></category>

		<guid isPermaLink="false">http://exploiting.wordpress.com/?p=187</guid>
		<description><![CDATA[the_excerpt()<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=187&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_188" class="wp-caption aligncenter" style="width: 310px"><a href="http://exploiting.files.wordpress.com/2010/01/idapython.jpg"><img class="size-medium wp-image-188" title="IDAPython hack" src="http://exploiting.files.wordpress.com/2010/01/idapython.jpg?w=300&#038;h=221" alt="" width="300" height="221" /></a><p class="wp-caption-text">IDAPython</p></div>
<p style="text-align:center;">
<p>Today, i want to share with you a very useful tip that ive been using for a while, and i particulary like. Gera posted a variation of it in the IDA official forum some time ago but i think that would be useful to share it also here.</p>
<p>Usually, in IDA, we find ourselves needing a way to define a shortcut for that useful IDAPython script to bypass the tedious &#8220;alt+9 + [select the wanted IDAPython script] + enter&#8221; procedure.</p>
<p><span id="more-187"></span></p>
<p>When i finished the FindInFunc script (you can read my previous post about it <a href="http://exploiting.wordpress.com/2010/01/01/findinfunc-py-little-script-to-search-for-a-pattern-within-a-function/">here</a>), i faced that situation for the Nth time and i finally managed to get an easy hack to get it working.</p>
<p>We know that it is possible to set a shortcut to an IDC script by defining it in the idamain.cfg so after googling for a while i went to the IDAPython source and i&#8217;ve found this:</p>
<p><pre class="brush: cpp;">/* Simple Python statement runner function for IDC */
static const char idc_runpythonstatement_args[] = { VT_STR, 0 };
static error_t idaapi idc_runpythonstatement(value_t *argv, value_t *res)
{
res-&amp;gt;num = PyRun_SimpleString(argv[0].str);
return eOk;
}</pre></p>
<p>http://code.google.com/p/idapython/source/diff?spec=svn32&#038;r=32&#038;format=side&#038;path=/trunk/python.cpp</p>
<p>This functions alows us to execute a python sentence in the context of an IDC script&#8230; Dude! It&#8217;s pretty much convenient for our purposes because if we do:</p>
<p><pre class="brush: python; light: true;">
RunPythonStatement(&quot;execfile 'c:\pathoffile\script.py'&quot;)</pre></p>
<p>Voila! We have our script executed.</p>
<p>So, all we need now is to add something like this to the main() function in ida.idc:</p>
<p><pre class="brush: cpp; light: true;">AddHotkey(&quot;Alt-F8&quot;, &quot;py_findinfunc&quot;);</pre></p>
<p>And then, add this handler at the end, in the same file.</p>
<p><pre class="brush: cpp; light: true;">static py_findinfunc()
{
RunPythonStatement(&quot;execfile('c:\\FindInFunc.py')&quot;);
}</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/exploiting.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/exploiting.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/exploiting.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/exploiting.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/exploiting.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/exploiting.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/exploiting.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/exploiting.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/exploiting.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/exploiting.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/exploiting.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/exploiting.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/exploiting.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/exploiting.wordpress.com/187/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=187&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://exploiting.wordpress.com/2010/01/03/tip-how-to-define-a-keyboard-shortcut-for-an-idapython-script/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5e963b441a73812620a82d6b092fc46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aLS</media:title>
		</media:content>

		<media:content url="http://exploiting.files.wordpress.com/2010/01/idapython.jpg?w=300" medium="image">
			<media:title type="html">IDAPython hack</media:title>
		</media:content>
	</item>
		<item>
		<title>FindInfunc.py (Little script to search for a pattern within a function)</title>
		<link>http://exploiting.wordpress.com/2010/01/01/findinfunc-py-little-script-to-search-for-a-pattern-within-a-function/</link>
		<comments>http://exploiting.wordpress.com/2010/01/01/findinfunc-py-little-script-to-search-for-a-pattern-within-a-function/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 20:12:26 +0000</pubDate>
		<dc:creator>aLS --</dc:creator>
				<category><![CDATA[Main()]]></category>
		<category><![CDATA[Cheat]]></category>
		<category><![CDATA[Code Search]]></category>
		<category><![CDATA[CS]]></category>
		<category><![CDATA[IDA]]></category>
		<category><![CDATA[IDAPython]]></category>
		<category><![CDATA[Tip]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://exploiting.wordpress.com/?p=175</guid>
		<description><![CDATA[the_excerpt()<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=175&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It is very common, when involved on the reversing of a big function in IDA, to need to look for some specific instruction, basic block, or even some particular string within the function.<br />
I know we can use Marks (CTRL+M) for this task but, to use that feature, we&#8217;d need to be previously there to set a mark (ALT+M).</p>
<p>Sometimes, we want to jump to some piece of code where we&#8217;ve never been before. We can not use the &#8220;Text Search&#8221; command for this task because it will search for the pattern through the whole binary. Well, we can in fact, but its not going to be so optimal.</p>
<p><span id="more-175"></span></p>
<p>For that problem i&#8217;ve coded a little IDAPython script who searchs for an string within the limits<br />
of a defined function. I wanted to share it with you as another example of the IDA + Python customization<br />
posibilities.</p>
<p><pre class="brush: python;">
from idautils import *
from idaapi import *

function_start = ScreenEA()
function_end   = FindFuncEnd(function_start)
matches = &quot;&quot;

pattern = AskStr(&quot;&quot;,&quot;Search for:&quot;)
for head in Heads(function_start, function_end):
 if isCode(GetFlags(head)):
 code = &quot;%s %s %s&quot; %(GetMnem(head),GetOpnd(head,0),GetOpnd(head,1) )
 if pattern in code:
 matches += &quot;0x%x - %s\n&quot; % (head ,code)
print &quot;Results:&quot;
print matches
</pre></p>
<p>Hope this is useful for you.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/exploiting.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/exploiting.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/exploiting.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/exploiting.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/exploiting.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/exploiting.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/exploiting.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/exploiting.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/exploiting.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/exploiting.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/exploiting.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/exploiting.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/exploiting.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/exploiting.wordpress.com/175/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=175&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://exploiting.wordpress.com/2010/01/01/findinfunc-py-little-script-to-search-for-a-pattern-within-a-function/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5e963b441a73812620a82d6b092fc46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aLS</media:title>
		</media:content>
	</item>
		<item>
		<title>Peludo &#8220;Cachicamo&#8221; Beta 1.0 is finally out!</title>
		<link>http://exploiting.wordpress.com/2009/12/25/peludo-cachicamo-beta-1-0-is-finally-out/</link>
		<comments>http://exploiting.wordpress.com/2009/12/25/peludo-cachicamo-beta-1-0-is-finally-out/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 18:27:18 +0000</pubDate>
		<dc:creator>aLS --</dc:creator>
				<category><![CDATA[Main()]]></category>
		<category><![CDATA[0day]]></category>
		<category><![CDATA[exploits]]></category>
		<category><![CDATA[Netifera]]></category>
		<category><![CDATA[Peludo]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://exploiting.wordpress.com/?p=167</guid>
		<description><![CDATA[the_excerpt()<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=167&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_169" class="wp-caption aligncenter" style="width: 336px"><a href="http://netifera.com"><img class="size-full wp-image-169" title="Netifera" src="http://exploiting.files.wordpress.com/2009/12/imgp.jpg?w=497" alt=""   /></a><p class="wp-caption-text">Peludo</p></div>
<p style="text-align:center;">
<p>Oh yeah!. Have you heard about Peludo from the Netifera guys?</p>
<p>You should. From the netifera&#8217;s page:</p>
<p><em>&#8220;</em><em>Peludo is a system to create and run platform independent, self-contained and injectable applications written in the C programming language. It provides a cross compiling environment with the tools to generate applications in Peludo&#8217;s new binary format (PLD). The system also provides the runtime necessary to launch these programs as independent executable files or as position independent code that can be injected into a runnning process. Peludo makes the netifera probe&#8217;s Java virtual machine injectable and easier to port to new platforms.&#8221;</em></p>
<p><span id="more-167"></span><br />
This is just a beta release. By now it only supports Linux/x86 and FreeBSD/amd64 as host and Linux/i386 as target platform but you can bet the Netifera guys are gonna extend this in nothing.</p>
<p>Inside Peludo&#8217;s tgz you will find a very complete documentation about what Peludo is and how it works together with a fully commented source code and very clear use instructions.</p>
<p>You can download it <a href="http://netifera.com/peludo" target="_blank">here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/exploiting.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/exploiting.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/exploiting.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/exploiting.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/exploiting.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/exploiting.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/exploiting.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/exploiting.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/exploiting.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/exploiting.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/exploiting.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/exploiting.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/exploiting.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/exploiting.wordpress.com/167/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=167&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://exploiting.wordpress.com/2009/12/25/peludo-cachicamo-beta-1-0-is-finally-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5e963b441a73812620a82d6b092fc46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aLS</media:title>
		</media:content>

		<media:content url="http://exploiting.files.wordpress.com/2009/12/imgp.jpg" medium="image">
			<media:title type="html">Netifera</media:title>
		</media:content>
	</item>
		<item>
		<title>Ekoparty 2009 &#8211; Deactivate the Rootkit &#8211; 2 days left.</title>
		<link>http://exploiting.wordpress.com/2009/09/15/ekoparty-2009-2-days-left/</link>
		<comments>http://exploiting.wordpress.com/2009/09/15/ekoparty-2009-2-days-left/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 17:12:30 +0000</pubDate>
		<dc:creator>aLS --</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Absolute]]></category>
		<category><![CDATA[anti theft]]></category>
		<category><![CDATA[BIOS]]></category>
		<category><![CDATA[Computrace]]></category>
		<category><![CDATA[Ekoparty]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[Rootkit]]></category>

		<guid isPermaLink="false">http://exploiting.wordpress.com/?p=152</guid>
		<description><![CDATA[Well&#8230; everybody knows Ekoparty. One of the most important Security Conferences at south america.  And a very important event in the local scene. Of course, Alfred and I will be talking there. This&#8217;ll be a great opportunity for us to show all the PoC that we left out (coz of the Turbo Talk) in the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=152&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_153" class="wp-caption aligncenter" style="width: 208px"><a href="http://www.ekoparty.com.ar/"><img class="size-full wp-image-153" title="ekologo" src="http://exploiting.files.wordpress.com/2009/09/ekologo.jpg?w=497" alt="Ekoparty Security Conference"   /></a><p class="wp-caption-text">Ekoparty Security Conference</p></div>
<p>Well&#8230; everybody knows Ekoparty. One of the most important Security Conferences at south america.  And a very important event in the local scene.</p>
<p>Of course, Alfred and I will be talking there. This&#8217;ll be a great opportunity for us to show all the PoC that we left out (coz of the Turbo Talk) in the past Black Hat &#8211; Las Vegas.</p>
<p>So, i hope you be there.</p>
<p>If you wanna share a beer (or two) and chat a bit.  Please drop me a msg.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/exploiting.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/exploiting.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/exploiting.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/exploiting.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/exploiting.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/exploiting.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/exploiting.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/exploiting.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/exploiting.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/exploiting.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/exploiting.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/exploiting.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/exploiting.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/exploiting.wordpress.com/152/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=152&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://exploiting.wordpress.com/2009/09/15/ekoparty-2009-2-days-left/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5e963b441a73812620a82d6b092fc46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aLS</media:title>
		</media:content>

		<media:content url="http://exploiting.files.wordpress.com/2009/09/ekologo.jpg" medium="image">
			<media:title type="html">ekologo</media:title>
		</media:content>
	</item>
		<item>
		<title>Deactivate the rootkit &#8211; Black Hat Vegas 2009</title>
		<link>http://exploiting.wordpress.com/2009/09/11/138/</link>
		<comments>http://exploiting.wordpress.com/2009/09/11/138/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 21:30:26 +0000</pubDate>
		<dc:creator>aLS --</dc:creator>
				<category><![CDATA[Main()]]></category>
		<category><![CDATA[Absolute]]></category>
		<category><![CDATA[BIOS]]></category>
		<category><![CDATA[Computrace]]></category>
		<category><![CDATA[Lo-Jack]]></category>
		<category><![CDATA[LoJack]]></category>
		<category><![CDATA[Ortega]]></category>
		<category><![CDATA[Rootkit]]></category>
		<category><![CDATA[Sacco]]></category>

		<guid isPermaLink="false">http://exploiting.wordpress.com/?p=138</guid>
		<description><![CDATA[the_excerpt()<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=138&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_137" class="wp-caption aligncenter" style="width: 507px"><a rel="attachment wp-att-137" href="http://exploiting.wordpress.com/2009/09/11/138/blackhat/"><img class="size-full wp-image-137" title="BlackHat 2009 - Vegas" src="http://exploiting.files.wordpress.com/2009/09/blackhat.jpg?w=497&#038;h=311" alt="BlackHat 2009 - Vegas" width="497" height="311" /></a><p class="wp-caption-text">BlackHat 2009 - Vegas</p></div>
<p>Has been a long time since my last post here&#8230; Alfred and I were working very hard for our last research/talk (the continuation of &#8216;Persistant BIOS Infection&#8217;) &#8220;Deactivate the rootkit&#8221; where we found that Computrace  (an Anti-Theft Technology system) comes by default on most of the laptops BIOSes and it can be controlled by an attacker compromising the whole system&#8217;s security mechanisms.</p>
<p>Im not going to explain all the research here&#8230; a lot has been said about this. We just did a turbo-talk at black hat ( a very long one, im really happy about that) and we didnt have the time to show all the proofs we gathered but we did it through Core. Here is all the stuff. Draw Your Own Conclusions</p>
<p><a href="http://www.blackhat.com/presentations/bh-usa-09/ORTEGA/BHUSA09-Ortega-DeactivateRootkit-PAPER.pdf">Slides: Black Hat &#8211; Las Vegas 2009</a></p>
<p><a href="http://www.blackhat.com/presentations/bh-usa-09/ORTEGA/BHUSA09-Ortega-DeactivateRootkit-PAPER.pdf">White Paper : Black Hat &#8211; Las Vegas 2009</a></p>
<p><span id="more-138"></span></p>
<p>Then, after some words of the computrace guys denying almost all our findings (<a href="http://www.vancouversun.com/entertainment/Absolute+Software+denies+claims+hackers+exploit+software+commit+crime/1850869/story.html">here</a>), we made public this page with all the proof, meaning: a tool to detect if your laptop has computrace in it, a network dump showing the first stage of the communication in plain text :S, several videos demonstrating what we said, and a tool to control and redirect computrace.</p>
<p>You can find the Core Security response <a href="http://blog.coresecurity.com/2009/08/11/the-bios-embedded-anti-theft-persistant-agent-that-couldnt-response-handling-the-ostrich-defense/">here</a>:</p>
<p>and the Core&#8217;s project page <a href="http://corelabs.coresecurity.com/index.php?module=Wiki&amp;action=view&amp;type=publication&amp;name=Deactivate_the_Rootkit">here</a>.</p>
<p>A few pages who covered the talk:</p>
<p><a href="http://it.slashdot.org/story/09/07/31/1337202/BIOS-Rootkit-Preloaded-In-60-of-New-Laptops">Slashdot</a></p>
<p><a href="http://blogs.zdnet.com/security/?p=3936">ZDNet</a></p>
<p><a href="http://www.securityfocus.com/bid/35889/discuss">SecurityFocus</a></p>
<p><a href="http://www.reddit.com/r/netsec/duplicates/96dq0/researchers_find_insecure_bios_rootkit_preloaded/">Reddit</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/exploiting.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/exploiting.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/exploiting.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/exploiting.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/exploiting.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/exploiting.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/exploiting.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/exploiting.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/exploiting.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/exploiting.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/exploiting.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/exploiting.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/exploiting.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/exploiting.wordpress.com/138/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=exploiting.wordpress.com&amp;blog=758918&amp;post=138&amp;subd=exploiting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://exploiting.wordpress.com/2009/09/11/138/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5e963b441a73812620a82d6b092fc46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aLS</media:title>
		</media:content>

		<media:content url="http://exploiting.files.wordpress.com/2009/09/blackhat.jpg" medium="image">
			<media:title type="html">BlackHat 2009 - Vegas</media:title>
		</media:content>
	</item>
	</channel>
</rss>
