- vừa được xem lúc

Phá server tài xỉu dựa hơi tiền số

0 0 150

Người đăng: qua bong bay

Theo Viblo Asia

Ngữ cảnh

Xin chào các bạn, như nói ở bài trước tôi tiếp cận với một nhóm lừa đảo tinh vi hơn. Kỳ này là sàn tài xỉu đánh theo giá lên xuống của bitcoin. Đây là nhóm chuyên nghiệp hơn thể hiện ở web, tài khoản zalo nhân viên có lịch sử: các hình ảnh tạo dựng là doanh nhân trẻ thành đạt, nhóm có tính kỷ luật. Thời gian tôi tiếp cận có ít nhất 3 nhóm dùng 2 white label của một sản phẩm cốt lõi. Bạn nào muốn tìm hiểu cách thức lừa đảo, xem chim mồi diễn thì có thể ghé ngang qua youtube của tôi cho đời thêm thi vị, như thường lệ tôi thiên về kỹ thuật ở đây.

Thu thập thông tin

vnbitcoin

Máy chủ vnbitcoin ở Hong Kong; cloud provider: Pacificnet; sử dụng openresty là api gateway. Cách tiếp cận là qua facebook ads, đến messenger rồi qua zalo, có link vô s3 dẫn tới sàn. Các bucket S3 này phân quyền khá tốt, tôi không vào để thay đổi static content được.

Chủ tài khoản là NGUYEN VAN NGOC, 19037943799018, Techcombank

Đăng ký thành viên có xác thực captcha

Các endpoint đều có cảnh báo spam

gateio

Máy chủ gateio ở bờ tây Mỹ, cloud provider: CloudFlare, bộ đồ lòng y chang chỉ có áo là khác. Có điểm lưu ý là: khi tôi tiếp cận thì không có link S3 mà chỉ có nhân viên messenger đưa tôi thẳng link vô sàn với mã: mrwoRp và chủ tài khoản vẫn là NGUYEN VAN NGOC, hôm sau thì đổi sang tài khoản khác DANH GIAO. Vì xaì 2 cloud provider khác nhau, tôi đoán 2 đại lý không liên quan đến nhau có chăng chỉ là chuyển giao công nghệ. Có thể xem mối quan hệ giữa chúng thế nào: tôi nói nhỏ với con hổ này bên khu rừng kia cũng có con hổ to lắm xem nó phản ứng thế nào, kết quả không như mong muốn: tôi buồn 2 phút ngẫm lại sức khoẻ tâm thần của mình. 0358C262-79E6-465E-BB58-CC53F36AC396_1_105_c.jpeg

Phương thức tấn công

Tôi sẽ chọn tấn công vnbitcoin, vì tôi đang trong zalo nhóm này, giao dịch khá xôm tụ. Tôi vẫn theo hướng DDoS, có nhiều lựa chọn: các endpoint nạp tiền/rút tiền (có thể cảnh báo chỉ là hù doạ), hoặc là đăng ký tài khoản mới. Tôi chọn phương án sau và xác thực captcha bằng machine learning.

Giải captcha là bài toán đã có nhiều người thông minh hơn tôi làm, việc tôi cần là chọn ra một model phù hợp. Có 2 thứ cần quan tâm: captcha generator và bản thân OCR model.

  • Captcha generator: tôi chọn base64Captcha, có demo web captcha mẫu nhìn rất giống. Tôi chỉnh lại một chút cho ra khoảng 3000 mẫu và lưu dưới dạng jpeg vì tensorflow có một chút vấn đề khi grayscale hình png, chi tiết ở đây

  • OCR model: có khá nhiều ocr model sẵn có trên mạng, tôi chọn một ví dụ trên trang gốc keras. Vì model này khá đơn giản máy học nhanh và hiệu quả, bạn có thể cho máy học với free account trên colab, 1000 hình 50 epoch mất khoảng 20-30 phút, nếu mua GPU thì chưa tới 5 phút.

Train model xong tôi test thử 3 hình captcha trên colab, có vẻ ổn.

