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

SWUFORCE/์•…์„ฑ์ฝ”๋“œ

(16)
[Vidar Stealer] ์ฝ”๋“œ ์ˆ˜์ค€ ๋ถ„์„ - 2 ๋‚ด๊ฐ€ ์ฝ”๋“œ ๋ถ„์„์„ ํ†ตํ•ด ํŒŒ์•…ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ:1. ์•…์„ฑ ํ–‰์œ„2. ํƒˆ์ทจ ๋Œ€์ƒ3. ๋ถ„์„ ์šฐํšŒ ๊ธฐ๋ฒ• ๊ทธ๋ž˜ํ”„ ๋ทฐ๋กœ entry์—์„œ ์ œ์ผ ๋จผ์ € ํ˜ธ์ถœ๋˜๋Š” FUN_00401180์„ ์—ด์–ด๋ด„.FUN_00401180 ๊ตฌ์กฐ ์š”์•ฝ์ดˆ๋ฐ˜: CRT(๋Ÿฐํƒ€์ž„ ์ดˆ๊ธฐํ™”) ๋™์ž‘ _amsg_exit, initterm, tls_callback_1, ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ ์„ค์ • ๋“ฑ ์ฆ‰, ์ด ๋‹จ๊ณ„๋Š” OS ํ™˜๊ฒฝ ์„ธํŒ…, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ดˆ๊ธฐํ™”, TLS(์Šค๋ ˆ๋“œ ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€) ์ค€๋น„ ๊ฐ™์€ ์ค€๋น„ ์ž‘์—…๋งŒ ํ•จ.โ†“์ค‘๋ฐ˜: ์ธ์ž ์ค€๋น„ malloc, memcpy๋กœ argv/envp ๊ฐ™์€ ๋ฐฐ์—ด ๊ตฌ์„ฑ ๋ช…๋ น์ค„ ์ธ์ž/ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ธํŒ…โ†“ํ›„๋ฐ˜: __p___initenv() ํ˜ธ์ถœ ํ›„ FUN_00409800 ํ˜ธ์ถœ c๋ณต์‚ฌํŽธ์ง‘DAT_0049800c = FUN_00409800(DAT_00498018, DAT_..
[Vidar Stealer] ๋™์  ๋ถ„์„ Process HackerVidar Stealer ํŒŒ์ผ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๊ฑด ๋ฐœ๊ฒฌ ๊ฐ€๋Šฅํ–ˆ๋Š”๋ฐ, ๋…ธ๋ฆฌ๋ฒค์œผ๋กœ ์ฐพ์€ ํ”„๋กœ์„ธ์Šค๋“ค์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์—†์—ˆ๋‹ค. Process Monitor๊ทธ๋ƒฅ Process Monitor ์ด์šฉํ•ด์„œ ๋ถ„์„ํ•  ๋•Œ์—๋Š” ์•„๋ฌด ์ด๋ฒคํŠธ๋„ ์บก์ฒ˜๋˜์ง€ ์•Š์Œ.๊ผญ Vidar Stealer ์‹คํ–‰ ๊ด€๋ จ๋œ ๋™์ž‘ ์•„๋‹ˆ๋”๋ผ๋„ ๋ญ”๊ฐ€ ์ด๋ฒคํŠธ ๋ฐœ์ƒํ•  ๋ฒ•๋„ ํ•œ๋ฐ ์•„๋ฌด๊ฒƒ๋„ ์•ˆ ๋‚˜์˜จ๋‹ค... NoribenNoriben์œผ๋กœ ๋กœ๊ทธ ํŒŒ์ผ ํš๋“. csv๋ณด๋‹ค๋Š” Promon ํŒŒ์ผ๋กœ ํ™•์ธํ•˜๋Š” ๊ฒŒ ํŽธํ•ด์„œ ํ•ด๋‹น ๋กœ๊ทธ ํŒŒ์ผ ํ™•์ธ.Vidar Stealer ์‹คํ–‰์‹œํ‚จ ์‹œ์ ์˜ ์ด๋ฒคํŠธ ์บก์ฒ˜ ๋ถ€๋ถ„์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.์‹คํ–‰ ์‹œ์  ์ดํ›„์— svchost.exe์˜ ๋™์ž‘์ด ๋งŽ์ด ๋ณด์ด๋Š”๋ฐ, ์ด๊ฑด ์‹คํ–‰ ์ด์ „ ์‹œ์ ์—๋„ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์œ ์˜๋ฏธํ•˜๋‹ค๊ณ  ๋ด๋„ ๋ ์ง€ ๋ชจ๋ฅด๊ฒ ์Œ.๋Œ€์‹  ํŒŒ์ผ ๊ฒฝ๋กœ์—์„œ..
[Vidar Stealer] ์ฝ”๋“œ ์ˆ˜์ค€ ๋ถ„์„ - 1 IDA ์ด ์‹คํ–‰ํŒŒ์ผ์€ .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..