<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Glibc on Insinuator.net - Bold Statements</title>
    <link>https://insinuator.net/tags/glibc/</link>
    <description>Recent content in Glibc on Insinuator.net - Bold Statements</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 06 Jun 2018 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://insinuator.net/tags/glibc/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>New Release of Glibc Heap Analysis Plugins</title>
      <link>https://insinuator.net/2018/06/new-release-of-glibc-heap-analysis-plugins/</link>
      <pubDate>Wed, 06 Jun 2018 00:00:00 +0000</pubDate>
      <guid>https://insinuator.net/2018/06/new-release-of-glibc-heap-analysis-plugins/</guid>
      <description>&lt;p&gt;After quite some time and work, I’m happy to announce the new release of the &lt;a href=&#34;https://github.com/google/rekall/blob/master/rekall-core/rekall/plugins/linux/heap_analysis.py&#34;&gt;Linux&lt;/a&gt; &lt;a href=&#34;https://github.com/google/rekall/blob/master/rekall-core/rekall/plugins/linux/keepassx.py&#34;&gt;Heap&lt;/a&gt; &lt;a href=&#34;https://github.com/google/rekall/blob/master/rekall-core/rekall/plugins/linux/zsh.py&#34;&gt;Analysis&lt;/a&gt; Plugins, which are now part of the &lt;a href=&#34;https://github.com/google/rekall&#34;&gt;Rekall&lt;/a&gt; project, but not yet part of an official Rekall release, so you have to grab them manually.&lt;br&gt;&#xA;This release fixes several bugs and adds the following features:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Support for Glibc version 2.26 (tcache chunks) and 2.27&lt;/li&gt;&#xA;&lt;li&gt;Heapsearch now includes Rekall’s yara scan functionality&lt;/li&gt;&#xA;&lt;li&gt;x86 Glibc versions with a modified MALLOC_ALIGNMENT value of 16 (as done in arch’s glibc package 2.26) are now supported&lt;/li&gt;&#xA;&lt;li&gt;Improved retrieval of main_arena and new automated retrieval of malloc_par struct; so for the majority of cases, the corresponding cmd line options are not necessary anymore and hence no debug information have to be retrieved.&lt;/li&gt;&#xA;&lt;li&gt;main_arena and malloc_par struct retrieval now also applies for statically linked binaries; there might however be cases, where it is necessary to specify the malloc_par struct offset and the used glibc version number&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;While Glibc version 2.27 does not really change much for the heap from a forensics point of view, version 2.26 introduced a new feature called tcache (per thread cache). Those caches are essentially just a new type of bin, holding freed chunks, but &lt;a href=&#34;https://sourceware.org/ml/libc-alpha/2017-01/msg00452.html&#34;&gt;seem to improve the performance&lt;/a&gt;.&lt;br&gt;&#xA;Sadly, only two days after its &lt;a href=&#34;https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d5c3fafc4307c9b7a4c7d5cb381fcdbfad340bcc&#34;&gt;first commit&lt;/a&gt;, there was already a &lt;a href=&#34;http://tukan.farm/2017/07/08/tcache/&#34;&gt;blog post&lt;/a&gt; explaining the functionality (not so sad 😉 ) and also some discovered vulnerabilities (here we go with the sad part).&lt;br&gt;&#xA;Besides introducing a new landscape for attackers, this feature added two new heap management structs and one additional chunk per thread-heap (each thread has its own heap, up until an upper limit). This chunk is located at the beginning of each heap and hence, part of a raw heap dump (so be aware of that, if you are doing a raw analysis without the plugins).&lt;br&gt;&#xA;The chunk holds the content of the &lt;code&gt;tcache_perthread_struct&lt;/code&gt;, which has to members:&lt;/p&gt;</description>
    </item>
    <item>
      <title>DFRWS USA 2017</title>
      <link>https://insinuator.net/2017/09/dfrws-usa-2017/</link>
      <pubDate>Wed, 06 Sep 2017 00:00:00 +0000</pubDate>
      <guid>https://insinuator.net/2017/09/dfrws-usa-2017/</guid>
      <description>&lt;p&gt;As mentioned in my last &lt;a href=&#34;https://insinuator.net/2017/07/release-of-glibc-heap-analysis-plugins-for-rekall/&#34;&gt;blogpost&lt;/a&gt;, I had the pleasure to participate in this years DFRWS USA and present our paper. The paper and presentation can be freely viewed and downloaded &lt;a href=&#34;https://www.dfrws.org/conferences/dfrws-usa-2017/sessions/linux-memory-forensics-dissecting-user-space-process-heap&#34;&gt;here&lt;/a&gt; or &lt;a href=&#34;https://authors.elsevier.com/sd/article/S1742287617301895&#34;&gt;here&lt;/a&gt;. Note that there is also an extended version of the paper, which can be downloaded &lt;a href=&#34;https://opus4.kobv.de/opus4-fau/frontdoor/index/index/docId/8340&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The keepassx, zsh and heap analysis plugins are now also part of the &lt;a href=&#34;https://github.com/google/rekall/releases/tag/v1.7.0rc1&#34;&gt;Rekall release candidate 1.7.0RC1&lt;/a&gt;, so it’s easier to get started.&lt;/p&gt;&#xA;&lt;p&gt;The conference had some great talks and workshops, which I’m going to briefly sum up.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Release of Glibc Heap Analysis Plugins for Rekall</title>
      <link>https://insinuator.net/2017/07/release-of-glibc-heap-analysis-plugins-for-rekall/</link>
      <pubDate>Thu, 13 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://insinuator.net/2017/07/release-of-glibc-heap-analysis-plugins-for-rekall/</guid>
      <description>&lt;p&gt;I’m happy to announce the release of several Glibc heap analysis plugins (for Linux), resp. plugins to gather information from keepassx and zsh, which are now included in the &lt;a href=&#34;https://github.com/google/rekall&#34;&gt;Rekall Memory Forensic Framework&lt;/a&gt;. This blogpost will demonstrate these plugins and explain how they can be used. More detailed information, including real world scenarios, will be released after the &lt;a href=&#34;https://dfrws.org/conferences/dfrws-usa-2017/sessions/linux-memory-forensics-dissecting-user-space-process-heap&#34;&gt;talk&lt;/a&gt; at this years &lt;a href=&#34;https://dfrws.org/conferences/dfrws-usa-2017&#34;&gt;DFRWS USA&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Before being able to reliably analyze the heap of a process, a profile, for the Glibc version being used, must be provided. However, this step should for most cases be fairly simple and only consist of gathering the offset for the &lt;em&gt;mp_&lt;/em&gt; and &lt;em&gt;main_arena&lt;/em&gt; variables:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
