[PL] Szurkogadanie #32

Homepage:

https://youtu.be/JekchWBCuGU

Description:

Wprowadzenie

Cześć!

Ja jestem Kacper Szurek a to 32 odcinek podcastu Szurkogadanie - w którym opowiadam o bezpieczeństwie.

W tym odcinku dowiesz się jak przekonać użytkowników do uruchomienia dwuskładnikowego uwierzytelnienia na przykładzie producentów gier komputerowych.

Czy wiesz co oznacza termin catastrophic destruction?

Jakie dane zbiera na nasz temat Netflix i do czego mogą one zostać użyte w przyszłości.

Następnie techniczny opis ataku podniesienia uprawnień w linuxie - czyli dlaczego czasami nie warto wprowadzać kolejnych warstw abstrakcji do kodu źródłowego.

Opowiem także o tym jak wyciek naszego adresu zamieszkania może doprowadzić do braku snu a także o mało znanej funkcji Amazon S3.

Na koniec porozmawiamy o elektrycznych hulajnogach i testowaniu bezpieczeństwa elektronicznych wyborów w Szwajcarii.

Podcast ten można również znaleźć na Spotify oraz Google i Apple Podcasts oraz Anchor.

Jeżeli interesujesz się branżą security lub jesteś programistą, który chciałby zadać pytanie o swój kod - zapraszam na grupę od 0 do pentestera na Facebooku.

Większość materiałów do tego odcinka odnalazłem dzięki Weekendowej Lekturze Zaufanej Trzeciej Strony.

Jeżeli jesteś stałym słuchaczem tego podcastu - rozważ zostawienie recenzji i gwiazdki w aplikacji Apple Podcast - tak abym mógł docierać z tym materiałem do jak najszerszego grona odbiorców.

Zapraszam do słuchania.

1. Przekonanie użytkowników do nowych systemów zabezpieczeń - to ciężki kawałek chleba.

Sporo z nas jest po prostu leniwych i nie lubimy zmieniać tego do czego jesteśmy przyzwyczajeni.

Czasami brak zmian jest również wygodny.

Tak jest w przypadku dwuskładnikowego uwierzytelnienia - gdzie oprócz loginu i hasła musimy wyciągnąć telefon z aplikacją i przepisać z niej odpowiedni jednorazowy kod - aby móc zalogować się na nasze konto.

Ten mechanizm jest coraz popularniejszy i coraz więcej firm zdaje sobię sprawę z potencjalnych korzyści jakie płyną z jego wprowadzenia.

Dzisiaj porozmawiamy o branży gier, która pomału zaczyna edukować swoich użytkowników i zachęca ich do używania dodatkowych zabezpieczeń.

Dlaczego? Zapewne chodzi o pieniądze.

Skradzione konta przy pomocy których kupowane są różnorakie wirtualne dodatki to obecnie zmora.

Im więcej takich incydentów - tym bardziej rozbudowany dział supportu technicznego należy posiadać - aby być w stanie pomagać tym, którzy padli ofiarą oszustwa.

Dodatkowo to realne straty dla twórców gry - wszak teoretycznie zakupiono jakiś przedmiot no ale kwota za jego sprzedaż musi zostać zwrócona - wszak pieniądze pochodziły z oszustwa.

No ale jak przekonać użytkowników do wykonania jakiejś dodatkowej czynności, która nie jest powiązana z graniem a dodatkowo wymaga zwiększonego nakładu pracy?

Włączenie 2FA to nie jest bowiem tylko kliknięcie w jeden guzik - zazwyczaj użytkownik musi zainstalować jakąś dodatkową aplikację i ją odpowiednio skonfigurować.

Rozwiązanie okazało się banalnie proste.

Gracze lubią rywalizować i być za to nagradzanymi.

Wystarczyło więc wykorzystać ten sam mechanizm w celu zapewnienia bezpieczeństwa.

Coraz więcej gier bowiem w zamian za włączenie dwuskładnikowej weryfikacji - rozdaje dodatkowe, unikalne przedmioty do naszego wirtualnego konta w grze.

W ten sposób - firma praktycznie zerowym kosztem niejako zmusza użytkowników do wykonania danej akcji.

W grach - tak jak i w modzie - mamy doczynienia z różnymi trendami.

