Skip to content

Commit c22f833

Browse files
authored
New blog post: Tapping into the potential of Memory Dump Emulation (#25)
1 parent cdb15b6 commit c22f833

17 files changed

+488
-26
lines changed

.github/workflows/check.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ on:
55
repository_dispatch:
66
workflow_dispatch:
77
pull_request:
8+
branches:
9+
- main
810
push:
11+
branches:
12+
- main
913

1014
jobs:
1115
spellcheck:
@@ -15,20 +19,20 @@ jobs:
1519
contents: read
1620
steps:
1721
- name: checkout
18-
uses: actions/checkout@v3
22+
uses: actions/checkout@v4.1.1
1923

2024
- name: Restore lychee cache
21-
uses: actions/cache@v3
25+
uses: actions/cache@v4.0.2
2226
with:
2327
path: .lycheecache
2428
key: cache-lychee-${{ github.sha }}
2529
restore-keys: cache-lychee-
2630

2731
- name: Check links
28-
uses: lycheeverse/lychee-action@v1.6.1
32+
uses: lycheeverse/lychee-action@v1.9.3
2933
env:
3034
GITHUB_TOKEN: ${{secrets.LYCHEE_TOKEN}}
3135
with:
32-
args: --exclude='^https://twitter.com/.*$' --cache --max-cache-age 1w --exclude-all-private --exclude-mail --threads 4 --timeout 30 --retry-wait-time 60 --user-agent 'Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0' --no-progress 'content/**/*.md'
36+
args: --exclude='^http://rawpixels.net/.*$' --exclude='^http://rawpixels.net/.*$' --exclude='^https://twitter.com/.*$' --exclude='^https://ctftime.org/.*$' --cache --max-cache-age 1w --exclude-all-private --exclude-mail --threads 4 --timeout 30 --retry-wait-time 60 --user-agent 'Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0' --no-progress 'content/**/*.md'
3337
fail: true
3438

.github/workflows/notify.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@ on:
1111
types:
1212
- completed
1313

14+
env:
15+
BLOG_POST_TWITTER_NOTIFICATION_BODY:
16+
1417
jobs:
1518
twitter_notify:
1619
name: Send notification on Twitter
1720
runs-on: ubuntu-latest
1821
if: contains( join(github.event.commits.*.message), 'New blog post')
1922
steps:
20-
- uses: actions/checkout@v3
21-
- uses: actions/setup-python@v3
23+
- uses: actions/checkout@v4
24+
- uses: actions/setup-python@v4
2225
with:
2326
python-version: '3.10'
2427
architecture: 'x64'
@@ -27,12 +30,12 @@ jobs:
2730
run: |
2831
python -m pip install -r scripts/requirements.txt
2932
python scripts/get_release_info.py
30-
- uses: ethomson/send-tweet-action@v1
33+
- uses: nearform-actions/github-action-notify-twitter@v1.2.0
3134
with:
32-
consumer-key: ${{ secrets.TWITTER_CONSUMER_API_KEY }}
33-
consumer-secret: ${{ secrets.TWITTER_CONSUMER_API_SECRET }}
34-
access-token: ${{ secrets.TWITTER_ACCESS_TOKEN }}
35-
access-token-secret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
36-
status: ${{ env.BLOG_POST_TWITTER_NOTIFICATION_BODY}}
35+
twitter-app-key: ${{ secrets.TWITTER_CONSUMER_API_KEY }}
36+
twitter-app-secret: ${{ secrets.TWITTER_CONSUMER_API_SECRET }}
37+
twitter-access-token: ${{ secrets.TWITTER_ACCESS_TOKEN }}
38+
twitter-access-token-secret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
39+
message: ${{ env.BLOG_POST_TWITTER_NOTIFICATION_BODY}}
3740

3841
# TODO: discord notify

.github/workflows/release.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ jobs:
1919
permissions:
2020
contents: write
2121
steps:
22-
- uses: actions/checkout@v3
23-
- uses: actions/setup-python@v3
22+
- uses: actions/checkout@v4
23+
- uses: actions/setup-python@v4
2424
with:
2525
python-version: '3.10'
2626
architecture: 'x64'
@@ -42,8 +42,8 @@ jobs:
4242
runs-on: ubuntu-latest
4343
if: contains( join(github.event.commits.*.message), 'New blog post')
4444
steps:
45-
- uses: actions/checkout@v3
46-
- uses: actions/setup-python@v3
45+
- uses: actions/checkout@v4
46+
- uses: actions/setup-python@v4
4747
with:
4848
python-version: '3.10'
4949
architecture: 'x64'

content/2016-06-13-armpwn-challenge.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ Next, the binary analysis.
8484

8585
## Reversing the binary ##
8686

87-
We can use [`IDA`](https://www.hex-rays.com/products/ida/support/download.shtml) to start with the static analysis. After a quick examination,
87+
We can use `IDA` to start with the static analysis. After a quick examination,
8888
the overall structure reveals itself quite clearly.
8989
The behaviour for the main process can be described with this pseudo-code:
9090

content/2016-08-27-ruxmon-16-making-gdb-great-again.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ category: talk
77

88
### Ruxmon August 2016: Making GDB great again ###
99

10-
I did a small presentation last Friday at [Ruxmon Melbourne](http://ruxmon.com/melbourne) about GDB, its Python API and how it can be used to make awesome new stuff.
10+
I did a small presentation last Friday at [Ruxmon Melbourne](https://web.archive.org/web/20231209215029/http://ruxmon.com/melbourne/) about GDB, its Python API and how it can be used to make awesome new stuff.
1111

1212
I also gave demos of my tool [`gef`](https://github.com/hugsy/gef.git), an architecture-agnostic exploitation helper for GDB to show the awesomeness of [Python API](https://sourceware.org/gdb/onlinedocs/gdb/Python-API.html) for GDB.
1313

content/2017-06-25-qemu-images-to-play-with.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Unless stated otherwise, `root` password is `root`, and an low privilege account
4848

4949
## But why ?
5050

51-
Already existing fantastic projects such as [Vagrant](https://app.vagrantup.com/boxes/search){:target="_blank"} for Linux/*nix and [modern.ie](https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/){:target="_blank"} for Windows help us getting quickly functional environments we can use in labs. But they are only providing Intel-based images.
51+
Already existing fantastic projects such as [Vagrant](https://app.vagrantup.com/boxes/search){:target="_blank"} for Linux/*nix and [modern.ie](https://web.archive.org/web/20170306074002/https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/){:target="_blank"} for Windows help us getting quickly functional environments we can use in labs. But they are only providing Intel-based images.
5252

5353
The closest thing to what I wanted when I started exploring exotic architectures was [aurel32 (now Debian Quick Image Baker) Qemu pages](https://people.debian.org/~gio/dqib/), which provides great Qemu images. Unfortunately, they are using extremely old kernels and/or Linux distributions, making it too hard for a quick plug-n-play experience.
5454

content/2017-08-07-setting-up-a-windows-vm-lab-for-kernel-debugging.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ isn't an option. So my setup is:
2222
- Debian testing x64 as host
2323
- [VirtualBox](https://www.virtualbox.org) as hypervisor
2424
- A
25-
[Windows 7 x64 VM](https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/) acting
25+
[Windows 7 x64 VM](https://web.archive.org/web/20170306074002/https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/) acting
2626
as debugger.
2727
- And 2 debuggees:
2828
1. Windows 7 x86 VM (using UART as debugging medium)

content/2019-03-17-small-dumps-in-the-big-pool.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Keeping on with experimenting with Windows 10 I noticed a field part of the `nt!
1717

1818
[Source](https://ntdiff.github.io/#versionLeft=Win8.1_U1%2Fx64%2FSystem32&filenameLeft=ntoskrnl.exe&typeLeft=Standalone%2F_ETHREAD&versionRight=Win10_1607_RS1%2Fx64%2FSystem32&filenameRight=ntoskrnl.exe&typeRight=Standalone%2F_ETHREAD)
1919

20-
So how to use it? Is it even reachable? The answer was as immediate as [Googling "windows set thread name"](http://lmgtfy.com/?q=windows+10+set+thread+name) which leads to an [MSDN article](https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-set-a-thread-name-in-native-code?view=vs-2017). This article mentions the [`SetThreadDescription()`](https://docs.microsoft.com/en-us/windows/desktop/api/processthreadsapi/nf-processthreadsapi-setthreaddescription) in `processthreadsapi.h`. Disassembling `kernelbase.dll` shows that this function is merely a wrapper around the syscall `NtSetInformationThread()` with a `ThreadInformationClass` set to 0x26 (`ThreadNameInformation`).
20+
So how to use it? Is it even reachable? The answer was as immediate as [Googling "windows set thread name"](https://google.com/search?q=windows+10+set+thread+name) which leads to an [MSDN article](https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-set-a-thread-name-in-native-code?view=vs-2017). This article mentions the [`SetThreadDescription()`](https://docs.microsoft.com/en-us/windows/desktop/api/processthreadsapi/nf-processthreadsapi-setthreaddescription) in `processthreadsapi.h`. Disassembling `kernelbase.dll` shows that this function is merely a wrapper around the syscall `NtSetInformationThread()` with a `ThreadInformationClass` set to 0x26 (`ThreadNameInformation`).
2121

2222
![ida-setthreaddescription](/assets/images/small-pool/ida-setthreaddescription.png)
2323

content/2021-01-10-browsing_registry_kernel_mode.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@ Peace out ✌
503503
Links to resources I couldn't understand anything without.
504504

505505
- <a name="link_0">[0]</a> All I could understand was compiled into my JS script [`RegistryExplorer.js`](https://github.com/hugsy/windbg_js_scripts/blob/master/scripts/RegistryExplorer.js)
506-
- <a name="link_1">[1]</a> [Windows Kernel Internals NT Registry Implementation](http://ivanlef0u.fr/repo/madchat/vxdevl/papers/winsys/wk_internals/registry.pdf)
506+
- <a name="link_1">[1]</a> [Windows Kernel Internals NT Registry Implementation](https://web.archive.org/web/20220720121211/https://ivanlef0u.fr/repo/madchat/vxdevl/papers/winsys/wk_internals/registry.pdf)
507507
- <a name="link_2">[2]</a> [MSDN - Registry Hives](https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry-hives)
508508
- <a name="link_3">[3]</a> [comaeio/SwishDbgExt - Github](https://github.com/comaeio/SwishDbgExt)
509509
- <a name="link_4">[4]</a> [Dumping Windows Credentials - <a class="fa fa-twitter" href="https://twitter.com/lanjelot" target="_blank"> @lanjelot</a> ](https://web.archive.org/web/20140127003901/https://www.securusglobal.com/community/2013/12/20/dumping-windows-credentials/)

0 commit comments

Comments
 (0)