MISC:HTTP 流量分析技术.

MISC:HTTP 流量分析技术.

Misc即杂项,是信息隐藏又称信息伪装,就是通过减少载体的某种冗余,如空间冗余、数据冗余等,来隐藏敏感信息,达到某种特殊的目的。
信息隐藏打破了传统密码学的思维范畴,从一个全新的视角审视信息安全。与传统的加密相比,信息隐藏的隐蔽性更强,在信息隐藏中,可以把这两项技术结合起来,先将秘密信息进行加密预处理,然后再进行信息隐藏,则秘密信息的保密性和不可觉察性的效果更佳。


目录:

MISC:HTTP 流量分析技术.

流量分析是什么:

HTTP协议 三次握手:

Wireshark 基本使用方法:

(1)数据包筛选: 

(2)数据包搜索:

(3)数据包还原:

(4)数据提取:

实战案例:

(1)某公司内网网络被黑客渗透,请分析流量,给出黑客使用的扫描器.

(2)某公司内网网络被黑客渗透,请分析流量,得到黑客扫描到的登陆后台是

(3)某公司内网网络被黑客渗透,请分析流量,得到黑客使用了什么账号密码登陆了web后台

(4)某公司内网网络被黑客渗透,请分析流量,得到黑客上传的webshell文件名是,内容是什么,提交 webshell 的内容.

(5)某公司内网网络被黑客渗透,请分析流量,黑客在 robots.txt 中找到的 flag 是什么.

(6)某公司内网网络被黑客渗透,请分析流量,黑客找到的数据库密码是多少.

(7)某公司内网网络被黑客渗透,请分析流量,黑客在数据库中找到 hash_code 是什么.

(8)某公司内网网络被黑客渗透,请分析流量,黑客破解了账号[email protected]得到的密码是什么.

(9)某公司内网网络被黑客渗透,请分析流量,被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网 ip.

(10)某公司内网网络被黑客渗透,请分析流量,黑客使用了什么账号登陆 mail 系统 

(11)某公司内网网络被黑客渗透,请分析流量,黑客获得的 vpn 的 ip 是多少.

(12)在 Wireshark 中的常用技巧.


流量分析是什么:

在CTF中,通常会有一些pcapng或者pcap文件后缀的数据包,不同的数据包有不同的协议,常见的有HTTP,TCP协议当然CTF中考察的协议很多,我们需要从这类文件中进行分析,获取数据然后最终找到我们的答案flag.


HTTP协议 三次握手:

简单理解(三次握手):是建立连接的过程,客户端向服务端发起连接时:询问是否同意连接(SYN包),
同意连接(SYN+ACK包),建立连接(ACK包)
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND(请求连接)状态,等待服务器确认

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=i+1),同时自己也发送一个SYN包 (syn=k)
,即SYN+ACK包此时服务器进入SYN_RECV状态.

第三次握手:客户端收到服务器的SYN + ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和
服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据


Wireshark 基本使用方法:

Wireshark 的基本使用分为数据包筛选、数据包搜索、数据包还原、数据提取四个部分.

(1)数据包筛选: 

Wireshark的数据包筛选功能是wireshark的核心功能,比如需要筛选出特定的协议如HTTP,Telnet等,
也可能需要筛选出ip地址,端口等,多条规则可以使用&&,|| 连接.
#ip筛选:
ip.src == 地址         #源ip筛选
ip.dst == 地址         #目的ip筛选
ip.addr == 地址          #ip筛选
#mac地址筛选:
eth.dst == A0:00:00:04:C5:84         #目标mac地址筛选
eth.addr == 20:89:84:32:73:c5        #mac地址筛选
#端口筛选:
tcp.dstport == 80        #筛选tcp协议的目标端口为80的流量包
tcp.srcport == 80        #筛选tcp协议的源端口为80的流量包
udp.srcport == 80        #筛选udp协议的源端口为80的流量包
#协议筛选:
tcp         #筛选协议为tcp的流量包
udp         #筛选协议为udp的流量包
arp/icmp/http/ftp/dns/ip     #筛选协议为arp/icmp/http/ftp/dns/ip的流量包
                         #可用!加协议或者not加协议表示排除该协议not arp 或!arp
#包长度筛选:

udp.length ==20     #筛选长度为20的udp流量包 这个长度是指udp本身固定长度8加上udp下面那块
数据包之和

tcp.len >=20     #筛选长度大于20的tcp流量包 指的是ip数据包(tcp下面那块数据),不包括tcp本身

ip.len ==20    #筛选长度为20的IP流量包 除了以太网头固定长度14,其它都算是i.en,即i本身到最后

frame.len ==2     #筛选长度为20的整个流量包 整个数据包长度从eth开始到最后
#http请求筛选:
GET:httprequest.method=="GET"  #筛选HTTP请求方法为GET的流量包

POST:http.request.method=="POST"    #筛选HTTP请求方法为POST的流量包

URI:http.request.uri=="/img/1.gif"    #筛选HTTP请求的URL为/img/1.gif的流量包

http contains "FLAG"   #筛选HTTP内容为/FLAG的流量包(请求或相应中包含特定内容:flag)


