Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
BlackLotus-Z2A-Challenge — BlackLotus-Z2A-Challenge, 지금은 볼 것 없음, 계속 진행하세요 | Kitploit
도구/GitHubGitHub/spiralbl0ck/blacklotus-z2a-challenge
Static AnalysisReverse EngineeringMalware AnalysisCTFLearning & Education
GitHubspiralbl0ck/blacklotus-z2a-challenge

BlackLotus-Z2A-Challenge

BlackLotus-Z2A-Challenge, 지금은 볼 것 없음, 계속 진행하세요

저장소 보기
32623년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

BlackLotus-Z2A-Challenge

BlackLotus-Z2A-Challenge, 지금은 여기 볼 것 없음, 그냥 지나가 주세요

먼저 가장 중요한 것부터 Capture23

순전히 미관상의 목적을 위해서만, 저는 @darthmaulware(Ryan “DM” Smith) 의 솔루션에서 yara 탐지 규칙을 부끄럽게도 빌려(훔쳐)올 것입니다 :)) 그냥 전문적으로 보이게 하기 위해서요. 가서 그의 트위터를 확인해 보세요, 그는 진짜 멋진 사람입니다! 추신. Ryan, 제가 그걸 훔친 것 때문에 화내지 말아 주세요 :))) 그리고 디스코드에서 지원해 줘서 고마워요 :)

그의 작업도 확인해 보세요 :)

https://gitlab.com/malre-rcs/zero2automated/-/blob/main/solutions/bi_weekly_challenge/BlackLotus_20230321/BlackLotus_HTTP_Downloader.ipynb``` rule Blacklotus_HTTP_Downloader { meta: description = "Rule to detect Blacklotus HTTP Downloader" author = "Darth Maulware" sha256 = "d68f668b4240f9518e4f80499d93d8c5a1eddece0771658c33ae916cc54f5a66"

    strings:
        $opcode1 = {48 89 4C 24 08 48 89 54 24 10 4C}
        $opcode2 = {89 44 24 18 4C 89 4C 24 20 48 83}
        $opcode3 = {EC 28 B9 31 62 D7 2E 90 90 E8 ??}
        $opcode4 = {?? ?? ?? 48 83 C4 28 48 8B 4C 24}
        $opcode5 = {08 48 8B 54 24 10 4C 8B 44 24 18}
        $opcode6 = {4C 8B 4C 24 20 4C 8B D1 90 90}

    condition:
        (uint16(0) == 0x5a4d and filesize < 500KB and all of them)

}