Jeżeli zatem użytkownik A - posiada jakąś fajną skórkę - to dlaczego i ja nie mógłbym jej dostać - zwłaszcza, że mogę otrzymać ją za darmo.

Ten koncept można poszerzyć jeszcze bardziej - wykorzystując fakt, że w gry multiplayer gra się ze znajomymi.

Co bowiem w sytuacji gdy za aktywację mechanizmu rzeczywiście otrzymamy jakiś przedmiot - ale nie możemy go użyć na swoim koncie a jedynie przekazać go znajomemu?

Wtedy to zapewne przekonamy tego znajomego aby i on uaktywnił 2FA aby on w ten sposób mógł przekazać nam przedmiot, który za daną aktywację otrzymał.

W ten sposób użytkownicy sami napędzają się do aktywowania funkcji.

Mamy tutaj zatem do czynienia z terminem gamifikacja, czyli wykorzystaniem mechanizmów gier (co ważne, nie tylko internetowych, ale również planszowych czy sportowych) do kształtowania u dzieci potrzeby działania, zaangażowania w naukę i podejmowania wyzwań, których w inny sposób nie chcieliby się podjać.

Co ciekawe koncept ten niektóre firmy rozszerzają nie tylko na dzieci ale również swoich pracowników.

Mamy więc specjalne odznaki w systemach zarządzania zadaniami, które nagradzają nas za wykonanie pewnych czynności - chociażby zamknięcia danego taska w przeciągu 30 minut.

Mechanizmy te są znane już od dłuższego czasu i z powodzeniem używane w grach - aby zachęcić użytkownika do jak największej aktywności w danym tytule.

Jak bowiem inaczej zmusić go do wykonywania nudnej czynności przez 30 minut?

2. Czy kiedykolwiek spotkałeś się ze sformułowaniem catastrophic destruction czyli katastrofalne zniszczenie?

Z atakiem tego rodzaju mamy do czynienia wtedy, gdy szkody są tak duże - iż zagrażają istnieniu całej firmy.

I właśnie to spotkało jednego z providerów poczty internetowej.

Zazwyczaj, gdy atakowane są tego rodzaju firmy - głównym celem przestępców jest uzyskanie okupu.

Możliwości jest kilka - pierwsza to atak DDoS kiedy to tworzony jest fałszywy ruch do serwerów danej organizacji - a to sprawia, ze stają się one niedostępne dla normalnych klientów.

W zależności od typu prowadzonej działalności a także skali przedsięwzięcia - tego rodzaju ataki mogą być kosztowne.

Weźmy chociażby pod uwagę sklep internetowy - dla takiego Amazona kilkuminutowa przerwa w działalności to zapewne straty liczone w setkach tysięcy dolarów - wszak sprzedają globalnie na całym świecie.

Druga możliwość to zaszyfrowanie danych znajdujacych się na serwerach.

Ten to atak jest bardziej zaawansowany - atakujacy musi bowiem w jakiś sposób uzyskać nieautoryzowany dostęp do serwerów a następnie zaszyfrować znajdujące się w nich dane i równocześnie liczyć, że ofiara nie posiada backupów a informacje z serwerów są na tyle kluczowe - że będzie chciała je odzyskać.

Tym razem jednak atakujący nie zażądał żadnych pieniędzy a równocześnie sformatował wszystkie dyski na serwerach pocztowych a także usunął pliki backupów, sprawiając - że firma świadcząca usługi poczty elektronicznej potencjalnie straciła dane wszystkich swoich klientów, którzy hostowani byli na serwerach w Stanach Zjednoczonych.

Tutaj mówimy o ataku - ale do podobnej sytuacji może także dojść z wnętrza organizacji, chociażby przez nieuwagę lub nieroztropność admina.

Przypomina mi się tutaj historia firmy Gitlab - będąca alternatywą dla serwisu Github - pozwalajaca na przechowywanie plików systemu kontroli wersji.

Tutaj to administrator pomylił serwery na których wykonywał komendy i z powodu swojej nieuwagi - usunął 300 GB produkcyjnych danych.

Co więcej, pomimo kilku systemów backupu - które powinny działać - nie udało się odzyskać danych z ostatnich 6 godzin przed awarią.

Cały ten incydent to wzorowy przykład jak należy postępować w sytuacjach kryzysowych.

