8 stycznia 2012

Wreszcie centralny punkt informacyjny o konferencjach dot. IT Security

Praktycznie nie ma miejsca, które koncentrowałoby odbywające się na świecie konferencje związane z bezpieczeństwem teleinformatycznym.

Zawsze brakowało mi czegoś takiego, dlatego stworzyłem kalendarz wydarzeń (ciekawszych z mojego punktu widzenia) na blogu websec.rooted.pl.
Niestety aktualizacja go i bycie na bieżąco było zbyt czasochłonne więc czas zrobił swoje i prawie przestałem go aktualizować.

Na szczęście powstał świetny serwis secore.info, który agreguje konferencje związane z bezpieczeństwem.
Jakby tego było mało, misja tego serwisu zakłada skupić specjalistów i ekspertów od bezpieczeństwa w jednym miejscu i umożliwić wyszukiwanie się w prosty sposób.

SECore.info działa na zasadzie organizera imprez i CFP (Call For Papers) z możliwością zdefiniowania alertów. Lista CFP na pewno jest przydatna dla osób szukających miejsca gdzie mogliby zaprezentować coś co chcieliby zaprezentować.
Świetnym pomysłem jest możliwość oceniania i recenzowania tych imprez oraz lista osób, która zapisała się przez serwis jako jej uczestnicy czy prelegenci.
Bardzo innowacyjne i jak najbardziej adekwatne do takiego miejsca jest też lista zapytań do ekspertów, w tym oferty pracy.

Serwis istnieje od lipca 2011 roku, teraz jest w fazie bety, a baza konferencyjna jest już bardzo pokaźna, brakuje jeszcze paru polskich ale jestem pewny, że w niedługim czasie i one dołączą.
Za inicjatywą projektu stoją 3 osoby:  Marisa Fagan, Jake Kouns i Peter Shoukry.

Szczerze to jestem podekscytowany tym projektem, nie wszystko jeszcze działa ale śledzę ich poczynania i gorąco kibicuję dalszego rozwoju.
Sądzę. że SECore.info może stać się w niedługim czasie ważnym miejscem odwiedzanym przez osoby ze światka security oraz dla firm szukających ekspertów z danej dziedziny.

Cóż, muszę usunąć swój kalendarz imprez, like it.

7 stycznia 2012

Bezpieczne szyfrowanie danych za pomocą 7-zip

Na pewno każdemu zdarzyło się, że potrzebował zaszyfrować jakieś dane na szybko i w bezpieczny sposób ale akurat nie miał dostępu do oprogramowania GPG i kluczy publicznych lub po prostu plik był przeznaczony dla osoby, która nie posiada swojego klucza publicznego do asymetrycznego szyfrowania oraz nie zamierza go zakładać.

Z pomocą przychodzi popularne oprogramowanie do kompresowania danych 7-zip, które pozwala w prosty sposób zabezpieczyć je silnym algorytmem blokowego szyfrowania AES-256.

