走在時代前沿的前言 嗨大家,我 CX330。 我明天和後天都各還有一個死線,希望今天可以早點寫完,真可怕,果然還是要囤文章比較不會累死。 昨天已經介紹了 XOR、RC4 跟 IP 位址混淆,今天要來介紹 AES 加密、MAC 位址混淆和 UUID 混淆。如果還沒有看過上一篇的可以先去閱讀一下,那就讓我們開始吧! 疊甲 中華民國刑法第 362 條:「製作專供犯本章之罪之電腦程式,而供自己或他人犯本章之罪,致生損害於公眾或他人者,處五年以下有期徒刑、拘役或科或併科六十萬元以下罰金。」 本系列文章涉及多種惡意程式的技術,旨在提升個人技術能力與資安意識。本人在此強烈呼籲讀者,切勿使用所學到的知識與技術從事任何違法行為! Zig 版本 本系列文章中使用的 Zig 版本號為 0.14.1。 AES 加密 我們在這邊會提供一種方式去實作,就是使用 Windows 的 bcrypt.h API。 另外,礙於篇幅,我有使用另外兩種方式實作,會放在這邊。是利用 Zig 標準函式庫和 TinyAES 專案去實作,如果有興趣歡迎去閱讀按星星。 AES 分別根據金鑰長度的不同,分為 AES128、AES19 ...
走在時代前沿的前言 早安午安晚安,我是 CX330。我們昨天看了 PE 文件的格式,把整個 PE 文件的架構都介紹了一遍。今明兩天呢,我們要來看一下前幾天介紹過的 Shellcode 會以什麼樣的形式存在在程式碼裡面,會經過什麼樣的加密或是混淆等。 這個主題會分成上下兩篇,礙於篇幅,會把加密跟混淆的部分散佈在兩篇。由於不是密碼學相關的主題,不會深入加密的算法,主要是會介紹很多種加密和混淆的手法,因此範例程式碼會偏多。那就讓我們開始吧! 疊甲 中華民國刑法第 362 條:「製作專供犯本章之罪之電腦程式,而供自己或他人犯本章之罪,致生損害於公眾或他人者,處五年以下有期徒刑、拘役或科或併科六十萬元以下罰金。」 本系列文章涉及多種惡意程式的技術,旨在提升個人技術能力與資安意識。本人在此強烈呼籲讀者,切勿使用所學到的知識與技術從事任何違法行為! Zig 版本 本系列文章中使用的 Zig 版本號為 0.14.1。 XOR 加密 XOR 是最簡單的加密方式,Payload 的每一個字節都會與一個 Key 進行 XOR 運算。解密也是使用相同的那把 Key。雖然如果知道了 Key 就可以很輕鬆的還 ...
走在時代前沿的前言 欸完蛋了啦現在已經晚上六點了,我一個字都還沒動。 嗨大家好我 CX330,昨天帶大家深入的看了一下窗戶的 API,今天我們就要來詳細聊聊前幾天提到的 PE 文件格式。今天沒什麼時間聊天了,就直接開始吧! 疊甲 中華民國刑法第 362 條:「製作專供犯本章之罪之電腦程式,而供自己或他人犯本章之罪,致生損害於公眾或他人者,處五年以下有期徒刑、拘役或科或併科六十萬元以下罰金。」 本系列文章涉及多種惡意程式的技術,旨在提升個人技術能力與資安意識。本人在此強烈呼籲讀者,切勿使用所學到的知識與技術從事任何違法行為! Zig 版本 本系列文章中使用的 Zig 版本號為 0.14.1。 PE 檔案簡介 PE 格式(Portable Executable)是專屬於 Microsoft Windows 的一個文件格式,它會告訴系統如何載入和運行這個檔案等等。每個可執行檔都共享一個叫做 COFF(Common Object File Format)的通用格式,而 PE 格式就是這種 COFF 格式之一。常見的後綴名稱包括但不限於以下: .exe .dll .scr .sys PE ...
走在時代前沿的前言 嗨大家我又來了,我 CX330。昨天我們已經初探了 Windows 的架構和記憶體分配等等的,今天要來跟大家聊聊 Windows API! Windows API 是微軟提供給開發者讓其跟 Windows 作業系統互動的方式,比如如果應用程式需要在螢幕上顯示一個視窗、要修改檔案或是查詢註冊表(Registry),那就會需要用到 Windows API。 好啦那廢話不多說,蜥蜴軍團們,我們開始囉! 疊甲 中華民國刑法第 362 條:「製作專供犯本章之罪之電腦程式,而供自己或他人犯本章之罪,致生損害於公眾或他人者,處五年以下有期徒刑、拘役或科或併科六十萬元以下罰金。」 本系列文章涉及多種惡意程式的技術,旨在提升個人技術能力與資安意識。本人在此強烈呼籲讀者,切勿使用所學到的知識與技術從事任何違法行為! Zig 版本 本系列文章中使用的 Zig 版本號為 0.14.1。 Windows 資料型別 Windows API 有很多除了 C 語言的基本資料型態(如 int、flaot 等)外的資料型別,這些都有被文檔紀錄,可以在這邊看到。以下會列出一些常見的資料型別: DW ...
走在時代前沿的前言 嗨大家,我 CX330。今天事情有點多,不知道寫不寫得完 XD。 昨天聊了 Shellcode 和 Payload 的放置等等,今天想要來把窗戶打開,揭開它的神秘面紗,會和大家一起初步認識 Windows 的架構和 Windows 如何做記憶體管理等等的。 好啦那就開始囉! 疊甲 中華民國刑法第 362 條:「製作專供犯本章之罪之電腦程式,而供自己或他人犯本章之罪,致生損害於公眾或他人者,處五年以下有期徒刑、拘役或科或併科六十萬元以下罰金。」 本系列文章涉及多種惡意程式的技術,旨在提升個人技術能力與資安意識。本人在此強烈呼籲讀者,切勿使用所學到的知識與技術從事任何違法行為! Zig 版本 本系列文章中使用的 Zig 版本號為 0.14.1。 Windows 架構 Windows 作業系統中的處理器可以跑在兩種不同的模式上:User mode 和 Kernel mode。一般的應用程式會是在 User mode 之下運行,而操作系統的元件們則會在 Kernel mode 運行。如果今天一般的應用程式想要完成某些系統任務,例如建立檔案,那它其實是不能獨立做完這件事的 ...
走在時代前沿的前言 歡迎回來,蜥蜴兵們,我是 CX330。昨天已經結束了我們的新手訓練營,也把語法都講過了大概,那今天就要來開始進入惡意程式的內容囉! 今天要來介紹什麼是 Shellcode、什麼是 Sections、我們的 Shellcode 可以放在哪個 Section 等等的。那就廢話不多說,讓我們開始吧! 疊甲 中華民國刑法第 362 條:「製作專供犯本章之罪之電腦程式,而供自己或他人犯本章之罪,致生損害於公眾或他人者,處五年以下有期徒刑、拘役或科或併科六十萬元以下罰金。」 本系列文章涉及多種惡意程式的技術,旨在提升個人技術能力與資安意識。本人在此強烈呼籲讀者,切勿使用所學到的知識與技術從事任何違法行為! Zig 版本 本系列文章中使用的 Zig 版本號為 0.14.1。 Shellcode shellcode 是一段用於利用軟體漏洞而執行的代碼,shellcode 為 16 進位之機械碼,以其經常讓攻擊者獲得 shell 而得名。 《維基百科》 簡單來說,他就是一段程式碼,只不過是用 16 進位直接編寫的原始位元組(Raw bytes)。舉例來說,以下這段就是一段從 ...
走在時代前沿的前言 嗨諸位,我 CX330,我又回來了。昨天帶大家看了很多複合類型,今天是新手訓練營的最後一天啦!今天要帶大家看看 Zig 的可選類型、錯誤處處理和流程控制的部分。 然後跟大家分享一下,牛肉湯昨天是社團博覽會,依慣例我們結束都會去吃個宵夜,但我跟白臉貓還沒寫完我們的鐵人賽,結果我們昨天就在宵夜店拿著電腦在修修改改,滿好玩的經驗。 疊甲 中華民國刑法第 362 條:「製作專供犯本章之罪之電腦程式,而供自己或他人犯本章之罪,致生損害於公眾或他人者,處五年以下有期徒刑、拘役或科或併科六十萬元以下罰金。」 本系列文章涉及多種惡意程式的技術,旨在提升個人技術能力與資安意識。本人在此強烈呼籲讀者,切勿使用所學到的知識與技術從事任何違法行為! Zig 版本 本系列文章中使用的 Zig 版本號為 0.14.1。 可選類型 Zig 裡面,為了解決 C 語言遺留的諸多安全性問題,提供了許多解決方案,而可選類型就是重要的其中之一。它的符號為 ?,?T 表示該類型的值可以是 null 或是 T 類型。下面舉個例子: // normal integer const normal_int: i ...
走在時代前沿的前言 歡迎回來小蜥蜴們,我 CX330!今天是我們新手訓練營的第二天!昨天和大家介紹了 Zig 的一些基礎語法,今天要來帶大家寫一下 Hello world 並且了解更多複合的型別(昨天有說今天要講流程控制,但礙於偏於我會挪到明天再介紹)。 如果還沒讀過之前的文章,可以跳過去先看看!好的,那我們就開始嘍! 哦對了,為什麼 iThome 的這個程式碼 Highlight 沒有支援 Zig,可惡!然後查了一下用的是 highlight.js,然後又翻了一下發現 highlight.js 已經在 2024-01-02 支援了 Zig,但是是由第三方的 Package 支援的,iThome 應該是沒有使用該套件,希望他們早日支援 T^T。 疊甲 中華民國刑法第 362 條:「製作專供犯本章之罪之電腦程式,而供自己或他人犯本章之罪,致生損害於公眾或他人者,處五年以下有期徒刑、拘役或科或併科六十萬元以下罰金。」 本系列文章涉及多種惡意程式的技術,旨在提升個人技術能力與資安意識。本人在此強烈呼籲讀者,切勿使用所學到的知識與技術從事任何違法行為! Zig 版本 本系列文章中使用的 Z ...