Firma od samego początku nie chowała głowy w piasek a uczciwie komunikowała swoim klientom co się stało, jakie są tego skutki a także jakie działania zostają obecnie podejmowane - aby przywrócić funkcjonowanie witryny.

A czy Twoja firma przetrwałaby kryzys - w którym administrator - przez pomyłkę - albo też celowo - usunął produkcyjne dane z jakiegoś serwera?

3. W obecnych czasach mamy dostęp do wielu platform streamingowych które próbują walczyć o uwagę widza różnymi możliwymi sposobami.

Tak to mamy dostęp do coraz większej ilości filmów i seriali dostępnych wprost z naszego komputera i telewizora.

Ale bogata baza tytułów już nie wystarczy.

Chcemy aby nasze doświadczenie było coraz bardziej spersonalizowane i odpowiadało naszym i tylko naszym potrzebom.

Tak narodziły się interaktywne filmy - gdzie podobnie jak w grach - to oglądający gra pierwszoplanową rolę.

Stajemy się zatem reżyserem naszej własnej wersji historii - tworząc swoją wersję w oparciu o przygotowane wcześniej możliwości wyboru.

Mowa o nowej produkcji firmy Netflix - Black Mirror Bandersnatch.

Tutaj to podczas oglądania w kluczowych momentach filmu - użytkownik może wybrać jedną ze ścieżek - a wybory te mają wpływ na całą opowiedzianą historię.

W świecie gier to nic specjalnego - znane są gry, posiadające różnorakie zakończenia, które wyświetlane są w zależności od podjętych wcześniej decyzji.

Ale w filmie ta technologia dopiero raczkuje.

Owszem w przeszłości można było znaleźć podobne produkcje dostępne w serwisie YouTube - gdzie kolejne decyzje podejmowało się klikając w odpowiednie adnotacje na ekranie, które to przenosiły do kolejnej częsci filmu.

Ale były to bardziej amatorskie produkcje.

Tutaj mamy do czynienia z hollywoodzkim filmem ze sporym budżetem.

Oczywistym jest fakt, że serwis musiał przygotować swoją infrastrukturę do obsługi tego rodzaju treści.

Zazwyczaj film - to tylko jeden strumień danych wyświetlany użytkownikowi - taki sam dla wszystkich.

Tutaj jednak sprawa wygląda zupełnie inaczej.

Nie od dzisiaj wiadomo, że duże firmy próbują dostosować swoją treść do naszych upodobań strosując mechanizm rekomendacji.

Na podstawie wcześniej oglądanych materiałów a także takich detali jak czas, data czy też moment, w którym wyłączyliśmy daną produkcję - starają się zaproponować takie filmy - które jak najlepiej będą pasowały do naszych upodobań.

Jeden z użytkowników Twittera postanowił sprawdzić jakie dane o nas z samego tylko filmu interaktywnego zebrał Netflix.

Do pozyskania tych danych użył Europejskiego prawa GDPR - które to pozwala każdemu użytkownikowi na wysłanie zapytania do firmy, w celu uzyskania informacji jakie dane na nasz temat są przechowywane.

Po potwierdzeniu jego tożsamości uzyskał dostęp do zaszyfrowanego pliku CSV i PDF.

Z plików tych jasno wynika, że zapisywane są wszelkie interakcje użytkownika z platformą - serwis zapisuje zatem jakie wybory zostały podjęte, kiedy oraz z poziomu jakiego interfejsu.

Teoretycznie nie powinno to być dla nas żadnym zaskoczeniem.

Ale spróbujmy się przez chwilę zastanowić, jakie mogą być konsekwencje zbierania takich danych.

Załóżmy, że ta technologia będzie coraz to popularniejsza i coraz więcej filmów będzie pozwalało na dokonywanie wyborów.

Aby film był ciekawy - wybory te zazwyczaj są trudne z moralnego punktu widzenia.

Czy mamy uratować kobietę a może dziecko?

Czy bylibyśmy w stanie wejść do płonącego wieżowca?

Jak zareagujemy na bójkę, dziejącą się na ulicy - zainterweniujemy czy też przejdziemy obok.

Im więcej filmów i wyborów - tym lepszy profil psychologiczny można stworzyć.

Można bowiem założyć, że większa część naszych wyborów jest jakoś powiązana z tym co czujemy i jak zachowalibyśmy się w rzeczywistości.

