Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Śledzenie otwierania dokumentów MS Office

27 lutego 2014, 13:32 | Teksty | komentarze 34

Wstęp

W niniejszym artykule omówimy temat dołączania obrazków z zewnętrznych źródeł do dokumentów popularnych pakietów biurowych MS Office i LibreOffice jako mechanizm śledzenia użytkowników. Pokażemy, jak w prosty sposób dodawać takie obrazki oraz jakie (czy?) istnieją sposoby obrony.

Jedną z inspiracji do napisania tego tekstu był niedawny komentarz na Sekuraku.

Zacznijmy od zastanowienia się, jakie cele mogą przyświecać dodawaniu zewnętrznych obrazków do dokumentów. Mogą być prozaiczne: jak zwykła ciekawość czy chęć przeprowadzenia analizy statystycznej (Analytics dla Worda? czemu nie!), ale również może to być zamierzone jako swoiste zastawienie zasadzki.

Wyobraźmy sobie sytuację, w której podejrzewamy, że dokumenty z firmy są wykradane, ale brak nam na to dowodów. Przygotowujemy zatem plik Worda z odniesieniem do zewnętrznego obrazka na naszym serwerze, licząc na to, że włamywacze spróbują otworzyć ten dokument. Jeżeli haczyk zostanie połknięty, otrzymamy cenną informację, że rzeczywiście plik został otwarty, dodatkowo poznając adres IP owego niepożądanego czytelnika.

W artykule nie uwzględniamy ew. aspektów prawnych tego typu działań – przed użyciem opisywanej metody warto skonsultować się z własnym działem prawnym.

Całość przykładowego scenariusza prezentujemy na diagramie poniżej:

track-mb

Scenariusz użycia trackującego obrazka

 

 

Jak to zrobić?

1. Microsoft Office

Dodanie odniesienia do zewnętrznego obrazka w pakiecie Office Microsoftu jest bardzo łatwe. Procedura wygląda tak samo w Wordzie, Excelu i PowerPoincie. Screeny zostały zrobione w Wordzie 2007, w innych wersjach poszczególne kroki mogą wyglądać trochę inaczej.

  1. Na wstążce wybieramy zakładkę Wstawianie, następnie Obraz.
  2. W polu Nazwa pliku wklejamy adres URL pliku, do którego chcemy się odnieść (w przykładzie używamy logo Sekuraka).
  3. Naciskamy na strzałkę obok przycisku Wstaw i wybieramy opcję Połącz z plikiem. Dzięki temu obraz zawsze będzie pobierany z Internetu i nie będzie miał kopii offline.

obrazki-image1

Aby sprawdzić, czy rzeczywiście rysunek zawsze jest pobierany z Internetu, możemy spróbować otworzyć dokument z Wiresharkiem w tle lub, co chyba jeszcze łatwiejsze, odłączyć wcześniej kabel sieciowy. W drugim przypadku zostanie wyświetlona informacja, że plik nie może zostać pobrany.

obrazki-image2

Istnieje jeszcze alternatywna metoda, działająca wyłącznie w Wordzie.

  1. W zakładce Wstawianie wybieramy Szybkie części->Pole.
  2. Z listy po lewej stronie zaznaczamy IncludePicture.
  3. W polu Nazwa pliku lub adres URL wklejamy adres odpowiedniego obrazka i pamiętamy o zaznaczeniu opcji Dane nieprzechowywane z dokumentem.
  4. Zatwierdzamy przyciskiem OK.

obrazki-image3

2. LibreOffice

Sposób postępowania jest podobny, jak w pakiecie firmy z Redmond.

  1. Przechodzimy do menu Wstaw->Obraz->Z pliku.
  2. Wklejamy URL obrazka i wybieramy opcję Łącze.
  3. Wybieramy Otwórz.
  4. LibreOffice może jeszcze zapytać, czy na pewno nie chcemy zagnieżdżać obrazka w pliku. Klikamy Pozostaw łącze.

obrazki-image4

Podobnie jak w przypadku MS Office plik obrazka został dołączony i znów stosujemy metodę odpięcia kabla sieciowego jako weryfikację, że plik rzeczywiście pobierany jest zdalnie. ;-)

obrazki-image5

Jak się zabezpieczyć?

Znamy już sposoby na dodanie do dokumentu obrazka pobieranego z Internetu. Czy opisane powyżej metody zawsze działają?

