Category Archives: Hacking

POMOCY!! Linux zjadł mi RAM!

Co się dzieje?

Linux pożycza sobie nieużywaną pamięć jako cache dysku. To stwarza złudzenie, że system zużywa dużo pamięci. To tylko złudzenie! Wszystko jest w porządku!

Dlaczego się tak dzieje?

Cache’owanie dysku sprawia, że system działa dużo szybciej! Nie ma wad, poza tym, że jest to mylące dla początkujących. W żadnym wypadku nie zabiera pamięci aplikacjom!

Co jeśli chcę włączyć więcej aplikacji?

Jeśli Twoje aplikacje potrzebują więcej pamięci, po prostu odbierają jej część, którą wcześniej zajął cache dysku. Ten cache może być w każdej chwili oddany aplikacjom. Wcale nie kończy Ci się RAM!

Czy potrzebuję więcej swapa?

Nie, cache dysku tylko pożycza pamięć, której aplikacje w danym momencie nie potrzebują, ten proces nigdy nie będzie używał pamięci swap (to byłoby po prostu głupie…).

Jak powstrzymać system od robienia tego?

Nie możesz tego zatrzymać. Jedynym powodem, dla którego ktokolwiek chciałby zatrzymać ten proces jest to, że myślą, że cache dysku zabiera pamięć z ich aplikacji, a tego nie robi! Cache dysku przyśpiesza start aplikacji i powoduje, że działają płynniej, ale NIGDY, PRZENIGDY nie zabiera im pamięci. Nie ma więc żadnego powodu by wyłączać ten proces!

Dlaczego `top` i `free` mówią, że moja pamięć jest zajęta kiedy nie jest?

Jest to po prostu nieporozumienie w definicji pojęć. Ty i system, zgadzacie się, że pamięć zajęta to ta, której używa aplikacja, podczas gdy pamięć wolna, to ta, która nie jest używana do niczego.

Jednak jak nazwiesz pamięć, która jest jednocześnie zajęta i dostępna dla aplikacji?

Nazwałbyś ją raczej wolną, ale Linux nazywa ją zajętą.

Pamięć, która jest: Ty nazwiesz ją Linux nazwie ją
Zajęta przez aplikacje Używana Używana
Dostępna dla aplikacji, ale używana przez coś innego Wolna Używana
Nieużywana Wolna Wolna

To „coś” jest tym, co `top` i `free` nazywają „buffers” i „cached”. Skoro Twoja terminologia różni się od terminologii Linuxa, Ty myślisz, że masz mało pamięci.

Jak sprawdzić ile pamięci mam w rzeczywistości?

