SECURITY/REVERSING
-
๊ฐ์ ๋จธ์ - virtualBOX ์ค์น ๋ฐ ์ค์ SECURITY/REVERSING 2020. 9. 3. 15:55
1. VIrtual BOX ์ค์น virtualBOX ํํ์ด์ง์ ๋ค์ด๊ฐ์ ์ด์ ์ฒด์ ์ ๋ง๊ฒ VirtualBox 6.1.12 platform packages ๋ค์ด (https://www.virtualbox.org/wiki/Downloads) --- ์ค์น ๊ณผ์ --- ๊ทธ๋ฅ next ํ๊ณ install ํ๋ฉด ๋๋ค. ๋์ค์ ๊ท์ฐฎ์ง ์๊ธฐ ์ํด Oracle Corporation ๋ฒ์ฉ ์ง๋ ฌ ๋ฒ์ค ์ปจํธ๋กค๋ฌ, ๋คํธ์ํฌ ์ด๋ํฐ, Network Service ์ค์น ์๋ด์์ ๋ค ์ค์นํด์ฃผ์๋ค. ------- 2. Virtual BOX ๊ฐ์ ๋จธ์ ์์ฑ ์ค์นํ๊ณ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ๋ฉด์ด ๋์จ๋ค. ์๋ก ๋ง๋ค๊ธฐ ํด๋ฆญ -> ๊ฐ์ ๋จธ์ ์ด๋ฆ๊ณผ ํ์์ ๋ฐ๋ผ ์ ํ (์ฌ๊ธฐ์๋ Linux Ubuntu 64 bit) ์ด ํ๋ก๋ ๋ํดํธ๋ฅผ ๋ฐ๋ผ ์ค..
-
์ํฐ ๋ฆฌ๋ฒ์ฑ :: 06 - ์ฝ๋ ๋๋ ํ, ํจํนSECURITY/REVERSING 2020. 8. 5. 18:11
1. ์ฝ๋ ๋๋ ํ (Code Obfuscating) " obfuscate " ๋ง ๊ทธ๋๋ก ์ฝ๋๋ฅผ ์ฝ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค์ด์ ๋ฆฌ๋ฒ์๋ค์ด ๋ถ์ํ๊ธฐ ์ด๋ ต๊ฒ ํ๋ ๊ธฐ์ ์ด๋ค. ๋๋ ํ ๋์์ ๋ฐ๋ผ ํฌ๊ฒ - ์์ค์ฝ๋ ๋๋ ํ : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฑ๋ ์์ค ์ฝ๋๋ฅผ ์์๋ณด๊ธฐ ํ๋ ํํ๋ก ๋ฐ๊พธ๋ ๊ธฐ์ - ๋ฐ์ด๋๋ฆฌ ๋๋ ํ : ์ปดํ์ผ ํ์ ์์ฑ๋ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ญ๊ณตํ์ ํตํด ๋ถ์ํ๊ธฐ ํ๋ค๊ฒ ๋ณ์กฐํ๋ ๊ธฐ์ ๋ก ๋๋ ์ ์๋ค. ๋๋ ํ๋ฅผ ์ํค๋ฉด ๊ฒฐ๊ณผ๊ฐ์ด ๋์ผํ๊ณ ๋ฌธ๋ฒ์ ์๋ฐฐ๋์ง๋ ์์ง๋ง ๋ณ์๋ช , ์์, ์ธ๋ชจ์๋ ์ฝ๋ ๋ฑ์ ์ด์ฉํ์ฌ ์ฝ๋ ๊ฒ์ ์ด๋ ต๊ฒ ๋ง๋๋ ๊ฒ์ด๋ค. (์ํธํ์๋ ์ข ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค. ์ํธํ๋ ์ฝ๊ธฐ ์ด๋ ค์ด ์์ค์ด ์๋๋ผ ํค๊ฐ(DES, AES ๋ฑ) ์ด ์์ด์ผ ๋ณผ ์ ์๋ค๋ ๋ป..!) 1.1 Dummy Codes : ์ค์ ๋ก๋ ์๋ฌด๋ฐ..
-
์ํฐ ๋ฆฌ๋ฒ์ฑ :: 05 - ์ํฐ ๋์ค์ด์ ๋ธSECURITY/REVERSING 2020. 8. 5. 17:00
์ํฐ ๋์ค์ด์ ๋ธ์ ๋์ค์ด์ ๋ธ๋ฌ๋ฅผ ์์ฌ ์ค์ ์คํ๊ณผ ๋ค๋ฅธ ๋ช ๋ น์ด๋ค์ ์ด์ฉํด ๋์ค์ด์ ๋ธ๋ฌ๊ฐ ํผ๋์ ์ผ์ผํค๊ฒ ๋ง๋ ๋ค. ๋์ค์ด์ ๋ธ๋ฌ์ ๊ฐ์ (assumptions)๊ณผ ์ ์ฝ(limitations)์ ์ด์ฉํ์ฌ, ๊ต๋ฌํ ์กฐ์ํด์ ์ ํจํ ๋ช ๋ น์ ๋์ค์ด์ ๋ธ๋ฌ์๊ฒ์ ์จ๊ธธ ์ ์๋ค. ๋์ค์ด์ ๋ธ๋ฌ๋ ํ ๋ฒ์ ๋ช ๋ น์ด ํ๋๋ก ๋ฐ์ดํธ๋ฅผ ํํํ๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ์คํ์ ์ ์ด์ฉํ๋ฉด ๋๋ค. ์ฆ, ๊ฐ์ ๋ฐ์ดํธ ์ฝ๋๋ค์ด๋ผ๋ ๋์ค์ด์ ๋ธ๋ฌ์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ผ ์ ์๋ค. ์ด ์ ์ ์ด์ฉํ ๊ฒ์ด ์ํฐ ๋์ค์ด์ ๋ธ! ๋ฐ๋ผ์ ์ด๋ค ๋์ค์ด์ ๋ธ๋ฌ(IDA, Ollydbg ๋ฑ)๋ฅผ ์ด์ฉํ๋์ง์ ๋ฐ๋ผ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ธ์ํ ์๋, ์๋์๋ ์๋ค. " The disassembly examples show two completely different sets of instru..
-
์ํฐ ๋ฆฌ๋ฒ์ฑ :: 04 - ์ํฐ ๋๋ฒ๊น ๊ธฐ๋ฒ๋ค ์๊ฐSECURITY/REVERSING 2020. 8. 5. 12:09
์์ ์ํฐ ๋๋ฒ๊น ์ ๋ํ ๊ฐ๋จํ ์์ ๋ฅผ ์ดํด๋ณด์๋ค. 2020/08/04 - [SECURITY/REVERSING] - ์ํฐ ๋ฆฌ๋ฒ์ฑ :: 03 - ์ํฐ ๋๋ฒ๊น ์์ ์ด์ ๋ ์ํฐ ๋๋ฒ๊น ์ ๋ํ ์ด๋ก ์ ์ธ ๊ฒ๋ค์ ๊ฐ๋จํ๊ฒ ๊ฐ๋ ์ ์ผ๋ก ์ ๋ฆฌํด๋ณผ ๊ฒ์ด๋ค. ๋๋ค์ ์ํฐ ๋๋ฒ๊น ๊ธฐ๋ฒ์ FS:[0x30] ์ ์ ๊ทผํด ์๋์ฐ API ๋ฅผ ์ด์ฉํ๊ฑฐ๋, ๋๋ฒ๊น ํ๋ฉด ๊ทธ๋ฅ ์คํํ์ ๋๋ณด๋ค ์คํ ์๊ฐ์ด ๊ธธ์ด์ง์ ์ด์ฉํ์ฌ ์๊ฐ์ ๊ฒ์ฌํ๋ ๊ธฐ๋ฒ์ ์์ฃผ ์ฌ์ฉํ๋ค. ------------------- ๋ชฉ์ฐจ ------------------- 1. Windows API 1.1 IsDebuggerPresent 1.2 CheckRemoteDebuggerPresent 1.3 NTQueryInformationProcess 1.4 OutputDebugSt..
-
์ํฐ ๋ฆฌ๋ฒ์ฑ :: 03 - ์ํฐ ๋๋ฒ๊น ์์ SECURITY/REVERSING 2020. 8. 4. 15:32
์ํฐ ๋๋ฒ๊น ์ ๋ํ ๊ฐ๋จํ ์์ ๋ฅผ ํ๋ ์ดํด๋ณผ ๊ฒ์ด๋ค. ์์ ๋ฌธ์ ๋ lena ์ ๊ฐ์ข 19ํธ Debugger detected and anti-anti-techniques ์ค ReverseMe.A ์ด๋ค. (https://forum.tuts4you.com/files/file/1307-lenas-reversing-for-newbies/) ReverseMe.A ๊ทธ๋ฅ ์คํ์ํค๋ฉด ์ด ๋จ์ง๋ง, ollydbg ๋ก ๋๋ฒ๊น ์ ์์ํ๋ฉด ์ด ๋ฌ๋ค. ๋๋ฒ๊ฑฐ๋ก ์คํํ๊ณ ์๋ค๋ ๊ฒ์ ๊ฐ์งํ๊ณ , ๋ค๋ฅธ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๋ ๊ฒ์ด๋ค. ํจ์ CALL ์ ์ดํด๋ณด๋ฉด IsDebuggerPresent ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. IsDebuggerPresent ํจ์ : https://docs.microsoft.com/en-us/windows..
-
์ํฐ ๋ฆฌ๋ฒ์ฑ :: 02 - ์ํฐ ๋๋ฒ๊นSECURITY/REVERSING 2020. 8. 4. 14:12
2020/08/04 - [SECURITY/REVERSING] - ์ํฐ ๋ฆฌ๋ฒ์ฑ :: 01 - ์ํฐ ๋ฆฌ๋ฒ์ฑ์ด๋? ์ํฐ ๋๋ฒ๊น ์ด๋, ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด์ ๋ถ์ํ๋ ๋๋ฒ๊น ์ ๋ฐฉ์งํ๋ ๊ธฐ๋ฒ์ด๋ค. ์ํฐ ๋๋ฒ๊น ์๋ static ๊ณผ dynamic ์ด ์๋ค. static ์ํฐ ๋๋ฒ๊น : (์ฃผ๋ก ํ๋ก๊ทธ๋จ ์์ ์) ๋๋ฒ๊ฑฐ๋ฅผ ํ์งํ์ฌ ๋ง์ฝ ๋๋ฒ๊ฑฐ๋ผ๋ฉด ํ๋ก๊ทธ๋จ์ด ์ ์์ ์ผ๋ก ์คํ๋์ง ๋ชปํ๋๋ก ํ๋ ๊ธฐ๋ฒ์ด๋ค. ๋ง ๊ทธ๋๋ก ์์ง์ด์ง ์๊ธฐ ๋๋ฌธ์ ํ ๋ฒ๋ง ํด์ฒดํด์ฃผ๋ฉด ํด๊ฒฐ๋๋ค. dynamic ์ํฐ ๋๋ฒ๊น :ํ๋ก๊ทธ๋จ ๋์ ์ค์ ๋๋ฒ๊น ์ ๊ณ์ ํ์งํ์ฌ ๋๋ฒ๊ฑฐ๋ผ๋ฉด ๊ทธ๋๋ง๋ค ํด๊ฒฐํ๋ ๊ธฐ๋ฒ์ด๋ค. ๋๋ฒ๊ฑฐ ํธ๋ ์ด์ฑ์ ๋ฐฉํดํ์ฌ ์๋ณธ ํ๋ก๊ทธ๋จ์ ๋์ ์๋ฆฌ๋ฅผ ์ดํดํ๋ ๋ฐ์ ์ด๋ ค์์ ์ค๋ค. * ๋๋ฒ๊ฑฐ ํธ๋ ์ด์ฑ: ํ ์ค ํ ์ค ๋๋ฒ๊น ํ๋ค. ์ฆ, ๋๋ฒ๊ธฐ์ ..
-
์ํฐ ๋ฆฌ๋ฒ์ฑ :: 01 - ์ํฐ ๋ฆฌ๋ฒ์ฑ์ด๋?SECURITY/REVERSING 2020. 8. 4. 14:11
์ํฐ ๋ฆฌ๋ฒ์ฑ (Anti-Reversing) ์ด๋? ๋ฆฌ๋ฒ์ฑ์ ๋ฐฉํดํ๊ณ ๋ถ์์ ๋ฐฉํดํ๋ ๊ธฐ์ ์ํฐ ๋ฆฌ๋ฒ์ฑ ๊ธฐ๋ฒ์๋ ์ํฐ ๋๋ฒ๊น , ์ํฐ ๋์ค์ด์ ๋ธ๋ง, ์ํฐ ํ ํผ๋ง, ์ฝ๋ ์ํธํ ๋๋ ํ ๋ฑ์ด ์๋ค. ์ํฐ ๋ฆฌ๋ฒ์ฑ์ด ์์ ์งํฉ์ด๊ณ , ํ์ ์งํฉ์ผ๋ก ์ํฐ ๋๋ฒ๊น , ์ํฐ ๋์ค์ด์ ๋ธ๋ง, ์ํฐ ํ ํผ๋ง ๋ฑ์ผ๋ก ๋๋๋ ๊ฒ์ด๋ค. ๋จ์ง ์ํฐ(~์ ๋ฐ๋๋๋/~๋ฅผ ๋ฐฉ์งํ๋) ์ ๋ ๋ฒจ์ด ๋๋ฒ๊น / ๋์ค ์ด์ ๋ธ๋ฆฌ / ๋ฉ๋ชจ๋ฆฌ ๋ ๋ฒจ์ธ์ง์ ๋ฐ๋ผ ๋ถ๋ฅ๋๋ ๊ฒ์ด๋ค. ์ด๋ฐ ๊ธฐ๋ฒ๋ฟ ์๋๋ผ ์ฝ๋๋ฅผ ์ํธํ์ํค๋ ๊ฒ๋ ๋ฆฌ๋ฒ์ฑ์ ๋ฐฉํดํ๋ ๊ฒ์ด๋ฏ๋ก ์ํฐ ๋ฆฌ๋ฒ์ฑ์ ์ผ์ข ์ผ๋ก ๋ณด๋ฉด ๋๋ค. - ์ํฐ ๋๋ฒ๊น : ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด์ ๋ถ์ํ๋ ๋๋ฒ๊น ์ ๋ฐฉ์ง - ์ํฐ ๋์ค์ด์ ๋ธ๋ง: ํ๋ก๊ทธ๋จ์ ์คํํ์ง ์๊ณ ์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ๋ถ์ํ๋ ๋์ค์ด์ ๋ธ๋ง์ ๋ฐฉ์ง - ์ํฐ ํ ํผ๋ง: ๋ฉ๋ชจ๋ฆฌ..
-
๋ฆฌ๋ฒ์ฑ ์์ :: ollydbg -03 Serial ์ฐพ๊ธฐSECURITY/REVERSING 2020. 7. 29. 22:33
(KeyGenMe 4 by Vallani) ์ด๋ฒ ๋ฌธ์ ๋ Name์ด CodeEngn ์ผ ๋์ Serial ์ ์ฐพ๋ ๊ฒ์ด๋ค. ํ๋ก๊ทธ๋จ ์คํ ํ๋ฉด์ ๋ค์๊ณผ ๊ฐ๋ค. ์ฌ๊ธฐ์ Name ๊ณผ Serial ์ ์ฐพ์์ผ ํ๋ค. (ํ์ด) ๋จผ์ , ollydbg ์์ ์ด์ด์ฃผ๊ณ CALL ๊ณผ String ๋ค์ ์ดํด๋ณธ๋ค. ์ด๋ฅผ ๋ฐํ์ผ๋ก ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์ ๊ทผํด์ ํ์๋ค. 1. String ์์ ๋ชฉํ์ง์ ์ผ๋ก ๊ฐ๊ธฐ ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์ถ๋ ฅ๋ฌผ์ "You succeeded..." ์์ ์ง์ํ ์ ์๋ค. ๊ฑฐ๊ธฐ๋ก ์ด๋ํด๋ณด๋ฉด, ๋ค์๊ณผ ๊ฐ์ ํ๋ฉด์ด ๋์จ๋ค. ์ฌ๊ธฐ์ ์์ ์๋ฏธ์๋ ์ ๋ณด๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฒซ๋ฒ์งธ "You failed ..." ๋ก ๊ฐ๋ณธ๋ค. ์ ๋นํ ์ค๋จ์ ์ ์ก๋๋ค. ์์ ์๋ GetDlgItemTextA ํจ์๊ฐ ์ ๋ ฅํ ์ ๋ณด๋ฅผ ์ฝ์ด์ค๋ ํจ์๋ผ..