密码-流量分析

例题

1.简单流量分析-攻防世界

题目描述:

不久前,运维人员在日常安全检查的时候发现现场某设备会不时向某不知名ip发出非正常的ICMP PING包。这引起了运维人员的注意,他在过滤出ICMP包分析并马上开始做应急处理很可能已被攻击的设备。运维人员到底发现了什么? flag形式为 flag{}

from pyshark.capture.file_capture import FileCapture
from base64 import b64decode
from sys import argv

def solve(file_name):
    packets=FileCapture(input_file=file_name)
    res=''
    for packet in packets:
        for pkt in packet:
            if pkt.layer_name=='icmp' and int(pkt.type,16):
                res+=chr(int(pkt.data_len))
    return b64decode(res)

if __name__=='__main__':
    print(solve(argv[1]))
┌──(kali㉿kali)-[~/Desktop]
└─$ python rsa.py fetus_pcap.pcap 
b'::\\nmongodb:!:17843:0:99999:7:::\\nubuntu:$6$LhHRomTE$M7C4n84UcFLAG{xx2b8a_6mm64c_fsociety}::'
2.工业协议分析2-攻防世界

题目描述:

在进行工业企业检查评估工作中,发现了疑似感染恶意软件的上位机。现已提取出上位机通信流量,尝试分析出异常点,获取FLAG。 flag形式为 flag{}

题目描述说已提取出上位机通信流量,尝试分析出异常点,获取FLAG。 flag形式为 flag{},这其实就是一个暗示,flag就在通信流量中,至于哪里异常,查了资料,有的说UDP的长度有部分异常,要一个个点击查看。可是为什么我感觉UDP大的一堆,小的也一堆,也不知道哪里异常:

其实在题目中已经暗示了flag就在异常流量中,直接搜索flag搜索不到,将flag转化为16进制,然后进行搜索。

>>> n='flag'
>>> flag=''
>>> for i in n:
...     flag += hex(ord(i))
... 
>>> flag
'0x660x6c0x610x67'
>>> flag.replace('0x','')
'666c6167'
>>> 

666c61677b37466f4d3253746b6865507a7d

然后进行转换

>>> m='666c61677b37466f4d3253746b6865507a7d'
>>> flag=''
>>> for i in range(0,len(m),2):
...     flag += chr(int(m[i:i+2],16))
... 
>>> flag
'flag{7FoM2StkhePz}'

就这样,啾咪!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值