Archive for the ‘IT-säkerhet’ Category

Microsoft fjärrskrivbord sårbar – Uppdatering ute nu

CERT-SE skickade precis ut ett blixtmeddelande som lyder

—–BEGIN PGP SIGNED MESSAGE—–
Hash: SHA1

CERT-SE ID: BM12-001
Datum: 2012-03-13
CVE: CVE-2012-0002

Microsoft har rättat en allvarlig sårbarhet i Remote Desktop.

Problembeskrivning
Sårbarheten kan medge exekvering av godtycklig kod genom att angriparen skickar riggade RDP-paket (Remote Desktop
Protocol). Angriparen behöver inte vara autentiserad. Microsoft har gett denna sårbarhet en etta i “exploitability
index”, vilket innebär att det är troligt att stabil och fungerande kod som utnyttjar sårbarheten kan
implementeras. Detta tillsammans med att en extern angripare kan utnyttja säkerhetshålet gör den mycket allvarlig.

Modulen “Remote Desktop” är inte påslagen i en standardinstallation. Det finns inga rapporter på att sårbarheten
utnyttjas aktivt enligt Microsoft.

Lösning
Microsoft har släppt säkerhetsuppdateringar för mars månad, vilka innehåller en rättning av sårbarheten.

Om uppdateringen av någon anledning inte omedelbart kan installeras är följande skydd möjliga:

* Blocka RDP-porten 3389 (TCP) i brandväggen.

* Inaktivera följande tjänster om de inte används: Terminal Services, Remote Desktop, Remote Assistance, eller Windows
Small Business Server 2003 Remote Web Workplace.

* Slå på “Network Level Authentication” (NLA) för att stänga ute icke-autentiserade användare. Hur detta görs finns
beskrivet i MS12-020 (se nedan)

Mer information
http://technet.microsoft.com/en-us/security/bulletin/ms12-020
http://blogs.technet.com/b/msrc/archive/2012/03/13/strength-flexibility-and-the-march-2012-security-bulletins.aspx

CERT-SE kommer att uppdatera följande sida om ny information kommer:
https://www.cert.se/sarbarheter/sr/sr12-047-microsoft-windows-uppdateringar-foer-mars

—–BEGIN PGP SIGNATURE—–
Version: GnuPG v1.4.12 (MingW32)
Comment: Using GnuPG with Mozilla – http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJPX6/

eAAoJEElL5LwtymemYxUP/3scpCtL3Q4GM2O/lPoTU3j5
n6ty5OwXb1GLgHRNdtHJ+G2TLdKh4fU0YX++coPm7AMljGsMjCdolawipeBslIO8
5QeBWEkzaxuZV1JO9jKR6hvloR4yv1F11D5qzozxczDqKllEadE7JAYq6s6b00A3
uUCv/EDXXI7Lmu2jAlTpbzKrbCW6NEV+yKpytA93XzYAnGoja6Roen+RbZzY6jih
xD1kX9A7dhqaGrhDL0HB/WIGdtIcGuE9VGZAoWaPpI2p6TlXxlqziEI3Brz+d7fI
Sckm+nzzky85vO6CcakRdTaFk6VkpyAnRSRgE6LQPuJlwKvmxWTc+MGIFMA5zLo5
cKknuajf/bekmuQ6lBl0gaiXoiIiXi17iz1LjwqAhryapbZ+vSYLf5UCjgK+T3Rl
IyAOPNcdRBSHlG3ly+BLBdN5aMdP55yYwKNOdvCayO2ms8ePQWJfKu1vz+Xt13BD
ogkGFVDKfxYJ7DURkoYjeBTObb/Xw4FBcwL/YcDl0Yw64ZcbDpw0WF1bGbYsXTDd
+ZQ5+0XGQuT4QlzoSzYiZ6C6KFwY45KlT8j3AdT1FX7Ng6bkxGPw931Wx3plIUrA
9N29X+W/4PTQSaaN95ZNuMSiSs9mLgIR6Mv1ohQSAN3I4lSNh9tpgruCmz3S6FSh
lhWLT8j2jM/ER+BtpqRN
=nki2
—–END PGP SIGNATURE—–
Det är alltså dags att uppdatera sina Windowsmaskiner omgående och kan man inte det så bör dem i princip stängas av.
– Johan Ryberg