Czy zatem dożyjemy czasów, w których potencjalnych przestępców chociażby gwałtów albo morderstw będzie poszukiwało się na podstawie podjętych wcześniej wyborów?

Jeżeli w filmach lubisz drastyczne sceny a dodatkowo grasz w brutalne gry z dużą ilością krwi na ekranie i przy tym mieszkasz w rejonie, w którym zdarzały się ostatnio brutalne morderstwa - czy ktoś będzie w stanie powiązać te kropki ze sobą?

Czy zatem te dane nie powinny być anonimizowane - tak aby nie dało się sprawdzić jakie konkretne wybory zostały podjęte przez daną osobę?

Co o tym sądzicie? Dajcie znać w komentarzach.

4. Pojawił się nowy atak podniesienia uprawnień na Ubuntu nazwany dirty_sock.

Z atakiem privilege escalation mamy do czynienia wtedy, gdy użytkownik może wykonać jakąś akcję - do której normalnie nie powinien mieć dostępu.

Zazwyczaj chodzi zatem o zostaniem administratorem - czyli rootem w danym systemie operacyjnym.

Wtedy to nagle zwykły użytkownik - posiada uprawnienia do odczytu i zapisu w całym systemie plików.

No dobrze, ale na czym polega dzisiejszy błąd?

Od pewnego czasu na Ubuntu możemy instalować paczki oprogramowania - podobnie jak na Windowsie - gdzie wszystkie potrzebne dane znajdują się w jednym pliku.

System ten nazywa się Snap i za jego obsługę odpowiedzialny jest serwis snapd który działa na danej maszynie z uprawnieniami roota.

Jest to poniekąd oczywiste - wszak instalujemy różne aplikacje a instalator powinien mieć możliwość zapisu i odczytu danych z każdego miejsca.

Z tą usługą można się połączyć przy pomocy socketów.

Tam to wystawiony jest serwer API - który obsługuje różnoraki żądania.

Oczywiście są one uprzednio weryfikowane - tak aby użytkownik bez odpowiednich uprawnień nie mógł wykonać złośliwej akcji.

Do sprawdzenia jaki użytkownik łączy się z usługą używana jest funkcja getUcred - która zwraca informacje na temat identyfikatora użytkownika i jego grupy.

Ten mechanizm jest sprawdzony i gdyby weryfikowanie dostępu opierało się tylko na nim - wszystko działałoby bez problemu.

Ale programiści zdecydowali się wprowadzić dodatkową warstwę abstrakcji.

Dane z poprzedniej funkcji są bowiem formatowane do jednego ciągu znaków, w którym to informacje rozdzielone są przy pomocy średnika.

Ten ciąg jest następnie ponownie parsowany - czyli inna funkcja rozdziela jego wartości używając średnika.

W tak rozdzielonych ciągach - poszukuje się wyrazu zaczynającego się od uid= - wtedy wiadomo że wartość ta przechowuje identyfikator użytkownika i on to jest zapisywany jako identyfikator osoby, łączącej się z serwisem.

Kod ten jest napisany w taki sposób - że jeżeli w ciągu znajduje się kilka wyrazów zaczynających się na uid - to poprzednie są nadpisywane nowymi wartościami - co oznacza, że jako prawidłowy - będzie traktowane ostatnie wystąpienie tego wyrazu.

Zamiast więc bezpośrednio korzystać z bezpiecznej funkcji - wprowadzono dodatkowe parsowanie, które wprowadziło błąd.

Odkrywcy błędu udało się bowiem znaleźć metodę na modyfikację ciągu, który był następnie rozdzielany po średnikach.

Był w stanie na jego końcu dodać nową wartość - dodał tam więc ciąg uid=0.

To oznacza użytkownika z uprawnieniami root - a ponieważ ten ciąg występował jako ostatni - nadpisywał poprzedni identyfikator użytkownika, zwracany przez funkcję getUcred.

W ten sposób możliwe było wykorzystanie API snapd i wykonania czynności z uprawnieniami administratora.

5. Kiedy myślimy o wycieku danych zazwyczaj w naszej głowie kotłują się myśli na temat haseł.

Nie lubimy też gdy na naszą skrzynkę mailową przychodzi spam a na telefon dzwonią telemarketerzy.

Ale rzadko kiedy zastanawiamy się nad wyciekiem naszego adresu - wszak podajemy go bardzo często.

