CVE-2020-15778漏洞复现
OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。
OpenSSH 8.3p1及之前版本中的scp的scp.c文件存在命令注入漏洞。该漏洞源于外部输入数据构造可执行命令过程中,网络系统或产品未正确过滤其中的特殊元素。攻击者可利用该漏洞执行非法命令。
使用scp复制文件到远程服务器时,在scp命令后面跟上文件的路径,具体格式如下:
在上述过程中,scp会使用”-t“参数来获取存储传入文件的路径,如下:
问题就出在这个地方,也就是"scp.c"文件的991行,如图。这个地方未对传入的文件路径进行检测防护。攻击者可以使用反引号包裹payload然后加上文件名执行scp命令,这时,payload将会发送到远程服务器并执行。
描述:要实现该漏洞必须知道ssh用户密码,但是一般来说ssh是阻止连接的。这个时候我们就可以利用这个漏洞进行连接。
攻击机:Kali-Linux-2020.3
受害机:CentOS-6.8
1、在攻击机创建一个拷贝用的测试文件(为空即可)
2、测试在攻击机上scp到受害机
3、查看受害机
注:上述是,测试scp命令是否可以正常使用
4、开始命令注入攻击
5、查看受害机
注:通过 `` 符号内实现任意远程命令执行
5、攻击机监听端口
6、反弹shell命令注入攻击
番外:
言归正传:
7、查看新建的攻击机窗口
目前厂商暂未发布修复措施解决此安全问题,等待官方补丁
加强ssh密码或密钥的保护,周期性更换密码或密钥
使用rsync代替scp
scp命令及使用过程中常见问题的解决方案
scp命令用于操作系统之间(Linux之间或者linux与windows之间)复制文件和目录。
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
1、从本地复制到远程
A. 复制文件命令格式
(1)scp local_file remote_username@remote_ip:remote_folder
(2)scp local_file remote_username@remote_ip:remote_file
(3)scp local_file remote_ip:remote_folder
(4)scp local_file remote_ip:remote_file
说明:
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
B. 复制目录命令格式:
(1)scp -r local_folder remote_username@remote_ip:remote_folder
(2)scp -r local_folder remote_ip:remote_folder
说明:
第1个指定了用户名,命令执行后需要再输入密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;
2、从远程复制到本地
从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可。
应用实例:
scp root@ /home/space/music/1.mp3
scp -r /home/space/music/
说明
(1)如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:
#scp 命令使用端口号 4588
scp -P 4588 remote@ /home/administrator
(2)使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。
scp命令运行过程中,涉及到SSH。SSH或Secure Shell是一种安全通信协议,用于远程连接两个操作系统,以便我们可以使用命令控制台从客户端计算机控制主机。关于SSH最重要的是它能够加密连接会话,这是FTP或Telnet无法实现的,更不安全的协议,并且已经很少使用。SSH还允许将数据安全地从主机复制到客户端,并且可以使用比普通用户的会话密钥更安全的RSA密钥,我们还可以通过隧道传输文件来获得更高的安全性。使用SSH,我们可以在内部网络和完全远程连接到配置为服务器的计算机。为此,我们必须打开TCP端口22,这是默认端口。
假设这里有两台机器A、B,B是安装在虚拟机里的debian系统,在B机器上可以使用ssh登录到A机器
但是在A上使用ssh命令登录B机器时提示错误:
ssh: connect to host 192.168.28.160 port 22: Connection refused
原来ssh分为ssh-client和ssh-server两部分,B设备只安装了ssh-client而没有安装ssh-server才导致上述问题。
解决方法:在B机器上安装ssh-server,apt-get install ssh-server
然后在A上执行ssh root@192.168.28.160却提示了另外一个waring:
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
在网上搜了一下发现出现这个warning是因为对端重新的ssh服务出现变动所致。
scp九尾狐服务器插件介绍
第一部分:官服插件SCP介绍
此版本介绍更新于:2018.2.25
介绍中所提及的 xx点伤害 表明单次攻击会造成多少血量的伤害
SCP九尾狐官方服务器设定:SCP-035,SCP-550,SCP-999无法开启SCP-914;SCP-550,SCP-682无法开启轻收容区检查点。
-SCP-008 丧尸病毒 SCP阵营
简介:被49攻击几率变成的,持续掉血,死后将周围的人变为小僵尸
特征:每一次被SCP-049攻击时,有20%的几率变为SCP-008。
若变为SCP-008,此次攻击受到的伤害免疫
并会收到一条弹幕消息:你已成功变为SCP-008。
在变为SCP-008后原地加入SCP阵营,外观无变化,无头衔显示身份
SCP-008会以每秒1点的速度持续掉血
在死亡后,会将一定范围内的人类(至多五个)原地变为SCP-049-2
在变为SCP-008后使用SCP-500可以使自己变回普通人类
收到的弹幕信息其他人无法看见
-SCP-035 占据面具 SCP阵营
简介:跟人类长得一样的SCP,目的是帮助SCP
特征:开局背包中将多出一枚硬币
在开局时,可以是“保安、D级、博士”外观无不同,不公开显示身份
每两拨增援将增加一位SCP-035 最多存在两个SCP-035
SCP-035可以免疫SCP-2818的伤害
-SCP-069 第二次机会 D级或博士阵营
简介:可以复活一次
特征:为一名D级人员或博士,且公开身份。
当其死亡时,会随机选定一个尸体并复活在那个尸体上。
复活后的角色为那个尸体所属的角色。
-SCP-105“鸢娓” D级或博士阵营
简介:用手电筒照人使人无敌
特征:公开身份。出生为一位D级人员或博士。
背包内有一手电筒。当其照射到人时,被照者将获得无敌。
SCP-105在开启手电筒时每0.5秒受到1点伤害。
-SCP-181 幸运儿 D级阵营
简介:开局一张卡,人肉914,受到伤害能不死,徒手开门开两次
特征:出生时带有一张随机等级的卡
只能是一名D级人员,且公开身份
-捡起卡时,有低几率使其升级
-捡起枪时,有低几率使其升级为电磁炮
使用SCP-2818有一定几率不会死亡,同时避免第一次受到的伤害。
拿着磁卡打开权限门时,若此卡权限不足,则依然可以打开。此效果只能释放两次
当SCP-181被捆绑且逃离时,会变为九尾指挥官且背包内额外获得一个电磁炮
-SCP-367 小狗狗 SCP阵营
简介:一条有狂犬病的SCP-939,咬死人能传染但是伤害低
特征:公开身份。在第一波增援时,人数大于等于26人时出现。
当满足上述条件时,在第一波增援刷新之前的一刻,服务器将随意指定一名死亡的玩家成为SCP-367。
SCP-367为一只SCP-939-53。其攻击力只有20点
被SCP-367最后一击咬死的人类,将原地变为一只新的满血的SCP-367。
SCP-367没有数量限制
-SCP-493 复制者 D级阵营
简介:英雄不朽复活尸体
特征:公开身份,为一名D级人员。
当其站在一个尸体旁并直视一个尸体时,这个尸体将会复活在当前位置。
操控其的玩家为其死亡前操控其的玩家,角色同理。血量为满血
当SCP-493重复复活一个玩家三次后,再次复活此玩家此玩家的背包将被清空
-SCP-500 万能药 物品
简介:SCP-914加工得到,用完立刻满血并获得抗性
超精加工血包100%获得。顶端会显示弹幕。
当使用SCP-500时将消耗一个血包。
使用者将回复所有血量并获得子弹抗性5分钟。
SCP-914单次加工只能加工出一个SCP-500
-SCP-550 食尸鬼 SCP阵营
简介:长得像混沌的SCP,能吸血
特征:开局刷出,为一名混沌分裂者。
背包里有一把 手枪 一张三级蓝卡 一个医疗包 也只能拥有这些物品与P90,手雷,对讲机。
具有类似SCP-106的护甲抗性。拥有吸血效果。可伤害所有人类。
初始血量与普通的混沌相同
-SCP-682 不灭巨蜥 SCP阵营
简介:一口一个的939,能无限复活与拆门
特征:初始生成的SCP-939中的SCP-939-53变为SCP-682。且公开身份。
造成的伤害为普通SCP-939的两倍。初始血量为2750(与其他SCP-939相同)
死亡后当刷新增援时会复活在SCP-939的出生点。
复活两次后点击E键可强制毁坏门。
可破坏的门种类与SCP-096相同
-SCP-701 缢王悲歌 SCP阵营
简介:在老头空间的049,杀人附身,逃离空间,看他的人开启友伤
特征:SCP-701为一名SCP-049出生于SCP-106的口袋空间中。
当SCP-701杀死一人时,会附身于此人身上。
在附身之前不可脱离空间,附身后此后便可逃出空间,走错路不会死亡。
当有人类看到SCP-701时,将可以被队友所伤害,持续至其死亡。
-SCP-718 爆炸眼球 中立阵营
简介:看他掉血
特征:一名D级人员,且公开身份。
注视的SCP-718的任何角色将每秒受到1点伤害
被一部分SCP攻击的伤害降低/免疫。
-SCP-738 与魔谋易 D级阵营
简介:捡东西复制
特征:为一名D级人员且公开身份。
捡到物品可进行复制,复制方式为捡起其物品。每种物品只限复制一次。
复制成功后,复制品会掉落到SCP-738的脚下,并且会受到10点伤害。
不同等级的磁卡算作不同物品
SCP-999 痒痒怪 中立阵营
简介:高血量打人回血
特征:一名保安。出生时有一把MP7与一张三级蓝卡,公开身份
可拥有的物品:(MP7.三级蓝卡.四级蓝卡.手雷.电磁炮.对讲机.闪光弹.平板)
血量为5000血,与所有阵营共赢
造成的所有伤害均变为治疗,可突破血量上限
在给SCP-035,SCP-550,在SCP-500药效持续时间内的玩家加血时,单次加血量强制变为1血
-SCP-1143 真男人从不回头看爆炸 九尾狐或混沌阵营
简介:背包刷雷
特征:在刷新的九尾狐或混沌中随机选择一位玩家成为,且公开身份。
同一时间内只可存在一名SCP-1143。
每30秒CP-1143的背包内会获得一个手雷,低概率会为一个闪光弹。
-SCP-2818 射人的步枪 武器
简介:用自己的生命换极高的伤害
特征:外型为一把手枪。当捡起时将会有全服广播。
全服在任意同一时间只能存在一把SCP-2818。
在这之后被捡起来的手枪便为普通手枪。
当其射中任意玩家时,开枪者会立刻死亡。
这发子弹将造成1000点的真实伤害,但对SCP-106只有500点伤害。
不能伤害队友,无论该枪是否造成伤害,只要打中玩家开枪者就会立刻死亡
第二部分:游戏插件介绍
本介绍更新于:2019.1.31
此介绍仅介绍九尾狐官方服务器中所包含的插件
1.逃脱增强插件
当D级人员被捆绑送出逃生点时,将变为九尾狐学员并重生在九尾出生点
当科学家被捆绑送出逃生点时,将变为混沌并重生在混沌出生点
2.914传送插件
当914加工完成的那一刻,将所有在未加工间的玩家传送至加工完成间。
3.复活保护插件
九尾狐、混沌、保安这三类角色重生时获得15秒钟无敌
4.捆绑无敌插件
当D级人员被捆绑时,无法被九尾所伤害
当科学家被捆绑时,无法被混沌所伤害
scp怎么用???
题主你好,
从服务器上下载文件或向服务器上传文件最常用的命令当属scp了,使用方法也简单.
一.先说题主问题中的情况,即从服务器上往回拿文件(官话一点的表达:从服务器上将文件下载到本地):
scp 服务器用户名@服务器ip:文件的绝对路径 要将文件保存到本地哪
举例来说,我的服务器地址是1.1.1.1,用户名为hellofriend,并且在服务器上的/home/hellofriend/下有个名为ok的文件,则我想将服务器上的这个ok文件下载到本地的根目录,/,下用到的命令为:
scp hellofriend@1.1.1.1:/home/hellofriend/ok /
命令执行完成后,会提示你输入hellofriend这个用户的密码,密码输入完成后,回车,正常情况下,你在根目录下就能看到ok文件了.
*.新手注意事项:
a.ip地址和文件路径中间有个冒号;
b.文件路径一般用绝对路径,即从根开始找;
c.不要忘了写你要将文件保存在本地的哪里;
-----
二.再说如何将本地文件上传到服务器,这个不细说,命令和上面的差不多:
scp 本地的文件路径 服务器用户名@服务器ip:要保存在服务器的哪个位置
如我要将本地根目录下的ok文件上传到1.1.1.1这台服务器的/home/hellofriend目录下,则命令为:
scp /ok root@1.1.1.1:/home/hellofriend/
执行命令后,输入密码,回车,正常情况下文件就上传成功了.
-----
写在最后: 上面命令写的其实相对死板一些,其实还有一些小技巧,题主用的多了就能了解了,这里先不过多展开.
=====
希望可以帮到题主, 欢迎追问.
0条大神的评论