Flare-on 2016 {Sad_but_True}

Posted: October 31, 2016 in Flare-on 2016 {Sad_but_True}, Uncategorized
Tags:

Cuộc chơi sắp kết thúc, tất cả rồi sẽ lại trở thành quá khứ để khi nhớ lại quá khứ ấy ta thấy niềm vui xen lẫn tiếc nuối … too_sadflare-on2016

– Vui là vì đến giờ tôi vẫn còn đam mê với em (RCE) nhưng lại không có quá nhiều thời gian để dành cho em. Lâu lâu, mở đống tools lên nhìn cho đỡ buồn mắt rồi lại lock máy đi làm việc khác. Nói như anh em trong nghề thì nếu như không “cọ xát” liên tục thì cũng lụt nghề mà thôi lolz . Vợ tôi dạo này hay nghe Đan Nguyên, lâu lâu lại lọt vào tai mấy câu:

“Khi hiểu được nhau, thời gian gần gũi đã trôi qua mất rồi!
Tôi bước theo tiếng gọi của người trai, tha thiết với tương lai

Là chinh nhân tôi bạn với sông hồ
Tình yêu em tôi nguyện mãi tôn thờ
Và yêu không bến bờ
Tìm em ,giờ tìm ở đâu sao không gắng đợi chờ nhau

Em ơi ! trái đất vẫn tròn,
Chúng mình hai đứa sẽ còn gặp nhau……!” hell-yes-onion-head-emoticon

Tóm lại, với em (RCE) tôi tìm thấy được niềm vui bên lề công việc đôi khi là nhàm chán, dập khuôn ..v..v, chỉ là lâu lâu tôi với em mới được “cọ xát” mà thôi… adore

– Tiếc nuối, thật sự là rất tiếc nuối extreme_sexy_girl… Vấn đề vẫn là thời gian, hầu như tôi “cày” em vào buổi đêm … lúc đó là lúc tôi cảm thấy hưng phấn nhất nhưng cũng là lúc oải nhất, vì giờ cũng không còn đủ sức để mà cày xuyên đêm nữa rồi (định mệnh, con người thì già đi mà thú vui nó lại cứ tìm đến vào lúc tuổi đã xế chiều) … , và vì lâu lâu tôi mới chơi CTF nên nhiều khi sập bẫy, rơi vào cái vòng logic luẩn quẩn mà khi thử lại một vài lần tôi lại rơi vào cái vòng luẩn quẩn ấy .. định mệnh màhell-yes-onion-head-emoticon

Douma cái lv1 năm nay, tôi chơi cái lúc vừa giảng toán cho con mà vừa nhân chia cơ học với cái lv này để đoán Flag, nhầm lẫn lung tung cả. Đến khi tìm ra Flag thì tôi mới nhận ra rằng nó là Custom Base64 Encode … trên twitter tôi cũng thấy tụi Tậy nó la oai oái cái lv1 năm nay mở đầu mà đã củ khoai hơn năm ngoái 😀

Cái lv2 cũng vui vãi, lúc có cái ảnh đầu tiên, tôi thấy có các kí tự gạch chân, mừng vãi đái …tưởng Flag là các kí tự đó tôi nhập thử … dek phải waaaht. Đến lúc phân tích lại tôi nhận ra đời không như là mơ, tôi nhận được hint về khúc Encrypt/Decrypt của Merc, tôi patch một phát nó lòi ra tấm thảm thần mà Aladin dùng để chạy trốn mỗi khi đời có biến xảy ra 😛

Cái lv3, đúng như tên của nó “unknown” dịch thô là “éo biết”, tôi cày đi cày lại trong đống code của lv này cộng thêm với việc discuss với Merc.. đến cuối cùng tôi nhận ra nó dùng RC4 cipher để tạo ra cái Table thần thánh, tôi phải viết một đoạn code (gọi thô là tấn công bạo lực (bruteforce)) để tìm ra giá trị tính toán cho cặp hai kí tự (chạy từ 0x21 -> 0x7E), rồi từ đó dò ngược ra Flag … douma ra được cái Flag, nhập vào lòi ra cái lv4 mà tôi cười như thằng điên nhặt được cục vàng to tổ bố giữa dòng đời loạn lạc after_boom (Nhìn trên timeline có thể thấy tôi đã yêu em nó như thế nào) … Cái level này đám Tây mũi lõ nó cũng chửi bới om xòm … chẳng khác éo gì mình!!

