Didier Stevens

Sunday 16 July 2023

Overview of Content Published in June

Filed under: Announcement — Didier Stevens @ 7:50
Here is an overview of content I published in June:

Blog posts: SANS ISC Diary entries:

Thursday 15 June 2023

Overview of Content Published in May

Filed under: Announcement — Didier Stevens @ 7:56
Here is an overview of content I published in May:

Blog posts: SANS ISC Diary entries:

Monday 1 May 2023

Overview of Content Published in April

Filed under: Announcement — Didier Stevens @ 22:43
Here is an overview of content I published in April:

Blog posts: SANS ISC Diary entries:

Monday 10 April 2023

New Tool: myjson-transform.py

Filed under: Announcement,My Software,Uncategorized — Didier Stevens @ 8:05

This tool takes JSON output from tools like oledump, zipdump, base64dump, … via stdin and transforms the data produced by these tools.
The transformation function (name Transform) has to be defined in a Python script provided via option -s.

This Transform function has 2 arguments: items and options.
items is a list of dictionaries produced by the “feeding” tool , e.g., the tool whose JSON output is piped into this tool (oledump, …).
Each dictionary has 3 keys: id, name and content.

The transformation function reads content from the items, and transforms it. The transformed data is the return value of the Transform function, and it can also be stored in the items list (modifying the values of the dictionaries, like the content value for example).

By default, this tool will output the transformed data (return value of Transform function) as binary data.
With options -a, -A, -x, -X, -b, -B this output can be presented as ASCII dump, hex dump and base64 dump. Option -d is also present to explicitly request a binary dump.

If option –jsonoutput is used, then the return value of the Transform function is ignored, and in stead, the transformed items are output as JSON data.
The –jsonouput option can not be combined with the above output format options.

Option -p (–parameter) is a string option that is passed on to the Transform function (via options argument). It is designed to be used by the developer of the Transform function as they see fit.
For example, it can be used to tell the Transform function which item to select for transformation, in case there are several items.

Take a look at my SANS ISC diary entry “Another Malicious HTA File Analysis – Part 2” for an example on how to decrypt an AES encrypted payload.

myjson-transform_V0_0_1.zip (http)
MD5: 01669E77D9706317A92112E2918A73B9
SHA256: 5DD1DB80D18480196C5EEF415AA7D22C1EB54B985B4D6ACF56E739B58052D34C

Saturday 1 April 2023

Overview of Content Published in March

Filed under: Announcement — Didier Stevens @ 7:25
Here is an overview of content I published in March:

Blog posts: SANS ISC Diary entries:

Thursday 23 March 2023

Overview of Content Published in February

Filed under: Announcement — Didier Stevens @ 19:19
Content: Here is an overview of content I published in February:

Blog posts: SANS ISC Diary entries:

Saturday 4 February 2023

Overview of Content Published in January

Filed under: Announcement — Didier Stevens @ 18:22
Here is an overview of content I published in January:

Blog posts: SANS ISC Diary entries:

Monday 2 January 2023

Overview of Content Published in 2022

Filed under: Announcement — Didier Stevens @ 0:00
Here is an overview of content I published in 2022:

Blog posts: YouTube videos: Videoblog posts: SANS ISC Diary entries: NVISO blog posts: NVISO Videos:

Sunday 1 January 2023

Overview of Content Published in December

Filed under: Announcement — Didier Stevens @ 9:44
Here is an overview of content I published in December:

Blog posts: SANS ISC Diary entries:

Monday 26 December 2022

New Tool: dns-pydivert.py

Filed under: Announcement,My Software — Didier Stevens @ 0:00

dns-pydivert is a tool that uses WinDivert, a “user-mode packet capture-and-divert package for Windows” to divert IPv4 DNS packets to and from the machine it is running on.

This tool requires admin rights.

When started, it listens for IPv4 UDP packets with source and/or destination port equal to 53.
When this tools processes its first UDP packet with destination port 53, it considers the source address of this packet as the DNS client’s IPv4 address (e.g., the Windows machine this tool is running on) and the destination address to be the IPv4 address of the DNS server used by the client.
From then on, all IPv4 UDP packets with source or destination port 53 (including that first packet) are altered by the tool.
All IPv4 UDP packets with destination port 53, have their destination address changed to the IPv4 address of the client.
All IPv4 UDP packets with source port 53, have their source address changed to the IPv4 address of the DNS server.

This tool can be used to redirect all DNS IPv4 traffic to the machine itself, where a tool like dnsresolver.py can handle the DNS requests.

Caveats:

  • This tool does not handle IPv6.
  • This tool does not check if the UDP packets to and/or from port 53 are actual DNS packets.
  • This tool ignores DNS traffic over TCP.
  • This tool does not handle queries to multiple DNS servers (different IPv4 addresses) correctly.
dns-pydivert_V0_0_1.zip (http)
MD5: BEAB8F9D180E15B27EB86CBEF7429216
SHA256: 7CB4BA7A4ABC0788AB8CE3F2DD1006DF86AD5D80943A4716FC3E62F1FA2100F6
« Previous PageNext Page »

Blog at WordPress.com.