1.数据包解题方法及思路数据包分析题在CTF中基本是战数必考题目,这类题目一般是据包解题及思给出一个pcap包文件 ,要求从中分析出Flag。战数有的据包解题及思简单,直接通过字符串检索就可以获取,战数有点需要破解密码 ,据包解题及思有的战数需要保存文件 ,虽然样式很多 ,据包解题及思但仍然有迹可寻 。战数 1.1数据包简介1.pcap文件简介pcap文件是据包解题及思常用的数据报存储格式,它是源码下载战数按照特定格式存储的一种文件格式,通过记事本等普通编辑工具打开pcap文件显示为乱码,据包解题及思pcap文件只能使用专业的战数数据包处理软件来打开 ,例如wireshark等。据包解题及思wireshark可以抓包、战数查看包以及另存为cap包等 。 2. PCAP文件构成PCAP文件由一个PCAP文件头和多个PCAP数据包组成 ,PCAP数据又由数据包头和数据包内容组成 ,PCAP总体结构如图 1所示 。
图1pcap总体结构图 (1)文件头 每一个pcap文件只有一个文件头,总共占24(B)字节,以下是总共7个字段的含义。模板下载 Magic(4B):标记文件开始,并用来识别文件和字节顺序。值可以为0xa1b2c3d4或者0xd4c3b2a1,如果是0xa1b2c3d4表示是大端模式 ,按照原来的顺序一个字节一个字节的读,如果是0xd4c3b2a1表示小端模式 ,下面的字节都要交换顺序 。现在的电脑大部分是小端模式 。免费模板 Major(2B):当前文件的主要版本号 ,一般为0x0200 Minor(2B):当前文件的次要版本号,一般为0x0400 ThisZone(4B):当地的标准事件,如果用的是GMT则全零,一般全零 SigFigs(4B) :时间戳的精度,一般为全零 SnapLen(4B):最大的存储长度 ,设置所抓获的数据包的最大长度,香港云服务器如果所有数据包都要抓获,将值设置为65535 LinkType(4B):链路类型。解析数据包首先要判断它的LinkType,所以这个值很重要 。一般的值为1 ,即以太网。 (2)数据包头(Packet Header) 数据包头可以有多个,每个数据包头后面都跟着真正的数据包。以下是Packet Header的4个字段含义 : Timestamp(4B):时间戳高位,精确到seconds,这是服务器租用Unix时间戳。捕获数据包的时间一般是根据这个值。 Timestamp(4B):时间戳低位 ,能够精确到microseconds Caplen(4B):当前数据区的长度,即抓取到的数据帧长度 ,由此可以得到下一个数据帧的位置。 Len(4B) :离线数据长度 ,网路中实际数据帧的长度,一般不大于Caplen,多数情况下和Caplen值一样 (3)包数据(Packet Data) Packet是源码库链路层的数据帧 ,长度就是Packet Header中定义的Caplen值,所以每个Packet Header后面都跟着Caplen长度的Packet Data 。也就是说pcap文件并没有规定捕获的数据帧之间有什么间隔字符串。Packet数据帧部分的格式就是标准的网络协议格式了。 1.2数据库包解题思路1. 字符串提取很多简单的数据包题可以通过strings命令来直接进行搜索获取,其命令格式如下: strings -a filename.pcap | grep -i strings ,其中filename.pcap为包文件,strings为需要进行查找的关键字 ,例如password、user 、admin、flag等,关键字要根据CTF题目中的提示来进行。 2.在wireshark中直接对关键字进行搜索在Wireshark中可以通过String来搜索关键字 ,也即在Filter中输入关键字,如图2所示。
图2wireshark搜索关键字 3.使用wireshark进行Follow分析使用wireshark包分析软件打开包文件,根据题目提示,可以选择相对应的协议来进行follow跟踪和分析。 4.提取内容为文件在wireshark中或者其它编辑器中,将需要提取的内容单独保存为文件 ,这些文件可能是图片文件、压缩文件等。 (1)winhex来提取(->|和|<-之间的)内容保存为对应的文件,一般在数据库包分析的数据包记录前后应该有提示 ,比如tar.gz或者rar等。 (2)有些文件可能是txt文件 、png文件等 。 1.3数据包分析实战1.实战数据包随波逐流该题为一个data.pcap抓包文件,需要获取管理员的密码才能获取Flag值 ,通过前面的解题思路 ,可以通过linux进行字符串搜索,根据提示该字符会包含“pass”或者“=”关键字 。 (1)执行关键字搜索命令 strings data.pcap | grep -i = strings data.pcap | grep -i pass 即可获取关键信息 : userid=spiveyp&pswrd=S04xWjZQWFZ5OQ%3D%3D (2)url解码 对S04xWjZQWFZ5OQ%3D%3D通过notepad的url解码获取为: S04xWjZQWFZ5OQ== (3)base64解密 S04xWjZQWFZ5OQ==明显采用base64加密,通过nodepad的base64解密获取管理员userid及pswrd值:userid=spiveyp&pswrd=KN1Z6PXVy9 (4)登录系统即可获取flag值 使用用户名spiveyp和KN1Z6PXVy9登录系统即可获取Flag值 。 2.实战数据包无线加密题目仅仅给出一个ctf.pcap文件,根据包头文件LinkType值分析出该包为无线数据包 ,无线数据包一般都是包含密码,需要进行解密 。 (1)获取解密密码 在wireshark中奖ctf.pcap包另存为ctf.cap,在aircrack-ng -w password.txt ctf.cap进行破解 ,获取密码为password1 ,如图2所示 。
图2获取密码值 (2)对ctf.pcap进行解包 执行命令airdecap-ng ctf.pcap -e ctf -p password1 -o me.cap,对ctf.pcap包进行解密 ,其中ctf为AP名称,password1为密码,生成me.cap包,如图3所示。
图3获取原始数据包 (3)wireshark分析获取Flag值 使用wireshark打开me.cap包,然后对HTTP协议进行分析,如图4所示,获取flag值:flag{ H4lf_1s_3n0ugh} 。
图4分析HTTP协议获取Flag值 (4)使用字符串搜索 可以使用另外一种方法:strings me | grep flag ,如图5所示来获取flag值。
图5通过strings命令来获取flag值 |
手机安装APP提示解析错误怎么办如何在苹果手机上调节屏幕亮度?(简单操作让屏幕变得更暗的技巧)Excel表格按月份排序的方法奔腾J3710处理器的性能和特点分析(探索奔腾J3710处理器在性能、功耗和多媒体表现方面的优势)骁龙821刷Win10教程(轻松将骁龙821打造为一台功能强大的Windows10设备)i7-4720HQ(i7-4720HQ的技术特点与应用领域)13年索尼笔记本装系统教程(从备份数据到安装系统,打造属于你的全新电脑体验)excel输入数字后自动加数的教程彻底解决ARP断网攻击问题的方法(从根本上解决网络安全隐患,防止ARP断网攻击)共享实时位置怎么修改亿华云香港物理机b2b信息平台网站建设云服务器源码库企业服务器