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

์ „์ฒด ๊ธ€

(111)
[์•…์„ฑ์ฝ”๋“œ ์ƒ˜ํ”Œ ๋ถ„์„] Vidar Stealer - ์ฝ”๋“œ ์ˆ˜์ค€ ๋ถ„์„ ์ด ์‹คํ–‰ํŒŒ์ผ์€ .NET ๊ธฐ๋ฐ˜์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์šฐ์„  IDA๋กœ์˜ ๋ถ„์„์„ ๋จผ์ € ์‹œ๋„ํ•ด ๋ด„. Lumma Stealer ๋ถ„์„ํ•  ๋•Œ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ํ•จ์ˆ˜๋‚˜ ๊ทธ๋ž˜ํ”„๋„ ์ž˜ ๋ณด์ž„. Import ์ฐฝ์— ๋“ค์–ด์™€ ๋ณด๋‹ˆ ์ •์  ๋ถ„์„ ์‹œ์— ํ™•์ธํ–ˆ๋˜ ๋‹ค์–‘ํ•œ API ํ•จ์ˆ˜๋“ค ๋ฐœ๊ฒฌ.๊ทธ ์ค‘์—์„œ๋„ pestudio์—์„œ flag๋กœ ํ‘œ์‹œ๋˜์—ˆ๋˜ ๊ฒƒ๋“ค ๋ช‡ ๊ฐ€์ง€ ์ถ”์ ํ•ด ๋ดค์Œ. GetCurrentThreadId KERNAL32.dll์˜ GetCurrentThreadId API๋ฅผ ํ˜ธ์ถœ. ๊ทธ ํ˜ธ์ถœ์€ sub_4504F0 ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์ตœ์†Œ ๋‘ ๋ฒˆ ๋ฐœ์ƒ์ค‘ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์Šค๋ ˆ๋“œ์˜ ID๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋กœ, ์•ˆํ‹ฐ๋””๋ฒ„๊น…/๋กœ๊ทธ ๊ธฐ๋ก/ํŠน์ • ์Šค๋ ˆ๋“œ ์ œ์–ด ๋“ฑ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Œ VirtualAlloc๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ํ•จ์ˆ˜๋กœ, ๋‹ค์–‘ํ•œ ์•…์„ฑ ํ–‰์œ„์˜ ์‹œ์ž‘์  ๋  ์ˆ˜ ์žˆ์Œ.ํŠนํžˆ ์‰˜์ฝ”๋“œ ์‹คํ–‰/์ธ..
[์•…์„ฑ์ฝ”๋“œ ์ƒ˜ํ”Œ ๋ถ„์„] Vidar Stealer - ์ •์  ๋ถ„์„ https://bazaar.abuse.ch/sample/660da1824c143de666903c2b3983df605a3494a9ddaa7b65919e1263b095e343/ MalwareBazaar | Checking your browserPlease confirm that you are not a robot by clicking on the checkbox belowbazaar.abuse.ch1. ํŒŒ์ผ ์œ ํ˜• ํŒŒ์•…ํŒŒ์ผ ์••์ถ• ํ•ด์ œ ํ›„ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์˜ file ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ™œ์šฉํ•ด ์œ ํ˜• ํŒŒ์•….Lumma Stealer์™€ ๋™์ผํ•œ 32๋น„ํŠธ ์‹คํ–‰ ํŒŒ์ผ(PE 32) 2. ์•…์„ฑ์ฝ”๋“œ ์‹๋ณ„ํŒŒ์ผ์˜ md5 ํ•ด์‹œ๋ฅผ ์ƒ์„ฑ.705fdf5d27c1d8f39986fd45ef7a4593์ด ํ•ด์‹œ๊ฐ’์„ ํ†ตํ•ด ๋ฐ”์ด๋Ÿฌ์Šคํ† ํ„ธ์— ์งˆ์˜ ๊ฐ€๋Šฅ. 3. ๋ฌธ์ž..
[Lumma Stealer] ์ฝ”๋“œ ๊ตฌ์กฐ ์ˆ˜์ค€ ๋ถ„์„ - 3 3์ฃผ์ฐจ ๋ถ„์„ method_0 ๋กœ์ง ์†์˜ Delegate24.smethod_0์„ ๋œฏ์–ด๋ด„.// Delegate24// Token: 0x06000768 RID: 1896 RVA: 0x00006007 File Offset: 0x00004207public static Delegate smethod_0(Type type_0, Type type_1, string string_0, Delegate24 delegate24_1){ return delegate24_1(type_0, type_1, string_0);}์•„์ฃผ ๋‹จ์ˆœํ•œ Delegate wrapper๋ผ๊ณ  ํ•จ...์ „๋‹ฌ๋œ delegate24_1 ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋ฟ์ด๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ delegate ํƒ€์ž…์œผ๋กœ ๋ฐ˜ํ™˜.์ค‘์š”ํ•œ ๊ฑด return ๋‹ค์Œ์˜ delegate24_1(ty..
[Lumma Stealer] ์ฝ”๋“œ ๊ตฌ์กฐ ์ˆ˜์ค€ ๋ถ„์„ - 2 2์ฃผ์ฐจ ๋ถ„์„ https://lastcard.tistory.com/845 Windows ์•…์„ฑ์ฝ”๋“œ .NET ๊ณตํ†ต ํ•จ์ˆ˜ ๋ฐ dnSpy๋ฅผ ํ™œ์šฉํ•œ ๋ถ„์„ ๊ธฐ๋ฒ•Windows .NET ์•…์„ฑ์ฝ”๋“œ๋Š” Assembly.Load(), File.ReadAllBytes(), Process.Start(), Registry.SetValue() ๋“ฑ์˜ System ๋„ค์ž„์ŠคํŽ˜์ด์Šค ํ•จ์ˆ˜๋“ค์„ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. dnSpy๋ฅผ ํ™œ์šฉํ•œ ๋ถ„์„ ์‹œ์—๋Š” Main ์ง„์ž…์  ํŒŒ์•…, ๋ฆฌ์†Œ์Šค ์„นlastcard.tistory.com์œ„ ๋ธ”๋กœ๊ทธ ๋‚ด์šฉ ์ฐธ๊ณ ํ•ด์„œ ๋ถ„์„ํ•ด ๋ณด๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ. Windows .NET์ด๋ž€?Windows .NET ์•…์„ฑ์ฝ”๋“œ๋Š” Assembly.Load(), File.ReadAllBytes(), Process.Start(), Registry.Set..
[Lumma Stealer] ์ฝ”๋“œ ๊ตฌ์กฐ ์ˆ˜์ค€ ๋ถ„์„ ์ฝ”๋“œ ๋ถ„์„์— ์•ž์„œ, ์ด์ „์— Windows VM์— ์••์ถ•์„ ํ’€์–ด๋‘์—ˆ๋˜ LummaStealer.exe ํŒŒ์ผ์ดPE ํ—ค๋”๊ฐ€ ๋œจ์ง€ ์•Š๋Š”(...) ์ž˜๋ชป๋œ ํ˜•ํƒœ๋กœ ๋ณ€ํ•œ ๊ฑด์ง€IDA์—์„œ ๋ถ„์„ ์ž์ฒด๊ฐ€ ์•ˆ ๋˜๊ธธ๋ž˜ ์ƒˆ๋กญ๊ฒŒ ์••์ถ•์„ ํ’€์–ด ์ €์žฅํ•˜์˜€๋‹ค. ๋ฆฌ๋น™ํฌ์ธํŠธ: MalwareBazzar์—์„œ ๋‹ค์šด๋กœ๋“œํ•œ ์•…์„ฑ์ฝ”๋“œ ์ƒ˜ํ”Œ์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” 'infected'์ด๋‹ค...์ง€๊ธˆ๊ป ์ด๊ฑธ ๋ชฐ๋ผ์„œ kali๋กœ ์••์ถ•ํ•ด์ œํ•˜๊ณ  ์žฌ์••์ถ•ํ•ด์„œ ํ‘ธ๋Š” ์Œฉ์‡ผ๋ฅผ ๋ฐ˜๋ณตํ•จ 1์ฃผ์ฐจ ๋ถ„์„IDA Freeware๋กœ ๋ถ„์„IDA์— ๋„ฃ์–ด ๋ณด๋‹ˆ ์ผ๋‹จ ์œ„์™€ ๊ฐ™์ด ๋””์Šค์–ด์…ˆ๋ธ”๋ฆฌ ์œˆ๋„์šฐ ๋ชจ๋“œ๋กœ ๋œฌ๋‹ค. IDA View-A๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ. .idata(Import Data) ์„ธ๊ทธ๋จผํŠธ์˜ ๋‚ด์šฉ์œผ๋กœ, PE ํŒŒ์ผ์˜ Import Table, ์ฆ‰ ์™ธ๋ถ€ DLL ํ•จ์ˆ˜๋“ค์„ ์ •์˜ํ•˜๋Š” ์˜์—ญ.PE ํŒŒ์ผ์ด ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ..
[์•…์„ฑ์ฝ”๋“œ ์ƒ˜ํ”Œ ๋ถ„์„ํ•˜๊ธฐ] Lumma Stealer - ๋™์  ๋ถ„์„ VM ํ™˜๊ฒฝ ์„ค์ •๋ณธ๊ฒฉ์ ์ธ ๋™์  ๋ถ„์„ ์‹œ์ž‘์— ์•ž์„œ, ์œˆ๋„์šฐ VM๊ณผ ๋ฆฌ๋ˆ…์Šค VM์— ๋Œ€ํ•ด ๊ฐ๊ฐ ํ™˜๊ฒฝ ์„ค์ •์„ ์ง„ํ–‰. ๋ฆฌ๋ˆ…์Šค VM์˜ IP ์ฃผ์†Œ๋ฅผ 192.168.1.100์œผ๋กœ ์„ค์ •.์„ค์ • ์ดํ›„ ์ œ๋Œ€๋กœ ์ ์šฉ์ด ๋œ ๊ฒƒ๊นŒ์ง€ ํ™•์ธ ์™„๋ฃŒ. ์œˆ๋„์šฐ VM์˜ IP ์ฃผ์†Œ๋Š” 192.168.1.50์œผ๋กœ ์„ค์ •.์„ค์ •์€ ์ œ์–ดํŒ>๋„คํŠธ์›Œํฌ ๋ฐ ๊ณต์œ  ์„ผํ„ฐ>์ด๋”๋„ท>์†์„ฑ>์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „ 4(TCP/IPv4)>์†์„ฑ ์—์„œ ๊ฐ€๋Šฅ. ํ”„๋กœ์„ธ์Šค ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์ด์šฉํ•œ ์‹œ์Šคํ…œ ์ƒํ˜ธ์ž‘์šฉ ์กฐ์‚ฌํ”„๋กœ์„ธ์Šค ๋ชจ๋‹ˆํ„ฐ: ๊ณ ๊ธ‰ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ๋กœ, ํ”„๋กœ์„ธ์Šค๊ฐ€ ํŒŒ์ผ ์‹œ์Šคํ…œ, ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ, ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ ํ™œ๋™์˜ ์‹ค์‹œ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ์„ ๋ณด์—ฌ์คŒ์•…์„ฑ์ฝ”๋“œ Lumma Stealer๋ฅผ ์‹คํ–‰์‹œํ‚ค์ž ๊ฐ‘์ž‘์Šค๋Ÿฝ๊ฒŒ ๋งŽ์€ ์–‘์˜ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•จ. filter>filter์—์„œ Process Name ์ค‘ LummaSt..
[+ ์ถ”๊ฐ€ ๊ฐœ๋… ๊ณต๋ถ€] XOR ์•”ํ˜ธํ™” XOR ์•”ํ˜ธํ™”์˜ ์›๋ฆฌ์šฐ์„  XOR์ด๋ž€: '๋ฐฐํƒ€์  ๋…ผ๋ฆฌํ•ฉ'์„ ๋œปํ•จ. XOR์˜ ์—ฐ์‚ฐ ํŠน์„ฑ:A ^ A = 0A ^ 0 = 0A ^ B ^ B ^ =A XOR์€ ๋น„ํŠธ ๋‹จ์œ„๋กœ ์—ฐ์‚ฐ์„ ํ•จ. → ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”๊ฐ€ ๋™์ผํ•œ ์—ฐ์‚ฐ์œผ๋กœ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ์Œ XOR ์•”ํ˜ธํ™”๊ฐ€ ์ทจ์•ฝํ•œ ์ด์œ ์ด์œ  1) ํ‚ค๊ฐ€ ๋„ˆ๋ฌด ์งง์€ ๊ฒฝ์šฐ๋‚ด๊ฐ€ ํ’€์ดํ–ˆ๋˜ ์›Œ๊ฒŒ์ž„(https://hxxxxng.tistory.com/107)์˜ ๊ฒฝ์šฐ์ฒ˜๋Ÿผ, ๋งŽ์€ XOR ์•”ํ˜ธํ™”๊ฐ€ 1~4 ๋ฐ”์ดํŠธ ํ‚ค๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•จ.์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ,ํ‰๋ฌธ๊ณผ ์•”ํ˜ธ๋ฌธ์˜ ํ†ต๊ณ„ ํŒจํ„ด์ด ๋‚จ์Œ์ด๋ฏธ์ง€๋‚˜ ํ…์ŠคํŠธ ํŒŒ์ผ์ฒ˜๋Ÿผ ๊ตฌ์กฐ๊ฐ€ ์ผ์ •ํ•œ ํŒŒ์ผ์€ ๋ฐ˜๋ณต ํ‚ค์— ์ทจ์•ฝํ•จ ์ด์œ  2) XOR์€ '๋น„๊ฐ€์—ญ์  ๋ฌด์ž‘์œ„'๊ฐ€ ์•„๋‹˜XOR์€ ์•”ํ˜ธํ•™์ ์œผ๋กœ ์•ˆ์ „ํ•œ ํ•ด์‹œ ํ•จ์ˆ˜๋‚˜ ๋ธ”๋ก ์•”ํ˜ธ์™€๋Š” ๋‹ฌ๋ฆฌ๋ฌด์ž‘์œ„์„ฑ ์—†์Œ์ž‘์€ ํ‚ค๋กœ๋„ ๊ณต๊ฒฉ์ž๊ฐ€ ์ „์ˆ˜์กฐ์‚ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Œ ..
[Dreamhack] Recover (reversing) ํŒŒ์ผ ์—ด์–ด์„œ ์••์ถ• ํ•ด์ œํ•˜๋ฉด ๋ฌธ์ œ์—์„œ ๋งํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ chall๊ณผ encrypted ๋‘ ๊ฐ€์ง€ ํŒŒ์ผ์ด ์žˆ์Œ. ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋ถ„์„ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—, chall ํŒŒ์ผ์„ IDA์— ๋„ฃ์–ด์„œ ๋‚ด์šฉ์„ ๋จผ์ € ํ™•์ธํ–ˆ๋‹ค. ๋‚ด์šฉ ์ž์ฒด๊ฐ€ ๋ณต์žกํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ์ธ ๊ฒƒ ๊ฐ™์ง„ ์•Š๋‹ค. ...์•„๋‹Œ๊ฐ€ __int64 __fastcall main(int a1, char **a2, char **a3){ char ptr; // [rsp+Bh] [rbp-25h] BYREF int v5; // [rsp+Ch] [rbp-24h] _BYTE *v6; // [rsp+10h] [rbp-20h] FILE *stream; // [rsp+18h] [rbp-18h] FILE *s; // [rsp+20h] [rbp-10h] unsigned __int64 v9;..