Rozpracowano protokół Skype

Pilnie strzeżony i solidnie zabezpieczony protokół Skype’a został rozpracowany metodami inżynierii wstecznej oprogramowania (tzw. reverse-engineering) przez niezależnego badacza Efima Bushmanova, który opublikował na swojej stronie wyniki swoich badań wraz z kodami źródłowymi otwierającymi drogę do otwartych klientów Skype.

Dla niezorientowanych w temacie, jest to ogrom pracy, zarówno na poziomie dokonanej analizy, jak również obejścia znakomitych zabezpieczeń Skype’a.

Analiza, źródła i baza IDA — http://thepiratebay.org/torrent/6442887

Top 10 narzędzi do reversingu

Moja lista ulubionych i najczęściej wykorzystywanych narzędzi w reverse engineeringu.

1. HIEW

Bezapelacyjnie pierwsze miejsce. Narzędzie (w tym wypadku nie można mówić o nim jak o zwykłym hexedytorze), z którego najczęściej korzystam do edycji plików, kodu, do szybkiego odnajdywania tego co potrzeba.

Mimo konsolowego GUI jest to prawdziwy kombajn, bez którego nie wyobrażam sobie pracy w reversingu.

HIEW

http://www.hiew.ru/

2. OllyDbg

Kiedyś wpisałbym tutaj SoftICE, jednak jego lata panowania już minęły. OllyDbg mimo pewnych niedogodności względem SoftICE, godnie go zastąpił, głównie ze względu na system wtyczek, które bez wątpienia stanowią dzisiaj o sile tego debuggera (np. ODBScript, dzięki któremu można robić cuda i dzięki któremu na nowo odnalazłem radochę z pracy).

Również duża liczba zmodyfikowanych wersji OllyDbg świadczy o ogromnej rzeszy fanów tego debuggera.

OllyDbg

http://www.ollydbg.de/

3. IDA

Najlepszy deasembler na świecie, bez niego nie ma mowy o analizie plików binarnych ani prowadzenia projektu, który wymaga kilku miesięcy pracy przy modyfikacji jakiegoś oprogramowania.

Posiada wbudowany system wtyczek, język skryptowy, rozpoznawanie znanych funkcji z całej rzeszy kompilatorów i ich bibliotek oraz masę zaawansowanych funkcji ułatwiających analizę statyczną oraz dynamiczną.

IDA Pro

https://www.hex-rays.com/idapro/

4. FileMon i RegMon

Ex aequo na tym samym miejscu. Narzędzia, dzięki którym zaoszczedziłem kupę pracy przy śledzeniu działania aplikacji. Wystarczy odpalić, ustawić filtry i mamy wszystko co potrzeba, potem wystarczy znaleźć odpowiedni ciąg znaków w aplikacji, xref (you know the drill) itd.

Przy okazji nie wiem jak wy, ale do mnie zupełnie nie przemówiło zintegrowane narzędzie ProcMon.

RegMon

Linki — FileMon RegMon ProcMon

5. Hex Workshop

To czego nie ma HIEW ma Hex Workshop, główną zaletą Hex Workshop jest praca na wielu plikach, co znacznie ułatwia kopiowanie danych z jednego pliku do drugiego, porównywanie binarne plików.

Dodatkowe funkcje umilające życie to m.in. wbudowane hashowanie, przeglądanie zdefiniowanych struktur danych. Bardziej rozbudowanym hexedytorem, który mógłby zastąpić Hex Workshop w mojej bazie narzędzi jest WinHex, jednak zawsze był dla mnie zbyt toporny, aby stał się narzędziem, które klikam w pierwszej kolejności.

Hex Workshop

http://www.hexworkshop.com/

6. LordPE

Process viewer i dumper, który mimo już swojego zaawansowanego wieku, nadal jest przydatnym narzędziem, które umożliwia szybki zrzut pamięci wybranego procesu (oraz jego pamięci wirtualnej), odbudowę uszkodzonych struktur plików PE czy też szybką edycję flag sekcji exeków.

LordPE

LordPE

7. Universal Extractor i MultiExtractor

