Show all posts
Posts with the given tag:
Windows Kernel Debugging - archived videos,
Windows Kernel Debugging livestreams,
Windows msvcr*.dll 64-bit strtod endptr integer overflow,
SyScan 2013, Bochspwn paper and slides,
Revisiting DLL shared sections. Cygwin vulnerability,
Windows, drivers, GS cookies and 1 bit of entropy,
Various behavior of scanf/atoi/strtol,
CONFidence 2010 - video from our lecture about the Windows vulnerabilities,
HiperDrop 0.0.1,
CONFidence 2010 slides and original vulnerability advisories,
Windows CSRSS cross-version API Table,
[HISPASEC Research] Windows Kernel Vulnerabilities... x5 :),
Hack In The Box 2010 Dubai, "Case study of recent Windows vulnerabilities",
Microsoft Windows CSRSS Local Privilege Elevation Vulnerability,
The tale of Syndicate Wars Port,
Syndicate Wars Port - a reverse-engineering tale,
GDT and LDT in Windows kernel vulnerability exploitation,
Windows Win32k syscall table,
A step beyond the drivers\etc\hosts file,
Random thoughs, 2nd edition,
ANSI Escape Codes for Windows 7 RC,
SysDay 2009 post conference materials (and the unicorn),
After the march 3h GDPL compo...,
Automagical function list in C++,
Return-oriented exploiting,
ExcpHook ver 0.0.5-rc2,
Windows 7 - a list of change in exports, update,
Enter teh ANSI Escape Code support for internal cmd.exe commands and BAT scripts,
Using OpenGL in .BAT scripts,
Windows 7 - short list of changes in kernel32.dll exports,
BAT scripts and objective programming,
Lightsack - how to send data from CPC 464 to PC without owning the neccesery cables,
A malware "stealing" AppInit_DLLs entrypoint,
Freedom for everything - total annihilation of process memory,
Format bug, Vista and %n,
An interesting anti-RE schema,
Missing gettimeofday function and a race condition,
Hacker Challenge 2008,
Is automatic file download in Google Chrome really a vulnerability?,
Remote Buffer Overflow in Google Chrome,
Fibers in a thread,
All posts with the given tag are shown below.
2017-08-12:
livestream:kernel:windows