Kompilera Reaver i Ubuntu 12.04 (och aircrack-ng)

Detta är en snabbguide för hur man bygger Reaver i Ubuntu 12.04

Steg:

  1. ladda ner källkoden
  2. installera bibliotek och de verktyg som behövs
  3. ladda ner och bygg aircrack-ng
  4. kompilera och installera
  5. kör =)

Ladda ner källkoden

Först måste den senaste versionen laddas ner från http://code.google.com/p/reaver-wps/

wget http://reaver-wps.googlecode.com/files/reaver-1.4.tar.gz

Extrahera tarbollen

tar -xzvf reaver-1.4.tar.gz

Installera bibliotek och de verktyg som behövs

Innan du kan bygga Reaver så behöver du installera pcaplib och för att köra Reaver så behövs aircrack-ng (iw).

sudo apt-get install libpcap-dev sqlite3 libsqlite3-dev libpcap0.8-dev

Kompilera och installera

Bygg Reaver

cd reaver-1.4
cd src
./configure
make

Installera Reaver

sudo make install

Ladda ner aircrack-ng och bygg

Sedan Ubuntu 12.04 kan man inte längre ladda ner aircrack-ng från biblioteket men du kan ladda ner det från källan och kompilera själv. Det är bara en liten sak som måste skräddarsys då det inte kan byggas som standard utan att få följande fel:

johan@ubuntu-lab:~/aircrack-ng-1.1$ make
make -C src all
make[1]: Entering directory `/home/johan/aircrack-ng-1.1/src’
make -C osdep
make[2]: Entering directory `/home/johan/aircrack-ng-1.1/src/osdep’
Building for Linux
make[3]: Entering directory `/home/johan/aircrack-ng-1.1/src/osdep’
gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0  -fPIC -I..    -c -o osdep.o osdep.c
gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0  -fPIC -I..    -c -o network.o network.c
gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0  -fPIC -I..    -c -o linux.o linux.c
linux.c: In function ‘is_ndiswrapper’:
linux.c:165:17: error: variable ‘unused’ set but not used [-Werror=unused-but-set-variable]
linux.c: In function ‘linux_set_rate’:
linux.c:334:22: error: variable ‘unused’ set but not used [-Werror=unused-but-set-variable]
linux.c: In function ‘linux_set_channel’:
linux.c:807:22: error: variable ‘unused’ set but not used [-Werror=unused-but-set-variable]
linux.c: In function ‘linux_set_freq’:
linux.c:896:22: error: variable ‘unused’ set but not used [-Werror=unused-but-set-variable]
linux.c: In function ‘set_monitor’:
linux.c:1022:22: error: variable ‘unused’ set but not used [-Werror=unused-but-set-variable]
linux.c: In function ‘do_linux_open’:
linux.c:1366:12: error: variable ‘unused_str’ set but not used [-Werror=unused-but-set-variable]
linux.c:1352:15: error: variable ‘unused’ set but not used [-Werror=unused-but-set-variable]
linux.c: In function ‘get_battery_state’:
linux.c:1982:35: error: variable ‘current’ set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors
make[3]: *** [linux.o] Error 1
make[3]: Leaving directory `/home/johan/aircrack-ng-1.1/src/osdep’
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/johan/aircrack-ng-1.1/src/osdep’
make[1]: *** [osd] Error 2
make[1]: Leaving directory `/home/johan/aircrack-ng-1.1/src’
make: *** [all] Error 2

Så här bygger du aircrack-ng

sudo apt-get install build-essential
sudo apt-get install libssl-dev
wget http://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz
tar -zxvf aircrack-ng-1.1.tar.gz
cd aircrack-ng-1.1

Redigera common.mak, t.ex. med vi

vi common.mak

Leta upp följande rad

CFLAGS          ?= -g -W -Wall -Werror -O3

Ta bort “-Werror” så att det ser ut så här

CFLAGS          ?= -g -W -Wall -O3

Spara filen, bygg och installera

make
sudo make install

Kör

Reaver är nu installerat och klart för att användas. Du behöver först sätta wifi-adaptern i monitoreringsläge innan du kan köra och enklast är att använda airmon-ng (del av aircrack-ng) som du precis installerade.

Sätt adaptern i monitoreringsläge, i mitt fall wlan0

sudo airmon-ng start wlan0

Kör Reaver

sudo reaver -i mon0 -b 00:00:00:00:00:00

Ersätt MAC 00:00:00:00:00:00 med MAC-adressen till den AP som du vill knäcka

– Johan Ryberg

Konfigurera SSH för ökad säkerhet

Konfigurera SSH för ökad säkerhet

Det finns några steg man bör ta efter att man installerat SSH på ditt system. En kedja är inte starkare än den svagaste länken och gällande SSH är ett svagt lösenord till t.ex. root ett allvarligt hot.

Det vi skall göra är att skapa ett certifikat och stänga av möjligheten att logga in utan certifikat. Vi skall även kontrollera så att root inte får logga in då det är mycket bättre att använda sudo när administratörsrättigheter behövs. Vidare skall vi stänga ner några krypteringsmetoder som inte anses som fullt så säkra samt öppna upp för visuell identifiering av serverns “fingeravtryck”.

Skapa nyckel
Vi väljer att använda en RSA-nyckel på t.ex. 4096 bitar. Öppna ett terminalfönster och skriv in följande: ”’ssh-keygen -t rsa -b 4096”’. 1024 sägs vara tillräckligt säkert men man kan aldrig vara för säker ;-)

johan@johan-laptop:~$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.

Du får sedan upp en fråga var du vill spara din nyckel. Har du redan nycklar i id_dsa bör du ange ett annat namn för filen skrivs över annars. Är du nöjd med förlaget tycker du bara retur

Enter file in which to save the key (/home/johan/.ssh/id_rsa):

Sedan skall du ange lösenord. Tänk på att blanda stora och små bokstäver samt lägga in tecken och siffror. Längden är dock en mycket viktig faktor så gör det hellre längre än kort och komplext. Gärna en liten mening som hjälper dig att komma ihåg lösenordet utantill eller absolut bäst är att använda t.ex. Keepass för att både skapa slumpmässiga lösenord men även spara dem på ett krypterat och säkert sätt.

Enter passphrase (empty for no passphrase): M1tt H3ml1g@ löSe40rD
Enter same passphrase again: M1tt H3ml1g@ löSe40rD
Your identification has been saved in /home/johan/.ssh/id_rsa.

Your public key has been saved in /home/johan/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:x:xx:xx:xx:xx:xx:xx

Installera den publika nyckeln i systemet
Den publika nyckeln skall läggas i ~/.ssh/authorized_keys och det kan finnas fler nycklar än en. Se till att göra radmatning mellan nycklarna.
Om nyckeln skall installeras på samma system kopierar du helt enkelt id_dsa.pub till authorized_keys.

johan@johan-laptop:~$ cd ~/.ssh
johan@johan-laptop:~/.ssh$ cp id_rsa.pub authorized_keys

Skulle det vara en extern maskin kan du använda scp för att kopiera nyckeln, tänk då på att du inte skriver över authorized_keys om det skulle finnas existerande nycklar i filen. För att kopiera (skriva över befintlig fil) gör du följande

johan@johan-laptop:~/.ssh$ scp -p ~/.ssh/authorized_keys 192.168.0.1:.ssh/
johan@192.168.0.1’s password:
authorized_keys 100% 1839 1.2MB/s 00:00

Se även till att ~/.ssh/autorized_keys och ~/.ssh/id_rsa endast har gällande användares rättigheter. Vid problem använd chmod 600 för att åtgärda.

Konfigurera sshd
Nästa steg är att kontrollera inställningarna för sshd. Filen vi skall modifiera heter /etc/ssh/sshd_config
Börja med att skapa en säkerhetskopia av sshd_config

johan@johan-laptop:/$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup
Password:

Sedan använder vi lämplig editor för att modifiera sshd_config

johan@johan-laptop:/$ sudo nano /etc/ssh/sshd_config

Följande rader skall ändras:

  • LoginGraceTime 120
  • PermitRootLogin yes
  • Ciphers

 

  • LoginGraceTime 30

LoginGraceTime är antalet sekunder innan man blir utkastad om man inte lyckas med inloggningen. Det är en smaksak men 120 sekunder behöver man normalt sätt inte på sig. Sänk den med fördel. Dock bör du hinna ange ditt lösenord innan tiden går ut.

  • PermitRootLogin no

Root behöver inte kunna logga in via ssh. Du kan använda sudo istället vilket är mycket säkrare.
Vi skall även lägga till en så att man förhindrar möjligheten att logga in med hjälp av användarnamn och lösenord vilket betyder att man tvingas använda certifikat. Lägg till:

  • PasswordAuthentication no
  • Ciphers aes128-ctr,aes256-ctr,arcfour256,arcfour,aes128-cbc,aes256-cbc

Ciphers ändrar vi på grund av en potentiell sårbarhet i vissa krypteringsmetoder, mer information om dessa här:
[1] http://openssh.org/txt/cbc.adv
[2] http://www.cpni.gov.uk/Docs/Vulnerab…visory_SSH.txt
[3] http://www.cs.washington.edu/homes/y…pers/TISSEC04/

Kontrollera även så att följande rader så att standardinställningarna stämmer:

  • Protocol 2
  • UsePrivilegeSeparation yes
  • StrictModes yes
  • RSAAuthentication yes
  • PubkeyAuthentication yes

Spara och avsluta.

Nu skall vi bara starta om sshd så att de nya inställningarna tar.

johan@johan-laptop:~/.ssh$ sudo /etc/init.d/ssh restart
Password:
* Restarting OpenBSD Secure Shell server… [ OK ]

Konfigurera ssh för visuell värdnyckel (Visual Host Key)
När man loggar in mot en viss värd är det inte så lätt att identifiera att det är rätt maskin, någon kan till exempel ha styrt om din DNS till en annan maskin och på så sätt lura dig att logga in i fel maskin för att stjäla kontouppgifter.

För att lösa detta har gänget bakom OpenSSH utvecklat en visuell representation av nyckeln så att det blir mycket lätt att känna igen sitt egna system. För att aktivera VisualHostKey skall man ändra i antingen /etc/ssh/ssh_config vilket gäller alla användare eller ~/.ssh/config för en personlig inställning

Lägg till följande i konfigurationen (“Host * finns redan överst i ssh_config)

Host *
VisualHostKey yes

Byta från standardport 22?

Det innebär ingen direkt ökad säkerhet att ändra port, men man slipper de flesta script-kiddies attacker och maskar när man flyttar sig från standardportar. Detta gäller samtliga tjänster och inte bara ssh. Det man kan skydda sig mot genom “säkerhet via oreda” är att en mask eller script som snabbt scannar nätet efter en ev. 0-day sårbarhet missar systemet vilket är mer tur än skicklighet för om någon verkligen vill in så gör man en mer noggrann kontroll av det system man vill in i. Om man ändå vill byta är det bäst att lägga sig mellan 0 och 1023 då dessa är privilegierade vilket betyder att endast konton med administrativa rättigheter kan starta tjänster och därför slipper man hamna i en riggad tjänst startad av en användare som t.ex. loggar lösenord.

Testa och verifiera
Testa att logga in i systemet. Glöm inte av att du har bytt port. Du måste även ange användarnamn om du inte har samma användarnamn på fjärrdatorn som den lokalt inloggande användare. Detta gör du genom att skriva användarnamn@server.ip

johan@johan-laptop:/$ ssh johan@localhost -p 10022
Host key fingerprint is 66:12:14:8a:31:23:4f:86:13:f2:1c:4d:33:dd:d4:67
+–[ RSA 4096]—-+
| |
| .o |
| . =o .|
| . += E|
| + S . .o|
| . + .. o|
| . o.= |
| +o+ o|
| +=o |
+—————–+
Enter passphrase for key ‘/home/johan/.ssh/id_dsa’:

Nu är du säkert inloggad i ditt system

–Johan Ryberg

Kompilera Reaver i Ubuntu 11.10

Detta är en snabbguide för hur man bygger Reaver i Ubuntu 11.10

Steg:

  1. ladda ner källkoden
  2. installera bibliotek och de verktyg som behövs
  3. kompilera och installera
  4. kör =)

Ladda ner källkoden

Först måste den senaste versionen laddas ner från http://code.google.com/p/reaver-wps/

wget http://reaver-wps.googlecode.com/files/reaver-1.3.tar.gz

Extrahera tarbollen

tar -xzvf reaver-1.3.tar.gz

Installera bibliotek och de verktyg som behövs

Innan du kan bygga Reaver så behöver du installera pcaplib och för att köra Reaver så behövs aircrack-ng.

sudo apt-get install libpcap-dev aircrack-ng sqlite3 libsqlite3-dev

Kompilera och installera

Bygg Reaver

cd reaver-1.3
cd src
./configure
make

Installera Reaver

sudo make install

Kör

Reaver är nu installerat och klart för att användas. Du behöver först sätta wifi-adaptern i monitoreringsläge  innan du kan köra och enklast är att använda airmon-ng (del av aircrack-ng) som du precis installerade.

Sätt adaptern i monitoreringsläge, i mitt fall wlan0

sudo airmon-ng start wlan0

Kör Reaver

sudo reaver -i mon0 -b 00:00:00:00:00:00

Ersätt MAC 00:00:00:00:00:00 med MAC-adressen till den AP som du vill knäcka

– Johan Ryberg

Engelsk språkversion av bloggen på gång

Just nu håller jag på att arbeta fram en engelsk version av bloggen och därför kan det hända att det ser lite skumt ut ibland innan allt är klart.

–  Johan Ryberg

Ny snabbare version av Reaver

Reaver, det nya verktyget för att attackera accesspunkter/trådlösa routrar med WPS aktiverat och som knäcker de flesta inom 10 timmar har precis släppts som version 1.3 med nya utökade funktioner som tidigare bara fanns i den kommersiella produkten från Tactical Network Solutions. Nytt är att man kan pausa för att senare fortsätta på en viss PIN-kod om man tidigare avbrutit en attack men även hämta hem optimeringar för just den produkten som man för tillfället försöker komma in i för att snabba upp processen.

FOSS-versionen kommer dock inte komma åt den senaste datan då detta kommer släpa efter och för den som snabbt vill få uppdateringar eller ett fint webbgränssnitt får betala för tjänsten.

–  Johan Ryberg

securit.se har fått DNSSEC

Binero som hostar denna sida har gett alla sina .SE-kunder en riktigt fin julklapp vilket är DNSSEC. I det stora hela går DNSSEC ut på att man förhindrar att DNS-svar förfalskas genom digitala signaturer så att man inte skall använda en felaktig IP-adress och på så sätt ansluter mot en tjänst som kontrolleras av illvilliga personer.

För att enkelt kontrollera om man skickas till rätt hemsida när man surfar med t.ex. Firefox finns tillägget DNSSEC Validator som laddas ner här: https://addons.mozilla.org/en-US/firefox/addon/dnssec-validator/.

Som ni kan se får man nu en grön nyckel vilket betyder att DNSSEC Validator har validerat DNS-uppslaget och källan vi besöker är korrekt.

–  Johan Ryberg

Wi-Fi Protected Setup (WPS) PIN kan bli knäckt med hjälp av brute force (WPA/WPA2-routrar)

En sårbarhet i protokollet WPS (Wi-Fi Protected Setup) möjliggör att man på några timmar kan få fram PIN-koden till den trådlösa routern/accesspunkten med hjälp av en brute force-attack.  Det flesta routrar efter 2007 då standarden först kom är troligtvis sårbara och enda skyddet är att stänga av funktionen.

WPS är tänkt att underlätta installationen av det trådlösa nätverket men autentiseringen saknar skydd mot denna typ av attack vilket gör att man på bara några timmar kan få fram PIN-koden och på så sätt slå av krypteringen, byta lösenord eller göra det man vill.

Det släpptes samtidigt ett verktyg för att få utföra attacken och det heter Reaver som ni hittar här: http://code.google.com/p/reaver-wps/. Var själv tvungen att testa och det var förvånansvärt lätt att både kompilera verktyget under Ubuntu samt köra det mot min AP och det var oroväckande effektivt. För ordningens skull var jag inte sårbar eftersom jag har för vana att inaktivera funktioner som jag inte använder så jag var tvungen att slå på WPS i min AP innan jag testade men attacken lyckades sedan.

Detta betyder att mängder med trådlösa nätverk som är skyddade av WPA/WPA2-kryptering faktiskt är sårbara och det är mycket lätt för den som attackerar att lyckas med sitt intrång.

Enda skyddet är alltså att stänga av Wi-Fi Protected Setup (WPS) tills dess att standarden modifieras för att ta hänsyn till denna typ av attack men jag tror det dröjer flera år innan detta är löst och trådlösa nätverk som installerats mellan 2007 och 2012 kommer att vara lätta mål.

Hjälp er familj och era vänner genom att hjälpa dem att stänga av WPS och försök att sprida detta till så många som möjligt då detta kan vara det största säkerhetshotet mot trådlösa nätverk sedan WEP-krypteringen blev sårbar.

–  Johan Ryberg

 

Nytt år, nya batterier till brandvarnarna

Ett bra tips så här när julen börjar ta slut är att lägga ner batterier till brandvarnarna i någon låda med julsaker inför nästa jul. Att bli väckt om nätterna av något diffust pip då och då är inte roligt och kan vara mycket irriterande och risken är stor att man plockar ut de gamla batteriet utan att ersätta det med något nytt. Det är därför bra att börja varje år / vinter med nya batterier så slipper man detta och brandvarnarna förblir funktionella.

Så, har du gamla batterier är det hög tid att byta och passa på och lägg ner nya inför nästa år så blir du automatiskt påminde om detta när nästa jul plockas fram.

–  Johan Ryberg

De permanenta “tillfälliga” lösenorden

Jag stöter gång på gång på system hos flera olika organisationer där lösenorden på vissa servrar eller hela system är riktigt dåliga. I värsta fall har det i princip varit “admin/password” överallt och förklaringen har varit desamma, att det var tänkt att vara tillfälliga kontouppgifter under uppbyggnad för att underlätta men sedan har system efter system anslutits och man har helt enkelt låst in sig i ett hörn och det har inte varit värt besväret att byta eller ingen vill riskera att man inte kan hitta alla ställen att byta på inom rimlig tid.

Förklaringarna har ofta inte varit särskilt bra underbyggda och det blir ofta mer bortförklaringar.

Intentionen har ofta varit god men det blir ändå fel i slutet, läxan är att aldrig hantera en kontouppgift som tillfällig för man vet aldrig när den blir etablerad som en permanent lösning. Se till att säkra miljöerna på en gång med starka lösenord och gör det inte enkelt och använd något standardlösenord bara för det är lätt, man skjuter ofta undan sina egna ben på detta förr eller senare.

– Johan Ryberg

Return top