Szyfrowanie danych:
7z a zaszyfrowane.7z plikiDoZaszyfrowania -mhe -p
Tak to wygląda:
7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30
p7zip Version 9.04 (locale=pl_PL.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Scanning
Creating archive zaszyfrowane.7z

Enter password (will not be echoed) :
Verify password (will not be echoed) :
Compressing  plik    
Everything is Ok
Przestrzegam przed wpisywaniem hasła tuż po parametrze -p ponieważ wtedy jawnie podajemy hasło, które może zostawić ślad na komputerze choćby w postaci historii komend powłoki.
Parametr -mhe jest o tyle istotny, że karze szyfrować również nagłówki, czyli listę zaszyfrowanych plików wewnątrz archiwum, datę oraz ich wielkość.

Odszyfrowanie danych:
7z x zaszyfrowane.7z
Efekt:
7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30
p7zip Version 9.04 (locale=pl_PL.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Processing archive: zaszyfrowane.7z
Enter password (will not be echoed) :
Extracting  plik
Everything is Ok
Size:       4
Compressed: 182
Można sobie sprawdzić metodę kompresji i szyfrowania oraz poprawność szyfrowania nagłówków próbując wylistować zaszyfrowane archiwum:
7z l zaszyfrowane.7z
Poniżej wyszczególniłem ważne fragmenty:
Enter password (will not be echoed) :
Listing archive: zaszyfrowane.7z
----
Path = zaszyfrowane.7z
Type = 7z
Method = LZMA 7zAES
Solid = -
Blocks = 1
Physical Size = 182
Headers Size = 166
   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2012-01-07 12:50:37 ....A            4           16  plik
------------------- ----- ------------ ------------  ------------------------
                                     4           16  1 files, 0 folders

1 grudnia 2011

Automatyzacja komunikatora GG, czyli bot Gadu-Gadu

Po co automatyzować swój komunikator GG?
Jest wiele sytuacji, w których może się to przydać np.:
  • automatyczna odpowiedź gdy ktoś do nas napisze, więcej, wiele odpowiedzi w zależności od osoby, pory dnia itp.
  • wysyłanie wiadomości do osób zależnie od zmiany ich opisu czy statusu 
  • prowadzenie automatycznej konwersacji, ustalenie scenariusza, dobry fun
  • logowanie powiadomień
  • wysyłanie SMS gdy ktoś się odezwie
  • inne zaawansowane zastosowania
Aby napisać bota GG trzeba przygotować środowisko.
Należy ściągnąć klienta GG EKG, a następnie skompilować z obsługą języka skryptowego Python:
./configure --with-python && make && make install
Stworzyć katalog ~/.gg/scripts/autorun/ z którego automatycznie po starcie EKG będą ruszały nasze skrypty.

Odpalamy klienta EKG poprzez wywołanie polecenia ekg.

Przystępujemy do konfiguracji swojego numer GG lub innego:
set uin 123456
set password mojetajnehaslodogg
save
Ściągamy listę kontaktów z serwera
list -g
lub dodajemy kontakty ręcznie
add numer nazwa
Każdorazowo można zapisać ustawienia poleceniem save.
Teraz przystępujemy do napisania kodu, stwórz plik skrypt.py w ~/.gg/scripts/autorun/.

Wklej taką zawartość:
#!/usr/bin/python

import ekg
import re
import logging
from time import gmtime, strftime

logger = logging.getLogger('ekg')
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler('log.txt')
fh.setLevel(logging.DEBUG)
logger.addHandler(fh)

def init():
    ekg.printf("generic", "Wlaczenie")
    return 1

def deinit():
    ekg.printf("generic", "Wylaczenie")

def handle_status(uin, name, status, descr):

    if not descr:
        descr = ''

    logger.info(str(uin)+","+descr)
    ekg.printf("generic",str(uin)+","+descr)

Ten kod pozwoli na rejestrowanie zmian opisów osób z listy kontaktów i zapisze je do pliku i na ekran programu EKG.

Wystarczy zapisać plik, uruchomić ponownie ekg i na ekran powinny zacząć spływać komunikaty zmian opisów.

Kluczowa jest tutaj funkcja handle_status przyjmująca parametry, które można odczytać i operować na nich.
Jest więcej funkcji, które dają dodatkowe możliwości interakcji z protokołem GG.
Polecam zapoznać się z dokumentacją na stronie http://ekg.chmurka.net/docs/python.txt.

28 listopada 2011

Dlaczego Firefox działa wolno i jak go przyspieszyć

Dosyć często ludzie narzekają na ślamazarność Firefoksa, słaby wynik w swoich indywidualnych odczuciach co do szybkości, zawieszający się interfejs itp.

Zauważyłem, że głównym winowajcą tego problemu najczęściej jest Flash.
W przeglądarce Chrome kolejne zakładki są uruchamiane jako nowe procesy,
przez co gdy Flash nie domaga to nie wiąże się to z efektem zawieszenia interfejsu całej przeglądarki jak to jest w Firefox-ie gdzie zakładki są niejako w jednej puli procesu.

Gdyby takiemu użytkownikowi Firefox-a dać 2 dodatki:
Okazuje się, że nie dość, że przestaje narzekać na Firefox-a to jeszcze jest zadowolony z możliwości decydowania on demand czy i gdzie uruchomiać aplikacje Flash-owe.

15 listopada 2011

Spotkanie OWASP Poland Kraków chapter

Nowe spotkanie OWASP Krakowskiego chapteru na horyzoncie. Odbędzie się ono 23. listopada 2011 tak jak wcześniej w Krakowskim Parku Technologicznym o 18:00.






Agenda:
  • OWASP News
  • 18.00 - 19.00 Wybrane podatności w webowych interfejsach zarządzających
    urządzeń sieciowych - Michał Sajdak, Securitum 
  • 19.00 - 19.15 Przerwa / networking
  • 19.15 - 19.25 Narzędzia OWASP dla developerów. Krótkie wprowadzenie do
    OWASP ESAPI i AppSensor - Wojciech Dworakowski
  • 19.25 - 20.00 Bezpieczeństwo CouchDB - Paweł Krawczyk

Do zobaczenia.

25 lipca 2011

Wpisy na temat Web Security

Już jakiś czas temu stworzyłem osobny blog poświęcony Web Security websec.rooted.pl.
Na drugim blogu piszę wyłącznie o Web Security z powodu zawodowego związania z tą tematyką, zamiłowania, a także dlatego ponieważ ten obszar bezpieczeństwa staje się(stał?) osobną, obszerną i fascynującą dziedziną bezpieczeństwa.
Z braku czasu ostatnio nie za wiele pisuje na blogach ale postaram się nie zaniedbać obu blogów :)

Mimo to zachęcam do odwiedzania i/lub zanotowania w swoim czytniku RSS.

4 lipca 2011

Ubuntu Unity, własne skróty aplikacji

Unity to nowy interfejs graficzny w Ubuntu, tworzony przez Canonical Ltd.
Jest bardzo ładny i spełnia swoje zadanie czyli maksymalne wykorzystanie przestrzeni na pulpicie dla aplikacji.

Niestety dopieszczać Unity domyślnie trzeba edytując pliki konfiguracyjne lub instalując dodatkowe oprogramowanie, które to ułatwi.
Pierwszą myślą jaka się nasuwa przy testowaniu interfejsu jest kwestia dodania własnej aplikacji do paska wyszukiwania.

Aby to zrobić należy stworzyć nowy plik w ścieżce
/usr/share/applications/
lub
~user/.local/share/applications/
z nazwą zakończoną .desktop, np jak w moim przypadku burp.desktop z zawartością
[Desktop Entry]
Name=Burp Suite proxy
Exec=/home/eneon/tools/burpsuite_v1.3.03/suite.sh
Type=Application
StartupNotify=true
Categories=Network
Wszystkie pola są oczywiste i chyba nie trzeba tłumaczyć co oznaczają.

Dodatkowo przydatne jest tworzenie tzw. aktywatorów (ang. quicklists) czyli podręcznego menu dodatkowych poleceń dostępnych pod prawym przyciskiem gryzonia na ikonie paska aplikacji Unity.

Aby stworzyć taki aktywator należy dodać sekcję:
[NazwaAktywatora Shortcut Group]
Name=Nazwa lub opis aktywatora
Exec=polecenie z argumentami
TargetEnvironment=Unity
oraz wpis:
X-Ayatana-Desktop-Shortcuts=NazwaAktywatora;
Gdy chcemy ich więcej dodajemy kolejne sekcje Shortcut Group oraz dopisujemy do X-Ayatana-Desktop-Shortcuts po średniku.

Możliwości konfiguracyjne są o wiele większe niż w powyższym przykładzie jak:
  • ustawienie ikony
  • personalizowane nazwy i opisy aplikacji
  • uruchomienie w terminalu
  • i wiele innych 
Efekt wygląda tak



Efekt widać dopiero po zrestartowaniu Unity, można to zrobić wylogowując się lub wpisując w konsoli
unity --replace &
lub
compiz --replace &
Samo zainstalowanie aplikacji na pasku po lewej stronie można zrobić najprościej poprzez uruchomienie jej,  a następnie na ikonie uruchomionego programu ustawić pozostawienie aplikacji na pasku jak na dołączonym obrazku