Presented at Black Hat USA 2010
July 29, 2010, 4:45 p.m.
With the ever increasing importance of providing and maintaining reliable services for both infrastructure support as well as business continuity, companies rely upon the IBM AIX operating system. In most cases, these machines hold the most critical data available for their business which makes IBM AIX a highly valued target from a hacker's perspective. Over the past decade, hackers have increasingly focused on infiltrating valuable data such as proprietary databases, credit information, product pricing information and more. As such, the importance of protecting the IBM AIX operating system should be priority one.
Initial heap exploitation research was first documented and published by David Litchfield, in August of 2005. His paper entitled, "An Introduction to Heap overflows on AIX 5.3L" focused on AIX heap abuse within the utilization of heap's free()/rightmost() functions.
While Litchfield's method solves one scenario, there is an additional scenario that has been left out. So what is the difference between the leftmost call versus rightmost? A stack trace will show leftmost is utilized when a fresh heap segment is requested, while rightmost is utilized when the application requests the heap to remove a previously allocated chunk from memory.