Linux Admin – ciekawa oferta pracy

Dawno temu na jednym z forum o webhostingu zauważyłem ciekawe ogłoszenie o pracę do jednej z firm hostingowych na stanowisko Linux Administrator. Po standardowy szablonie na ofertę o pracę został umieszczony fragment:

Warunkiem zaproszenia na rekrutację będzie rozwiązanie poniższego zadania:
—–    
Server: 0xbc741383:0xf05e
Host: rekrutacja.hekko.pl
Request: POST /hints.tar.gz
—–

Chociaż nie byłem zainteresowany stanowiskiem ze względu na lokalizację, skusiło mnie to zadanie.

Widząc taką frazę pierwsze co przychodzi na myśli to, że należy wysłać POST na adres ładnie brzmiący adres.

Sprawdzam więc na co wskazuje hostname:

$ host rekrutacja.hekko.pl
$
No niestety nie wskazuje na nic, więc pewnie coś kryje się pod wpisem „Server”, zapewne zakodowany adres. 0x na początku ciągu sugeruje, że jest to liczba w zapisie hexadecymalnym.

Zatem po zamianie na zapis binarny:
10111100011101000001001110000011

oraz podziale na oktety mamy:
1011 1100 . 0111 0100 . 0001 0011 . 1000 0011

czyli 188.116.19.131

Port zamieniamy z HEX na DEC i otrzymujemy 61534.

No to wykonujemy POSTa:
$ curl -X POST http://188.116.19.131:61534/hints.tar.gz
<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body bgcolor=”white”>
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx</center>
</body>
</html>
$

Niespodzianka 🙂 czyli brniemy dalej:
– dodajemy wpis do /etc/hosts
188.116.19.131 rekrutacja.hekko.pl
– puszczamy POSTa
$ curl -X POST https://rekrutacja.hekko.pl:61534/hints.tar.gz>hints.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   175  100   175    0     0   4057      0 –:–:– –:–:– –:–:–  5303

Otrzymujemy plik wynikowy i będąc zapobiegawczym sprawdzam czy to na pewno jest tar.gz:
$ file hints.tar.gz
hints.tar.gz: 7-zip archive data, version 0.3

A to oszukańcy:
$ mv hints.tar.gz hints.7z
$ p7zip -d hints.7z

7-Zip (A) 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30
p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)

Processing archive: hints.7z

Extracting  hints.txt

Everything is Ok

Size:       57
Compressed: 175
$

Lecimy dalej:
$ cat hints.txt
Search for text hints in a63ncb49s3br63a2.hekko.pl zone.
$ host -t TXT a63ncb49s3br63a2.hekko.pl
a63ncb49s3br63a2.hekko.pl descriptive text „search=SRV record will show You the way. Find service ‚secret’ that is using TCP.”
a63ncb49s3br63a2.hekko.pl descriptive text „password=2u5mza84kd7453vm”
$ host -t SRV _secret._TCP.a63ncb49s3br63a2.hekko.pl
_secret._TCP.a63ncb49s3br63a2.hekko.pl has SRV record 0 0 48273 secret.a63ncb49s3br63a2.hekko.pl.
$ host secret.a63ncb49s3br63a2.hekko.pl
secret.a63ncb49s3br63a2.hekko.pl has address 188.116.19.131

Pozostało nam odwołanie się do portu na serwerze:
$ telnet 188.116.19.131 48273
Trying 188.116.19.131…
Connected to 188.116.19.131.
Escape character is ‚^]’.
Note: daemon does not support telnet and packet buffering
Password last changed: 2014-02-10 at 22:35 – when in doubt, ask DNS server directly
Password: 2u5mza84kd7453vm
Please attach the following password to Your CV: a64mv0tkx74ndv36:1435cbf211cafa40a2b451902cff593c4e5e1b6f
Connection closed by foreign host.

Pomysłowa zagadka oraz miło spędzony czas.

Jeśli jednak chcą Państwo sprawdzić nasze możliwości lub powierzyć nam admnistrację serwerami Linux lub inne ciekawe projekty to zapraszam do zapoznania się z informacjami, kim jesteśmy: https://it-resource.pl/#two