上次的流量分析做的我一个脑袋两个大!但是不能放弃啊,再找一些题来练练手

0x01 经典题型

CTF题型主要分为流量包修复、WEB流量包分析、USB流量包分析和其他流量包分析。

01 流量包修复

比赛过程中有可能会出现通过wireshark打开题目给的流量包后提示包异常的情况,如下图所示:
解题思路:

通过在线pacp包修复工具进行修复:
http://f00l.de/hacking/pcapfix.php
修复之后,再次打开
用tcp contains “flag”,找到了下面这句话:
于是乎,flag就在下面十几个tcp数据包里
注意到这十几个相连的数据包的ip头中的id字段
看起来一些有意义的字符
将全部这种数据包的id字段提取出来之后按lsb的方式组合起来就是flag;

这里呢,我去百度了一下lsb是什么,然后在参照原题目作者的意思,就是将每个包里的id的最后一位数取出来然后拼接在一起就是flag!
pacp文件地址:https://static2.ichunqiu.com/icq/resources/fileupload/CTF/BSRC/2017/BSRC3-1/findtheflag.cap

02 WEB流量包分析

WEB数据包分析的题目主要出现WEB攻击行为的分析上, 典型的WEB攻击行为有:WEB扫描、后台目录爆破、后台账号爆破、WEBSHELL上传、SQL注入等等。

001 WEB扫描分析

这部分就是用了安恒八月月赛流量分析的这道题, 这道题我看了一个writeup,真的写的很好:https://www.cnblogs.com/sn1per/p/12553064.html,我也转载到了自己的博客中。

题型:
通过给出的流量包获取攻击者使用的WEB扫描工具。

解题思路:

常见的WEB扫描器有Awvs,Netsparker,Appscan,Webinspect,Rsas(绿盟极光),Nessus,WebReaver,Sqlmap等。要识别攻击者使用的是哪一种扫描器,可通过wireshark筛选扫描器特征来得知。

相关命令:http contains “扫描器特征值”。

常见的扫描器特征参考:https://www.freebuf.com/column/156291.html

题目:
安恒八月月赛流量分析:黑客使用的是什么扫描器?
pacp文件地址:
链接:https://pan.baidu.com/s/1bGEIPeXDCbhybmWOyGr8Og 提取码:q6ro

002 后台账号爆破

题型
已知攻击者通过暴力破解的手段获取了网站的后台登陆账号,请通过给出的流量包获取正确的账号信息。

解题思路:
WEB账号登陆页面通常采用post方法请求,要获取流量包中记录的账号信息可通过wireshark筛选出POST请求和账号中的关键字如‘admin’。
相关命令:http.request.method=="POST" && http contains == "关键字"。

练练手:
安恒八月月赛流量分析:黑客使用了什么账号密码登录了web后台?

003 WEBSHELL上传

题型

已知攻击者上传了恶意webshell文件,请通过给出的流量包还原出攻击者上传的webshll内容。

解题思路:

Webshell文件上传常采用post方法请求,文件内容常见关键字eval,system,assert要。获取流量包中记录的webshell可通过wireshark筛选出POST请求和关键字.

相关命令:http.request.method=="POST" && http contains == "关键字"

练练手:
安恒八月月赛流量分析:黑客上传的webshell文件名是?内容是什么?

03 USB流量包分析

USB流量指的是USB设备接口的流量,攻击者能够通过监听usb接口流量获取键盘敲击键、鼠标移动与点击、存储设备的铭文传输通信、USB无线网卡网络传输内容等等。在CTF中,USB流量分析主要以键盘和鼠标流量为主。

001键盘流量

USB协议数据部分在Leftover Capture Data域中,数据长度为八个字节。其中键盘击键信息集中在第三个字节中。

题型:

Flag藏于usb流量中,通过USB协议数据中的键盘键码转换成键位。

解题思路

1.使用kali linux中的tshark 命令把cap data提取出来:tshark -r usb.pcap -T fields -e usb.capdata > usbdata.txt,并去除空行。

  1. 根据《USB键盘协议中键码》中的HID Usage ID将数据还原成键位。

练练手:
安全评测人员在对某银行卡密码输入系统进行渗透测试,截获了一段通过USB键盘输入6位数字密码的流量,其中也包含了一些其他无关的USB设备的流量,你能从中恢复出6位数字密码吗?最终提交的flag格式为flag。

使用tshark 命令把cap data提取出来:

tshark -r usb.pcap -T fields -e usb.capdata > usbdata.txt

去除空行:
方法:用notepad++打开,编辑–>行操作–>移除空行
写个python脚本来提取鼠标移动坐标:
keyboard1.py