By zobaczyć ile RAMu jest zajęte przez Twoje aplikacje, uruchom `free -m’ i spójrz na rząd, który jest opisany „-/+ buffers/cache” w kolumnie „free”. To jest odpowiedź na pytanie, podana w megabajtach .

agilob@Asus-PC ~ $ free -m
            total  used free shared buffers cached
Mem:         3890  3704  186      0     144   2123
-/+ buffers/cache: 1436 2454
Swap:        3812  5    3807

Jeśli nie wiesz jak czytać te liczby, wciąż będziesz myślał, że masz zajęte 95% pamięci, gdy w rzeczywistości masz zajęte 63%

 Artykuł opublikowany i przetłumaczony za zgodą autora. źródło.

Podstawowa konfiguracja kismeta

Wpis ten jest suplementem do wpisu o wardrivingu.

su root
 
nano /etc/kismet/kismet.conf

musisz poszukać i przerobić na coś podobnego do tego poniżej, edytować należy 33. linijkę.

27. # See the README for full information on the new source format
28. # ncsource=interface:options
29. # for example:
30 .# ncsource=wlan0
31 .# ncsource=wifi0:type=madwifi
32. # ncsource=wlan0:name=intel,hop=false,channel=11
33. ncsource=INTERFACE (np. wlan1) :type=STEROWNIK (np. rt8187),hop=true

Continue reading

[WiFi] – Sniffing połączeń szyfrowanych w sieci bezprzewodowej

Sniffing/MITM w sieciach bezprzewodowych Atak Man In The Middle, podczas którego będziemy sniffowali sobie sieć i patrzyli kto jest zalogowany na nk i jaki ma numer sesji logowania.

Do dzieła.

Czego potrzebujesz?

  • Linuxa
  • Netstat (included in linux)
  • IPTables (included in linux)
  • Arpspoof (składnik dsniffa, apt-get install dsniff -y)
  • SSLStrip wersja 0.9.0
  • Być podłączonym do sieci, którą atakujesz.

Continue reading

oclHashCat-Plus odzyskuje hasła z WPA2

… od dawna ;)

Do OclHashCat-plus jakiś czas temu została wprowadzona możliwość odzyskiwania haseł z pakietów z handshake WPA/WPA2. Żeby tego używać trzeba dodać patcha do aircrack-ng, który wyciągnie z pakietów sam hash z autoryzacji.

Przed wykonaniem poniższych poleceń zalecane jest usunięci aircrack-ng poprzez:

apt-get autoremove --purge aircrack-ng

 

A pobierzemy, zpatchujemy program tymi poleceniami:

apt-get install subversion -y
svn co -r 1959 http://trac.aircrack-ng.org/svn/trunk aircrack-ng
cd aircrack-ng
wget http://trac.aircrack-ng.org/raw-attachment/ticket/937/oclHashcat-plus-wpa-support.patch
cat oclHashcat-plus-wpa-support.patch | patch -Np0
make sqlite=true unstable=true install

Następnie okno pomocy aircrack-ng będzie wyglądało tak:

aircrack-ng
 
Aircrack-ng 1.1 r1959 - (C) 2006-2010 Thomas dOtreppe
Original work: Christophe Devine
 
http://www.aircrack-ng.org
 
usage: aircrack-ng [options] <.cap / .ivs file(s)>
 
Common options:
 
-a <amode> : force attack mode (1/WEP, 2/WPA-PSK)
-e <essid> : target selection: network identifier
-b <bssid> : target selection: access point's MAC
-p <nbcpu> : # of CPU to use  (default: all CPUs)
-q         : enable quiet mode (no status output)
-C <macs>  : merge the given APs to a virtual one
-l <file>  : write key to file
 
Static WEP cracking options:
 
-c         : search alpha-numeric characters only
-t         : search binary coded decimal chr only
-h         : search the numeric key for Fritz!BOX
-d <mask>  : use masking of the key (A1:XX:CF:YY)
-m <maddr> : MAC address to filter usable packets
-n <nbits> : WEP key length :  64/128/152/256/512
-i <index> : WEP key index (1 to 4), default: any
-f <fudge> : bruteforce fudge factor,  default: 2
-k <korek> : disable one attack method  (1 to 17)
-x or -x0  : disable bruteforce for last keybytes
-x1        : last keybyte bruteforcing  (default)
-x2        : enable last  2 keybytes bruteforcing
-X         : disable  bruteforce   multithreading
-y         : experimental  single bruteforce mode
-K         : use only old KoreK attacks (pre-PTW)
-s         : show the key in ASCII while cracking
-M <num>   : specify maximum number of IVs to use
-D         : WEP decloak, skips broken keystreams
-P <num>   : PTW debug:  1: disable Klein, 2: PTW
-1         : run only 1 try to crack key with PTW
 
WEP and WPA-PSK cracking options:
 
-w <words> : path to wordlist(s) filename(s)
 
WPA-PSK options: -E <file>  : create EWSA Project file v3
-J <file>  : create Hashcat Capture file
-S         : WPA cracking speed test 
 
Other options:
 
-u         : Displays # of CPUs & MMX/SSE support
--help     : Displays this usage screen
 
No file to crack specified.

Następnie aby oclhashcat mógł operować na handshaku, trzeba wypakować go z reszty pakietów:

aircrack-ng -J odzyskany.hcap plik_z_handshake.cap
Następnie użycie OclHashCata wygląda tak:
./oclHashcat-plus64.bin ../odzyskany.hccap -m 2500

Źródło.

Tworzenie słowników…

Dam Ci rady jak możesz zrobić swoje proste i te bardziej złożone słowniki.

Nie baw się w żadne 27GB słownik… bo taki sam wygenerujesz smartfonem w parę godzin. Używanie dużego słownika wiąże się ze zużyciem dysku, a wygenerowanie takiego w locie (bez zapisywania) na i7 z 8 wątkami to 3 minuty, odczyt z dysku i porównanie zajmie więcej czasu.

Ściągnij wszelkie bazy danych do jakich masz dostęp, jakiś mały słownik, przeskanuj te bazy danych:

1. brute-force’m ile możesz; do długości wyrazu min. 8 znaków

2. odzyskane hasła zapisuj do słownika

3. puszczaj te bazy ponownie przez słownik z regułami (patrz 1.)

4. wróć do punktu 2. zmień i dodaj reguły, wykonaj ten punkt min. 6 razy

5. Usuń duplikaty ze słowników.

Ten perlowy skrypt usuwa duplikaty ze słownika. Dlaczego jest lepszy od uniq i jtr? Bo wrzuca słownik do pamięci RAM nie do /tmp dzięki czemu usuwanie jest tysiące razy szybsze, nie ma zużycia dysku i nie wysypie Ci się system przy zapełnieniu całej partycji /tmp (co innego jak zapełni Ci się RAM, złapiesz laga na kilkanaście minut ;)).

#!/usr/bin/perl -w
use strict;
#usuwa duplikaty z pliku
my $origfile = "2";
my $outfile = "none-" . $origfile;
my %hTmp;
 
open (IN, "< $origfile") or die "Couldn't open input file: $!";
open (OUT, ">$outfile") or die "Couldn't open output file: $!";
 
while (my $sLine = ) {
next if $sLine =~ m/^s*$/; #remove empty lines
$sLine=~s/^s+//; #strip leading/trailing whitespace
$sLine=~s/s+$//;
print OUT qq{$sLinen} unless ($hTmp{$sLine}++);
}
close OUT;
close IN;

Skrypt był publiczny w Interncie.

No i w sumie to tyle. Po kilku dużych wyciekach baz danych będziesz miał więcej do roboty, ale będzie też szybciej leciało bo słownik będzie większy.