Tiếp đến tôi lấy captcha về giải, tôi cho mỗi request cách nhau 2 giây để cho tiện theo dõi:

Giờ thì ráp api register vào và cho 20 thread cùng đăng ký:

Tôi cho chạy 50 thread mỗi node, gồm 10 nodes nhưng vẫn không ăn thua, server này thật sự mạnh. Tôi phải tìm cách khác, quan sát api query nạp tiền tôi thấy có tham số pageSize mặc định là 20 Nếu tôi spam tạo record nạp tiền và đồng thời query lại vớ pageSize là 999999999 thì đến một lúc nào đó record nạp tiền đủ lớn, IO database sẽ quá tải và làm timeout request khác đến hệ thống. Tôi chạy đươc 2 ngày lên khoảng 500,000 record thì hôm sau thấy bị reset lại là 0, và IP VPN của tôi bị chặn.

Tôi chuyển qua API upload hình, thấy có thể upload file hình lớn mà không bị giới hạn: 17MB Tôi cho chạy 5 thread (upload cũng bị rate limit), khoảng 12 request / 6 giây vậy: 10 nodes chạy sẽ là 29GB / 1 ngày, cũng đáng để thử. Rồi hình của tôi bị delete hết

Các tấn công của tôi openresty có thể chặn dễ dàng, config GUI khá friendly, tới đây thì thấy cách lựa chọn stack cũng khá hợp lý: can thiệp nhanh; chỉ cần một chút IT cơ bản là có thể bảo vệ server. nguồn: channel opesresty

Final thought

Đây là một hệ thống đưọc cấu hình chặt chẽ và có lựa chọn stack khá tốt. Hệ thống có polling mỗi giây giá btc, trong lúc tấn công những request này hầu như không bị trễ; có thể cái này dựa vào QoS của openresty. Xin cảm ơn các bạn đã theo dõi, tuy thực sự không có impact gì lớn đến hệ thống; mục đích cuối cùng của tôi vẫn là phơi bày trò lừa đảo sau khi tìm hiểu nhóm này.

References

Bình luận

Bài viết tương tự

- vừa được xem lúc

Thao tác với File trong Python

Python cung cấp các chức năng cơ bản và phương thức cần thiết để thao tác các file. Bài viết này tôi xin giới thiệu những thao tác cơ bản nhất với file trong Python.

0 0 48

- vừa được xem lúc

Tập tành crawl dữ liệu với Scrapy Framework

Lời mở đầu. Chào mọi người, mấy hôm nay mình có tìm hiểu được 1 chút về Scrapy nên muốn viết vài dòng để xem mình đã học được những gì và làm 1 demo nho nhỏ.

0 0 149

- vừa được xem lúc

Sử dụng Misoca API (oauth2) với Python

Với bài viết này giúp chúng ta có thể nắm được. ・Tìm hiểu cách xử lý API misoca bằng Python.

0 0 36

- vừa được xem lúc

[Series Pandas DataFrame] Phân tích dữ liệu cùng Pandas (Phần 3)

Tiếp tục phần 2 của series Pandas DataFrame nào. Let's go!!. Ở phần trước, các bạn đã biết được cách lấy dữ liệu một row hoặc column trong Pandas DataFame rồi phải không nào. 6 Hoc.

0 0 45

- vừa được xem lúc

Lập trình socket bằng Python

Socket là gì. Một chức năng khác của socket là giúp các tầng TCP hoặc TCP Layer định danh ứng dụng mà dữ liệu sẽ được gửi tới thông qua sự ràng buộc với một cổng port (thể hiện là một con số cụ thể), từ đó tiến hành kết nối giữa client và server.

0 0 56

- vừa được xem lúc

[Series Pandas DataFrame] Phân tích dữ liệu cùng Pandas (Phần 2)

Nào, chúng ta cùng đến với phần 2 của series Pandas DataFrame. Truy xuất Labels và Data. Bạn đã biết cách khởi tạo 1 DataFrame của mình, và giờ bạn có thể truy xuất thông tin từ đó. Với Pandas, bạn có thể thực hiện các thao tác sau:.

0 0 77