W przypadku Office’a: odpowiedź brzmi: nie. Obrazki zdalne nie są wyświetlane, gdy plik zostanie otwarty w trybie chronionym.

Tryb chroniony to mechanizm wprowadzony w Office 2010, którego celem jest ochrona przed potencjalnie niebezpiecznymi plikami. Domyślnie jest włączany dla plików pobranych z Internetu, załączników poczty itp., jeśli ustawiono odpowiedni rekord ADS. Więcej na ten temat można przeczytać na stronach Microsoftu.

obrazki-image6

Gdy jednak tryb chroniony nie włącza się, jedyną aplikacją z trójki: Word, Excel i PowerPoint, która domyślnie blokuje dołączanie obrazków z zewnętrznych źródeł, jest… ta trzecia.

obrazki-image7

Czy w pozostałych aplikacjach takie ostrzeżenie też może być wyświetlane? Na stronach Microsoftu znaleźliśmy podstronę poświęconą dołączaniu zewnętrznych źródeł danych (niemniej dotyczy ona wyłącznie programów Excel i PowerPoint), według której domyślnie obrazki zewnętrzne nie są wyświetlane w celu ochrony prywatności użytkownika. Sprawdziliśmy już, że w Excelu nie jest to prawda…

Zajrzeliśmy następnie do wspominanego w pomocy Centrum Zaufania. Jedynie w Excelu znaleźliśmy tam zakładkę Zawartość zewnętrzna. Mimo że z pomocy wynika, że powinna wystąpić również w PowerPoincie – nie widać jej (trochę to zaskakujące, biorąc pod uwagę fakt, że akurat tylko PowerPoint blokował obrazki). Wracając do Excela, Zawartość zewnętrzna nie zawiera żadnych opcji związanych z dołączaniem obrazków, stąd nawet ustawienie obu dostępnych opcji w pozycji Wyłącz… nie zablokowało żadnych zewnętrznych odniesień do obrazków.

obrazki-image8

Przeprowadziliśmy testy również na Office for Mac 2011. Okazało się, że obrazki zewnętrzne dodawane pierwszą metodą (a więc Połącz z plikiem) w ogóle nie były wyświetlane (it’s not a bug, it’s a feature?), zaś IncludePicture w Wordzie działał, bez możliwości zablokowania.

Jak na tle pakietu Microsoftu wypada jego otwartoźródłowy odpowiednik? Równie słabo. W ustawieniach LibreOffice nie znaleźliśmy żadnych opcji pozwalających jakkolwiek ograniczyć dołączanie obrazków z zewnętrznych lokalizacji. W każdym z testowanych przez nas plików (.docx, .xlsx, .pptx) grafiki były wyświetlane, z wyjątkiem obrazków dodanych metodą IncludePicture (co najpewniej wynika z braku kompatybilności).

 

Wnioski

W tabelce poniżej przedstawiamy wyniki naszych testów przeprowadzanych na pakietach Office 2007, LibreOffice 4.1.0.4 oraz Office For Mac 2011.

Wyświetlanie zewnętrznych obrazków w zależności od pakietu biurowego i typu pliku.

 

.docx

.docx (IncludePicture)

.xlsx

.pptx

MS Office 2007

Działa

Działa

Działa

Ostrzeżenie

Libre Office 4.1.0.4

Działa

Nie działa

Działa

Działa

Office for Mac 2011

Nie działa

Działa

Nie działa

Nie działa

Podsumowując: PowerPoint jako jedyny ze wszystkich testowanych aplikacji wyświetla ostrzeżenia o dołączaniu plików z zewnętrznych źródeł. W pakiecie MS Office (w wersji co najmniej 2010) jedyną domyślną linią obrony jest szansa, że plik zostanie otwarty w trybie chronionym. W pozostałych przypadkach pakiety biurowe nie umożliwiają blokowania zewnętrznych grafik.

Wygląda na to, że jedynym prawdziwie skutecznym sposobem jest odłączanie kabla sieciowego przed otwieraniem niepewnych dokumentów bądź używanie w tym celu dedykowanej maszyny wirtualnej pozbawionej dostępu do Internetu.

 

Załączniki

