攻防练习1 ssh私钥泄露

靶场镜像:链接: https://pan.baidu.com/s/1xfKILyIzELi_ZgUw4aXT7w 提取码: 59g0

首先安装打开靶场机

没办法登录,也没法获取ip地址,怎么办呢?

打开kali

进入控制台
使用netdiscover命令 netdiscover -r ip/子网掩码 命令来探测靶机

netdiscover -r 192.168.32.152/24

扫描开放的端口

我们可以看到靶场开放的端口和对应的服务,此靶场机器上开启了ssh服务和两个http服务,

接下来我们分析特殊端口,尤其对开放http服务的大端口(本靶机上31337端口开放了http服务)

怎么探测http端口信息?我们可以使用浏览器来浏览http服务的信息

探到5个隐藏文件

访问ssh和robots的目录

在taxes下发现flag1

再看ssh目录:

发现rsa的私钥和公钥信息

id_rsa是私钥和authorized_keys 是 认证关键字

我们发现在存在一个放私钥要key的目录可用下载

下载下来(公钥不用下载)
这里就是泄露的私钥

那么我们就去尝试与靶机建立ssh连接
对id_rsa 赋予权限 chmod 600 id_rsa

在key文件中我们能找到主机名

建立ssh连接:

ssh -i id_rsa simon@192.168.32.154

需要密码,那么我们可用通过破解私钥得到密码

ssh2john id_rsa >rsacrack

破解出来密码为starwars

连接成功!

进来看一看,有一个flag文件但,需要权限,我们也没有root权限

那么我们先查一下具有root权限的文件:
find / -perm -4000 2>/dev/null

好多东西。。

Root下也有给read_message文件打开看看

发现flag2一枚

int main(int argc, char *argv[]) {

char program[] = "/usr/local/sbin/message";

char buf[20];

char authorized[] = "Simon";

printf("What is your name?\n");

gets(buf);

// Only compare first five chars to save precious cycles:

if (!strncmp(authorized, buf, 5)) {

printf("Hello %s! Here is your message:\n\n", buf);

// This is safe as the user can't mess with the binary location:

execve(program, NULL, NULL);

} else {

printf("Sorry %s, you're not %s! The Internet Police have been informed of this violation.\n", buf, authorized);

exit(EXIT_FAILURE);

}

}

审计这段代码 发现

我们要执行readmessage

然后验证数组前5个字符,限定字符数为最多20个 ,前5个为Simon即可。

先打开

我们试着输20多个字符使其溢出

输入超过他缓存字符长度的字符 超出的部分为root权限的目录路径

获得root权限,发现flag

CTF—攻防练习之ssh私钥泄露的更多相关文章

  1. CTF—攻防练习之SMB私钥泄露

    攻击机:192.168.32.152 靶机 :192.168.32.155 打开靶机 nmap一下 我们看到了开放了 ssh,smb,mysql这些端口,还有一个大端口 对smb服务我们可以1.使用空 ...

  2. 【实验】ssh私钥泄露

    翻自己的笔记看到之前做过的一个实验,一个关于ssh私钥泄露的实验,贴出来与大家交流. 做这种题脑洞需要特别大,而且也需要运气. 1.实验环境准备 2.实验流程 1)探测信息 用namp进行端口扫描,扫 ...

  3. CtfStudying之SSH私钥泄露

    8/23/19 SSH私钥泄露 对于只是给定一个对应ip地址的靶场机器,我们需要对其进行扫描,探测其开放服务.我原来理解的渗透就是找到目标的漏洞,然后利用这些(这种)漏洞,最后拿到机器的最高权限:其实 ...

  4. 使用ssh-add命令添加ssh私钥时报错

    当使用ssh-add命令添加ssh私钥时,报如下错误: Could not open a connection to your authentication agent. 其实需要先执行如下命令: e ...

  5. CTF中常见Web源码泄露总结

    目录00x1 .ng源码泄露 00x2  git源码泄露 00x3 .DS_Store文件泄漏 00x4 网站备份压缩文件 00x5 SVN导致文件泄露 00x6 WEB-INF/web.xml泄露  ...

  6. SSH私钥取消密码(passphrase )

    1. 使用openssl命令去掉私钥的密码 openssl rsa -in ~/.ssh/id_rsa -out ~/.ssh/id_rsa_new 2. 备份旧私钥 mv ~/.ssh/id_rsa ...

  7. [ssh] 通过ssh私钥生成公钥的方法

    ssh-keygen -y -f .ssh/id_rsa.key id_rsa.key是私钥.

  8. [Mac]secureCRT私钥转换为mac ssh私钥

    工作环境从win迁移到mac后,win上原来用secureCRT生成的key,在mac的iterm2中不能兼容使用,导致无法再mac下登录.报错如下: key_load_public:invalid ...

  9. SSH内存泄露及Spring Quartz问题

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://www.blogbus.com/anoxia-logs/34360203.html 问题的起因: 为客户开发了一个系统权 ...

随机推荐

  1. 使用Vue做个简单的评论 + localstorage存储

     1.引入Vue.js 2.编写代码 代码 <!DOCTYPE html> <html lang="zh"> <head> <meta c ...

  2. puppet使用rsync模块同步目录和文件

    puppet使用rsync模块同步目录和文件 2013-09-23 14:28:57 分类: LINUX 环境说明: OS :    CentOS5.4                         ...

  3. hiho #1469 : 福字(dp)

    #1469 : 福字 时间限制:6000ms 单点时限:1000ms 内存限制:256MB 描述 新年到了,你收到了一副画.你想找到里面最大的福字. 一副画是一个n × n的矩阵,其中每个位置都是一个 ...

  4. spring-data-mongodb两种实现方式对比

    spring-data-mongodb两种实现方式对比 参考链接:https://blog.csdn.net/feinifi/article/details/83752862

  5. 算法复习-P NP NPC NP-hard概念

    from http://blog.csdn.net/huang1024rui/article/details/49154507 P.NP.NPC和NP-Hard相关概念的图形和解释 一.相关概念 P: ...

  6. vue-router嵌套路由,二级路由。

    如果全是用一级路由时,路由管理就变得很臃肿,有点乱,路由有父子关系的话,嵌套路由会更好.嵌套也就是路由中的路由的意思,组件中可以有自己的路由导航和路由容器(router-link.router-vie ...

  7. web前端_js

    在HTML中可以将JavaScript/JS的代码写在head中,被script标签所包裹,当浏览器解释HTML时,遇到style标签时,按照CSS规则解释,遇到Script标签时,按照JavaScr ...

  8. 15.DRF学习以及相关源码阅读

    1.http请求协议 代码很枯燥,结果和奇妙. 1.cbv django.vuews import View classs LoginView(View): def get(self,requset) ...

  9. DOM 修改与DOM元素

    ㈠HTML DOM - 修改 修改 HTML = 改变元素.属性.样式和事件.   ①创建 HTML 内容 改变元素内容的最简单的方法是使用 innerHTML 属性. 下面的例子改变一个 <p ...

  10. codevs 5969 [AK]刻录光盘x

                         题目描述 Description • 在FJOI2010夏令营快要结束的时候,很多营员提出来要把整个夏令营期间的资料刻录成一张光盘给大家,以便大家回去后继续学 ...