Paweł Goleń, blog

Przy testowaniu aplikacji na iOS bardzo przydatny jest cycript. Ma on jednak jedną wadę – nie można “wstrzyknąć się” do procesu, który jest dopiero tworzony. Kiedy to jest potrzebne? Na przykład wtedy, gdy aplikacja przeprowadza jailbreak detetection i chcielibyśmy ten test oszukać.

Rozwiązaniem tego problemu może być użycie narzędzia Frida, które pozwala uruchomić proces i jednocześnie wstrzyknąć nasz skrypt, który pożądane modyfikacje wprowadzi.

Frida ma swoje wady, dość kiepską dokumentację, nie do końca działa na iOS7 (w moim przypadku cały binding do ObjC nie działa w iOS7), ale jeśli do czynienia mamy z iOS8 to zwykle działa zgodnie z oczekiwaniami.

Czytaj dalej...

Od dość dawna używam prostego skryptu, który identyfikuje:

  • nowe pliki;
  • usunięte pliki;
  • zmodyfikowane pliki.

Głównie chodzi mi o wykrycie sytuacji, w której pliki na moim serwerze zmieniają się w sposób “nieoczekiwany” (malware, włamanie, dostęp z konta innych użytkowników hostingu). Samo porównanie wykonywane jest w sqlite.

Skrypt napisałem, sprawdziłem, że działa i potem po prostu używałem. Raz na jakiś czas wpadał mi jednak do głowy pomysł, by zrobić jego optymalizację. Nie jakąś dużą, po prostu zrobić indeksy na tabelach. I tak przez długi czas pomysł pozostawał w koszyku “może kiedyś”, aż w końcu...

Przed:

findnew_files: 24.0540001392 finddeleted_files: 21.9730000496 findmodified_files: 31.5250000954

Po:

findnew_files: 0.0569999217987 finddeleted_files: 0.050999879837 findmodified_files: 0.0410001277924

Ups :)

Oryginał tego wpisu dostępny jest pod adresem Index robi różnicę

Autor: Paweł Goleń

Na początek oczywista oczywistość:

Risk = Impact x Likelihood

Załóżmy, że w trakcie testów udaje się znaleźć miejsce, w którym następuje jednocześnie brak walidacji danych wejściowych oraz brak encodingu na wyjściu. Te dwie słabości składają się na podatność - XSS.

XSS jest oczywiście zły, niedobry i można przy jego pomocy zrobić (prawie) wszystko, więc ryzyko jest duże, prawda?

Czytaj dalej...

Kiedyś świat był prosty, dwie metody GET i POST były wystarczające. Do tego od biedy HEAD i OPTIONS. A teraz? Jakieś takie wynalazki typu REST wymagające metod typu PUT, DELETE. Normalnie zgroza! A teraz pytanie – czy da się w tym scenariuszu wykorzystać CSRF?

Czytaj dalej...

Nie ma to jak dobry marketing: Bank na miarę XXI wieku: płatności smartwatchem, weryfikacja za pomocą odcisku palca. Tak, nie jest to nowość, ale przez długi czas po prostu to ignorowałem. Nie korzystam z usług tego banku, więc siłą rzeczy nie będę korzystał też z tej aplikacji. Mimo wszystko poniższe zdanie skomentuję:

Pierwszy z nich to sposób klasyczny, wymagający podania czterocyfrowego kodu PIN, drugi przy użyciu najlepszego i najłatwiejszego narzędzia weryfikacji, czyli odcisku palca.

Bardzo jestem ciekawy jakie były kryteria określania “najlepszości” tego rozwiązania. Jestem również bardzo ciekawy jakie będą zalecenia dla klientów w takim przypadku: Millions of fingerprints stolen in US government hack.

Powtórzę to jeszcze raz – nasza biometria dość dobrze nas identyfikuje. Niestety, nie kontrolujemy jej (zostawiamy nasze ślady), nie możemy jej również zmienić. Z tego powodu zawsze, gdy będę miał do wyboru biometrię lub np. PIN, wybiorę PIN.

Oryginał tego wpisu dostępny jest pod adresem A teraz zmieniamy odciski palców

Autor: Paweł Goleń

How we cracked millions of Ashley Madison bcrypt hashes efficiently. Tia, bo to pierwszy raz coś takiego widzę? Ale przynajmniej hashe haseł były mocne, no nie?

Oryginał tego wpisu dostępny jest pod adresem A bo to pierwszy raz?

Autor: Paweł Goleń

Choć miałem Technical Preview Windows 10 to sam Edge niespecjalnie mnie zachwycał. Sytuacja poprawiła się w ostatnich wersjach przed finalną wersją Windows 10. Nie skupiałem się jednak specjalnie na tej przeglądarce, od dawna korzystam z Firefoxa i nawet Chrome mnie do siebie nie przekonał (trwale). Ostatnio jednak postanowiłem zobaczyć jak ten Edge działa (w szczególności – poeksperymentować z notatkami na stronach wysyłanymi później do OneNote) i jestem pod wrażeniem. Przeglądarka działa szybko i nie widzę większej różnicy w wyglądzie stron między Edge/Firefox/Chrome.

Niestety, do czasu pojawienia się dodatku usuwającego reklamy (ok, są, ale nie budzą mojego zaufania) raczej korzystać będę sporadycznie. Zastanawiam się jeszcze nad eksperymentowaniem z privoxy, choć ten model filtrowania reklam z oczywistych powodów skuteczność ma ograniczoną: How can Privoxy filter Secure (HTTPS) URLs?

Oryginał tego wpisu dostępny jest pod adresem Edge fajny jest

Autor: Paweł Goleń

Krótkie odniesienie do artykułu “Wprowadzenie do narzędzia Burp Suite” z Sekurak/Offline #1. W artykule znajduje się takie stwierdzenie:

Fiddler, działający głównie na systemie Windows, jest „web proxy debuggerem” i w tej roli radzi sobie świetnie. Niestety trudno postawić go obok Burpa z tego względu, że Fiddler udostępnia funkcje skupione wyłącznie wokół debugowania ruchu HTTP i domyślnie nie ma zbyt dużo funkcji, które interesowałyby inżyniera bezpieczeństwa. Można by rzec, że gdy Burp stworzony jest dla pentesterów, to Fiddler dla programistów web aplikacji, którzy chcą mieć kontrolę nad zapytaniami HTTP. Jeżeli Fiddler jako proxy wyda nam się wygodniejszy, to zawsze można używać go w połączeniu z Burpem i w jednym programie analizować żądania, a w drugim atakować testowaną aplikację.

Tak, to prawda. Ale to wcale nie jest wada Fiddlera.

Czytaj dalej...

Dziś krótkie nawiązanie do tego komentarza. Dlaczego uważam, że jest sens używać TLS (lub ogólnie – bezpiecznego kanału) dla każdej komunikacji? Dlatego, że inaczej żyjesz w matriksie. Kilka rzeczy, o których warto pomyśleć.

Czytaj dalej...

Michał dał mi znać, że właśnie ukazał się pierwszy numer zin Sekurak/Offline. Numer jest dość obszerny i merytorycznie ciekawy. Choć widziałem ten numer przed oficjalnym wydaniem, zaraz wrzucę sobie pierwszy numer na Kindla.

Pozostaje życzyć powodzenia/samozaparcia do kolejnych numerów.

Oryginał tego wpisu dostępny jest pod adresem Sekurak/Offline #1

Autor: Paweł Goleń