photog.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A place for your photos and banter. Photog first is our motto Please refer to the site rules before posting.

Administered by:

Server stats:

246
active users

#reversing

0 posts0 participants0 posts today
Cindʎ Xiao 🍉<p><span class="h-card" translate="no"><a href="https://infosec.exchange/@REverseConf" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>REverseConf</span></a></span> If you ever need to find both the talk video and the slides again, they are collected in one place on my site and on GitHub, for your convenient bookmarking:</p><p><a href="https://cxiao.net/posts/2025-02-28-reconstructing-rust-types-re-verse-2025/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">cxiao.net/posts/2025-02-28-rec</span><span class="invisible">onstructing-rust-types-re-verse-2025/</span></a><br><a href="https://github.com/cxiao/reconstructing-rust-types-talk-re-verse-2025/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/cxiao/reconstructin</span><span class="invisible">g-rust-types-talk-re-verse-2025/</span></a></p><p><a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://infosec.exchange/tags/ReverseEngineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ReverseEngineering</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://infosec.exchange/tags/malware" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>malware</span></a> <a href="https://infosec.exchange/tags/MalwareAnalysis" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MalwareAnalysis</span></a> <a href="https://infosec.exchange/tags/infosec" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>infosec</span></a></p>
Cindʎ Xiao 🍉<p><span class="h-card" translate="no"><a href="https://infosec.exchange/@REverseConf" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>REverseConf</span></a></span> The slides for "Reconstructing Rust Types: A Practical Guide for Reverse Engineers" are also available! There is a convenient single-page HTML version if you want to use the material in the presentation as a reference, for your own reversing!</p><p><a href="https://cxiao.net/posts/2025-02-28-reconstructing-rust-types-re-verse-2025/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">cxiao.net/posts/2025-02-28-rec</span><span class="invisible">onstructing-rust-types-re-verse-2025/</span></a><br><a href="https://github.com/cxiao/reconstructing-rust-types-talk-re-verse-2025/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/cxiao/reconstructin</span><span class="invisible">g-rust-types-talk-re-verse-2025/</span></a></p><p><a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://infosec.exchange/tags/ReverseEngineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ReverseEngineering</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://infosec.exchange/tags/malware" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>malware</span></a> <a href="https://infosec.exchange/tags/MalwareAnalysis" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MalwareAnalysis</span></a> <a href="https://infosec.exchange/tags/infosec" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>infosec</span></a></p>
Cindʎ Xiao 🍉<p>Hi Rust reversing fans - the recording of my talk at <span class="h-card" translate="no"><a href="https://infosec.exchange/@REverseConf" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>REverseConf</span></a></span>: Reconstructing Rust Types: A Practical Guide for Reverse Engineers, is available for you to watch!</p><p><a href="https://www.youtube.com/watch?v=SGLX7g2a-gw" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="">youtube.com/watch?v=SGLX7g2a-gw</span><span class="invisible"></span></a></p><p><a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://infosec.exchange/tags/ReverseEngineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ReverseEngineering</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://infosec.exchange/tags/malware" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>malware</span></a> <a href="https://infosec.exchange/tags/MalwareAnalysis" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MalwareAnalysis</span></a> <a href="https://infosec.exchange/tags/infosec" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>infosec</span></a></p>
☮ ♥ ♬ 🧑‍💻<p>Day 32 🗳️💨</p><p>Things are coming in thick and fast today, so I’ll try to summarise the major themes. </p><p>No Policies of the <a href="https://ioc.exchange/tags/Liberal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Liberal</span></a>, <a href="https://ioc.exchange/tags/LNP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LNP</span></a> and <a href="https://ioc.exchange/tags/Coalition" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Coalition</span></a>. </p><p><a href="https://ioc.exchange/tags/AngusTaylor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AngusTaylor</span></a> (Opposition Treasurer, Liberal) hands in his <a href="https://ioc.exchange/tags/Economics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Economics</span></a> homework late, it’s got problems. </p><p>A 🎃 derivative that is toxic ☢️</p><p>“A Coalition government would drive the <a href="https://ioc.exchange/tags/budget" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>budget</span></a> deeper into <a href="https://ioc.exchange/tags/deficit" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>deficit</span></a> over the coming two years, as the shadow finance minister, <a href="https://ioc.exchange/tags/JaneHume" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JaneHume</span></a>, insisted her party’s plan to save $17.2bn by <a href="https://ioc.exchange/tags/slashing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>slashing</span></a> the number of <a href="https://ioc.exchange/tags/Canberra" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Canberra</span></a>-based <a href="https://ioc.exchange/tags/PublicServants" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PublicServants</span></a> by 41,000 through “natural attrition” was achievable.”</p><p>If returned to power, the Coalition would gut a long list of environment and clean energy programs, including <a href="https://ioc.exchange/tags/scrapping" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>scrapping</span></a> the <a href="https://ioc.exchange/tags/NetZero" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NetZero</span></a> <a href="https://ioc.exchange/tags/Economy" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Economy</span></a> <a href="https://ioc.exchange/tags/Agency" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Agency</span></a>, reversing Labor’s <a href="https://ioc.exchange/tags/TaxBreaks" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TaxBreaks</span></a> for <a href="https://ioc.exchange/tags/ElectricVehicles" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ElectricVehicles</span></a>, and redirecting money slated for the <a href="https://ioc.exchange/tags/HomeBatteries" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HomeBatteries</span></a> program.</p><p><a href="https://ioc.exchange/tags/Reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Reversing</span></a> tax incentives for green hydrogen would save $1.5bn over four years, and not proceeding with Labor’s critical mineral production tax credits would save $1.2bn, the Coalition’s election policy costings show.”</p><p><a href="https://ioc.exchange/tags/AusPol" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AusPol</span></a> / <a href="https://ioc.exchange/tags/treasury" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>treasury</span></a> / <a href="https://ioc.exchange/tags/costings" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>costings</span></a> / <a href="https://ioc.exchange/tags/economy" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>economy</span></a> / <a href="https://ioc.exchange/tags/future" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>future</span></a> &lt;<a href="https://www.theguardian.com/australia-news/2025/may/01/coalition-costings-federal-election-promises-larger-deficit-cut-foreign-aid-environment-clean-energy" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">theguardian.com/australia-news</span><span class="invisible">/2025/may/01/coalition-costings-federal-election-promises-larger-deficit-cut-foreign-aid-environment-clean-energy</span></a>&gt;</p>
Alexandre Borges<p>DEFCON 33 CTF Write-Up Series #1: jxl4fun2 (pwn):</p><p><a href="https://blog.cykor.kr/2025/04/DEFCON-33-Series-jxl4fun-pwn" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.cykor.kr/2025/04/DEFCON-3</span><span class="invisible">3-Series-jxl4fun-pwn</span></a></p><p>DEFCON 33 CTF Write-Up Series #2: tinii (rev):</p><p><a href="https://blog.cykor.kr/2025/04/DEFCON-33-Series-tinii" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.cykor.kr/2025/04/DEFCON-3</span><span class="invisible">3-Series-tinii</span></a></p><p><a href="https://infosec.exchange/tags/ctf" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ctf</span></a> <a href="https://infosec.exchange/tags/defcon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>defcon</span></a> <a href="https://infosec.exchange/tags/cybersecurity" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cybersecurity</span></a> <a href="https://infosec.exchange/tags/hacking" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>hacking</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a></p>
Volexity :verified:<p>In the course of its investigations, <span class="h-card" translate="no"><a href="https://infosec.exchange/@volexity" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>volexity</span></a></span> frequently encounters malware samples written in Golang. This reflects the increase in popularity of the Golang generally, and presents challenges to reverse engineering tools.<br>&nbsp;<br>Today, <span class="h-card" translate="no"><a href="https://infosec.exchange/@volexity" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>volexity</span></a></span> is releasing GoResolver, open-source tooling to help reverse engineers understand obfuscated samples. <span class="h-card" translate="no"><a href="https://infosec.exchange/@r00tbsd" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>r00tbsd</span></a></span> &amp; Killian Raimbaud presented details at INCYBER Forum earlier today.<br>&nbsp;<br>GoResolver uses control-flow graph similarity to identify library code in obfuscated code, leaving analysts with only malware functions to analyze. This saves time &amp; speeds up investigations!<br>&nbsp;<br>Check out the blog post on how GoResolver works and where to download it: <a href="https://www.volexity.com/blog/2025/04/01/goresolver-using-control-flow-graph-similarity-to-deobfuscate-golang-binaries-automatically/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">volexity.com/blog/2025/04/01/g</span><span class="invisible">oresolver-using-control-flow-graph-similarity-to-deobfuscate-golang-binaries-automatically/</span></a><br>&nbsp;<br><a href="https://infosec.exchange/tags/dfir" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dfir</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://infosec.exchange/tags/malwareanalysis" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>malwareanalysis</span></a></p>
Rairii :win3_progman: :win3: <p>a discord guild i was in got some malspam (link to reddit post which linked to malware present on compromised wordpress site sexccessories.co[.]ke)</p><p>Funnily enough, there were supposedly both windows and mac samples present, except they fucked up with the mac one, a passworded zip containing a “dmg” which is actually the following text:</p><pre><code>Build failed: failed to create DMG: exit status 64 Output: Creating disk image... Mounting disk image... Device name: /dev/disk4 Searching for mounted interstitial disk image using /dev/disk4s... Mount dir: /Volumes/dmg.kfA109 Copying background file '/tmp/8aAwS.png'... Copying volume icon file '/Users/user/desktop/TradingView_3760.icns'... Will sleep for 2 seconds to workaround occasions "Can't get disk (-1728)" issues... Running AppleScript to make Finder stuff pretty: /usr/bin/osascript "/var/folders/1p/6ssndcmx4j7_gb_c2_0cdklm0000gn/T/createdmg.tmp.XXXXXXXXXX.dIQPQTlFZk" "dmg.kfA109" /var/folders/1p/6ssndcmx4j7_gb_c2_0cdklm0000gn/T/createdmg.tmp.XXXXXXXXXX.dIQPQTlFZk:85:89: execution error: Finder got an error: Can’t get disk "dmg.kfA109". (-1728) Failed running AppleScript Unmounting disk image... "disk4" ejected. </code></pre><p>I predicted it would be a packed stealer of some description. I was right, unpacked binary is lumma stealer.</p><p>Been a while since I’ve done manual unpacking of a malware sample, this one was fun. The packer is the same as described here <a href="https://alertoverload.com/posts/2025/01/remcos-v5.3.0/" rel="nofollow noopener" target="_blank">https://alertoverload.com/posts/2025/01/remcos-v5.3.0/</a></p><p>Original zipfile has the hash <code>85a2619c5bc5ae10d9ab3aab48c364b638d7b835d169f651b08c1f0282c39d58</code>.</p><p>The original binary was ~800MB, padded with garbage. Removing that padding yields a binary with the hash <code>d0e956e5fe825e8f2817ce660d3680294d790cf1baec0bdfdc540841e7202c80</code> - and manually unpacking that gives <code>bbd1e2cc95f1907d4c8c92d66bc62f43aa3e5634af6bdb947dfd826023195253</code>.</p><p>There’s also a bunch of additional stuff in the zip alongside the malware sample; copied straight from a windows installation, and the way it was copied in revealed the localisation installed on that system, which is unsurprisingly Russian (Russia) [<code>ru-RU</code>].</p><p><a class="hashtag" href="https://labyrinth.zone/tag/malware" rel="nofollow noopener" target="_blank">#malware</a> <a class="hashtag" href="https://labyrinth.zone/tag/reversing" rel="nofollow noopener" target="_blank">#reversing</a> <a class="hashtag" href="https://labyrinth.zone/tag/infosec" rel="nofollow noopener" target="_blank">#infosec</a></p>
kriware :verified:<p>Stuxnet Rootkit Analysis and Simulation</p><p>This GitHub project provides a detailed simulation of the Stuxnet rootkit's operation, useful for cybersecurity education and research on complex malware behavior.</p><p><a href="https://github.com/ring0-c0d3-br34k3r/Stuxnet-Rootkit" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/ring0-c0d3-br34k3r/</span><span class="invisible">Stuxnet-Rootkit</span></a></p><p><a href="https://infosec.exchange/tags/Stuxnet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Stuxnet</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a></p>
blub<p><a href="https://norden.social/tags/DLF" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DLF</span></a> Podcast über den <a href="https://norden.social/tags/darkavenger" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>darkavenger</span></a> <br><a href="https://www.deutschlandfunk.de/dark-avenger-100.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">deutschlandfunk.de/dark-avenge</span><span class="invisible">r-100.html</span></a></p><p><a href="https://norden.social/tags/Bulgarien" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Bulgarien</span></a> <a href="https://norden.social/tags/VX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>VX</span></a> <a href="https://norden.social/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a></p>
MalwareLab<p>Decryption of strings from <a href="https://infosec.exchange/tags/AsyncRAT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncRAT</span></a>/#DcRat/#VenomRAT configuration with <a href="https://infosec.exchange/tags/CyberChef" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CyberChef</span></a>. Little bit of <a href="https://infosec.exchange/tags/Dotnet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Dotnet</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> and commented recipe with usage of registers for PBKDF2 and AES decryption</p><p>Blog post: <a href="https://malwarelab.eu/posts/asyncrat-cyberchef/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">malwarelab.eu/posts/asyncrat-c</span><span class="invisible">yberchef/</span></a><br>Recipe with example input: <a href="https://tinyurl.com/AsyncRatConfigDecryptor2" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">tinyurl.com/AsyncRatConfigDecr</span><span class="invisible">yptor2</span></a></p>
Davide Eynard (+mala)<p>Hi everyone! Six more months passed since my last <a href="https://fosstodon.org/tags/introduction" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>introduction</span></a>, so here is an updated one:</p><p>AKA: +mala, AiTTaLaM</p><p>Job: Doin’ trustworthy <a href="https://fosstodon.org/tags/AI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AI</span></a> @ moz://a.ai - more generally I love <a href="https://fosstodon.org/tags/teaching" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>teaching</span></a>, no matter if to humans or machines :-)</p><p>Projects: 3564020356.org is the oldest (~22yrs 😅), <a href="https://fosstodon.org/tags/PicoGopher" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PicoGopher</span></a> the most recent... Look around and find the rest! 😜</p><p>Interests: <a href="https://fosstodon.org/tags/bouldering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bouldering</span></a> <a href="https://fosstodon.org/tags/gopher" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gopher</span></a> <a href="https://fosstodon.org/tags/SelfHosting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SelfHosting</span></a> <a href="https://fosstodon.org/tags/opensource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opensource</span></a> <a href="https://fosstodon.org/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://fosstodon.org/tags/fediverse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>fediverse</span></a> <a href="https://fosstodon.org/tags/recsys" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>recsys</span></a> <a href="https://fosstodon.org/tags/ML" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ML</span></a> <a href="https://fosstodon.org/tags/solarpunk" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>solarpunk</span></a> <a href="https://fosstodon.org/tags/CommunitiesOfExperience" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommunitiesOfExperience</span></a></p>
Cindʎ Xiao 🍉<p>Here's a live kernel dump of a Windows system with the <code>win32kbase_rs</code> module loaded, opened in WinDbg. We can use the <code>!poolused</code> command to get an idea of memory allocations made with this new <code>RstG</code> pool tag.</p><p>We can see that there have been a few allocations with the <code>RstG</code> pool tag, totaling 368 bytes.</p><p>Note that Microsoft describes this pool tag as "GDITAG_RUST_GLOBALS". If you've got a recent enough version of WinDbg / Debugging Tools for Windows, you can find this pool tag description in <code>amd64\triage\pooltag.txt</code> in your debugger install location.</p><p>Here's the new Rust-related pool tag descriptions in <code>pooltag.txt</code>:</p><p>Rust - win32kbase_rs.sys - GDITAG_RUST<br>RstG - win32kbase.sys - GDITAG_RUST_GLOBALS</p><p>You can find out more about the <code>Rust</code> pool tag in my other thread, which looks more specifically at the Rust code: <a href="https://infosec.exchange/@cxiao/110366048880535679" translate="no" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">infosec.exchange/@cxiao/110366</span><span class="invisible">048880535679</span></a></p><p><a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://infosec.exchange/tags/windows" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>windows</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://infosec.exchange/tags/reverseengineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reverseengineering</span></a> <a href="https://infosec.exchange/tags/microsoft" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>microsoft</span></a> <a href="https://infosec.exchange/tags/windbg" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>windbg</span></a></p>
Cindʎ Xiao 🍉<p><code>win32kbase</code> uses yet another new pool tag when loading the Rust code: <code>RstG</code>.</p><p>In <code>AllocateAndLoadBaseRustExports</code>, the memory allocated with this pool tag is used for a struct of type <code>BaseRustExportsStorage</code>; this struct is used to hold the base of the loaded <code>win32kbase_rs</code> image, as well as a table of pointers to its exported functions.</p><p><a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://infosec.exchange/tags/windows" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>windows</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://infosec.exchange/tags/reverseengineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reverseengineering</span></a> <a href="https://infosec.exchange/tags/microsoft" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>microsoft</span></a></p>
Cindʎ Xiao 🍉<p>You can find the ID of the <code>Rust_GDI_REGION</code> feature flag statically, by looking inside <code>win32kbase.sys</code> inside build 25357.1.</p><p>That contains a function called <code>LoadAndConnectRustCode</code>, which first calls <code>Feature_Rust_GDI_REGION__private_IsEnabled</code> to check the status of the feature flag. The Rust code in <code>\SystemRoot\System32\win32kbase_rs.sys</code> is only loaded if that function returns a nonzero value.</p><p>The <code>Feature_Rust_GDI_REGION__private_IsEnabled</code> function calls <code>wil_details_FeatureStateCache_GetCachedFeatureEnabledState</code> to get the status of the feature. It passes in a variable named <code>Feature_Rust_GDI_REGION__private_descriptor</code> to specify the feature it would like to query.</p><p>This struct has type <a href="https://www.vergiliusproject.com/kernels/x64/Windows%2011/22H2%20(2022%20Update)/wil_details_FeatureDescriptor" rel="nofollow noopener" target="_blank"><code>wil_details_FeatureDescriptor</code></a>; in its <code>featureId</code> field, you can see the 0x23a024a (37356106) feature ID value.</p><p>The same feature ID value is also visible as the second argument to the <code>wil_details_FeatureReporting_ReportUsageToService</code> call.</p><p><a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://infosec.exchange/tags/windows" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>windows</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://infosec.exchange/tags/reverseengineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reverseengineering</span></a> <a href="https://infosec.exchange/tags/microsoft" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>microsoft</span></a></p>
Cindʎ Xiao 🍉<p>Here's win32kbase_rs.sys loaded on an actual system running Windows 11 Insider Preview 25357.1.</p><p>You'll have to enable the <code>Rust_GDI_REGION</code> Windows feature flag (ID 37356106) first. The easiest way to do this is via ViVeTool, which interacts with Windows' built-in A/B feature testing mechanism: <a href="https://github.com/thebookisclosed/ViVe" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/thebookisclosed/ViV</span><span class="invisible">e</span></a></p><pre><code>vivetool.exe /enable /id:37356106<br></code></pre><p>Shoutout again to Brent for finding the actual feature flag value, happy reversing out there 🫡​</p><p><a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://infosec.exchange/tags/windows" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>windows</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://infosec.exchange/tags/reverseengineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reverseengineering</span></a> <a href="https://infosec.exchange/tags/microsoft" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>microsoft</span></a></p>
Cindʎ Xiao 🍉<p>The Rust Windows kernel GDI code also has symbols for <code>fallible_vec::FallibleVec&lt;T,A&gt;</code> , which looks like a non-panicking <code>Vec</code> implementation. <code>try_extend</code>, <code>try_extend_from_slice</code>, <code>try_splice_in</code>, and <code>try_insert</code> are all implemented.</p><p>In fact it looks suspiciously similar to the <code>rust_fallible_vec</code> crate, which Microsoft recently open-sourced: <a href="https://github.com/microsoft/rust_fallible_vec" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/microsoft/rust_fall</span><span class="invisible">ible_vec</span></a> :thonking:<br>( <span class="h-card"><a href="https://hachyderm.io/@TehPenguin" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>TehPenguin</span></a></span> 👋 )</p><p>The methods are generic over the allocator type <code>A</code>; some of these <code>FallibleVec</code> method implementations use the registered global allocator <code>gdi_alloc::Win32Allocator</code> , and others use the <code>gdi_alloc::TaggedAllocator</code> with the GDI-specific pool tags.</p><p><a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://infosec.exchange/tags/windows" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>windows</span></a> <a href="https://infosec.exchange/tags/microsoft" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>microsoft</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://infosec.exchange/tags/reverseengineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reverseengineering</span></a></p>
Cindʎ Xiao 🍉<p>For the specific GDI objects, there are still allocations made with the existing GDI-specific pool tags.</p><p>It looks like the <code>rgncore::scan::ScanBuilder&lt;gdi_alloc::TaggedAllocator&lt;_&gt;&gt;</code> object uses the existing GDI pool tag <code>Gscn</code> ( i.e. <code>GDITAG_SCAN_ARRAY</code>) for vector allocations. (Probably <code>gdi_alloc::TaggedAllocator&lt;_&gt;</code> requires specifying a pool tag)</p><p>I also see <code>Gedg</code> (i.e. <code>GDITAG_EDGE</code>) being used in <code>gdi_rust::region::from_path::GlobalEdgeTable::add_edge</code>, and <code>gdi_rust::region::from_path::ActiveEdgeTable::new</code><br>, among other places.</p><p><a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://infosec.exchange/tags/windows" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>windows</span></a> <a href="https://infosec.exchange/tags/microsoft" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>microsoft</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://infosec.exchange/tags/reverseengineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reverseengineering</span></a></p>
Cindʎ Xiao 🍉<p>In the new Rust Windows kernel GDI code, there is a new global allocator registered named <code>gdi_alloc::Win32Allocator</code> . It calls <code>Win32AllocPool</code> with a fun new pool tag name, "Rust"!</p><p><a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://infosec.exchange/tags/windows" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>windows</span></a> <a href="https://infosec.exchange/tags/microsoft" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>microsoft</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://infosec.exchange/tags/reverseengineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reverseengineering</span></a></p>
Cindʎ Xiao 🍉<p>For the new Windows kernel Rust GDI stuff that is all the rage now (win32kbase_rs.sys, win32kfull_rs.sys): here are the links to download copies of those binaries, from the Microsoft Symbol Server:</p><p><a href="https://msdl.microsoft.com/download/symbols/win32kbase_rs.sys/272C4A031b000/win32kbase_rs.sys" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">msdl.microsoft.com/download/sy</span><span class="invisible">mbols/win32kbase_rs.sys/272C4A031b000/win32kbase_rs.sys</span></a></p><p><a href="https://msdl.microsoft.com/download/symbols/win32kfull_rs.sys/8264C482a000/win32kfull_rs.sys" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">msdl.microsoft.com/download/sy</span><span class="invisible">mbols/win32kfull_rs.sys/8264C482a000/win32kfull_rs.sys</span></a></p><p>These should be the versions that are in Windows 11 Insider Preview 25357.1 (zn_release) amd64 . The SHA-256 hashes are: </p><p>87ee0235caf2c97384581e74e525756794fa91b666eaacc955fc7859f540430d win32kbase_rs.sys<br>2efb9ea4032b3dfe7bf7698bd35e3ea3817d52f4d9a063b966f408e196957208 win32kfull_rs.sys</p><p>(I first extracted these files myself from the update package for build 25357.1, then generated the symbol server download URLs from the PE metadata in the files)</p><p>Of course, in addition to the actual executables, symbols are available from the symbol server as well (see screenshot).</p><p><span class="h-card" translate="no"><a href="https://tech.lgbt/@analog_feelings" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>analog_feelings</span></a></span> already did some reversing of win32kbase_rs.sys several weeks ago, here: <a href="https://tech.lgbt/@analog_feelings/110232321999960466" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">tech.lgbt/@analog_feelings/110</span><span class="invisible">232321999960466</span></a> 🤘</p><p>Now, time for me to go figure out how to actually reverse Rust 🦀</p><p><a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://infosec.exchange/tags/windows" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>windows</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> <a href="https://infosec.exchange/tags/reverseengineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reverseengineering</span></a> <a href="https://infosec.exchange/tags/microsoft" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>microsoft</span></a></p>
13reak :fedora:<p><a href="https://infosec.exchange/tags/introduction" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>introduction</span></a> </p><p>Hi,</p><p>I am an <a href="https://infosec.exchange/tags/infosec" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>infosec</span></a> enthusiast interested in <a href="https://infosec.exchange/tags/dfir" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dfir</span></a> <a href="https://infosec.exchange/tags/incidentresponse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>incidentresponse</span></a> <a href="https://infosec.exchange/tags/malware" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>malware</span></a> <a href="https://infosec.exchange/tags/rootkits" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rootkits</span></a> <a href="https://infosec.exchange/tags/velociraptor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>velociraptor</span></a> <a href="https://infosec.exchange/tags/reversing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reversing</span></a> and a bit <a href="https://infosec.exchange/tags/pentesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pentesting</span></a> / <a href="https://infosec.exchange/tags/purpleteam" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>purpleteam</span></a> (yeah, bit more on the <a href="https://infosec.exchange/tags/blueteam" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>blueteam</span></a> side... 😅 )</p><p>Programming wise <a href="https://infosec.exchange/tags/linux" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>linux</span></a> <a href="https://infosec.exchange/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://infosec.exchange/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://infosec.exchange/tags/golang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>golang</span></a></p><p>Apart from that I can always talk about <a href="https://infosec.exchange/tags/rock" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rock</span></a> and <a href="https://infosec.exchange/tags/metal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>metal</span></a> 😀 🤘 </p><p>Looking forward to connect to people on these topics - feel free to PM me 🙂</p>