skyler实战渗透笔记:
笔记是为了记录实战渗透学习过程,分享渗透过程思路与方法。
请注意:
对于所有笔记中复现的终端或服务器,都是自行搭建环境或已获授权渗透的。使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
我创建这台机器是为了帮助其他人学习一些基本的CTF黑客策略和一些工具。我把这台机器的难度和我在OSCP上弄坏的机器差不多。
这是一台从引导到根的机器,不需要任何客户交互。
有两种专为特权升级设计的方法。
老规矩,先找目标
端口扫描:
奇怪,只有一个22的ssh端口,那么先访问一下:
试了几次通用密码都不对,应该不是要爆破,看到banner信息Easy as 1,2,3,;那么猜测应该是要通过端口碰撞来开启真正的端口:
(端口碰撞是一种通过在一组预先指定的关闭端口上产生连接请求,从外部打开防火墙上的端口的方法。一旦收到正确的连接请求序列,防火墙规则就会被动态修改,以允许发送连接请求的主机通过特定端口进行连接。
端口碰撞的主要目的是防止攻击者通过进行端口扫描来扫描系统中潜在的可利用服务,因为除非攻击者发送正确的碰撞序列,否则受保护的端口将显示为关闭。)
首先通过nmap进行指定端口的碰撞:
命令:hping3 -S 192.168.182.146 -p 1 -c 1
通过ping冲撞之后,防火墙规则会修改,重新扫描一次试试
然后重新扫描:
OK,发现1337端口提供的httd服务。
使用kali直接访问这个地址,这里注意一定要用碰撞的机器来访问,其他机器访问端口还是被隐藏的:
看了下就一张图片,下载下来也没有发现什么特别的内容,看图片的意思,把ring放进了mordor,那就访问下mordor试试:
访问发现原代码中包含了一个编码的字符串,base64解码:
发现又是一个base64,继续解码:
找到了后台登录的地址:
这边尝试了下爆破,没成功。既然是个post表单,那就用sqlmap扫下试试吧:
先用burpsuite把请求抓下来
保存文件,然后直接sqlmap -r login.txt
发现存在盲注,开搞!
先看看当前用的数据库 sqlmap -r login --current-db --batch
看一下有哪些数据库表:sqlmap -r login -D Webapp --tables --batch
只有一个users,那么导出一下这个user表
看起来是用户名和密码,那么导出一下表的数据看看:
sqlmap -r login -D Webapp -T Users -D Webapp -T Users -C id,username,password --dump --batch
OK,搞到了这一堆用户名和密码,试试看能不能进去:
把用户名和密码分别保存到两个文件中,然后用hydra爆破一下:
ok,搞到了一个用户名和密码,登录试试:
ssh smeagol@192.168.245.148
成功!
先看下系统版本:
在expliot-db中找一下对应的漏洞:
找到一个本地权限提升的漏洞39166.c,试一下:
编译并开启服务器,在靶机ssh上下载
OK,搞定,查看flag信息:
看简介里有两种提权方法,然后发现mysql以root身份运行,同时检查数据库版本是5.5.44…
命令:mysql --version
然后再exploit中看看有哪些可以利用的数据库:
将1518.c的shell上传到smeagol用户下,参考1518.c脚本内容进行输入命令,制作反弹shell
然后需要在数据查找到mysql的root密码,一般数据库的登录名和密码都会配置在web服务器目录下的配置文件或脚本文件里,找到login.php:
找到root的登录密码darkshadow(这是数据库的登录…)
继续参考shell命令进行渗透提权
最后 ! sh执行完就获得了root权限!!