Pwn-ing Linux x86/x64

Prowadzący: Jakub Szewczyk, Grzegorz Uriasz


Kategorie: informatyka stosowana

Celem warsztatu będzie nauczenie uczestników podróży w czasie tak jak w filmie dostępnym pod tym linkiem: https://www.youtube.com/watch?v=KEkrWRHCDQU. Jak doskonale wiemy czasoprzestrzeń można w dość łatwy sposób hakować np. korzystając z sendmaila i emacsa wraz z odpowiednio podłączonym modemem. Pokażemy uczestnikom jak w łatwy sposób przenosić obiekty w czasie. Warsztaty będą sprowadzały się do nauki jazdy na pingwinie oraz nauki szermierki wraz z brodatym jeźdźcem bizona.

Fikcja fikcją a rzeczywistość rzeczywistością - hakowanie dla wielu kojarzy się głównie z scenami hakowania w filmach które z rzeczywistością często mają tyle wspólnego jak powyższy mityczny opis możliwości hakowania. A więc czym de facto jest hakowanie?

Często w mediach hakerzy są przedstawiani jako osoby wykradające w sposób nielegalny bazy danych oraz kradnących konta bankowe. Ten opis jest opisem tak zwanego blackhata. My podczas warsztatów zajmiemy się hakowaniem reprezentowanym przez whitehaty - czyli badaniem i szukaniem w sposób legalny luk i błędów w programach i systemach teleinformatycznych. Hacking sam w sobie jest zjawiskiem pozytywnym ponieważ dzięki whitehatom możemy być pewni że nasze konta bankowe są bezpieczne.

Hacking ma wiele oblicz - forensics, reversing, cracking, web, … . My skupimy się głównie na pwn-ingu. A więc co to jest pwn-ing?

"pwn" - means to compromise or control, specifically another computer     (server or PC), web site, gateway device, or application. It is synonymous with one of the definitions of hacking or cracking, including iOS jailbreaking. - Wikipedia.        

Pwning pozwala na wykonywanie dowolnego kodu który normalnie nie powinien przez dany program zostać wykonany. W efekcie możliwe jest np. teleportowanie się w mario: https://www.youtube.com/watch?v=vAHXK2wut_I

Aby każdy pracował na takiej samej architekturze i miał dostęp do tych samych narzędzi nasze warsztaty przyjmą formę a'la wargames - dostaje się hasło do pierwszego zadania, a każde kolejne trzeba będzie zdobyć.

Pierwszego dnia warsztatów zrobimy wstęp do programowania niskopoziomowego i omówimy jak pisać i rozumieć proste programy w asemblerze (np. w nasmie). Podczas kolejnych dwóch dni będzimy po kolei omawiać zagadnienia związane z exploitacją, z zadaniami do każdego tematu.

 

Wymagania:

  • Wzięcie ze sobą na warsztaty laptopa/komputera stacjonarnego/mainframe’u z działającym klientem ssh - uczestnicy będą łączyli się z naszą maszyną na której będą dostępne zadania do zrobienia (na Linuxy polecamy openssh, na Windowsy PuTTY)

  • Znajomość dowolnego języka programowania, najlepiej C/C++

  • Chęć do poznania programowania niskopoziomowego

  • Dwie klawiatury żeby pisać dwa razy szybciej (opcjonalnie)

​Wszelkie informacje potrzebne podczas warsztatów zapewnimy w postaci skryptu dla uczestników.