또한 미적인 이유로 이것도 훔치겠습니다. 멋져 보이니까요 :) 다시 한번 미안해요 ryan, 화내지 말아 주세요 :)```
        C:\\Users\\REM\\Desktop>capa.exe -f pe -r capa-rules-5.0.0 d68f668b4240f9518e4f80499d93d8c5a1eddece0771658c33ae916cc54f5a66.exe
        matching: 100%|████████| 124/124 [00:02<00:00, 46.96 functions/s, skipped 1 library functions (0%)]

        +------------------------+------------------------------------------------------------------------------------+
        | ATT&CK Tactic          | ATT&CK Technique                                                                   |
        |------------------------+------------------------------------------------------------------------------------|
        | DEFENSE EVASION        | Obfuscated Files or Information T1027                                              |
        | DISCOVERY              | Process Discovery T1057                                                            |
        | EXECUTION              | Shared Modules T1129                                                               |
        +------------------------+------------------------------------------------------------------------------------+

        +-----------------------------+-------------------------------------------------------------------------------+
        | MBC Objective               | MBC Behavior                                                                  |
        |-----------------------------+-------------------------------------------------------------------------------|
        | ANTI-BEHAVIORAL ANALYSIS    | Debugger Detection::Process Environment Block BeingDebugged [B0001.035]       |
        |                             | Debugger Detection::Process Environment Block NtGlobalFlag [B0001.036]        |
        | CRYPTOGRAPHY                | Encrypt Data::RC4 [C0027.009]                                                 |
        |                             | Generate Pseudo-random Sequence::RC4 PRGA [C0021.004]                         |
        | DATA                        | Encode Data::XOR [C0026.002]                                                  |
        | DEFENSE EVASION             | Obfuscated Files or Information::Encoding-Standard Algorithm [E1027.m02]      |
        +-----------------------------+-------------------------------------------------------------------------------+

        +------------------------------------------------------+------------------------------------------------------+
        | CAPABILITY                                           | NAMESPACE                                            |
        |------------------------------------------------------+------------------------------------------------------|
        | execute syscall instruction (35 matches)             | anti-analysis                                        |
        | check for PEB BeingDebugged flag (2 matches)         | anti-analysis/anti-debugging/debugger-detection      |
        | check for PEB NtGlobalFlag flag                      | anti-analysis/anti-debugging/debugger-detection      |
        | encode data using XOR (2 matches)                    | data-manipulation/encoding/xor                       |
        | encrypt data using RC4 PRGA (2 matches)              | data-manipulation/encryption/rc4                     |
        | get process heap flags                               | host-interaction/process                             |
        | get ntdll base address (3 matches)                   | linking/runtime-linking                              |
        | parse PE header (2 matches)                          | load-code/pe                                         |
        | resolve function by parsing PE exports (2 matches)   | load-code/pe                                         |
        +------------------------------------------------------+------------------------------------------------------+

솔직히 말해서 내가 너라면 capa를 100% 믿지 않을 거야(적어도 이 특정 케이스에서는). 왜냐하면 여기서는 샘플이 rc4를 사용한다고 나오지만 실제로 샘플은 aes를 사용하거든. 어쨌든, 언급했듯이 이건 순전히 미관상(장식용)일 뿐이야 :)

시작하기 전에, 이 리포트에서 너는 이런 걸 많이 마주치게 될 거야

1

ida가 이걸 제대로 디스어셈블하지 못하니 무시해줘. 어셈블리에서 이건 이렇게 보여

1

그리고 이게 디버거를 크래시시키지? 왜?

왜냐하면 주소 0에 쓰기를 시도하기 때문이야. 해커 세계에서는 null 포인터 주소에 쓰는 것으로 알려져 있고, CE(코드 실행)를 얻기 위해 널리 악용되던 기법이었지. 그리고 이건 당연히 완화(mitigation)되어 있어.

그래서 현재 완화 조치 덕분에 0에 쓰기를 시도하면 그 프로세스, 즉 우리 경우엔 멀웨어가 크래시되고, 결과적으로 디버거도 크래시되는 거야.

이제 이걸 ida로 열어보면

1

나는 모든 함수가 수행하는 로직을 알 수 있도록 이름을 바꿔놨어. 첫 번째 함수인 do_syscall()부터 시작해보자.

Capture23

우리는 즉시 syscall 사용을 발견할 수 있어. 동적 분석을 할 때 분석가의 삶을 힘들게 만드는 잘 알려진 방법이지.

Windows에서 syscall에 익숙하지 않은 사람들을 위해 oalabs가 만든 멋진 영상이 있어(https://www.youtube.com/watch?v=Uba3SQH2jNE). 꼭 봐줘. 나도 봤고 이 함수에서 무슨 일이 일어나는지 이해하는 데 많은 도움이 됐거든.

ida가 분석한 "의사 코드(pseudo-code)"를 살펴보면 이렇게 생겼어

Capture4

solve_hash를 정적으로 분석하면 이렇게 보여

1

2

의사 코드 관점에서는 이렇게 보여

4

자동화 코드 조각을 보고 싶거나 syscall이 해싱 룩업 알고리즘으로 어떻게 해석되는지 알고 싶다면 solve_hash.py를 참조해서 내 "에뮬레이션"을 확인해봐. 어쨌든 이건 SysWhispers2라는 프로젝트의 일부야. 적어도 멀웨어 제작자가 영감을 얻은 게 그 프로젝트라고 추정해. 어쨌든 더 나은 이해를 위해 위의 oalabs 영상을 참조해줘.

어쨌든 anti_debug 함수는 쉽게 우회할 수 있고 잘 알려져 있어(https://anti-debug.checkpoint.com/techniques/debug-flags.html#manual-checks-ntglobalflag). 우회하는 방법은 scyllahide를 설치하고 NtGlobalFlag를 체크하는 거야(x86dbg를 사용한다면 기본적으로 켜져 있어야 해). 어쨌든 이게 체크해야 할 항목이야

4

그리고 이게 anti-debug "의사 함수"의 모습이야

4

내가 보기엔 꽤 간단해

도구 다운로드