โ๏ธ Reverse Engineering/CodeEngn
[Reverse Engineering] CodeEngn Basic RCE L13 WriteUp
A Lim Han
2023. 11. 10. 11:49
๐ CodeEngn Basic RCE L13 WriteUp
1. ๋ฌธ์ ํ์ธ ํ ํ์ผ ๋ค์ด๋ก๋
2. 7-Zip File Manager ์ ํตํด ํ์ผ ์์ถ ํด์ --> 13 ํ์ผ ์ ์์ฉ ํ๋ก๊ทธ๋จ ๋ฐ๊ฒฌ
3. 13.exe ํ์ผ์ ์คํํ์ฌ ์์์ ๊ฐ์ ์ ๋ ฅํ ํ "Enter" ํด๋ฆญ --> ํจ์ค์๋๊ฐ ํ๋ ธ๋ค๋ ์๋ด๋ฌธ์ด ์ถ๋ ฅ
4. ๊ด๋ จ ์ ๋ณด ์์ง์ ์ํด Detect It Easy ๋ฅผ ํตํด ํ์ผ ์คํ --> ํ์ผ์ด .NET ํ์์์ ํ์ธ
5. ํ์ผ ๋ถ์์ ์ํด dnspy ๋ค์ด๋ก๋
++ dnspy ๋ค์ด๋ก๋ ๋ฐฉ๋ฒ์ด ๊ถ๊ธํ๋ค๋ฉด?
--> https://alim11.tistory.com/484
[Debugging & Assembly] DnSpy ํด ๋ค์ด๋ก๋ ๋ฐ ์ฌ์ฉ ๋ฐฉ๋ฒ
๐พ DnSpy ๋? DnSpy๋ .NET ์ด์ ๋ธ๋ฆฌ ํธ์ง ๋ฐ ๋๋ฒ๊น ๋๊ตฌ๋ก, .NET ์์ฉ ํ๋ก๊ทธ๋จ์ ์ด์ ๋ธ๋ฆฌ ์ฝ๋ ํธ์ง ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. DnSpy๋ ์คํ ์์ค ํ๋ก์ ํธ๋ก .NET ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ด๋ถ ๋์์ ์ดํด & ์์ ํ
alim11.tistory.com
6. dnspy ๋ก 13.exe ํ์ผ ์คํ --> ์ฐ์ธก ์ฌ์ง์ ๊ฒฝ๋ก์ ๋ฐ๋ผ main() ํจ์๋ก ์ด๋
7. main() ํจ์์ ์ฝ๋ ์ค Line 23 --> ์ฌ์ฉ์ ์ ๋ ฅ๊ณผ ์ค์ Password ๊ฐ์ ๋น๊ตํ๋ ๋ถ๋ถ ๋ฐ๊ฒฌ
// RijndaelSimpleTest
// Token: 0x06000004 RID: 4 RVA: 0x000021B4 File Offset: 0x000003B4
[STAThread]
private static void Main(string[] args)
{
ใ
คใ
คstring text = "";
ใ
คใ
คstring cipherText = "BnCxGiN4aJDE+qUe2yIm8Q==";
ใ
คใ
คstring passPhrase = "^F79ejk56$£";
ใ
คใ
คstring saltValue = "DHj47&*)$h";
ใ
คใ
คstring hashAlgorithm = "MD5";
ใ
คใ
คint passwordIterations = 1024;
ใ
คใ
คstring initVector = "&!£$%^&*()CvHgE!";
ใ
คใ
คint keySize = 256;
ใ
คใ
คRijndaelSimple.Encrypt(text, passPhrase, saltValue, hashAlgorithm, passwordIterations, initVector, keySize);
ใ
คใ
คtext = RijndaelSimple.Decrypt(cipherText, passPhrase, saltValue, hashAlgorithm, passwordIterations, initVector, keySize);
ใ
คใ
ค
ใ
คใ
คfor (;;)
ใ
คใ
ค{
ใ
คใ
คใ
คใ
คConsole.WriteLine("Please enter the password: ");
ใ
คใ
คใ
คใ
คstring a = Console.ReadLine();
ใ
คใ
คใ
คใ
คif (a == text)
ใ
คใ
คใ
คใ
ค{
ใ
คใ
คใ
คใ
คใ
คใ
คbreak;
ใ
คใ
คใ
คใ
ค}
ใ
คใ
คใ
คใ
คConsole.WriteLine("Bad Luck! Try again!");
ใ
คใ
ค}
ใ
คใ
คConsole.WriteLine("Well Done! You cracked it!");
ใ
คใ
คConsole.ReadLine();
}
8. ์ค์ ๋น๋ฐ๋ฒํธ๋ฅผ ์์๋ด๊ธฐ ์ํด Debugging ์คํ --> text ๋ณ์ ์ Password ๋ฐ๊ฒฌ
# ๋ฐ๊ฒฌํ ํจ์ค์๋
: Leteminman
9. ๋ค์ 13.exe ํ์ผ ์คํ ํ ๋ฐ๊ฒฌํ ํจ์ค์๋ ์ ๋ ฅ --> ๋ฌธ์ ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ํด๊ฒฐ๋์์์ ํ์ธ