๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฐ˜์‘ํ˜•

๐Ÿฆพ ๋ณด์•ˆ ๐Ÿฆพ

(13)
[Practical Malware Analysis] Lab01-04.exe ๋ถ„์„ 01. ๋ถ„์„ํ™˜๊ฒฝ1.1 ๋ถ„์„ ํ™˜๊ฒฝWindows10WindowsXP1.2 ๋ถ„์„ ๋„๊ตฌPEView Resource Hacker PEiD Exeinfo PE strings IDA Pro OllyDbg depends SysAnalyzer Wireshark1.3 ๋ถ„์„ ์ƒ˜ํ”ŒPractical Malware Analysis Labs - Lab01-04.exe 02. ์ •์  ๋ถ„์„2.1 PE ๊ตฌ์กฐ ํ™•์ธSECTION .rsrc ์˜์—ญ์— PE ํŒŒ์ผ ํ˜•์‹์ด ์‚ฝ์ž…๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Resource Hacker๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ํŒŒ์ผ์„ ์ถ”์ถœํ•˜๊ณ  Lab01-04_inserted.exe๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. 2.2 ํŒจํ‚น ์—ฌ๋ถ€ ํ™•์ธLab01-04.exe, Lab01-04_inserted.exe ํŒŒ์ผ ๋ชจ๋‘ Entry Point๊ณผ Fil..
[Practical Malware Analysis] Lab01-03.exe ๋ถ„์„ 01. ๋ถ„์„ํ™˜๊ฒฝ1.1 ๋ถ„์„ ํ™˜๊ฒฝWindows101.2 ๋ถ„์„ ๋„๊ตฌVirustotalPEiDexeinfo PEVmUnpackerDependencyWalkerPEStudioOllyDBGIDA1.3 ๋ถ„์„ ์ƒ˜ํ”ŒPractical Malware Analysis Labs - Lab01-03.exe02. ์ •์  ๋ถ„์„ ๊ณผ์ •2.1 ํŒจํ‚น ํ™•์ธEntrypoint, File Offset ์˜ ์ฐจ์ด๋ฅผ ํ†ตํ•ด์„œ๋„ ํŒจํ‚น๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. FSG 1.0 ์œผ๋กœ ์••์ถ•๋œ ๊ฒƒ์œผ๋กœ ์ถ”์ธก๋ฉ๋‹ˆ๋‹ค. VmUnpacker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์–ธํŒจํ‚น์„ ์ง„ํ–‰ ํ›„ ๋ถ„์„์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.  2.2 Strings ํ™•์ธํŒŒ์ผ ๋‚ด๋ถ€์— hxxp://www.malwareanalysis.book.com/ad.html URL์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€์Šต๋‹ˆ๋‹ค. 2.3 IAT ํ™•์ธ..
02. ๋Œ€์นญํ‚ค ์•”ํ˜ธ ํ˜„๋Œ€ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™•์‚ฐ๊ณผ ํ˜ผ๋ˆ- ํ™•์‚ฐ(diffusion) : ์•”ํ˜ธ๋ฌธ๊ณผ ํ‰๋ฌธ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์ˆจ๊ธฐ๋Š” ๊ฒƒ- ํ˜ผ๋ˆ(confusion) : ์•”ํ˜ธ๋ฌธ๊ณผ ํ‚ค์˜ ๊ด€๊ณ„๋ฅผ ์ˆจ๊ธฐ๋Š” ๊ฒƒP-๋ฐ•์Šค์™€ S-๋ฐ•์Šค- P-๋ฐ•์Šคํ™•์‚ฐ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๋น„ํŠธ๋ฅผ ์ „์น˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ๋‹จ์ˆœ P-๋ฐ•์Šค๋Š” ์—ญ์‚ผ์ˆ˜๊ฐ€ ์กด์žฌํ•˜๊ณ  ์ถ•์†Œ P-๋ฐ•์Šค, ํ™•์žฅ P-๋ฐ•์Šค๋Š” ์—ญํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.์ถ•์†Œ P-๋ฐ•์Šค : n ๋น„ํŠธ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ m๋น„ํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” P-๋ฐ•์Šค (n > m). ์ž…๋ ฅ ๋น„ํŠธ ์ค‘ ํŠน์ • ๋น„ํŠธ๋Š” ์†Œ์‹ค๋˜์–ด ์ถœ๋ ฅ๋˜์ง€ ์•Š๋Š”๋‹ค.ํ™•์žฅ P-๋ฐ•์Šค : n ๋น„ํŠธ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ m๋น„ํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” P-๋ฐ•์Šค (n ๋‹จ์ˆœ P-๋ฐ•์Šค : n ๋น„ํŠธ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ m๋น„ํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” P-๋ฐ•์Šค (n = m). - S-๋ฐ•์ŠคS-๋ฐ•์Šค๋Š” ์ž…๋ ฅ๊ฐ’๊ณผ ์ถœ๋ ฅ๊ฐ’ ์‚ฌ์ด์˜ ๊ด€๊ณ„๊ฐ€ ๋Œ€์ˆ˜์  ๊ด€๊ณ„๋กœ ์ •์˜๋˜๋Š” ์น˜ํ™˜ ์•”ํ˜ธ์ด๋‹ค. ์ž…๋ ฅ..
[Practical Malware Analysis] Lab01-02.exe ๋ถ„์„ ์ •์  ๋ถ„์„01. ์ž๋™ํ™” ๋ถ„์„๋ถ„์„ ๋„๊ตฌ : virustotal.com, PEView๋ถ„์„ ๊ฒฐ๊ณผ :Lab01-02.exe : 57/72 ํƒ์ง€, V3, ALYac Trojan ์œผ๋กœ ํƒ์ง€ 02. ํŒจํ‚น ์—ฌ๋ถ€ ํ™•์ธ๋ถ„์„ ๋„๊ตฌ : Exeinfope, PEView๋ถ„์„ ๊ฒฐ๊ณผ :์‹คํ–‰ ํŒŒ์ผ์˜ ์„น์…˜ ์ด๋ฆ„์ด upx0, upx1, upx2๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์„ ํ†ตํ•ด์„œ UPX๋กœ ํŒจํ‚น๋œ๊ฒƒ์„ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜, exeinfo๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ์„œ UPX๋กœ ํŒจํ‚น ๋œ ๊ฒƒ์„ ๋‹ค์‹œ ํ™•์ธํ•˜์˜€๊ณ , UPX๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์–ธํŒจํ‚น ์ง„ํ–‰ ํ›„ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.  03. strings ํ™•์ธ๋ถ„์„ ๋„๊ตฌ : strings, OllyDBG๋ถ„์„ ๊ฒฐ๊ณผ : ์œ„์™€ ๊ฐ™์€ strings๊ฐ€ ์‹คํ–‰ ํŒŒ์ผ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€์Šต๋‹ˆ๋‹ค. OllyDBG๋กœ ํ™•์ธํ•œ ๊ฒฐ๊ณผ HGL345๋Š” ๋ฎคํ…์Šค ์ด๋ฆ„์œผ๋กœ,..
[Practical Malware Analysis] Lab01-01.exe, Lab01-01.dll ๋ถ„์„ ์ •์  ๋ถ„์„์ž๋™ํ™” ๋ถ„์„๋ถ„์„ ๋„๊ตฌ : virustotal.com๋ถ„์„ ๊ฒฐ๊ณผ :Lab01-01.exe : ๊ฐ์ง€์œจ 55/72, ์•Œ์•ฝ, ์•ˆ๋žฉ ๋“ฑ์—์„œ ๋ฐฑ๋„์–ด, Torjan ๋กœ ๊ฐ์ง€Lab01-01.dll : ๊ฐ์ง€์œจ 47/73, ์•Œ์•ฝ, Google ๋“ฑ์—์„œ ๋ฐฑ๋„์–ด, Torjan๋กœ ๊ฐ์ง€ ํŒจํ‚น ์—ฌ๋ถ€๋ถ„์„ ๋„๊ตฌ : exeinfo๋ถ„์„ ๊ฒฐ๊ณผ :Lab01-01.exe, Lab01-01.dll ๋ชจ๋‘ ํŒจํ‚น๋˜์ง€ ์•Š์€ ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๊ณ , Microsoft Visual C-++ ๋กœ ์ปดํŒŒ์ผ ๋˜์—ˆ์Œ์„ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ ์‹œ๊ฐ„๋ถ„์„ ๋„๊ตฌ : PEiD๋ถ„์„ ๊ฒฐ๊ณผ : Lab01-01.exe ๋Š” 2010/12/19 16:16:19 UTC ์— ์ปดํŒŒ์ผ์—, Lab01-01.dll ์€ 2010/12/19 16:16:38 UTC ์— ์ปดํŒŒ์ผ ๋œ ๊ฒƒ์œผ๋กœ ๋ณด์•„ L..
01. ์•”ํ˜ธํ•™ ๊ฐœ์š” ์•”ํ˜ธ๊ธฐ๋ฒ•์˜ ๋ถ„๋ฅ˜์น˜ํ™˜์•”ํ˜ธ์™€ ์ „์น˜์•”ํ˜ธ- ์น˜ํ™˜ ์•”ํ˜ธ์ผ์ •ํ•œ ๋ฒ•์น™์— ๋”ฐ๋ผ ํ‰๋ฌธ์˜ ๋ฌธ์ž ๋‹จ์œ„๋ฅผ ๋‹ค๋ฅธ ๋ฌธ์ž ๋‹จ์œ„๋กœ ์น˜ํ™˜ํ•˜๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹์ด๋‹ค. ์ด๋•Œ ์น˜ํ™˜ ๋ฐฉ์‹์€ ์ผ๋Œ€์ผ ๋Œ€์‘์ผ ํ•„์š” ์—†๋‹ค. ์นด์ด์‚ฌ๋ฅด, ๋น„์ฆˆ๋„ค๋ฅด ์•”ํ˜ธ๊ฐ€ ๋Œ€ํ‘œ์ ์ด๋‹ค. - ์ „์น˜ ์•”ํ˜ธํ‰๋ฌธ์„ ๊ทœ์น™์— ๋”ฐ๋ผ ์ž๋ฆฌ๋ฅผ ์›€์ง์ด๊ฒŒ ํ•˜์—ฌ ์›๋ž˜์˜ ์˜๋ฏธ๋ฅผ ๊ฐ์ถ”๊ฒŒํ•˜๋Š” ์•”ํ˜ธ์™€ ๋ฐฉ์‹์ด๋‹ค. ํ‰๋ฌธ๊ณผ ์•”ํ˜ธ๋ฌธ์ด ์ผ๋Œ€์ผ ๋Œ€์‘์ด๋ฏ€๋กœ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊พธ๋Š” ๊ทœ์น™์€ ์—ญํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค. Nihilist ์•”ํ˜ธ๊ฐ€ ๋Œ€ํ‘œ์ ์ด๋‹ค.์ŠคํŠธ๋ฆผ ์•”ํ˜ธ์™€ ๋ธ”๋ก ์•”ํ˜ธ- ์ŠคํŠธ๋ฆผ ์•”ํ˜ธํ•œ๋ฒˆ์— 1๋น„ํŠธ ํ˜น์€ 1๋ฐ”์ดํŠธ์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•ด๊ฐ€๋Š” ๋Œ€์นญํ‚ค ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ํ‰๋ฌธ์— ํ‚ค ์ŠคํŠธ๋ฆผ์„ XORํ•˜์—ฌ ์•”ํ˜ธ๋ฌธ์„ ์ƒ์„ฑํ•œ๋‹ค. ์•”ํ˜ธํ™” ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ์—๋Ÿฌ ์ „ํŒŒํ˜„์ƒ์ด ์—†์–ด ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. LFSR๊ฐ€ ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•์ด๋‹ค. - ๋ธ”..
x86-64 ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(C, C++, JAVA, Python) ๋ณด๋‹ค ์ €์ˆ˜์ค€ ์–ธ์–ด๋กœ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  ์–ธ์–ด.์ข…๋ฅ˜ : IA-32(intel 32bit), x86-64, ARM, MIPS์–ด์…ˆ๋ธ”๋ฆฌ์–ด(Assembly Language)๊ธฐ๊ณ„์–ด์™€ ์ผ๋Œ€์ผ ๋Œ€์‘์ด ๋˜๋Š” ์ €์ˆ˜์ค€ ์–ธ์–ด์‚ฌ์šฉ์ž๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šด ๊ธฐ๊ณ„์–ด ๋Œ€์‹ ์— ๋ช…๋ น ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์—ฐ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํ˜ธ๋ฅผ ๊ธฐ๊ณ„์–ด์™€ 1:1๋กœ ๋Œ€์‘์‹œ์ผœ ์ฝ”๋“œํ™”ํ•œ ๊ธฐํ˜ธ ์–ธ์–ด๊ธฐ๊ณ„์–ด(Machine Language)ํ”„๋กœ๊ทธ๋žจ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ€์žฅ ๋‚ฎ์€ ๋‹จ๊ณ„์˜ ๊ฐœ๋….์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜(CPU)๊ฐ€ ์ง์ ‘ ํŒ๋…ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋น„ํŠธ(0๊ณผ 1์˜ ์กฐํ•ฉ) ๋‹จ์œ„๋กœ ์“ฐ์ธ ์ปดํ“จํ„ฐ ์–ธ์–ด ๊ธฐ๋ณธ๊ตฌ์กฐ๊ธฐ๋ณธํ˜•ํƒœ : ๋ช…๋ น์–ด(์˜ต์ฝ”๋“œ) + ์ธ์ž(์˜คํผ๋žœ๋“œ)๋ช…๋ น์–ด (์˜ต์ฝ”๋“œ) ๋ช…๋ น ์ฝ”๋“œ ์„ค๋ช…๋ฐ์ดํ„ฐ ์ด๋™(Data Transfer..
x86-64 CPU ๋ ˆ์ง€์Šคํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜(CPU)์˜ ๋‚ด๋ถ€์— ์กด์žฌํ•˜๋Š” ๊ณ ์† ๋ฉ”๋ชจ๋ฆฌ๋กœ, ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„. ์ฒ˜๋ฆฌ ํ›„ ํ•ด๋‹น ๊ฒฐ๊ณผ ๊ฐ’ ์—ญ์‹œ ๋ ˆ์ง€์Šคํ„ฐ์— ์ €์žฅํ•œ ํ›„ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•œ๋‹ค. ๋ ˆ์ง€์Šคํ„ฐ ๋‹จ์œ„OS 32/64bit : CPU๊ฐ€ ํ•œ๊บผ๋ฒˆ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Ÿ‰์„ ๋งํ•จ  01. ๋ฒ”์šฉ ๋ ˆ์ง€์Šคํ„ฐ๋ ˆ์ง€์Šคํ„ฐ์—ญํ• AX (Acumulator register)๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ๋ณ€์ˆ˜๋กœ, ๊ฐ์ข… ์—ฐ์‚ฐ์— ์“ฐ์ž„. ์ฃผ๋กœ ๋ฆฌํ„ด ๊ฐ’์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ž…์ถœ๋ ฅ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ.DX (Data register)๊ฐ์ข… ์—ฐ์‚ฐ์— ์“ฐ์ด๋Š” ๋ณ€์ˆ˜๋กœ, ์ž…์ถœ๋ ฅ ๋ช…๋ น์–ด์™€ ๊ณฑ์…ˆ๊ณผ ๋‚˜๋ˆ—์…ˆ ์—ฐ์‚ฐ์—์„œ ์ถ”๊ฐ€์ ์—” ๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์šฉCX (Counter register)๋ฐ˜๋ณต๋ฌธ์˜ ์นด์šดํ„ฐ๋กœ ์‚ฌ์šฉ, ๋ฏธ๋ฆฌ ๊ฐ’์„ ์ •ํ•ด๋†“๊ณ  0์ด ๋  ๋•Œ๊นŒ์ง€ ์ง„ํ–‰, ๋ณ€์ˆ˜๋กœ ..

๋ฐ˜์‘ํ˜•