Đến được lv4 cũng là lúc tôi hết mịa time và mana để chơi tiếp … chỉ còn thời gian để login & logout dòm xem cái thứ hạng của mình nó cứ tụt dần đều lolz doubt

P/S:

  • Tks Merc Nguyen đã hint cho tôi vài điểm để tôi thoát khỏi ma đạo 😀
  • Tôi đọc trên Twitter thấy Sẻ đệ để lại dòng status ngắn gọn nôm na là : “Với tôi, kỳ FlareOn này chỉ có 2 Lv đó là Lv(123456789) + Lv 10″… Đọc xong, tôi cười không ngậm được mồm … Sẻ đệ bá quá, tôi nể lắm!!!
  • Cuối cùng, tôi thấy nhiều anh em trong friend list của tôi cũng đã hoàn thành, chắc chắn cũng có không ít chửi rủa bên lề như tôi lolz .. nhưng hơn tất cả: Chúc mừng các bạn! Việt Nam còn lắm nhân tài lắm!

Regards,

m4n0w4r

Comments
  1. Hân says:

    Anh bruteforce bằng cách chạy file unknown rồi dump memory hay biết được cách tạo ra table vậy?
    Anh cho em xin cái code được không 😀
    huuhan96@gmail.com

  2. kienmanowar says:

    Đọc code của chương trình để viết thôi em :(. Thực tế nó không phải tên là unknown, khi soi PE file em sẽ thấy C:\extraspecial.pdb –> Tên file gốc sẽ phải là extraspecial.exe :P.

    Tại sub_4027A0(int iNumOfArguments, int lpPathOfFile) > \68 405A4100 push offset ; /format = “No rite arguhments!”

    Do đó, chuẩn sẽ phải là C:\extraspecial.exe + “InputArgument” để phục vụ việc Debug :(. Cái InputAgr rất quan trọng vì chương trình sẽ dùng RC4 để Gen ra một cái anh gọi là EncryptTable đi.

    Trong code em sẽ gặp cái này: iTmp_1 = CalcOnString(&lpFlareOnStr);

    int __cdecl CalcOnString(_WORD *lpWideChar)
    int iResult; // [sp+0h] [bp-4h]@1

    iResult = 0;
    while ( *lpWideChar )
    {
    iResult = *lpWideChar + 0x25 * iResult;
    ++lpWideChar;
    }
    return iResult;
    }

    Nôm na là sau khi tính toán sẽ đem so với cái EncryptTable ở trên 😛

    Đoạn code Brute của anh đơn giản lắm :D. Chỉ là xem cặp ký tự này ghép với cái chuỗi FlareOnStr để tính ra được cái giá trị trùng với EncryptTable 😀

    #include
    #include

    int main()
    {
    int szChar1, szChar2;

    int iTemp1 = 0x0;
    int iTemp2 = 0x0;
    int iResult = 0x0;

    FILE *fp;
    fp = fopen(“C:\\Users\\m4n0w4r\\Desktop\\RE Proj\\FLARE 2016\\Chal3\\FindKey\\logChal3.txt”,”wb”);
    if (fp == NULL)
    return;

    for (szChar1 = 0x21; szChar1 <= 0x7E; szChar1++)
    {
    for (szChar2 = 0x21; szChar2 <= 0x7E; szChar2++)
    {
    iTemp1 = 0x1355BA85*szChar2;
    iTemp2 = 0xCB63F539*szChar1;
    iResult = 0xEA629FB8 + iTemp1 + iTemp2;

    fprintf(fp, "%c %c %X \n", szChar1, szChar2, iResult);
    }
    iResult = 0x0;
    }
    fclose(fp);

    return 0;
    }

    Chúc em thành công!

    Regards,
    m4n0w4r

  3. […] phải nói trước thế, tôi viết vì tôi thích viết vậy thôi. Anh Kiên vừa có một bài tương tự, thành ra tôi cũng tự tin hơn. Nên chăng hãy chỉ coi nó như bao bài […]

  4. Hân says:

    Lâu rồi giờ e mới có thời gian làm tiếp 😀
    Mừng vì cuối cùng cũng làm được. Cám ơn a #kienmanowar.

  5. kienmanowar says:

    @Hân: Chúc mừng em!

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.