Skip to main content

Mr. Robot Session 2 - easter eggs | Đi săn trứng phục sinh trong Mr. Robot

mr-robot-session-2-easter-eggs

Ở cuối tập một của Mr. Robot Session 2, có cảnh khi Darlene tạo mã độc tống tiền (ransomeware) bằng bộ công cụ SET. Hãy chú ý vào địa chỉ IP 192.251.68.254, đây có vẻ như là máy chủ điều khiển (C&C) của con malware này. Chúng ta cùng xem nó ẩn chứa điều gì đặc biệt nào!


Đầu tiên là Whois:

mr-robot-session-2-easter-eggs-whois-ip-lookup


Không có gì ngạc nhiên khi whois địa chỉ IP này trỏ tới cái tên NBCUniversal (công ty sở hữu USA Network - nơi sản xuất ra series Mr. Robot).

Xem xét địa chỉ IP này qua cURL:

$ curl 192.251.68.254 -v
< HTTP/1.0 302 Found
< Location: http://i254.bxjyb2jvda.net/
$ curl http://i254.bxjyb2jvda.net/ -v
< HTTP/1.1 302 Moved Temporarily
< Location: http://i239.bxjyb2jvda.net
$ curl http://i239.bxjyb2jvda.net -v
< HTTP/1.1 200 OK

Truy cập vào trang cuối cùng được chuyển hướng tới: http://i239.bxjyb2jvda.net/

Đúng như nội dung trong phim thì trang web này cũng liên quan tới ransomeware khi hiển thị thông điệp "YOUR PERSONAL FILES ARE ENCRYPTED" (các tập tin cá nhân của bạn đã bị mã hóa) và một đồng hồ đếm ngược 24 giờ. Bạn có thể ngồi chờ (nếu rảnh) hoặc chỉ việc kiểm tra tập tin JavaScript nằm cuối mã nguồn của trang web.

Tập tin này chứa mã điều khiển đồng hồ đếm ngược, bạn sẽ tìm thấy một chuỗi bị mã hóa Base64 trong tập tin JS này. Đây chính là tin nhắn sẽ được hiển thị sau khi kết thúc 24 giờ. Giải mã ra sẽ được:

"I sincerely believe that banking establishments are more dangerous than standing armies, and that the principle of spending money to be paid by posterity, under the name of funding, is but swindling futurity on a large scale." – Thomas Jefferson

Bạn nào không hiểu thì copy qua Google Dịch nhé!

Kiểm tra chứng chỉ SSL của máy chủ web này, tôi cũng phát hiện ra nhiều tên miền khác có liên quan tới Mr. Robot trong phần Subject Alternative Names:

mr-robot-session-2-easter-eggs-ssl-certificate

DNS Name=*.bxjyb2jvda.net
DNS Name=iammrrobot.com
DNS Name=www.e-corp-usa.com
DNS Name=*.seeso.com
DNS Name=realtimetranslation.net
DNS Name=conficturaindustries.com
DNS Name=www.whoismrrobot.com
DNS Name=e-corp-usa.com
DNS Name=www.whereismrrobot.com
DNS Name=seeso.com
DNS Name=whoismrrobot.com
DNS Name=fsoc.sh
DNS Name=www.iammrrobot.com
DNS Name=whereismrrobot.com
DNS Name=racksure.com
DNS Name=*.evil-corp-usa.com
DNS Name=www.conficturaindustries.com
DNS Name=www.racksure.com
DNS Name=evil-corp-usa.com
DNS Name=www.fsoc.sh
DNS Name=*.serverfarm.evil-corp-usa.com
DNS Name=www.realtimetranslation.net
DNS Name=*.e-corp-usa.com
DNS Name=www.seeso.com

Ở tập một Session 2 các bạn cũng sẽ để ý là Eliot đăng nhập vào bkuw300ps345672-cs30.serverfarm.evil-corp-usa.com thông qua SSH.

ssh -l root bkuw300ps345672-cs30.serverfarm.evil-corp-usa.com

Đối với câu đố tại https://fsoc.sh:

Nếu bạn quan sát trang này, bạn sẽ chú ý rằng con trỏ nhấp nháy không được bình thường. Nó nhấp nháy theo khoảng thời gian ngẫu nhiên. Không khó để nhận ra rằng đây là mã Morse, nhưng tôi rất ngại giải quyết những thứ như này theo cách thủ công. Vì vậy, chúng ta sẽ làm theo cách kỹ thuật.

Xem tập tin: https://www.fsoc.sh/assets/main.js

addHandlers: function() {
  var t = this;
  this.$(".eye__form").on("submit", this.handleSubmit), this.textView.on("typingEnded", function() {
    t.appendEye(), t.startCursor("MzkzMzUzNTM5NTMzMzk1Mzc5OTUzNzMzMzM1MzUzOTM1Mw==")
  })
},
startCursor: function(t) {
  var e = this;
  e.$(".eye__cursor").css("opacity", 0).removeClass("typing"), setTimeout(function() {
    e.handleBlinkTime(window.atob(t), 0)
  }, 500)
},
handleBlinkTime: function(t, e) {
  var n = 300,
    r = t.charAt(e),
    i = 0,
    o = n;
  switch (r) {
    case "9":
      i = 3 * n;
      break;
    case "3":
      i = n;
      break;
    case "5":
      o = 3 * n;
      break;
    case "7":
      o = 7 * n
  }
  var u = this;
  i && u.$(".eye__cursor").css("opacity", 1), setTimeout(function() {
    u.$(".eye__cursor").css("opacity", 0), setTimeout(function() {
      t.length > e + 1 ? u.handleBlinkTime(t, e + 1) : setTimeout(function() {
        u.handleBlinkTime(t, 0)
      }, 4e3)
    }, o)
  }, i)
};

t.startCursor("MzkzMzUzNTM5NTMzMzk1Mzc5OTUzNzMzMzM1MzUzOTM1Mw==") là thứ kiểm soát tốc độ nháy của con trỏ. Giải mã đoạn Base64 sẽ được: 3933535395333953799537333353539353

Dựa theo đoạn switch trong hàm handleBlinkTime() thì:

  • 3 là một dấu chấm "."
  • 5 ngăn cách các ký tự " "
  • 7 đại diện cho một khoảng cách (space) trong Morse "/"
  • và 9 là một dấu gạch ngang "-"

Như vậy, đoạn số kia tương ứng với: .-.. . .- ...- ./-- ./.... . .-. .

Đối chiếu với bảng mã Morse:

mr-robot-session-2-easter-eggs-morse-code

Ra được chuỗi: LEAVE ME HERE

Cuối cùng, nhập chuỗi vừa tìm được vào Form ở cuối trang và nhấn Enter, các bạn sẽ được chuyển tới trang này:

mr-robot-session-2-easter-eggs-fsociety

Chào mừng đến với fsociety! ;)

Tham khảo: 0x41.no

Share this with your friends
Loading...