Poniżej udostępniamy do pobrania wygenerowane przez nas pliki. Nie musicie się obawiać, każdy z nich zawiera odwołania jedynie do logo Sekuraka :-). Zachęcamy do testów i uzupełniania naszej tabelki o kolejne wersje programów biurowych, być może w innych wersjach systemu/oprogramowania zachowanie poszczególnych aplikacji będzie różne.

 —Michał Bentkowski

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. aaapppp

    A jakiś przykład do pdf?
    Powklejałoby się w CV.

    Odpowiedz
    • wtq

      Przecież takiego docxa możesz sam zapisać jako pdfa i zobaczyć na typowych programach (Adobe Reader, Foxit Reader i ten domyślny czytnik z Windows 8 na przykład) czy i w jaki sposób to działa. Sekurak podrzucił Ci ciekawy temat i ja tam się cieszę, że nie podał wszystkiego na tacy.
      Kombinowanie i praktyka to droga do sukcesu ;)

      Odpowiedz
    • Robert

      Do PDFa można dodać JS

      Odpowiedz
  2. zxc

    Mozna przetestować w: Dropbox, Google Drive, Gmail :P

    Odpowiedz
    • Piotr

      Możesz powiedzieć w jaki sposób można to potem sprawdzić, czy link został otwarty? Czy w jaki sposób to kontrolować na którymkolwiek z tych domen sprawdzić jakieś logi czy coś? Nie studiowałem infy, i jestem raczej zielony w tym temacie :)

      Odpowiedz
  3. Jako zabezpieczenie nie starczy regułka w firewallu?

    Odpowiedz
    • Wystarczy ale pamiętaj że to HTTP… więc musisz zblokować ludziom web, no chyba że będziesz robił jakieś matche np. po user agencie.

      Odpowiedz
      • Michał B

        Wtedy można przerzucić się na protokoły HTTPS lub np. FTP, które, co ciekawe, też działają i w Libre, i w MS Office.

        Odpowiedz
      • Myślałem raczej o zablokowaniu MSWordowi dostępu do sieci po prostu.

        Odpowiedz
        • aaapppp

          Czasami wystarczy samo odpytanie o domenę.
          Masz np. domenę ja.pl
          Wysyłasz CV z linkiem http://cv201402282049.ja.pl/plik.jpg i sprawdzasz logi swojego dnsa czy ktoś odpytywał.

          Odpowiedz
  4. Bo w tym dziadowskim Office for Mac mało co w ogóle działa. Jest strasznie okrojony (niech ktoś znajdzie na przykład obsługę żądań przeczytania wiadomości w Outlooku)…

    Odpowiedz
  5. Amadeuszx

    MS word 97 z dodatkiem wyświetlającym docx:
    sekurak.docx – wyświetlił najpierw pustą ramkę później doczytał obrazek
    sekurak2.docx – Błąd! Nieznany argument przełącznika.

    MS excel 97:
    sekurak.xlsx – wyświetlił prostokąt trójkąt i kółko

    PPviewer 2010:
    sekurak.pptx – zamknął się zanim coś się pokazało

    Odpowiedz
    • A skąd Ty wziąłeś takiego starego worda? ;-) 97 to juz chyba z kilka lat nie jest supportowany (dla Office 2003 mają zakończyć support jakoś z XP).

      Odpowiedz
      • Amadeuszx

        Firmowy! :-)
        To chyba ma coś wspólnego z prawami Murphy’ego ;-)
        – Stare systemy produkują stare błędy.
        – Nowe systemy produkują tak nowe, jak i stare błędy.

        Odpowiedz
        • bl4de

          @Amadeuszx

          Firmowy Office z 97 roku…

          A Małomiękki chce, żeby firmy porzuciły XP-ka :D

          Życzę szczęścia…

          Odpowiedz
          • Widać...

            widać zaprzyjaźnił się z Panem Spinaczem i nie chce przyjaźni zerwać.

  6. Dzięki.
    Zanim artykuł powstał to ja se ręcznie podmieniłem w hex edytorze odnośniki.Musiałem się trochę pobawić zanim udało mi się to zrobić bez naruszenia struktury pliku.
    W tym pliku z przykładu który podałem w komentarzu było kilka odnośników( w tym „inculde picture”). Pewnie były użyte 2 metody naraz.
    PS. Na Word Viewer też działa.

    Odpowiedz
  7. Nie jest powiedziane czy w Libre Office można zabezpieczyć przed tym.

    PS.
    Mam jeszcze inny możliwy scenariusz:
    1.Andrzej wysyła leve cv ze „zdjeciem” do firmy którą podejrzewa o sprzedaż danych osobowych.
    2.Jeśli zdjęcie zostaną obejrzane z 2 różnych sieci(z 2 razem jakiś czas później) to Andrzej może być prawie pewien, że firma sprzedaje dane osobowe.

    Odpowiedz
  8. józek

    A no tak, OpenOffice jest robione przez apaczów – z pewnością zablokowali taką zabawkę z przyzwyczajenia ;)

    #odpowiedź 7661827 na pytanie z serii: co to jest LibreOffice i skąd na Boga ktoś to wyciągnył?

    Odpowiedz
  9. Adam Dobrawy

    Warto zwrócić uwagę na powiązany z tematem eksperyment z Dropboxem i usługę HoneyDocs:
    http://www.wncinfosec.com/dropbox-opening-my-docs/

    PS. Czy zna ktoś jakąś inną usługę, która zapisze i później da dostęp do pełnych nagłówków żądania HTTP? Fantastycznie jakby wykonywała przekierowanie HTTP pod wskazany. Nie chce nic samemu stawiać, zarządzać, myśleć o tym …

    Odpowiedz
  10. Imię

    Libreoffice ma taką opcję w najnowszej wersji: whatofhow.wordpress.com/2013/12/02/stealth-mode/

    Odpowiedz
  11. AdNEt

    Zrobił bym prędzej jakiś SET i PDF – może opiszecie krok po kroku jak to zrobić ?

    Odpowiedz
  12. …wystarczy HTML jako .DOC zapisać :)

    np.

    z logów serwera:
    1.2.3.4 – – [25/Jan/2015:14:44:00 +0100] „OPTIONS / HTTP/1.1” 200 30212 „-” „Microsoft Office Protocol Discovery”
    1.2.3.4 – – [25/Jan/2015:14:44:01 +0100] „GET /test HTTP/1.1” 404 585 „-” „Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E; ms-office; MSOffice 14)”
    1.2.3.4 – – [25/Jan/2015:14:44:02 +0100] „GET /test HTTP/1.1” 404 585 „-” „Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E; ms-office; MSOffice 14)”

    Odpowiedz
  13. Mat

    Pakiet 2013 na Windzie blokowane wszystko word,excel,powerpoint :(

    Odpowiedz
  14. Adam

    Testowałem teraz wasze pliki na Office for Mac 2016 i na każdym otwiera się obrazek bez zapytania.

    Odpowiedz
  15. Adikso

    WPS Office by KingSoft:

    WPS Writer: sekurak.docx – Działa, wysłało zapytanie, brak ostrzeżenia, nie widać obrazka(?)

    WPS Writer: sekurak2.docx – Działa, wysłało zapytanie, brak ostrzeżenia, nie widać obrazka(?)

    WPS Spreadsheets – Działa, wysłało zapytanie, brak ostrzeżenia, nie widać obrazka(?)

    WPS Presentation – Nie działa, zapytanie nie zostało wysłane, nie widać obrazka

    Dziwne, że obrazki nie wyświetlają się. Można je zaznaczyć i edytować, ale obrazka nie ma (przezroczyste).

    Odpowiedz
  16. Adam

    Się jak może to zadziałać w Word 2010 w górę skoro defaultowo dla plików sciągniętych z Internetu Windows Attachment Execution Service oznacza w ads’ie pliku że pochodzi z Internetu i uruchamia Protected View. O ile się nie mylę dopóki Pani/ Pan z HR nie opuści tryb chroniony to opisany artykuł nie ma zastosowania czy się mylę?

    Odpowiedz
    • Jak widać po komentarzach innych ludzików – różnie z tym bywa :)

      Odpowiedz
      • Adam

        Tak, tyle że z tych komentarzy nie wynika, czy opuścili Protected View czy nie …

        Odpowiedz
  17. zby

    To chyba może być też idealne narzędzie do spearphishingu – można je nieźle 'targetować’ – wysyłać raz zwykłe obrazki a raz pliki z wirusem. Może nawet dałoby się wykryć kiedy obrazek ściąga skaner wirusów i wtedy wysyłać coś nieszkodliwego.

    Odpowiedz
  18. kek

    zdecydujcie się czy piszecie po polsku czy po angielsku, bo nie da się tego czytać, jak co drugie słowo jest w innym języku. „upload na share dyskowy”, „request do serwera trackującego”…

    Odpowiedz

Odpowiedz