Praktycznie w każdym sklepie internetowym gdzie robimy zakupy.

Adres to adres - nie przykładamy do niego większej uwagi - wszak nie jesteśmy gwiazdami rocka i nie musimy się ukrywać przed milionami fanów.

Tylko że adres ma jeden zasadniczy problem - bardzo trudno jest go zmienić.

O ile bowiem możemy zmienić numer konta, hasło czy też skrzynkę mailową - to zmiana adresu nie jest taka prosta.

Wiąże się z przeprowadzą i z kosztami.

A co w przypadku gdy mieszkanie jest nasze, kupione za kredyt i jeszcze przez kilkanaście lat musimy je spłacać.

Zmiana adresu nie wchodzi w grę.

Ale dlaczego o tym mówię?

Sporo z nas wybiera internetowe metody poznawania nowych osób - mowa tutaj o serwisach randkowych.

Tam to możemy spotkać się z terminem Catfishing.

Oznacza on podszywanie się pod zupełnie inną osobę włącznie z wykorzystaniem fotografii danej osoby czy też jej danych personalnych.

I o ile w większosci przypadków - może się to wiązać po prostu z dużym rozczarowaniem - zwłaszcza gdy osoba podająca się za Leonarda Di Caprio nim nie jest - to nie zawsze może być tak wesoło.

Świadczy o tym historia jednego z użytkowników Twittera.

Jego dane adresowe zostały wykorzystane na różnych portalach randkowych.

To sprawiło, że w ciągu jednego dnia do jego mieszkania zapukały 3 kobiety - sądząc, że są z nim umówione na randkę.

W tym wypadku chodziło głównie o zakłócanie spokoju danej osoby - dobijanie się do drzwi o 3 nad ranem i tłumaczenie że nie jest się tym - z którym dana osoba rozmawiała po którymś razie może być mocno męczące.

Ale to nie jedyny sposób na nie do końca legalne wykorzystanie naszych danych.

Pomyślmy chociażby o pizzerii - przecież ktoś może zadzwonić do pizzerii używając nowo kupionej karty SIM i zamówić pod nasz adres 10 dużych pizz pepperoni - z płatnością na miejscu.

I to my będziemy się musieli tłumaczyć - że nie zamawialiśmy takiej porcji jedzenia.

Podobna sytuacja z telefonami.

Znane są przypadki, gdy z zemsty publikowano numer telefonu danej osoby na różnych serwisach z drobymi ogłoszeniami.

Odpowiadanie na kolejny telefon, gdy ktoś próbuje kupić od nas sofę albo pralkę którą hipotetycznie wystawiliśmy na portalu - nie należy do najprzyjemniejszych.

6. Elektryczne hulajnogi to ostatni krzyk mody.

Małe, szybkie i zwrotne stanowią idealną alternatywę dla rowerów na krótkich dystansach, gdy chcemy przemieścić się z punktu A do punktu B.

Ale jak to zwykle bywa w takich urządzeniach - najpierw dostarcza się produkt a dopiero potem myśli o jego bezpieczeństwie.

Wychodzi więc na to, że chorują one na choroby wieku dziecięcego.

Jedna z firm przyjrzała się bezpieczeństwu takiej hulajnogi popularnego producenta Xiaomi.

Oprócz sterowania kierownicą z urządzeniem możemy połączyć się również przy pomocy aplikacji na telefon.

Wtedy to mamy dostęp do funkcji antykradzieżowych czy też możliwość upgrade’u oprogramowania.

Dostępu do hulajnogi chroni hasło - które może być zmienione przez każdego użytkownika.

Okazało się jednak - że hasło to jest sprawdzane tylko i wyłącznie po stronie aplikacji.

Hulajnoga nie sprawdza poprawności tych danych.

Oznacza to, że dowolna osoba może się połączyć z dowolną hulajnogą.

Zademonstrowano atak, gdzie łącząc się z hulajnogą doprowadzono do jej blokady.

A takie gwałtowne zatrzymanie urządzenia podczas jazdy może być dramatyczne w skutkach - zwłaszcza gdy kierujący straci panowanie nad pojazdem.

Co najważniejsze - błąd ten nie został jeszcze naprawiony.

Tymczasowym rozwiązaniem jest sparowanie naszego telefonu z hulajnogą jeszcze przed rozpoczęciem jazdy.

Wtedy to bowiem nie jest możliwe połączenie z innym aparatem.