As I mentioned
in this post the last four livestreams on my YouTube channel were done by
Artem "honorary_bot" Shishkin (
github) and were on the quite anticipated and demanding topic of Windows kernel debugging with a healthy dose of both x86 from a system programming perspective, and an unexpected but very welcomed venture into the world of hypervisors. The series came to an end, therefore I would like again to thank Artem for both reaching out to me offering to do the streams and actually doing them in such a spectacular fashion - speaking for myself, I've learnt a lot!
All the videos are already uploaded on YouTube (links below), so in case you've missed them, nothing is lost (well, maybe for the ability to ask question, but I guess one can always
reach out to Artem on Twitter). Please note that the links that Artem visited during the livestream are available for your convenience in each of the video descriptions on YouTube (if I missed anything please let me know).
•
Windows Kernel Debugging - Part I, in which Artem shows how to configure your kernel debugging environment in several different ways, both including a virtual machine (with/without VirutalKD) and a second PC (controlled using Intel AMT and connected using various means, e.g. USB, Firewire or ethernet).
•
Windows Kernel Debugging - Part II, during which Artem shows how to work with and configure WinDbg.
•
Windows Kernel Debugging - Part III, in which Artem goes through the meanders of virtual memory and navigating through it using WinDbg. He also goes into the details of what's in a process and kernels virtual memory.
•
Windows Kernel Debugging - Part IV, in which Artem showcases the physical memory and explains why a physical address is not always equal to RAM address, as well as ventures into the land of ACPI tables (if you're thinking about OSDev, you should check out this part regardless of whether you're interested in Windows kernel debugging or not). Artem also demos a hypervisor-level system debugger of his making.
Read more...
2017-07-30:
livestream:kernel:windows
It's a real pleasure for me to announce that the next four livestreams will feature
Artem "honorary_bot" Shishkin (
github), who will do an introduction into a long awaited topic of Windows Kernel Debugging. Artem, in his own words, is a fan of Windows RE, debugging and low-level stuff. He's been using WinDbg for kernel debugging for several years now for fun, customizing BSODs, building Windows kernel source tree or boot dependencies graph. Sometimes he might also accidentally discover such things as SMEP bypass on Windows 8 or how to disable PatchGuard in runtime. Being a great fan of Intel and specifically VMX technology he maintains his own bicycle debugger based on a bare metal hypervisor.
When:• 2017-08-02 (Wednesday), 8pm CET
• 2017-08-03 (Thursday), 8pm CET
• 2017-08-09 (Wednesday), 8pm CET
• 2017-08-10 (Thursday), 8pm CET
Where:My YouTube livestreaming channel:
www.youtube.com/c/GynvaelEN/live (or
gaming.youtube.com/c/GynvaelEN/live if you prefer darker theme).
How to not forget:• Subscribe to the YouTube channel and allow notifications.
• Subscribe to
Gynvael Hacking Livestreams calendar (also:
ICS, calendar ID: pjta7kjkt1ssenq7fi9b6othfg@group.calendar.google.com).
Since I expect some technical problems (first time we'll be doing livestreaming with a guest in a remote location) I'll skip the usual news/announcements/mission solutions part of the streams to save some time (I'll probably do a dedicated stream for mission solutions later on). However DO expect new missions after each episode :)
See you Wednesday!
2013-11-23:
msvcrt:C:windows
Some time ago I was reading a random Python JSON parsing library which was partly implemented in C. At one point I thought I spotted a bug in custom float number parsing - I've written a short PoC to trigger it and it worked (i.e. crashed Python), but behaved differently than I expected it to and seemed to work only on Windows. So I got back to looking at the code and in the end decided it was only my imagination - there was no bug. So… why did that PoC actually work? It turned out that in some cases the library fell back to using the good-old strtod for float parsing instead and yes, there was a bug - in the underlying msvcrt.dll strtod implementation.
Read more...
2013-05-02:
syscan:bochspwn:windows:kernel:j00ru
(Collaborative post by Mateusz "j00ru" Jurczyk and Gynvael Coldwind) A few days ago we (j00ru and I) gave a talk during the
SyScan'13 conference in the fine city of Singapore, and as promised (though with a slight delay), today we are publishing both the slide deck and a white paper discussing memory access pattern analysis - a technique we recently employed with success to discover around 50 double-fetch vulnerabilities in Windows kernel and related drivers (
Elevation of Privileges and
Denial of Service class; see Microsoft Security Bulletins
MS13-016,
MS13-017,
MS13-031 and
MS13-036 released in February this year. Also, stay tuned for more security patches in May and June).
Read more...
DLL shared sections have long been infamous for introducing security problems. A few months ago I decided to take a look if one can still find applications that use PE modules with shared sections in an insecure way (or using them at all). Today I'm releasing research notes, some tools and a demo of a Cygwin local privilege escalation (it's already fixed).
Read more...
2011-01-11:
windows:hacking:medium:gs cookies
After the CVE-2010-4398 (win32k.sys stack-based buffer overflow aka "UAC bypassing exploit" published on Code Project) was published a discussion appears on the net (at least on the Polish side of the net) whether the bug is exploitable on Windows XP. The problem on XP is that it has stack cookies (/GS cookies) which in this case were not present in other Windows versions. With
j00ru we've looked into this issue, and found that the high entropy of the /GS cookies is questionable (at least in case of Windows drivers). Today, we publish the results of our research.
Read more...
2010-11-24:
c++:c:windows:linux
While discussing a few days ago a piece of code with aps, we've encountered some interesting (imho) differences in the implementation of atoi and [sf]scanf between different versions of msvcrt (Microsoft C-Runtime Library), glibc (GNU C Library) and the libc used on OSX. The said differences are observed when a number in the provided string cannot be represented as an integer, i.e. it's larger than INT_MAX (which is 0x7fffffff, or 2147483647 decimal) or smaller than INT_MIN (0x80000000, -2147483648 decimal).
Read more...
2010-07-21:
confidence:lecture:terrible terrible english:windows:hacking:security
The videos from some CONFidence 2010 lectures have been published. Inter alia, the video from my and j00ru's lecture "Case study of recent Windows vulnerabilities" is available. The video is in a downloadable form (i.e. no online player is currently available).
Read more...
2010-07-19:
hiperdrop:reverse engineering:easy:windows:c++
Looking through my directories I've found some tools that I've kept hidden in my desk, unpublished for some strange reasons. I'm thinking about finalizing the basic functionality of these, and finally putting them online. Anyways, one of such tools was HiperDrop - a simple command line process memory dumper for Windows.
Read more...
2010-05-30:
confidence:conference:lecture:windows:security:medium:high
Just a short (almost copy-pasted from
j00ru's blog) post with the original advisories of the vulnerabilities we've talked about on
CONFidence (and earlier on
Hack In The Box Dubai), with slides used by as on the CONFidence conference. The advisories contain most of the technical details we've discussed during the lectures (and some time even more ;>).
Read more...
2010-05-03:
windows:security:winapi:csrss
2010-04-13:
windows:kernel:security:easy
I've already written,
in February, about the first vulnerability found by our team (that would be
j00ru and me). Today, Microsoft has published reports about 5 more (well, there were 6 actually, but Microsoft decided to merge two into one, because of the way both of them could be fixed by the same change in the code) :)
Read more...
2010-02-22:
lecture:hitb:dubai:windows
About a month ago I've sent a CFP submission for the
Hack In The Box 2010 Dubai conference, and yesterday I've officially got informed that my lecture was accepted! So, it looks like I'll be speaking in Dubai, 21th or 22th of April, about recent Windows vulnerabilities found by
j00ru and me :)
Read more...
2010-02-10:
windows:csrss:local priv escal:vulnerability:security:hacking
Today is
Exploit Wednesday, so it means that yesterday was
Patch Tuesday. So, as every month, Microsoft published
Microsoft Security Bulletin Summary (for February 2010) and a couple of patches. One of the vulnerabilities included in the summary (there are 25 altogether) was researched by
j00ru and me (in this exact order - j00ru has found it, and we cooperated in researching the possibility of a successful exploitation) - it's the csrss.exe one, which could allow, inter alia, local privilege elevation or information disclosure.
Read more...
2010-01-27:
hard:reverse engineering:re:assembler:games:gamedev:x86:asm:windows:linux:macosx:c:syndicate wars
As promised, It's time to reveal the technical story behind the
Syndicate Wars Port. The story is divided into two parts - the first, and the second attempt to port this game. Comments are welcomed!
Read more...
2010-01-25:
reverse engineering:re:assembler:games:gamedev:x86:asm:windows:linux:macosx:c:syndicate wars
Syndicate Wars is a game published in 1996, created by
Bullfrog. The game was written in C (Watcom) for the
DOS4GW DOS extender. And of course it has stopped working natively (i.e. without emulators like DOSBox) when the modern operating systems, like GNU/Linux or Windows NT series, emerged. A few years ago my friend,
Unavowed, told me about proposition of a project to create a port of Sydicate Word for modern OS'es like the two previous one I've mentioned. The port was to be done by decompiling the original executable file, locating all the functions from the standard C library, locating the DOS4GW and I/O (sound, keyboard, gfx, mouse, etc) dependencies, replacing them with modern native libc function call and libSDL/OpenAL libraries (sometimes using simple wrappers, other times by creating converters), and finally, recompiling it all to form native executables for the modern systems. Yesterday,
we've (it was Unavowed who was the clear leader of this project) finished this project, and we've published executables, not only for GNU/Linux and Windows, but also for Mac OSX :)
Read more...
2010-01-17:
medium:x86:assembler:windows:win32:exploit:security
A few weeks ago
j00ru has visited me, and, as one can figure out, some more or less interesting ideas came to be. One of such ideas was to use the Call-Gate mechanism in kernel/driver exploit development on Windows, or, to be more precise, to use a write-what-where condition to convert a custom LDT entry into a Call-Gate (this can be done by modifying just one byte), and using the Call-Gate to elevate the code privilege from user-land to ring0. The idea was turned into some PoC exploits, and finally, into the paper presented below.
Read more...
2009-11-12:
easy:windows:re:assembler
Just a quick info. j00ru has published
on his blog a syscall number/name table for the Win32k syscall shadow table (user32.dll, gdi32.dll and DirectX use it) -
http://j00ru.vexillium.org/win32k_syscalls/ (it's very similar to the
Metasploit one, however the one on the Metasploit page contains only kernel syscalls, and this one contains only win32k syscalls). If you like digging in the low level stuff, this is definitely something worth checking out!
Read more...
2009-08-07:
security:windows:medium:re:cpp
(Be sure to checkout the demonstration video at the bottom of the page). Two months ago
I've written about banker troyans, that some change DNS settings, other add a list of domains (used by financial institutions) to the
c:\windows\system32\drivers\etc\hosts file. Of course both mentioned behaviors result in redirecting the user to some evil phishing site (sometimes an unlucky user might loose some money in effect).
Read more...
2009-07-12:
php:c:c++:funny:security:malware:windows
For some random reasons my blog became quiet recently, but don't worry, it's only temporary. It's time to catch up, and write about this and that.
Read more...
2009-05-12:
windows:bat:re:winapi:easy:asm:c:c++:tools
Two days ago
j00ru informed me that my cmd.exe add-on (the one that adds the ultra important feature - colors!) does not work on Windows 7 RC - so I decided to have a look, and so version 0.004d came into being!
Read more...
2009-04-04:
blog:security:windows:sysday:medium:lecture
I'm sorry, but the slides are, again, in Polish (well, the source codes and demo videos don't have Polish in them, mostly because they don't have any text at all). I've been informed that a video from the lecture will available, so I'll take my time and attach English subtitles if anyone will be interested in it (let me know if you are interested).
Read more...
2009-03-17:
gamedev:c++:opengl:windows:linux:easy:game
Sunday, from 5pm till 8pm, another
gamedev.pl compo took place. This time, it was a 3 hour compo during which one had to create a
'game that has both a cow and a pig' (a strange topic I must say). I don't have to much time recently, but I've figured that 3 hours is a period I can manage to find, especially Sunday. So, after I got a 'go' from my beloved wife, I took part in the March GDPL 3h Compo.
Read more...
2009-03-10:
c++:medium:assembler:windows:linux:macosx
The story starts as usual. I've been writing a certain application, that generates some test files. The files were very similar in structure, so I took the common factor out, and created a function that creates the common base of the file, and then, made a few functions that make modification to this base, and then the file is written (file shared, only in GF 15200 GTX! ;>). Of course, every modification function that I made, I had to add to a list of function in another part of the source file. And I've added each 'shader' function I created to that list. After 38th function I've grew tired of this...
Read more...
2009-02-05:
medium:windows:c++:asm:security:buffer overflow:return-oriented exploiting
Todays post will be contain some technical security stuff - I'll write about a technique called "return-oriented programming" or "return-oriented exploiting" or "ret-to-libc without returning to functions" or "ret-to-anything" (or by some other names as well). As always, I'll write about this technique from my point of view - meaning that, like always, I used this technique before reading any papers about it (it's related to my habit of reinventing the wheel).
Read more...
2009-02-03:
excphook:re:windows:security:c++
Yesterday I've finally got some time to finish the changes in the new version of ExcpHook. So, version 0.0.5-rc2 (rc2 of alpha ;p) is ready for download, and might be even usable ;D
Read more...
2009-01-20:
win7:windows:winapi:easy:re
I've made a few more compares between exports in DLLs in Windows Vista SP1 and Windows 7 Beta.
Read more...
2009-01-19:
windows:bat:re:winapi:easy:asm:c:c++
Long, long time ago, in the DOS times that is, one could configure the command prompt to be colorful, one could echo colorful messages, etc. And one could do all that thanks to the
ANSI escape codes - short commands echoed to the "screen" (stdout/stderr that is) that caused the colors to change, the cursor to move, or the screen to be cleaned. ANSI escape code well working quite well in DOS, and they even worked in Windows 95/98. However, with the arrival of the NT family, the ANSI support in the console ceased to exist (well, it was still available in the command.com interpreter, but it's 16-bit running under NTVDM, what makes it not the best choice, not to mention that the NTVDM is not available in the 64-bit Windows versions). (A short offtopic: on *nix systems ANSI escape code well available almost always, and they are still available today).
Read more...
2009-01-18:
bat:windows:easy:opengl:c++
Today's post will be, as promised, about OpenGL in .BAT scripts. At the very beginning, I would like to remind you (I was told that the correct form of 'you' is written with a lower 'y') that .BAT scripts have nothing to do with speed - they are just plain slow ;>
Read more...
2009-01-13:
win7:windows:winapi:easy:re
Finally You can download the official Windows 7 Beta release (unofficially You could do it for some time now). So I've downloaded it, installed it (looks cool), and started to play...
Read more...
2009-01-12:
bat:windows:medium
Today post is for all You Batmans out there ;>
Read more...
2009-01-02:
cpc464:easy:windows:c++:winapi

Waiting for my new programmer (which will arrive "at the end of the week") I decided to dump RAM from my new Amstrad to my PC. But there was a problem - how to do it without having any cables to connect them, without floppies, etc? Well, I found a funny way to do it ;D
Read more...
2008-12-17:
re:malware:windows:security:easy
I've caught in my hands some malware, that had a very interesting idea about using one of Windows's entrypoint for making sure it would be run after a reboot.
Read more...
2008-11-27:
c++:assembler:windows:winapi:medium
Sitting in my hotel room at the Polish edition of PyCON, I started to think what would happen, if a normal Windows process wipes out (almost) all of it's memory. By "wipe out" I mean to free/unmap what is possible (
VirtualFree and
UnmapViewOfFile), and overwrite with zeroes the rest. I've started to experiment with this, wanting to know how will the system, and other applications, react to this uncommon process condition. Below I describe the creation of a test application (I've found a few interesting (imho) problems), and a funny thing OllyDbg does while attaching to such a process.
Read more...
2008-10-23:
vista:windows:winapi:c:c++:format bug:security:easy
Recently I've talked with my
teammate oshogbo about the
format bug (aka format string attack), and when we got to testing a sample code, a thing that should work - the
%n tag, didn't work at all. What's more interesting, this behavior was Vista specific, since everything else worked well on XP. I've decided to take a look inside, and here's what I've found out...
Read more...
2008-10-21:
re:malware:windows:security:easy:winapi
Some time ago I've analyzed a piece of malware, which was protected using an interesting schema...
Read more...
2008-10-15:
c:c++:race condition:windows:easy:winapi
Todays post will be an out of order one, and it will be dedicated to the function
gettimeofday on the Windows system, or to be precise, the lack of this function.
Read more...
2008-09-30:
re:easy:windows
It looks like that on 13th of October the first phase of this years Hacker Challenge starts - it's a tournament for RE organized by some unknown company from the USA. Well, I see that they cut down on the prizes this year, it must be the crisis. Anyway, since all the places in the tournament have some prize with it, I encourage REs to take part.
Read more...
2008-09-06:
security:easy:chrome:windows
Yesterday another method of making Google Chrome automatically download a file was
posted on bugtraq. Of course an old discussion was restarted - is automatic file download a bug, feature, or a vulnerability?
Read more...
2008-09-05:
chrome:security:buffer overflow:windows
A short info. Someone (Le Duc Anh - SVRT - Bkis) posted on the FD list
about a Remote Buffer Overflow in Chrome, needing a little interaction from the user - the user needs to click 'Save as...' (the buffer overflow is related to the handling of the <title> while saving files). The researcher has provided two PoC exploits, one is said to run a calculator (on XP SP2, but it didn't work for me), and the other is just a DoS. It must be noted that that both the renderers and browser processes are crashed, so the vuln is located either in the browser, or is magically transfered from the renderer to the browser.
Read more...
2008-08-26:
windows:winapi:c:c++
Inspired by
noglorps post on OpenRCE I've finally decided to play with Windows fibers, and I found out that it's quite an interesting topic.
Read more...