信息系统安全实验——Week 8

T1.ssh免密登录

题目描述
通过操作机终端使用ssh登录靶机的test用户(密码123),flag用户目录中存放了可用于ssh免密码登录靶机的flag用户所必要的文件,使用这些文件登录靶机的flag用户,flag存在于flag用户目录中。

操作机:1.10.138.2
靶机:1.10.138.3

首先,在网上了解一下ssh免密登陆的配置步骤:从A登陆B

  • 在B上输入命令ssh-keygen -t rsa,按下三次回车(使用默认配置)
  • 然后我们就会在~/.ssh生成两个文件:公钥id_rsa.pub和私钥id_rsa
  • 将公钥放置到授权列表文件authorized_keys中,进入/root/.ssh后使用命令cat id_rsa.pub>> authorized_keys
  • 修改authorized_keys文件的权限:chmod 600 authorized_keys
  • authorized_keys文件拷贝到A的~/.ssh目录中
  • 此时免密钥已经配置成功,使用命令ssh localhost或者ssh IP地址连接到本机
    第一次会询问是否确定建立连接,输入yes即可;如果想要退出,可输入exit

我们要搞清楚这些步骤的逻辑
将事先生成B的公钥,并将B的公钥放置到授权列表文件中,存放在A的~/.ssh目录中
这样从机器A登陆机器B时就不需要输入密码了

对于这道题
我们希望拿到flag的公钥授权列表文件,并放到test的~/.ssh目录中

我们先进入flag目录下查看一下有哪些可以利用的文件
信息系统安全实验——Week 8_第1张图片
注意到.backup目录比较奇怪,而且我们有其read和execute权限
那就可以大胆尝试一下,进入.backup目录查看
发现里面是一个压缩包,我们尝试解压:
信息系统安全实验——Week 8_第2张图片
虽然没有解压成功,但是我们看到了关键文件:authorized_keysid_rsaid_rsa.pubknown_hosts .shh

什么是known_hosts文件
A通过ssh首次连接到B,B会将公钥1(host key)传递给A,A将公钥1存入known_hosts文件中,以后A再连接B时,B依然会传递给A一个公钥2,OpenSSH会核对公钥,通过对比公钥1与公钥2 是否相同来进行简单的验证,如果公钥不同,OpenSSH会发出警告,避免你受到DNS Hijack之类的攻击。

将文件拷贝到test目录下进行操作

cp .backup /home/test

信息系统安全实验——Week 8_第3张图片
在test目录下新建.ssh目录,将文件authorized_keysid_rsaid_rsa.pubknown_hosts .shh放入.ssh目录下即可

此时免密钥已经配置成功,直接登陆即可

ssh [email protected]

T2.gdb工具使用

题目描述
靶机配置了ssh,可以账号test、密码123通过ssh登录到靶机。
靶机中存在两个用户:test和flag,分析getflag_main.c,使用gdb工具获取用户flag的passwd

操作机:1.10.149.2
靶机:1.10.149.3

首先,了解一下靶机的文件结构
信息系统安全实验——Week 8_第4张图片
查看源代码(snip部分省略了代码)
信息系统安全实验——Week 8_第5张图片
参考资料:Exploit-Exercises Nebula 学习与实践——level 13
参考资料:ExploitExercises_Nebula_Level13
信息系统安全实验——Week 8_第6张图片
信息系统安全实验——Week 8_第7张图片
顺利得到flag账户登陆密码,使用ssh登陆查看flag.txt文件即可

ssh [email protected]
!o_o_cld
cat flag.txt

你可能感兴趣的:(网络安全实训,信息系统安全实验)