[KONKURS ROZSTRZYGNIĘTY! Aktualizacja: Stan na 31.05.2021r. godzina 8:00 – KONKURS ROZSTRZYGNIĘTY!]

Połowa maja.. Świat budzi się do życia… Pąki na drzewach przypominają o kolejnej porze roku.. Ptaki ćwierkają, zapowiadając nadchodzące promienie słońca.. Ale zaraz, zaraz… Spadająca temperatura, która nie wróży nic dobrego. Coś tu nie do końca pasuje… Mimo wielokrotnych prób puszczenia Marzanny z nurtem rzek, wiosna przyszła z opóźnieniem.. Pytanie, kiedy wrócą tygodnie samych słonecznych dni?

Niestety wszystko wskazuje na to, że nie w najbliższy weekend… Jeżeli więc nie kuszą Cię deszczowe spacery, zapraszamy na chwilę relaksu z nowym konkursem przygotowanym przez Rafała Gołębiowskiego!

Drogi uczestniku

Nasz zespół bezpieczeństwa dostał urządzenie typu embedded do pentestów i potrzebujemy Twojej pomocy!

Większość zespołu jest właśnie na urlopie więc ów pentest został przypisany Tobie.

Urządzenie, które należy przetestować znajduje się pod linkiem.

W przypadku problemów z adresem IP na urządzeniu polecamy zasięgnąć rad z artykułu.

Zespół produktowy, którego urządzenie trzeba przetestować zamieścił poniższy opis

We developed a complex xml based log aggregation service which runs on port 1234. Confidentiality and Availability is not so important to this service as the clients will just resend lost packets later and there is nothing very sensitive in the messages but the Integrity should be protected as the logs are needed for audit purposes.

The service expects xml messages something similar to this one:

<?xml version=”1.0″ encoding=”UTF-8″?>

<exmpleLog>

  <id>asdf1234</id>

  <severity>Info</severity>

  <msg>This is an example log message to our new, safe, log aggregator service</msg>

</exmpleLog>

To protect confidentiality we use very secure 3072bit RSA signature. To sign the message first we base64 encode it than we generate it’s hash and sign this hash.

The only thing is since it’s an embedded device we decided for performance reasons to use CRC32 as a hash algorithm. We are aware that this is not a cryptographic hash function but what is the chance that there will be a hash collision when the message has to be valid base64 and after decoding valid xml?

Here is the signed message corresponding to the above xml file:

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGV4bXBsZUxvZz4KICA8aWQ+YXNkZjEyMzQ8L2lkPgogIDxzZXZlcml0eT5JbmZvPC9zZXZlcml0eT4KICA8bXNnPlRoaXMgaXMgYW4gZXhhbXBsZSBsb2cgbWVzc2FnZSB0byBvdXIgbmV3LCBzYWZlLCBsb2cgYWdncmVnYXRvciBzZXJ2aWNlPC9tc2c+CjwvZXhtcGxlTG9nPgo=

1939049095636379369499656557140014915470418118065770924438233164051099612406467706777601073721543737654211548146311054387868728550425681919895055553318818469315965411021777891255310910965841185513393668073358569161323956433001518816528415148767343884198324509320099792441079013152833294592378241097673637857442865425187219875425384863958091360423546821227594366594985138879630988545563612061308032112441422137145593902421152261623605883050077255553075885775808012417412268679180556002223635073018888493080395406024777018015991026691202575028010664117537584674224571640688470354819238653917175939749034866256777190964905286773336788606248165170415276116980070565844603600754642343192884222688357019854592488536975958912214724004722400684124620512959996082368104859245781197343785624916783936449553057101360871912771729482549040751162116963271476447750747519331818363809292231432040563095411743335753284721722375374329173037822

If you send this to the service (e.g. $ cat crypt.msg | nc -nv 192.168.198.128 1234 ) It should answer back that the signature is correct and echo back the message.

We have some sensitive secrets on the server, we would consider it a problem if someone could steal these:

–       If someone would find a different message with the same hash the server might send back sensitive information

–       There is a secret stored in the home directory of the user running the service in a file called “flag.txt”

–       The last secret is in the file /root/flag.txt but reading it would need root access

Nasz Chief Pentester wskazał, że kryptografia może nie być idealna oraz wysłał poniższe linki, które mogą być pomocne przy rozpoczęciu testów:

Rekomendujemy, aby potraktować to jako punkt startowy.

Celem Twojego zadania jest odnalezienie dwóch flag.

Link do pobrania CtF znajdziesz: tutaj .

Główną nagrodą są bezprzewodowe słuchawki Baseus. Za zajęcie dwóch kolejnych miejsc na podium, można wygrać opaski Mi Band 5.

Flagi prosimy zgłaszać na: info@wladcysieci.pl. Nagrody zdobędą trzy pierwsze osoby, które udzielą pełnej, poprawnej odpowiedzi.

Do dzieła! Odnajdź dwie flagi w kolejnym konkursie Capture the flag, które pozwolą zabić czas oczekiwania na lato oraz zapewnią rozrywkę na kilka deszczowych godzin.

Happy Hacking!