Study/study17 PE ๊ตฌ์กฐ ํ์ฑ (PE Structure Parsing) ์ด๋ฒ ๊ธ์์๋ PE ๊ตฌ์กฐ๋ฅผ ํ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ํ๋ก์ธ์ค ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ๊ตฌ์กฐ์ฒด์ธ PEB(Process Environment Block)๋ฅผ ์ด์ฉํ์ฌ ํ์ฌ ๋ก๋๋ ๋ชจ๋(DLL)์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค._PEB ํ๋ Ldr์ _PEB_LDR_DATA ๊ตฌ์กฐ์ฒด์ ํฌ์ธํฐ์ ๋๋ค. _PEB_LDR_DATA ๊ตฌ์กฐ์ฒด๋ ํ์ฌ ํ๋ก์ธ์ค์์ ๋ก๋๋ ๋ชจ๋๋ค์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ต๋๋ค. ์ด ๊ตฌ์กฐ์ฒด์๋ _LIST_ENTRY ํ์ ์ ๋ฉค๋ฒ(InLoadOrderModuleList, InMemoryOrderModuleList, InInitializationOrderModuleList)๊ฐ ์์ต๋๋ค._LIST_ENTRY ํ์ ์ ์๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ก ๋ ํฌ์ธํฐ Flink, Blink๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ด ํฌ์ธํฐ๋ฅผ ํต.. 2025. 6. 11. COM(Component Object Model)์ ๊ฐ๋ ์ค๋์ COM(Component Object Model) ๊ฐ๋ ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. โ COM(Component Object Model) ๊ฐ๋ Microsoft์์ ๊ฐ๋ฐํ ์ํํธ์จ์ด ์ปดํฌ๋ํธ ๊ธฐ๋ฐ์ ์ธํฐํ์ด์ค ํ์ค์ ๋๋ค.์ผ๋ฐ์ ์ผ๋ก ํด๋ผ์ด์ธํธ/์๋ฒ, RPC, ๋ถ์ฐ ๊ฐ์ฒด์ ๊ฐ์ ๋ถ์ฐ ์ปดํจํ ๋ชจ๋ธ์์ ์๋ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด๋ค ์ธ์ด๋ก๋ COM ๊ฐ์ฒด๋ฅผ ์ฝ๊ฒ ์์ฑํ ์ ์๊ณ , ๊ทธ ๊ธฐ๋ฅ์ ์ผ๋ฐ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. โ COM ๊ตฌ์กฐ์ ํต์ฌ ์์COM ๊ฐ์ฒด์ค์ ๋์ํ๋ ์ธ์คํด์ค(instance)๋ฅผ ์๋ฏธํฉ๋๋ค.์ต์ํ IUnknown ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๊ณ ์๋ ์ปดํฌ๋ํธ ๋จ์์ ๊ฐ์ฒด์ ๋๋ค.IUnknown์ ๋ชจ๋ COM ์ธํฐํ์ด์ค์ ๊ธฐ๋ฐ์ด ๋๋ ์ธํฐํ์ด์ค์ด๋ฏ๋ก COM์ ๋ชจ๋ ๊ฐ์ฒด๊ฐ ๋ฐ๋์ ๊ตฌํํด์ผ๋๋.. 2025. 4. 21. ์ํ ํ์์ ๋ถ๋ฅ ์ฒด๊ณ ๋ฐ ๋ช ๋ช ๋ฒ ์ค๋์ ์ํ ํ์์ ๋๋ ๊ณต๊ฒฉ ๊ทธ๋ฃน์ ๋ถ๋ฅ ์ฒด๊ณ์ ๋ช ๋ช ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๋ง์ดํฌ๋ก์ํํธ(Microsoft)์ด๊ธฐ์๋ THALLIUM(ํ๋ฅจ), CERIUM(์ธ๋ฅจ). ZINC(์์ฐ), OSMIUM(์ค์ค๋ฎด)๊ณผ ๊ฐ์ ์์ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฆ์ ๋ช ๋ช ํ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ฌ๋ ๋ ์จ ์ฃผ์ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ช ๋ช ๋ถ๋ฅ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.Microsoft๋ ์ํ ํ์์๋ฅผ ๋ค์๊ณผ ๊ฐ์ด 5๊ฐ์ง ๊ทธ๋ฃน์ผ๋ก ๋ถ๋ฅํ๊ณ ์์ต๋๋ค.๊ตญ๊ฐ ์ง์ ํ์์(Nation-state actors)๊ตญ๊ฐ ์ง์(nation/state)์ ๋ฐ์ผ๋ฉฐ ํ๋ํ๋ ์ํ ํ์์์ ๋๋ค.์ด ์ํ ํ์์๋ ๋๋ถ๋ถ ๊ฐ์ฒฉ ๋๋ ๊ฐ์๋ฅผ ๋ชฉ์ ์ผ๋ก ํ๋ฉฐ ์ ๋ถ ๊ธฐ๊ด, ์ ๋ถ ๊ด๋ จ ์กฐ์ง, ๋น์ ๋ถ ์กฐ์ง ๋๋ ์ฑํฌ ํฑํฌ๋ฅผ ๋์์ผ๋ก ์์ ๊ณผ ๊ณต๊ฒฉ์ ์ํํฉ๋๋ค.์ฌ์ ์ ๋๊ธฐ์ ํ์์(Fin.. 2025. 4. 2. Managed code / Unmanaged code / Native code ์ฐจ์ด Managed code[์ ์]๊ด๋ฆฌํ ํ๊ฒฝ์์ ์คํ๋๋ ์ฝ๋ [ํน์ง]CLR(Common Language Runtime)์์ ์คํ๋๋ฉฐ CLR์ ๋ค์ํ ๊ด๋ฆฌ ์์ ์ ์๋์ผ๋ก ์ฒ๋ฆฌํด์ค๋๋ค.๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection)์ ํตํด ๋ฉ๋ชจ๋ฆฌ ํ ๋น๊ณผ ํด์ ๋ฅผ ์๋์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.์์ธ ์ฒ๋ฆฌ๊ฐ ๋ํ ์๋์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค.์ฝ๋ ์คํ ์ค ๋ฐ์ํ ์ ์๋ ๋ณด์ ๋ฌธ์ ๋ฅผ ๊ด๋ฆฌํ ํ๊ฒฝ์ด ์ฒ๋ฆฌํด์ค๋๋ค..NET Framework๋ Java ๊ฐ์ ๊ด๋ฆฌํ ๋ฐํ์์ ํตํด ์ฌ๋ฌ ํ๋ซํผ์์ ๋์ผํ ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.CLR์ ์ฝ๋๋ฅผ ์คํํ ๋ ๋๋ฒ๊น ๊ณผ ํ๋กํ์ผ๋ง์ ์ง์ํด์ค๋๋ค. [์์]C#VB.NET Unmanaged code[์ ์]์ด์์ฒด์ ๋ ๋ฐํ์ ํ๊ฒฝ์ ์๋ ๊ด๋ฆฌ ์์ด ์คํ๋๋ ์ฝ๋ [ํน์ง]์ด์์ฒด์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์.. 2025. 2. 27. ๋ฐ์ด๋๋ฆฌ์์ ์ํธํ๋ ๋ฌธ์์ด ์ถ์ถ(๋ณตํธํ)ํ๊ธฐ ์ ์ฑ์ฝ๋๋ ํํ XOR ์ฐ์ฐ์ ํตํด ๋๋ ํํ๊ณ ๋ด๋ถ ๋ฐ์ดํฐ๋ฅผ ์จ๊น๋๋ค.์ด๋ฅผ ๋ณตํธํํ๋ python ์คํฌ๋ฆฝํธ์ ๋ํด ๊ณต๋ถํด๋ณด๊ฒ ์ต๋๋ค. (์คํฌ๋ฆฝํธ๋ ๋ชจ๋ Alexandre Borges์ "Malware Analysis Series(MAS) – Article 2"๋ฅผ ์ฐธ์กฐํ์์ต๋๋ค.) ์ํ ํด์(SHA256)๋ 73e4969db4253f9aeb2cbc7462376fb7e26cc4bb5bd23b82e2af0eaaf5ae66a8์ ๋๋ค.ํด๋น ์ํ์ Qakbot ์ ์ฑ์ฝ๋๋ก ์ธํจํนํ ํ ์งํํ์์ต๋๋ค. ๋จผ์ ์ ์ฑ์ฝ๋์ ์์ฒด ๋ณตํธํ ํจ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.๋ณตํธํ ๋ฃจํด sub_100085dC๋ฅผ ๋ณด๋ฉด, ๋ ๋ฒ์งธ ์ธ์๋ ์ํธํ๋ ๋ฌธ์์ด๋ก 0x1001D5A8์ ์๊ณ ์ ๋ฒ์งธ ์ธ์์ธ ๋ณตํธํ ํค๋ ์ฃผ์ 0x1001E3F8์ ์์ต๋๋ค.. 2025. 2. 6. Dynamic ์ํฐ ๋๋ฒ๊น (Anti Debugging) ๊ธฐ๋ฒ๊ณผ ์ฐํ ์ค๋์ Dynamic ์ํฐ ๋๋ฒ๊น ๊ธฐ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.Dynamic ์ํฐ ๋๋ฒ๊น ๊ธฐ๋ฒ์ ํต์ฌ ์ฝ๋(OEP)๋ก ๊ฐ์ง ๋ชปํ๋๋ก ํธ๋ ์ด์ฑ์ ์ง์์ ์ผ๋ก ๋ฐฉํดํฉ๋๋ค. 1. ์์ธ (Exception)์ฒซ ๋ฒ์งธ๋ ์์ธ๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ ๋๋ค.์ผ๋ฐ ์คํ๊ณผ ๋๋ฒ๊ฑฐ ์คํ์ ์ฐจ์ด๋ฅผ ์ด์ฉํ๋ ๊ฒ์ ๋๋ค. ์ผ๋ฐ ์คํ์ ์์ธ ๋ฐ์ ์ SEH๋ฅผ ํธ์ถํ์ง๋ง ๋๋ฒ๊น ์ ํตํด ์คํํ๋ฉด ๋๋ฒ๊ฑฐ๊ฐ ์ฒ๋ฆฌํ๋๋ก ๋์๋ฉ๋๋ค. ์์ธ๋ฅผ ๋ง๋๋ฉด ๋๋ฒ๊ฑฐ๊ฐ ์์ฒด์ ์ผ๋ก (๊ฐ๋ก์ฑ์) ์ฒ๋ฆฌํด์ฃผ๊ธฐ ๋๋ฌธ์ ๋๋ค. 1.1. SEH (Structured Exception Handling)SEH๋ ์์ธ ์ฒ๋ฆฌ ๋ฉ์ปค๋์ฆ์ผ๋ก ์ฒด์ธ ํํ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ์์ธ ์ฒ๋ฆฌ๊ธฐ์์ ํด๋น ์์ธ๋ฅผ ์ฒ๋ฆฌํ์ง ๋ชปํ๋ฉด ๋ค์ ์์ธ ์ฒ๋ฆฌ๊ธฐ๋ก ์์ธ๋ฅผ ๋๊ฒจ์ฃผ๋ ํ์์ ๋๋ค. ์์ธ ์ฒ๋ฆฌ๊ธฐ๋ .. 2024. 12. 17. ์ด์ 1 2 3 ๋ค์