[CTF]网鼎杯2024半决赛复盘
这次半决赛比赛11月23日全天在贵阳国际会议展览中心比的。每天晚上还有灯光秀。
复盘的内容打算陆续写。今天先写一部分,把目前在没有网络的环境里自己不会的内容记录在这里。
1、加强SSH服务的安全性
为了防止SSH服务被暴力破解攻击,应禁用密码登录并改用密钥认证。 请在Linux服务器上为root用户配置以下公钥以进行验证ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEhw/9RBAh4qW36/LZXn80sLIZhq2hAJ7qY9KhzfJ3rW
如何生成ed25519?
ssh-keygen -t ed25519
生成的文件存储当前用户家目录的.ssh下。
ed25519公钥长什么样?
test@ubuntu:~/.ssh$ cat id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJZvfxOkvp3iJ9m2eiVmTQ1ow05mmvxOaSCQuyeQLFon test@ubuntu
以后遇到类似不会的题,还可以怎么做?
离线环境,如果一点都不会,可以尝试本机生成一个自己账户的试试。命令不会就man一下。当然最好准备一个linux手册。
禁用密码登录如何做?
在禁用密码登录前,要先配置相应账户的免密登录,不然退出后就登录不上去了。
编辑远程服务器上的sshd_config文件:
vi /etc/ssh/sshd_config
PasswordAuthentication yes改为no
PasswordAuthentication no
编辑保存完成后,重启ssh服务使得新配置生效,然后就无法使用口令来登录ssh了
systemctl restart sshd.service
单就本题目而言,还有一个点要实际操作一下,因为当前登录的是user账户,如何给root账户配置免密还要试一下。
还要给自己的user账户先建立免密登录账户,以免配置完登录不上去,无法做后面的题目。
20241126更新
半决赛上午
ReverseSecurity-socket
本题为赛后复现做出来的。比赛时差一点就做出了。
做法1:
比赛时,使用NETA工具从流量包里面找到WangDingCUPKEY!!
然后使用cli和ser运行,搭建客户端和服务端。
这次太亏了。Ubuntu把服务端跑起来了,kali把cli端运行起来。
但是比赛时多打了几个字符,flag老也不出来。赛后,打个回车,flag就出来了。
当时总是觉得是不是防火墙拦截了?是不是程序考点是别的?
说到底还是基本功不过关。程序逆向后看的不是很清晰。总是觉得这题应该还有其他考点。
做法2:
静态算法分析,找到RC4算法、异或。目前还不太明白,待熟悉后再补。