normalKeys = {"04":"a", "05":"b", "06":"c", "07":"d", "08":"e", "09":"f", "0a":"g", "0b":"h", "0c":"i", "0d":"j", "0e":"k", "0f":"l", "10":"m", "11":"n", "12":"o", "13":"p", "14":"q", "15":"r", "16":"s", "17":"t", "18":"u", "19":"v", "1a":"w", "1b":"x", "1c":"y", "1d":"z","1e":"1", "1f":"2", "20":"3", "21":"4", "22":"5", "23":"6","24":"7","25":"8","26":"9","27":"0","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"-","2e":"=","2f":"[","30":"]","31":"\\","32":"<NON>","33":";","34":"'","35":"<GA>","36":",","37":".","38":"/","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}
shiftKeys = {"04":"A", "05":"B", "06":"C", "07":"D", "08":"E", "09":"F", "0a":"G", "0b":"H", "0c":"I", "0d":"J", "0e":"K", "0f":"L", "10":"M", "11":"N", "12":"O", "13":"P", "14":"Q", "15":"R", "16":"S", "17":"T", "18":"U", "19":"V", "1a":"W", "1b":"X", "1c":"Y", "1d":"Z","1e":"!", "1f":"@", "20":"#", "21":"$", "22":"%", "23":"^","24":"&","25":"*","26":"(","27":")","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"_","2e":"+","2f":"{","30":"}","31":"|","32":"<NON>","33":"\"","34":":","35":"<GA>","36":"<","37":">","38":"?","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}
output = []
keys = open('usbdata.txt')
for line in keys:try:if line[0]!='0' or (line[1]!='0' and line[1]!='2') or line[3]!='0' or line[4]!='0' or line[9]!='0' or line[10]!='0' or line[12]!='0' or line[13]!='0' or line[15]!='0' or line[16]!='0' or line[18]!='0' or line[19]!='0' or line[21]!='0' or line[22]!='0' or line[6:8]=="00":continueif line[6:8] in normalKeys.keys():output += [[normalKeys[line[6:8]]],[shiftKeys[line[6:8]]]][line[1]=='2']else:output += ['[unknown]']except:pass
keys.close()flag=0
print("".join(output))
for i in range(len(output)):try:a=output.index('<DEL>')del output[a]del output[a-1]except:pass
for i in range(len(output)):try:if output[i]=="<CAP>":flag+=1output.pop(i)if flag==2:flag=0if flag!=0:output[i]=output[i].upper()except:pass
print ('output :' + "".join(output))

运行得到如下结果:
7200[DEL]53[DEL]93
因为[DEL]是删除键,所以,flag是720593

002鼠标流量

USB协议鼠标数据部分在Leftover Capture Data域中,数据长度为四个字节。

其中第一个字节代表按键,当取0x00时,代表没有按键、为0x01时,代表按左键,为0x02时,代表当前按键为右键。第二个字节可以看成是一个signed byte类型,其最高位为符号位,当这个值为正时,代表鼠标水平右移多少像素,为负时,代表水平左移多少像素。第三个字节与第二字节类似,代表垂直上下移动的偏移。数据如下图所示:

如上图所示数据信息为0x00002000,表示鼠标垂直向上移动20。

题型:

Flag藏于usb流量中,通过USB协议数据中的鼠标移动轨迹转换成Flag。

解题思路:

  1. 使用kali linux中的tshark 命令把cap data提取出来:tshark -r usb.pcap -T fields -e usb.capdata > usbdata.txt

  2. 并去除空行tshark -r usb.pcapng -T fields -e usb.capdata | sed '/^\s*$/d' > usbdata.txt

  3. 根据usb协议鼠标数据还原鼠标移动轨迹。

练练手:
这是一道鼠标流量分析题。
方法一:

先用 tshark 命令把cap data提取出来

tshark -r usb.pcap -T fields -e usb.capdata > usbdata.txt

每次需要变得就是usb.pcap这里

接下来使用脚本把坐标显示出来,python脚本:

nums = []
keys = open('usb.txt','r')
posx = 0
posy = 0
for line in keys:if len(line) != 12 :continuex = int(line[3:5],16)y = int(line[6:8],16)if x > 127 :x -= 256if y > 127 :y -= 256posx += xposy += ybtn_flag = int(line[0:2],16)  # 1 for left , 2 for right , 0 for nothingif btn_flag == 1 :print posx , posy
keys.close()

接下来使用画图工具,gnuplot
如果没有下载,可以先下载:apt install gnuplot
然后输入:

gunplot
plot “xy.txt”

执行之后发现这个图很奇怪,说明上面mouse.py中的代表左键或者右键的那个式子需要改变一下,改成2之后重新运行
okk,用画图工具垂直翻转一下就可以啦!

方法二:
使用王一航大佬的脚本然后直接运行就可以

 python UsbMiceDataHacker.py usb2.pcap RIGHT

参考链接:

CTF流量分析之题型深度解析
第一届 “百度杯” 信息安全攻防总决赛 线上选拔赛
https://www.cnblogs.com/sn1per/p/12553064.html

ctf流量分析练习二相关推荐

  1. CTF流量分析常见题型(二)-USB流量

    0x00 前言 在学习Wireshark常见使用时,对常见CTF流量分析题型和铁人三项流量分析题的部分问题进行了简单总结.由于篇幅过长,于是另起一篇总结USB流量包分析,包括键盘流量和鼠标流量. 0x ...

  2. 2021年云南省职工职业技能大赛CTF流量分析题(wireshark)WriteUp

    2021年云南省职工职业技能大赛CTF流量分析题(wireshark)WriteUp .0x00 前言 本人作为业余爱好者参加了2021年云南省职工职业技能大赛的网络安全比赛,比赛形式以CTF+理论考 ...

  3. ctf流量分析练习一

    最近在学习流量分析这块的内容,找到一篇不错的文章,就准备复盘一下. 原文链接:https://www.freebuf.com/column/169738.html 问题一 打开这个流量包,大致分析一下 ...

  4. 一道ctf流量分析题

    此ctf用到wireshark软件,Wireshark可以帮助解决一些问题比如:丢包.延迟.DDoS攻击.它可以将网络流量展现,并可以通过软件内部的工具对流量进行分析,从而找出问题所在,并解决问题. ...

  5. wireshark流量分析--巧观察

    在CTF流量分析中,在流量包中可以隐藏好多东西,上面有篇文章说道在有大量流量包的情况下要善于运用过滤协议,来节省时间.但是,有些情况下,过滤是过滤不出东西的,比如在这道题目中我们运用过滤协议过滤不出东 ...

  6. BUUCTF——MISC(流量分析)

    文章目录 wireshark 被嗅探的流量 数据包中的线索 大流量分析(1) 大流量分析(二) 大流量分析(三) wireshark 压缩包下载打开得到 从题目出发,既然是上传登录信息,就直接搜索 h ...

  7. CTF——MISC——流量分析

    目录 一.流量包修复 二.协议分析 三.数据提取 例题: 1,题目:Cephalopod(图片提取) 2,题目:特殊后门(icmp协议信息传输) 3,题目:手机热点(蓝牙传输协议obex,数据提取) ...

  8. CTF 流量包相关-流量分析(1)

    声明一下 本文是根据b站-风二西大佬的视频边做题边总结写成的,可以去支持一下风佬,风佬太强辣!!! 风佬流量分析题合集 风佬流量分析配套题与脚本 另外本人也是个初学者,文章里面如果有错误,记得来踢我 ...

  9. 广告流量分析之评价指标的选择(二)

    接上文<广告流量分析之评价指标的选择(一)>今天我们聊聊ctr指标与oCPA指标. 案例二:CTR预估评价(分清指标所处的阶段) 做广告算法的同学应该都熟悉CTR预估的概念,计算广告预估曝 ...

最新文章

  1. 职业中专的计算机综合应用,职业中专计算机教学的思考
  2. 如何在Windows 10中创建电源选项快捷图标,快速设置笔记本电脑的节能模式
  3. 前端学习(2842):UI组件的开发和配置
  4. 基于java SSM springboot+redis网上水果超市商城设计和实现以及文档
  5. pro git 阅读笔记1 基本操作
  6. java简述常见的布局极其特点_请简要说明 Android 中五种常见布局的特点。_学小易找答案...
  7. blob_buf,blobmsg内存图详解
  8. SQL数据库学习之路(八)
  9. 从零基础入门Tensorflow2.0 ----八、39.3. gpu3
  10. 人脸检测-MTCNN算法笔记和代码解读
  11. mysql 图文安装_mysql安装图解mysql图文安装教程(详细说明)
  12. 自制电吉他效果器 DIY PCB(三)原理图与封装 上
  13. ADS仿真5_LNA设计
  14. 医疗器械公司规章制度范本
  15. 计算机模拟试题生成,excel考试题库自动生成多套试题带独立答案页
  16. python传奇自动打怪脚本_大漠传奇自动打怪源码分享
  17. 零食行业python数据分析实例——基于淘宝搜索排名分析
  18. 17AHU排位赛2 A题(最小生成树、LCA维护树上路径)
  19. 泊松过程的概念及其例题分析
  20. python如何将数据写入excel_使用python将数据写入excel

热门文章

  1. 《迅雷链精品课》第十课:共识算法理论基础
  2. 数据分析师-SQL笔试题-做透这道题就够了
  3. ★如何引导客户需求?几个经…
  4. ensp运行出现please check whether virtual box is installed 解决方法
  5. AR互动大屏项目实战
  6. 佛说,是我们自己苦了自己
  7. 每个人心中都有一个Eumenides
  8. 推荐21款最佳 HTML 5 网页游戏
  9. java 串口 中文乱码_Java 实现 POS 打印机无驱串口打印(解决中文乱码)
  10. mysql slave 'system user' locked_Mysql的slave lags一例