# Từ một GitHub Repo đến toàn bộ hệ thống vận hành của kẻ tấn công

* * *

## Tổng quan

Cuộc điều tra bắt đầu từ một tài khoản GitHub có tên **cabeto850128**. Một lỗi OPSEC rất nhỏ làm lộ email của kẻ tấn công, đó là chúng thực hiện upload malware lên GitHub như là một hạ tầng hợp pháp để lưu trữ mà không biết rằng metadata của commit GitHub lại lưu thông tin email của chúng gắn với commit và từ đó trở thành pivot point truy tìm chúng.

![](https://cdn.hashnode.com/uploads/covers/669e2c7992d73f3fd8335153/89d554f9-d42a-41e9-bd40-6a1522cf280c.png align="center")

Nếu kẻ tấn công cẩn thận mà bật chế độ ẩn email trên GitHub như hình dưới thì chúng đã không bị lộ email rồi.

![](https://cdn.hashnode.com/uploads/covers/669e2c7992d73f3fd8335153/67d183b5-2d9b-4cea-a2c1-6e90b76e5de4.png align="center")

Trong tài khoản này có repository **comicsam**, được sử dụng để lưu trữ các thành phần phục vụ một malware loader. Đáng chú ý, attacker không cần phải đặt toàn bộ mã độc trong một file duy nhất. Repository chứa một **AutoIt3.exe hợp pháp** cùng với một file riêng chứa script/logic độc hại.

Cách làm này giúp attacker thay đổi phần script mà không cần liên tục thay đổi executable chính.

Nói đơn giản:

**GitHub không phải nơi điều khiển malware. Nó chỉ là nơi attacker lợi dụng để lưu và tải các thành phần của malware xuống máy nạn nhân.**

Đây cũng là lý do việc sử dụng GitHub nguy hiểm: lưu lượng tới một dịch vụ hợp pháp có thể ít gây chú ý hơn so với việc tải file trực tiếp từ một máy chủ hoàn toàn xa lạ.

Toàn bộ luồng phân tích:

![](https://cdn.hashnode.com/uploads/covers/669e2c7992d73f3fd8335153/50140cf1-d0dc-4b5e-b9d6-4917e64d8b6a.png align="center")

Kẻ tấn công đứng sau chiến dịch Blind Eagle, là nhóm chuyên nhắm Colombia và Mỹ Latinh, đã bị chính infostealer của người khác lây nhiễm, để lộ gần như toàn bộ hạ tầng tấn công.

Have I Been Pwned xác nhận độc lập địa chỉ này xuất hiện trong sáu vụ rò rỉ khác nhau, một trong số đó chính là tập ALIEN TXTBASE.

![](https://cdn.hashnode.com/uploads/covers/669e2c7992d73f3fd8335153/9cdd1368-b328-4672-8edb-21a4d2c104e9.png align="center")

Một nguồn thứ ba, công cụ Email Compromise Analysis của Hudson Rock, xác nhận thêm rằng địa chỉ này gắn với một máy từng bị infostealer lây nhiễm, đồng thời trả về hostname của máy đó, "Ghost", cùng thời điểm nhiễm gần đúng.

![](https://cdn.hashnode.com/uploads/covers/669e2c7992d73f3fd8335153/daf7824c-f729-4b19-9493-51908ed0a06b.png align="center")

Sau đó log stealer được truy cập qua IntelX lộ cấu trúc thư mục cục bộ của máy "Ghost". Một thư mục tên "Rats" chứa build cho AsyncRAT, DcRat, Remcos và XWorm, cho thấy operator duy trì nhiều lựa chọn thay vì phụ thuộc một họ RAT hay một kênh phát tán. Thư mục con của Remcos còn có một folder "systeminfo" chứa nhiều file text đặt tên theo hostname của các máy khác. LevelBlue chủ động không công bố những tên file này để tránh lộ thêm thông tin về nạn nhân liên quan, nhưng khối lượng và cấu trúc dữ liệu cho thấy đây là kết quả của hoạt động RAT trước đó, không phải một lần cài thử nghiệm đơn lẻ.

![](https://cdn.hashnode.com/uploads/covers/669e2c7992d73f3fd8335153/ad5b9894-546d-4305-b442-8390c92b72ce.png align="center")

## Kill Chain / Attack Flow của kẻ tấn công

![](https://cdn.hashnode.com/uploads/covers/669e2c7992d73f3fd8335153/fc56c029-d165-443c-ac68-6df901c40434.png align="center")

**Giai đoạn 1: Initial Access (T1566.001, T1566.002)** Nạn nhân nhận email giả danh Consejo Superior de la Judicatura hoặc Secretaría Distrital de Movilidad, dẫn tới trang do operator kiểm soát. Trang yêu cầu tải một file nén có mật khẩu, mật khẩu được ghi thẳng trong nội dung thông báo, một mẫu thực tế dùng mật khẩu "A2024". Kỹ thuật này giúp file nén vượt qua phần lớn bộ quét email tự động, vì bộ quét không có mật khẩu để giải nén và kiểm tra bên trong.

**Giai đoạn 2: Execution (T1059.005)** File thực chất là một self-extracting RAR (SFX) giả dạng phần mở rộng .vbs hoặc .pdf, ví dụ mẫu `Ad20240730000024566F002152112200602430D-pdf.vbs`. Khi chạy, nó giải nén và khởi động VBScript.

**Giai đoạn 3: Execution tiếp theo (T1059.001, T1027)** VBScript gọi PowerShell với payload mã hoá Base64, kèm cờ `-WindowStyle Hidden -ExecutionPolicy Bypass`. Script tiếp theo được ghi xuống `%ProgramData%`, sau đó một vòng wscript hoặc PowerShell thứ hai được thực thi.

**Giai đoạn 4: Defense Evasion (T1218.004, T1036)** Chuỗi thực thi kết thúc tại `InstallUtil.exe`, một binary .NET có chữ ký hợp lệ của Microsoft, thường dùng để triển khai phần mềm nhưng ở đây bị lợi dụng làm LOLBin cho process injection. Đây là kỹ thuật System Binary Proxy Execution, lợi dụng chính việc InstallUtil.exe được tin tưởng mặc định trên hệ thống Windows.

**Giai đoạn 5: Command and Control (T1071, T1105, T1568.003)** Traffic từ chuỗi này được gán cho AsyncRAT qua fingerprint SSL certificate, kết nối C2 tới domain `dccomicrat81[.]duckdns.org` dùng DuckDNS cho dynamic DNS. Đáng chú ý, tên domain ghép "comic", trùng với tên repo comicsam, và "rat", gợi nhắc DcRat, một RAT khác tìm thấy trên máy operator. Đây là kiểu đặt tên trùng lặp gợi ý cùng một hệ thống vận hành, chưa phải bằng chứng định danh cá nhân.

## IOC & Artifacts

```text
# GitHub / Code-hosting (staging)
github[.]com/cabeto850128/comicsam                         - repo lưu trữ AutoIt3 interpreter + loader payload
github[.]com/cabeto850128/jacobo                            - repo tạo sau (6/8/2026), tái dùng tên archivo.zip
bitbucket[.]org/adssgfdsg/testing/downloads/img_test.jpg    - cùng kỹ thuật bare-loader, nền tảng khác
bbuseruploads.s3.amazonaws[.]com/...img_test.jpg            - presigned URL AWS S3, cùng naming pattern

# Payload / Config Delivery
raw.githubusercontent[.]com/cabeto850128/comicsam/.../kiSBJ4DDvg.pif   - payload, phát tán dưới tên installer.exe (bare AutoIt3.exe)
raw.githubusercontent[.]com/cabeto850128/comicsam/.../CdBhhfa.html     - config, phát tán dưới tên config.data

# Command and Control
dccomicrat81[.]duckdns.org               - C2 domain AsyncRAT (qua DuckDNS)
64.89.160[.]17                            - Staging server trong báo cáo gốc (17/7/2026), host chuỗi AutoIt3 RunPE dùng GitHub, cùng hạ tầng với repo comicsam

# Staging phụ trợ
creainovada[.]xyz                                 - bảng điều phối nội bộ, phục vụ ít nhất 7 build RAT
creainovada[.]xyz/instructions/Wscript.txt        - URL từng xác nhận còn sống (HTTP 200) tại thời điểm detonation

# Phishing Domains
consultanotificacionesjuridicas[.]site    - lure chủ đề thông báo tư pháp
simpmit[.]co                               - lure chủ đề vi phạm giao thông

# File / Artifact cục bộ trên máy operator
Ad20240730000024566F002152112200602430D-pdf.vbs   - mẫu dropper SFX RAR, giả tên hoá đơn/PDF
archivo.zip                                         - tên file archive tải lên repo jacobo
NUEVO4343.txt                                       - file tracking nội bộ, gắn build RAT với URL phát tán
caratsimithtml.txt                                  - chứa nguyên mẫu lure vi phạm giao thông

# Dịch vụ né tránh phát hiện / lưu trữ phụ
data-encoder[.]com                # dịch vụ crypter thương mại "FUD Crypter"
respaldojunio13 (Discord)         # server dùng lưu trữ file build

# File hash (SHA-256)
[NEEDS VERIFICATION: LevelBlue xác nhận đã kiểm tra hash của 3 mẫu SFX RAR nhưng không công bố giá trị cụ thể trong nội dung bài viết; cần trích từ ảnh trong bài gốc hoặc xin trực tiếp từ tác giả nếu muốn đưa hash vào bảng IOC]
```

> **Lưu ý:** IP và domain được defang bằng `[.]` để tránh resolve hoặc tạo hyperlink ngoài ý muốn. Chỉ re-fang khi nạp vào các nền tảng threat intel có kiểm soát như MISP, VirusTotal, hoặc SIEM nội bộ.

## Kết luận

Điểm đáng giá nhất của chiến dịch này không nằm ở kỹ thuật malware, AsyncRAT, DcRat, Remcos và XWorm đều là RAT thương phẩm quen thuộc, mà nằm ở cách LevelBlue dựng lại toàn bộ case chỉ từ một địa chỉ email lộ trong metadata commit. Đó gần như là bản mẫu cho quy trình triage bằng chứng ở SOC: một manh mối riêng lẻ không nói lên điều gì, nhưng khi đối chiếu độc lập qua nhiều nguồn (ALIEN TXTBASE, Have I Been Pwned, Hudson Rock), nó chuyển từ một quan sát thành một kết luận có thể hành động. Cách LevelBlue tách bạch giữa bằng chứng vững (hostname máy nhiễm, thư mục Rats, log SendBlaster) và bằng chứng yếu (alias Roda/Roda-Modder, mà chính họ cũng chỉ xem là gợi ý hỗ trợ) là kỷ luật cần có khi viết escalation note, không phải mọi correlation đều đáng cùng một mức confidence.

Đây cũng không phải lần đầu Blind Eagle bị lộ theo kiểu này. Trong báo cáo gốc tháng 7/2026, chính LevelBlue mô tả nhóm này có thói quen để lại open directory không xác thực, đường dẫn PDB, và khoá hardcode qua nhiều chiến dịch liên tiếp, tức là OPSEC yếu ở đây là một đặc điểm lặp lại của nhóm, không phải sự cố đơn lẻ của một operator bất cẩn.

Về mặt phát hiện, chuỗi wscript gọi PowerShell ẩn cửa sổ kèm bypass execution policy, ghi script vào %ProgramData%, rồi kết thúc tại InstallUtil.exe là dạng LOLBin abuse quen thuộc với bất kỳ đội SOC nào từng vận hành Carbon Black, SentinelOne hay Defender, cùng họ với các alert kiểu esentutl.exe hay PowerShell obfuscation vẫn gặp thường xuyên. Khác biệt ở chiến dịch này là tần suất đổi payload: operator không phụ thuộc một họ RAT hay một kênh phát tán duy nhất, nên rule chỉ chặn theo hash hoặc theo một domain C2 cụ thể sẽ nhanh lỗi thời. Rule dựa trên process tree và command-line argument, như liệt kê ở phần khuyến nghị, bền hơn nhiều.

Dù chiến dịch nhắm trực tiếp vào Colombia, các RAT và kỹ thuật lợi dụng nền tảng uy tín làm bare-file CDN là mối đe dọa thương phẩm phổ biến toàn cầu, không giới hạn theo chủ đề lure khu vực. Tổ chức tại Việt Nam ít khả năng gặp đúng lure tiếng Tây Ban Nha giả cơ quan tư pháp Colombia, nhưng hoàn toàn có thể gặp cùng chuỗi kỹ thuật dưới một lure khác, nội địa hoá theo ngữ cảnh trong nước.

## Khuyến nghị

*   Đưa toàn bộ IOC ở mục trên vào watchlist EDR/SIEM và email gateway, đặc biệt domain DuckDNS `dccomicrat81[.]duckdns.org` và hai domain phishing `consultanotificacionesjuridicas[.]site`, `simpmit[.]co`
    
*   Bật hoặc kiểm tra lại rule cảnh báo khi `wscript.exe` hoặc `cscript.exe` spawn `powershell.exe` kèm `-WindowStyle Hidden` và `-ExecutionPolicy Bypass`
    
*   Cảnh báo khi `InstallUtil.exe` thực thi ngoài ngữ cảnh triển khai phần mềm, đặc biệt khi process cha là PowerShell hoặc WScript
    

*   Hunt hash và domain trong bảng IOC qua email gateway, proxy, và telemetry EDR, pivot trên bất kỳ kết quả trùng khớp nào để tìm hạ tầng liên quan chưa được liệt kê
    
*   Kiểm tra rule email gateway có phát hiện được archive có mật khẩu khi mật khẩu nằm ngay trong nội dung email hay không, đây là dấu hiệu gần như chắc chắn của việc né bộ quét tự động
    
*   Giám sát việc ghi file script vào `%ProgramData%` bởi tiến trình scripting-host hoặc Office
    
*   Theo dõi `AutoIt3.exe` chạy kèm file data không chuẩn, ví dụ file .html hoặc .data bị gắn nhầm định dạng
    

*   Không dựa một mình vào domain hoặc file-hosting reputation, vì chiến dịch này lợi dụng GitHub, Bitbucket, AWS S3 làm nơi chứa file trần, cân nhắc content inspection thay vì chỉ allowlist theo domain
    
*   Cân nhắc egress filtering hoặc alert bổ sung cho kết nối tới `raw.githubusercontent.com` và các raw-content domain tương tự
    
*   Nếu tổ chức có chi nhánh, khách hàng, hoặc đối tác tại Colombia, ưu tiên đưa chủ đề lure (thông báo tư pháp, vi phạm giao thông, thuế/DIAN) vào chương trình security awareness training
    

## Tài liệu tham khảo

1.  LevelBlue SpiderLabs, "Still Circling: Inside the Operator Behind Blind Eagle's GitHub Loader" (28/8/2026): https://www.levelblue.com/blogs/spiderlabs-blog/still-circling-inside-the-operator-behind-blind-eagles-github-loader
    
2.  Cyber Security News, "Hackers' Own Malware Infection Exposes Their RATs, Phishing Kits and Attack Infrastructure" (31/8/2026): https://cybersecuritynews.com/hackers-own-malware-infection/
    
3.  LevelBlue SpiderLabs, "Still Circling: Blind Eagle's Toolkit Keeps Evolving" (17/7/2026), bài gốc phân tích 4 staging server bao gồm repo comicsam: https://www.levelblue.com/blogs/spiderlabs-blog/still-circling-blind-eagles-toolkit-keeps-evolving
    
4.  LevelBlue SpiderLabs, "Tracing Blind Eagle to Proton66" (6/2025), báo cáo mở đầu chuỗi theo dõi cụm hạ tầng này, được nhắc tới trong bài gốc nhưng chưa đọc trực tiếp trong quá trình viết bài này \[NEEDS VERIFICATION\]: https://www.levelblue.com/blogs/spiderlabs-blog/tracing-blind-eagle-to-proton66/
    
5.  eSentire, "Blind Eagle's North American journey", được LevelBlue trích dẫn cho manh mối alias Roda/Roda-Modder, chưa đọc trực tiếp trong bài này \[NEEDS VERIFICATION\]: https://www.esentire.com/blog/blind-eagles-north-american-journey