(2)数据包搜索:

在 wireshark 界面按 Ctrl+F 或者点击 Q 图标,可以进行关键字搜索.

Wireshark 的搜索功能支持正则表达式、字符串、十六进制等方式进行搜索,通常情况下直接使用字符串
方式进行搜索.


(3)数据包还原:

在 wireshark 中,存在一个交追踪流的功能,可以将 HTTP 或 TCP 流量集合在一起并还原成原始
数据,具体操作方式如下选中想要还原的流量包,右键选中,选择追踪流--TCP流/UPD流/SSL流/HTTP流.


(4)数据提取:

Wireshark 支持提取通过 http 传输 (上传/下载)的文件内容方法如下:
选中 http 文件传输流量包,在分组详情中找到 data 或者 Linebased text data:text/html层,
鼠标右键点击-选中导出分组字节流.

实战案例:

(1)某公司内网网络被黑客渗透,请分析流量,给出黑客使用的扫描器.

解题思路:

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

可以使用 http contains "扫描器特征值" 来进行过滤筛选,或者用分组字节流直接搜.


(2)某公司内网网络被黑客渗透,请分析流量,得到黑客扫描到的登陆后台是(相对路径即可)

解题思路:
如果黑客扫描到后台,一定会进行大量尝试账号密码,而且是以 POST 方式进行的.

http.request.method =="POST"


(3)某公司内网网络被黑客渗透,请分析流量,得到黑客使用了什么账号密码登陆了web后台,形式: username / password

解题思路:
在上面第二问知道登陆后合是'/admin/loain.php?rec=login,而且有 302 重定向,所以可以确定
黑客登陆的账号和密码,但是观察到有多个 302 重定向,账号密码都不一样.

这里我们把过滤再仔细一点,确定黑客的IP地址:

htp.request.method =="POST" && http contains "rec=login" && p.src == 192.168.94.59

然后按照时间排序,最后一个就是黑客使用的账号和密码:

admin/admin!@#pass123

(4)某公司内网网络被黑客渗透,请分析流量,得到黑客上传的webshell文件名是,内容是什么,提交 webshell 的内容.

解题思路:一般来说 webshell 都是一句话木马,直接搜

http contains "<?php @eval"


(5)某公司内网网络被黑客渗透,请分析流量,黑客在 robots.txt 中找到的 flag 是什么.

解题思路: 直接搜robots.txt,然后追踪流即可.


(6)某公司内网网络被黑客渗透,请分析流量,黑客找到的数据库密码是多少.

解题思路: 
找数据库密码就涉及到三个关键字,分别是mysql,database,password,可以通过这几个关键字来进行查询

http contains "database"

但是这样过滤的数据还是太多,可以再借助状态码来过滤一下,黑客可以得到mysal数据库的密码,说明
是请求文件之后服务器正常返回,也就是状态码 200

http contains "database" && http.response.code==200

只有一条,直接追踪流即可


(7)某公司内网网络被黑客渗透,请分析流量,黑客在数据库中找到 hash_code 是什么.

解题思路:
根据上面一问知道数据库的主机是10.3.3.101,可以先查这个 ip 有什么数据

$dbhost ="10.3.3.101"

这里需要打开 webtwopcap 中直接搜

ip.src==10.3.3.101

同时搜索 hash_code


(8)某公司内网网络被黑客渗透,请分析流量,黑客破解了账号[email protected]得到的密码是什么.

解题思路:
在 webtwo.pcap 这个流量包中,使用分组详情查询,即可查到密码.


(9)某公司内网网络被黑客渗透,请分析流量,被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网 ip.

解题思路:
回到 webone.pcap 这个流量包中,这个问题问的是网卡的配置,一般网卡的名称都为 eth0,所以
可以利用这个关键词进行查询

tcp contains "eth0"

追踪一下 tcp 流,即可发现网卡的相关配置.


(10)某公司内网网络被黑客渗透,请分析流量,黑客使用了什么账号登陆 mail 系统 (形式: username/password)

解题思路: 
这题需要综合来看 mailtwo.pcap 和 mailtwo1.pcap 两个数据包首先打开 mailtwo.pcap,
在第三条数据中发现了login_name=wenwenni字段,还有action=logout

继续向下读取数据,发现下个mail系统的数据是28号然后又到了登陆界面的35号数据.


(11)某公司内网网络被黑客渗透,请分析流量,黑客获得的 vpn 的 ip 是多少.

解题思路:
在统计 --> IPV4 --> All Addresses 中发现,出现IP的次数最多.


(12)在 Wireshark 中的常用技巧.

1.拿到一个流量包,把他放 Wireshark 中导出 HTTP 流量.(一般有 HTTP 就是考 HTTP 流量)


导出操作 ==> 文件 ==> 导出对象 ==> HTTP

在命令行下切换到导出的文件中,执行(分离出文件.)

foremost * 

           

            

             

学习笔记链接:5-流量分析技术_哔哩哔哩_bilibili

猜你喜欢

转载自blog.csdn.net/weixin_54977781/article/details/130672946