中国石油天然气第七建设公司网站,网站制作公司官网,wordpress一键脚本,使用wordpress做网站**写在前面#xff1a;**记录博主的一次打靶经历。 目录1. 主机发现2. 端口发现3. 服务枚举4. 服务探查4.1 FTP探查4.1.1 匿名登录4.1.2 Elly用户4.1.3 John用户4.1.4 EXP搜索4.2 dnsmasq探查4.2.1 基础信息获取4.2.2 EXP搜索4.3 WEB应用探查4.3.1 浏览器访问4.3.2 目录扫描4.… **写在前面**记录博主的一次打靶经历。 目录1. 主机发现2. 端口发现3. 服务枚举4. 服务探查4.1 FTP探查4.1.1 匿名登录4.1.2 Elly用户4.1.3 John用户4.1.4 EXP搜索4.2 dnsmasq探查4.2.1 基础信息获取4.2.2 EXP搜索4.3 WEB应用探查4.3.1 浏览器访问4.3.2 目录扫描4.3.2.1 dirsearch扫描4.3.2.2 dirb 扫描4.3.3 EXP搜索4.4 MySQL探查4.4.1 命令行访问4.4.2 爆破mysql4.5 Apache探查4.5.1 浏览器访问4.5.2 目录枚举4.5.2.1 dirsearch扫描4.5.2.2 dirb 扫描4.5.3 EXP搜索4.6 Samba探查4.6.1 EXP搜索4.6.2 EXP利用5. 获取flag1. 主机发现
目前只知道目标靶机在56.xx网段通过如下的命令看看这个网段上在线的主机。
$ nmap -sP 192.168.56.0/24锁定靶机IP地址为56.109。
2. 端口发现
通过下面的命令对靶机进行一下全端口扫描。
$ sudo nmap -p- 192.168.56.109额这个靶机上开放的端口比较多可以说是琳琅满目了FTP、WEB、数据库等等。
3. 服务枚举
通过下面的命令对端口上的服务进行枚举。
$ sudo nmap -p20,21,22,53,80,123,137,138,139,666,3306,12380 -A -sV -sT 192.168.56.109内容还是挺多的将来我们可能要搜索的公共EXP也会比较多先逐个探查一下服务。
4. 服务探查
4.1 FTP探查
4.1.1 匿名登录
直接命令行登录。 anonymous登录直接进去了接下来看看里面有些啥。 貌似只有一个note文件下载下来看看里面都有些啥。 这个note挺有意思的貌似是John给Elly的留言并且Elly的FTP账户下面很有可能有“payload information”。先记下这些接着到其它目录看看。 好奇怪提示切换目录成功了但是列出来的文件还是note并且修改日期、大小、权限等等都跟之前是一样的。不管了作为note2下载下来看看内容再说。 确认是同一个文件这说明目录没有切换成功。从目前的来看基本上anonymous用户可以看到的内容就是唯一的一个note文件。既然note中提到了Elly和John两个用户尝试分别用这两个用户登录FTP和SSH试试看。
4.1.2 Elly用户
首先用elly用户登录FTP并且简单试用一下弱密码elly、123、elly123。 均以失败告终也可能是elly用户确实不存在。再用这个用户尝试SSH登录试试看。 同样均以失败告终后面如果需要的话回过头来尝试爆破一下。
4.1.3 John用户
在用john用户登录FTP和SSH的时候同样是失败的。 不过这里想更进步一点点FTP登录的时候会提示HarrySSH登录的时候会提示Barry这也有可能是两个用户名分别用相同的方式试一下也失败了。后面有空的时候爆破一下。
4.1.4 EXP搜索
$ searchsploit vsftpd从搜索结果来看还是有EXP可以利用的先看一下代码再说。 从代码来看需要用户名和密码这一点显然目前是不具备的但是我们可以使用anonymous用户和空密码试一下。 接下来修改一下host为目标靶机IP地址用户名修改为anonymous密码置空。 然后通过python3运行一下。 尽管已经提供了相关的参数但是无论怎么调测都报这个错误有些奇怪实在不行的时候再回来啃这个硬骨头。
4.2 dnsmasq探查
4.2.1 基础信息获取
见识有些少先看看dnsmasq是个啥再说度娘给的结果还算明确。
4.2.2 EXP搜索
虽然知道了dnsmasq是个啥但是还不知道怎么使用这个上手可能也会浪费一些时间接下来简单做一下公共EXP搜索。 虽然不知道怎么用但是看上去貌似可以利用的漏洞不少。
4.3 WEB应用探查
4.3.1 浏览器访问 嗯80端口是开着的但是貌似页面找不到。
4.3.2 目录扫描
既然端口开着那就进行一下目录扫描吧看看能够扫描出些什么内容。
4.3.2.1 dirsearch扫描
通过下面的命令采用dirsearch扫描一下。
$ dirsearch -u http://192.168.56.1094.3.2.2 dirb 扫描
鉴于上次的经验教训这里通过dirb挂上字典扫描一下。
$ dirb http://192.168.56.109 /usr/share/wordlists/dirb/big.txt
$ dirb http://192.168.56.109 /usr/share/wordlists/dirb/big.txt -X .php貌似确实没有扫出更多的内容。先查看一下这几个扫出来的内容吧。先看看.bash_logout。 没啥干货再看看.bashrc和.profile都没啥干货。
4.3.3 EXP搜索
搜索一下对应版本的WEB应用服务器版本。 无论怎么优化关键字搜索结果都不太合适。反正我也不知道这个PHP的cli server是啥先google一下吧。 大概意思是CLI是PHP的一个内置web server这样在开发代码的时候就不需要部署庞大的Apache或者Nginx等web服务器了。并且进一步查出了从PHP的5.4.0版本之后都内置了CLI Server。 感觉这个CLI Server也只能本机访问无法在网络上使用暂时放弃吧。
4.4 MySQL探查
4.4.1 命令行访问
既然3306端口是开放的那就从命令行访问一下或者爆破一下试试看。 看来还是有些问题直接用hydra爆破一下试试看。
4.4.2 爆破mysql
通过下面的命令挂在rockyou字典爆破一下mysql的root用户。
$ hydra -l root -P /usr/share/wordlists/rockyou.txt 192.168.56.109 mysql需要等待的时间比较长等待大半个小时没有结果就停止它吧最后确实放弃了没有爆破出来。
4.5 Apache探查
在服务枚举阶段我们还枚举出了12380端口上运行的Apache httpd。我们在这里探查一下。
4.5.1 浏览器访问
先直接通过浏览器访问一下这个端口分别用http和https看看。 是http就是一个人畜无害的普通静态页面啊除了右下角的两个超链接也没有其它关键信息。点击一下两个超链接试试看。 第一个Creative Tim连接到一个外部站点如下。 先放到一边说不定后面构建攻击字典的时候可以用上。再来看看那个Download的链接。 也是连接到了外部站点对于外部站点暂时不做分析后面用到了再说。
4.5.2 目录枚举
既然到了这里那就对12380端口也进行一下目录枚举吧。
4.5.2.1 dirsearch扫描
通过下面的命令采用dirsearch扫描一下。
$ dirsearch -u http://192.168.56.109:12380有些意外啊竟然是空的没法解释啊看看上面提到的txt文件和log看看。 确实没有这个txt文件接下来看看log有没有。 也是空的太令人失望了白等了半天。
4.5.2.2 dirb 扫描
通过dirb挂上字典扫描一下。
$ dirb http://192.168.56.109:12380 /usr/share/wordlists/dirb/big.txt还是一无所获暂时放弃这条线。
4.5.3 EXP搜索
搜索一下有没有适用于Apache 2.4.18的公共EXP。 貌似有一个提权漏洞和一个内存泄露的漏洞适用于靶机版本这个漏洞利用会比较复杂暂时放一边。
4.6 Samba探查
最后探查一下Samba服务之所以放在最后是因为这一块根本不了解靶机上的版本是4.3.9版本。先连接一下试试看。 尝试发送消息试试看。 还是失败。
4.6.1 EXP搜索
现在本人对于139端口的理解就是一张白纸直接搜索一下看看有没有可用的公共EXP吧。 搜索下来貌似就只有42084这一个EXP符合我们靶机的版本要求貌似是一个任意模块加载的漏洞先快速浏览一下代码再说。 ruby代码除了注释其它基本都看不懂并且还需要Metasploit针对的漏洞编号是CVE-2017-7494。
4.6.2 EXP利用
既然看不懂ruby的EXP代码直接百度一下这个CVE-2017-7494的漏洞吧。 从网上搜索了一下基本原理是这样的Samba允许连接一个远程的命名管道并且在连接建立之前会调用is_known_pipename()函数验证管道名称是否合法但是在is_known_pipename()函数中并没有对管道名称的规范性进行检查这将会导致管道名称中可以包含特殊字符攻击者可以构造使用包含特殊字符管道名称的恶意动态链接库文件并使用is_known_pipename()函数加载用于执行任意代码。并且这个漏洞貌似可以直接在Metasploit里面利用那就试试看吧。 说明这里重点参照了网络大神的帖子https://blog.csdn.net/dgjkkhcf/article/details/125902865。 首先启动Metasploit控制台。
$ msfconsole接下来通过use命令使用is_known_pipename攻击模块。
msf6 use exploit/linux/samba/is_known_pipename通过set命令设置一下主机地址和端口参数并通过show命令查看是否设置成功。
msf6 exploit(linux/samba/is_known_pipename) set RHOSTS 192.168.56.109
msf6 exploit(linux/samba/is_known_pipename) set RPORT 139
msf6 exploit(linux/samba/is_known_pipename) show options配置完成后直接通过run命令运行一下漏洞利用模块。
msf6 exploit(linux/samba/is_known_pipename) run这是第一次用Metasploit从上图中最后两行的输出来看貌似是直接发现了shell并自动创建了反弹shell直接试试看吧。 我靠这也太神奇了怪不得OSCP不让用Metasploit啊还没弄明白具体的漏洞是咋回事就攻进去了并且是突破边界提权一条龙服务直接获得了root权限。
5. 获取flag