ruye07

导航

BUUCTF刷题MISC[十] (97-100)

刷题网址BUUCTF:https://buuoj.cn/challenges
庆祝自己刷到100题了,太难了
image
0fe46749ae9d1170edbf02c2833305e1

目录

image

[安洵杯 2019]Attack

打开是流量题,35.5MB
放随波逐流foremost分离一下,
image
在zip里发现flag,不过要解压密码
导出http流,发现dmp文件

dmp文件是windows系统中的错误转储文件,当Windows发生错误蓝屏的时候,系统将当前内存【含虚拟内存】中的数据直接写到文件中去,方便定位故障原因,里面包含主机用户密码信息

image
考虑用mimikatz查看dmp文件明文密码

【Mimikatz——内网渗透神器】Mimikatz是一款开源的Windows安全工具,由法国安全研究员Benjamin Delpy开发。它最初被设计为用于学习C语言和进行Windows安全性实验的工具。然而,由于其强大的功能,它也可以用来从Windows系统中提取敏感信息,如明文密码、哈希值、PIN码和Kerberos票据等。总的来说它可以获取windows系统内存的密码,提供其他域的攻击方式。

image
Administrator密码:W3lc0meToD0g3
解压得到D0g3{3466b11de8894198af3636c5bd1efce2}
改成flag即可

[SUCTF 2019]Game

得到一张图和一个文件夹
image
image

打开src\index.html
image
base32解码得到suctf{hAHaha_Fak3_F1ag}
错误,被骗了!!再找找
zsteg -a 图片路径
image
发现,反转过来解码
U2FsdGVkX1+zHjSBeYPtWQVSwXzcVFZLu6Qm0To/KeuHg8vKAxFrVQ

salted头部,应该是AES或者3DES解密

联想截图_20260209165220

suctf{U_F0und_1t}

USB

解压得到image
解压rar发现文件头已损坏
010打开发现image

查询发现
RAR是有四个文件块组成的,分别是分别是标记块、归档头部块、文件块、结束块
RAR文件结构分析参考:https://www.freebuf.com/column/199854.html
将7A改为74得到正常rar

image
解压得到图片
233
stegsolve打开发现二维码
image
扫描得到ci{v3erf_0tygidv2_fc0},不是flag

foremost分离key.ftm得到zip文件,解压得到key.pcap

image

查看发现全是usb流量,且数据长度都很小。估计是 键盘数据  或者 是鼠标数据

安装pyshark
pip install pyshark

Windows:需要安装Wireshark并将tshark.exe加入环境变量
Linux:安装tshark
sudo apt-get install tshark  # Ubuntu/Debian
sudo yum install wireshark   # CentOS/RHEL

MacOS:
brew install wireshark

在wireshark文件夹下.\tshark -r key.pcap -T fields -e usb.capdata > usbdata.txt
得到usbdata.txt

image
但常见usbdata以两字节一冒号的格式出现,如
image
改网上的脚本运行(去冒号+提取)

#1.将文件用脚本分隔,加上冒号;
f=open('usbdata.txt','r',encoding='utf-16')
fi=open('out.txt','w')
while 1:
  a=f.readline().strip()
  if a:
    if len(a)==16:#键盘流量的话len为16鼠标为8
      out=''
      for i in range(0,len(a),2):
        if i+2 != len(a):
          out+=a[i]+a[i+1]+":"
        else:
          out+=a[i]+a[i+1]
      fi.write(out)
      fi.write('\n')
  else:
    break
fi.close()


#2.最后用脚本提取
# print((line[6:8])) #输出6到8之间的值
#取出6到8之间的值
mappings = { 0x04:"A",  0x05:"B",  0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G",  0x0B:"H", 0x0C:"I",  0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O",  0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5",  0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"\n", 0x2a:"[DEL]",  0X2B:"    ", 0x2C:" ",  0x2D:"-", 0x2E:"=", 0x2F:"[",  0x30:"]",  0x31:"\\", 0x32:"~", 0x33:";",  0x34:"'", 0x36:",",  0x37:"." }
nums = []
keys = open('out.txt')
for line in keys:
    if line[0]!='0' or line[1]!='0' 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':
         continue
    nums.append(int(line[6:8],16))
keys.close()
output = ""
for n in nums:
    if n == 0 :
        continue
    if n in mappings:
        output += mappings[n]
    else:
        output += '[unknown]'
print ('output :\n' + output)

image
密钥是XINAN
结合前面应该是维吉尼亚密码
image
再栅栏密码,用的随波逐流
image
flag{vig3ne2e_is_c00l}

[ACTF新生赛2020]明文攻击

ARCHPR明文解密即可,略
前面写的有点累了

posted on 2026-02-10 01:21  ruye07  阅读(40)  评论(0)    收藏  举报