7. Szwajcaria zdecydowała się na otwarty program bug bounty w celu odnalezenia luk w systemie głosowania online.

Głównym zakresem poszukiwań objęto sposoby niewykrywalnego manipulowania głosami.

Nagrody pieniężne można rownież otrzymać za odnalezienie błędów, które umożliwiłyby identyfikację osoby oraz głosu przez nią oddanego.

Co ciekawe stosunkowo mniejsza kwota jest do zdobycia w przypadku niautoryzowanego dostępu do serwera - czyli uzyskania do niego zdalnego dostępu lub też możliwości wykonania zdalnego kodu.

Widać więc, że głównym założeniem jest sprawdzenie bezpieczeństwa algorytmu a nie infrastruktury, na której jest on uruchomiony.

Po spełnieniu odpowiednich wymagań możliwe jest również uzyskanie kodu źródłowego całego oprogramowania.

Ciekawe kiedy w naszym kraju, wszystkie publiczne informatyczne systemy będą posiadały otwarty kod - dostępny dla każdego obywatela.

Program przeprowadzany jest jako responsible disclosure - co oznacza, że jeżeli ktoś odnajdzie błąd w tym oprogramowaniu będzie się mógł nim pochwalić chociażby na swoim blogu - oczywiście po zachowaniu odpowiednich terminów.

Taki wpis w CV wydaje się być całkiem interesującą pozycją.

Cieszy fakt, że kolejne państwo decyduje się na taki ruch.

Wcześniej w tym podcaście informowałem o tym, jak departament obrony Stanów Zjednoczonych ograniczył swoje koszty poszukiwania błędów korzystając właśnie z tego samego pomysłu.

Z niecierpliwością czekam na wyniki całej operacji.

Czy komuś uda przełamać się zabezpieczenia oraz jakie kwoty zostaną wypłacone?

Z dokumentacji wynika bowiem, że na cały projekt zabezpieczono 150 000 franków szwajcarskich.

8. A teraz ciekawostka dla tych, którzy używają serwerów Amazon S3 do hostowania swoich plików.

Czy wiedzieliście, że - jeżeli plik jest dostępny publicznie - to oprócz protokołu https można go również pobrać przy użyciu torrentów?

Wystarczy do scieżki do pliku dołączyć parametr ?torrent - a zamiast treści - otrzymamy plik BitTorrent - który to następnie można otworzyć w w/w programie.

Amazon zatroszczy się o odpowiednią konfigurację całego połączenia.

Ot taka ciekawostka - ciekawsza tym bardziej, że czasami potrzebujemy uzyskać nazwę kubełka - na którym hostowane są jakieś pliki.

Chociażby przy przeprowadzaniu testu penetracyjnego.

Jeżeli zatem posiadamy jakąś domenę i zakładamy, że używa ona S3 - wystarczy znaleźć jakiś publiczny obiekt - na przykład obrazek i dołączyć do niego argument torrent.

Mając szczęście - w pliku tym znajdziemy nazwę kubełka, którą następnie możemy wykorzystać.

Inną metodą, którą możemy wykorzystać do tego samego celu - jest przekazanie w adresie URL ciągu %c0.

W specyficznych przypadkach - w zwracanym XML-u razem z błędem również będziemy mogli odnaleźć poszukiwany adres kubełka.

9. Jeżeli zajmujesz się bezpieczeństwem to zapewne co roku zadajesz sobie pytanie: na jakie konferencje warto się tym razem wybrać.

Nie tak dawno zauważyłem, że Zaufana Trzecia Strona stworzyła listę wszystkich (lub prawie wszystkich) konferencji związanych z security - wraz z ich datami oraz nazwami.

Jeżeli więc jesteś na etapie planowania lub wydawania budżetu szkoleniowego - ta strona może Cię zainteresować.

I to już wszystko w tym odcinku.

Jeżeli słuchasz tego podcastu na Iphonie i uważasz, że jest on przydatny - rozważ zostawienie recenzji oraz gwiazdki w aplikacji podcasty - tak abym mógł docierać do jeszcze szerszego grona odbiorców.

Równocześnie zapraszam do komentowania i subskrypcji kanału Kacper Szurek na YouTube.

Widzimy się już za tydzień.

Cześć!

1 2 3 4 5 6 7 8 9 10

Timeline: