网安实验6:VPN实验
课堂部分 1. Windows IPSec配置 2. 抓包分析 IKE SA和IPSec SA建立过程 Windows配置IPSec 使用Win+R打开本地安全设置模块,在IP安全策略创建新IP安全策略 新建的IP安全策略名称自拟,勾选“激活默认响应规则”,使用“123456”(或其他)作为预共享密钥保护密钥交换,指派该策略。 指派 双击该指派的ipsec策略 修改新建策略的属性,添加安全规则。不指定隧道终结点,适用于所有网络连接,使用“123456”作为预共享密钥保护密钥交换。 添加IP筛选器列表,在新的筛选器列表添加新的筛选器,然后添加筛选器操作。在筛选器列表选择“所有IP通讯量”。 在筛选器操作界面选择“需要安全”,然后完成修改属性。 另一台xp同样的配置 ping通 “Negotiating IP Security”(正在协商 IP 安全性): 这证明你的 IPSec 策略已经被触发了。你的电脑意识到发往 192.168.130.136 的数据包需要加密,所以它暂停了发送,先去和对方“对暗号”(IKE 协商)。 “Request timed o...
网安实验5:入侵检测
课堂部分 环境 123sudo apt-get updatesudo apt-get install snortsnort -V 安装时端口填ens33,其他保持默认 修改配置文件 1sudo nano /etc/snort/snort.conf 使用ctrl+w搜索关键字icmp-info 为以下规则加注释符号 1#include $RULE_PATH/icmp-info.rules 按 Ctrl + O 保存,然后按 Enter 确认,最后按 Ctrl + X 退出编辑器 Snort检测DoS攻击 添加实验规则 1sudo nano /etc/snort/rules/local.rules 添加 DoS 攻击检测规则 1alert tcp any any -> $HOME_NET 80 (msg:"DoS attack"; flags:S; threshold:type threshold, track by_dst, count 100, seconds 60; sid:2000003) 1sudo snort -c /etc/snor...
网安实验4:防火墙
课堂部分 实验环境 Firewall-VM:Kali Linux(192.168.232.129) Client-VM1:winxp(192.168.232.130,00-0C-29-69-14-0D) Client-VM2:ubuntu(192.168.232.128) 将两台虚拟机的网络连接均设置为“仅主机模式” winxp ping通kali ubuntu ping通kali 清空所有链的防火墙规则 1iptables -F 设置iptables实现特定功能 禁止所有主机 ping 本地主机 设置规则 1iptables -A INPUT -p icmp --icmp-type echo-request -j DROP 仅允许某特定 IP 主机 ping 本地主机 清空规则:iptables -F 设置规则 12iptables -A INPUT -p icmp --icmp-type echo-request -s 192.168.232.130 -j ACCEPTiptables -A INPUT -p icmp --icmp-type ech...
网安实验3:网络扫描
查看IP kali:192.168.130.146 ubuntu:192.168.130.147 Ping扫描(主机发现) 1nmap -sn 192.168.130.147 过滤arp ARP 请求 (第 38 号包): Source: VMware_c7:01:3e (你的 Kali 攻击机) Info: Who has 192.168.130.147? Tell 192.168.130.146 分析: 这正是 Nmap 在执行Ping扫描。你的 Kali 机器在网络上广播:“谁是 192.168.130.147?请告诉 192.168.130.146 (我)。” ARP 响应 (第 40 号包): Source: VMware_b6:5d:b0 (你的 Ubuntu 靶机) Info: 192.168.130.147 is at 00:0c:29:b6:5d:b0 分析: 靶机收到了这个广播,并回复了:“我就是 192.168.130.147,这是我的MAC地址。” Nmap通过这个ARP请求和响应,成功确认了靶机 192.168.130.147...
网安实验2:Dos攻击
课堂实验 实验环境准备 虚拟机设置: 准备两台虚拟机: 攻击机:Kali Linux (内置hping3 和 nmap ) 靶机:Windows XP 靶机服务配置 在Windows靶机上,将nginx文件夹放到C盘 打开命令行,进入 C:\nginx1.1.0 路径,运行 start nginx 来启动HTTP服务 连通性验证: 在靶机上,打开浏览器访问 localhost 或 127.0.0.1,应能看到nginx欢迎页面 。 在攻击机和靶机上分别使用 ifconfig / ipconfig 查看各自IP地址 。 在攻击机上,ping靶机IP,确保网络互通。 在攻击机上,打开浏览器访问 http://[靶机IP],应能看到nginx欢迎页面 。 查看IP 扫描靶机开放端口 端口 80/tcp 是 open(开放)的,并且正在运行 http 服务 靶机上打开localhost验证 ping通 攻击机上打开浏览器访问靶机 SYN Flood 攻击 1sudo hping3 -S -p 80 -a 192.168.130.99 --flood 192...
网安实验1:ARP欺骗
课堂实验 攻击机:Kali-linux 2022.3 靶机:windows xp 软件:ettercap-0.8.31,wireshark kali:用户名kali,密码kali 实验步骤 分别使用命令ipconfig /all(或ifconfig)查看两个虚拟机网卡、ip地址、网关地址等信息。 kali:192.168.130.142 winxp:192.168.130.143 两虚拟机之间应能互相ping通。 利用命令arp -a查看靶机被攻击前的arp信息 在kali中,使用命令sudo ettercap -G打开ettercap。 选择正在使用的网卡eth0,点击√ 点击放大镜图标扫描局域网内的所有主机 在host list中查看扫描结果。分别将靶机IP和网关地址设为目标1和目标2。 打开wireshark准备抓包 在MITM菜单中选择ARP Poisoning,点击ok开始攻击。 查看靶机arp信息。 此时网关的MAC地址已经被篡改为攻击机的MAC地址 。 启动wireshark抓包,实验结果中应用发起arp欺骗攻击的数据包,以及攻击成功后截...
软安实验4:虚函数攻击
虚函数 虚函数内存布局与攻击原理 题目A 源码 123456789101112131415161718192021222324252627282930313233343536373839404142434445#include <windows.h>#include <iostream.h>char shellcode1[]="\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90""\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90""\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90""\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90""\x33\xDB...
软安实验3:shellcode注入
overflow_exe 1234567891011121314151617181920212223242526272829#include <stdio.h>#include <windows.h>#include <string>#define PASSWORD "1234567"int verify_password (char *password){ int authenticated; char buffer[44]; authenticated=strcmp(password,PASSWORD); strcpy(buffer,password);//over flowed here! return authenticated;}main(){ int valid_flag=0; char password[1024]; FILE * fp; LoadLibrary("user32.dll");//prepare for messagebox if...
软安实验2:栈溢出
overflow_var 源码 12345678910111213141516171819202122232425262728293031323334#include <stdio.h>#include <string>#define PASSWORD "1234567"int verify_password (char *password){ int authenticated; char buffer[8];// add local buff authenticated=strcmp(password,PASSWORD); strcpy(buffer,password);//over flowed here! return authenticated;}main(){ int valid_flag=0; char password[1024]; while(1) { printf("please input password: "); scanf(&quo...
软安实验1:逆向破解初步
破解test 先用vc++6.0将test.c编译成test.exe 运行exe文件 如果输入错误的密码,会输出“incorrect password!”,并重新输入。如果正确,则输出“Congratulation! You have passed the verification!”并结束程序。 Ollydbg调试 F8单步运行至停止处,这里需要等待输入,下断点 ctrl+F2重载,F9运行至断点处,F7步入函数查看 这里展示了核心逻辑 提示用户并获取输入 (地址 00401076 - 0040108A) 调用密码验证函数 (地址 0040108F - 00401094) 函数返回值到EAX寄存器中。根据strcmp的原理,如果密码正确,EAX的值会是0;如果错误,则为非0。 核心判断逻辑 (地址 0040109C - 0040109E) test eax, eax:如果EAX的值是0,那么零标志位(Zero Flag, ZF)就会被设置为1 两个路径:je指令没有跳转,则运行 失败路径;je指令成功跳转,则运行 成功路径 破解 法1:反转跳转逻辑 ...