Czasami zdarza się, że trzeba rozpakować pliki instalatora, albo z binarki wyciągnąć wszystkie jego zasoby, te 2 narzędzia pozwalają sprawnie i szybko rozpakować wszystkie rodzaje instalatorów stosowane w dystrybucji oprogramowania oraz wyciągnąć chyba wszystkie multimedialne formaty plików ukryte w innych plikach binarnych.

Universal Extractor

Universal Extractor — http://legroom.net/software/uniextract

MultiExtractor v2.80a

MultiExtractor — http://www.multiextractor.com

8. .NET Reflector i JAD

Rozwój techniki sprawił, że nie da się już przejść obojętnie obok aplikacji .NET oraz tych w Javie, dlatego te 2 narzędzia prędzej czy później wylądują u każdego, kto zajmuje się reversingiem.

.NET Reflector

.NET Reflector — http://www.red-gate.com/products/reflector/
JAD — http://www.varaneckas.com/jad

9. eXeScope

Prosty i szybki viewer zasobów plików wykonywalnych, mimo, że są już zdecydowanie lepsze narzędzia (jak np. te wbudowane w Visual Studio), eXeScope przydaje się gdy trzeba szybko znaleźć coś w zasobach.

eXeScope

eXeScope

10. ImpREC

Narzędzie, bez którego nie obejdzie się żaden unpacking, w pewnym momencie i tak się przyda 🙂

ImpREC

ImpREC

Gdzie szukać innych narzędzi?

Jeśli szukasz narzędzi, odwiedź te strony:

Wykop wpis Zagłosuj na ten wpis na Wykopie

j00ru//vx tech blog

infoNie wiem w sumie czemu, ale jakiś czas temu j00ru otworzył swojego bloga i mimo, że jako pierwszy wpisałem się do komentarzy (sorry Gyn :P) zapomniałem jakoś o nim wspomnieć tutaj na Security News.

Blog jest po angielsku, ale to raczej nie powinno być dla nikogo problemem, artykułów jest na razie mało, ale za to są bardzo techniczne i myślę, że warto zajrzeć i zachęcić autora do kolejnych wpisów. Obecnie dostępne artykuły:

Strona bloga — https://j00ru.wordpress.com/

Reverse engineering i co dalej

Chciałbym dzisiaj się was zapytać drodzy i nieliczni czytelnicy, co można robić w życiu ze znajomością tak nietypowej dziedziny jaką jest reversing?

Jak zapewne wielu z was zaczynałem od nie całkiem legalnej działalności, która z czasem pozwoliła mi zabrać się za pierwszą pracę zawodową przy lokalizacji gier. Zdobywana przez lata wiedza doprowadziła do tego, że zacząłem robić systemy zabezpieczeń aplikacji, lata mijały, tysiące deadlistingów, setki bugów, sobotnie noce pod szyldem debuggera. Dziwię się, że jeszcze nie wytatuowałem sobie „asm4life” na plecach.

Kolejnym etapem jak nietrudno się domyśleć była praca w firmie antywirusowej (której nawet sam nie szukałem), w międzyczasie praca w kolejnej firmie antywirusowej… Z moich obserwacji wynika, że osoby związane od dawna z reversingiem kończą w kolejnych firmach antywirusowych lub zupełnie odchodzą od fachu.

Osobiście staram się jak najbardziej uniezależnić od pracy w zewnętrznych firmach i pracować na własny rachunek, jednak jest to cholernie trudne, gdy napływają nowe oferty pracy w av.

Teraz nasuwa mi się pytanie — czy to jedyne co można robić z taką wiedzą?

  • praca w firmie antywirusowej
  • praca przy lokalizacji gier
  • praca w firmach produkujących zabezpieczenia DRM

Czy to jedyne opcje? Może mieliście inne doświadczenia zawodowe? Czy jest życie poza tymi dziedzinami?

Uninformed vol 10

Ukazał się 10 numer magazynu Uninformed, w którym jak zwykle ciekawe artykuły techniczne na wysokim poziomie, tym razem:

  • Can you find me now? Unlocking the Verizon Wireless xv6800 (HTC Titan) GPS
  • Using dual-mappings to evade automated unpackers
  • Analyzing local privilege escalations in win32k
  • Exploiting Tomorrow’s Internet Today: Penetration testing with IPv6

Całość na http://uninformed.org/?v=10