• skyler实战渗透笔记(六)—Tr0ll2


    skyler实战渗透笔记:

    笔记是为了记录实战渗透学习过程,分享渗透过程思路与方法。

    请注意:

    对于所有笔记中复现的终端或服务器,都是自行搭建环境或已获授权渗透的。使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

    0x00 前言

    0x01 信息收集

    0x02 渗透get shell

    0x03 提权

    0x00 前言

    今天目标是上一篇的续章,Tr0ll系列vm中的下一台机器。这是一个在难度上比原来的Tr0ll提高了一步,但需要的时间几乎是相同的,毫无疑问,trolls仍然存在! 

    难度是初学者++到中级。

     

    0x01 信息收集

    老规矩,先找目标

    这次靶机ip 192.168.2415.146,看下端口服务:

    |——21 ftp

    |——22 ssh

    |——80 httpd

    0x02 渗透get shell

    首先尝试了下21 22端口,没有什么线索。直接访问80端口:

    还是开局一张图,右键看下源码:

    这里有个Author的用户名,可以记下来。

    接下来继续,首页没什么发现,就使用dirsearch扫一下目录:

    发现其中robots.txt包含了一堆不显示的地址:

    下载下来,都访问试试:

    一个目录一个目录的手动访问太慢了,用工具批量请求一下:

    └─# dirb http://192.168.245.146/ robots.txt

    访问了下这几个目录,都是同样的一副图片

    把图片下载下来,cat看了下,最后面有一段话:

    # wget http://192.168.245.146/dont_bother/cat_the_troll.jpg 

    # cat cat_the_troll.jpg 

    结合上一篇的特点,直接访问这个 y0ur_self

    发现是一堆base64编码后的字符串,估计应该是密码字典,先解密出明文字典:

    ─# base64 -d answer.txt > pass.txt

    现在汇总收集到的信息:一个用户名tr0ll,一个密码字典,那么很容易想到通过密码字典爆破ftp或ssh

    但是用hydra爆破了一下,发现进不去。

    后来灵光一闪,用默认的用户名当密码,tr0ll、tr0ll结果直接进去了:

    打开发现一个压缩包,下载下来解压发现需要密码

    那估计密码字典是解压密码了,爆破一下试试:

    使用fcrackzip工具(专门用来破解zip密码)

    解压出来发现一个noob的一个SHA256私钥:我们用这个密码登录22端口试试

    然后就不会做了...我好菜啊....我是一个菜狗子

    去网上搜了一波提示,提示说可以用bash破壳漏洞

    ssh -i noob noob@192.168.245.146 '() { :;}; /bin/bash'

    OK ,终于获得了一个shell

    PS:这里需要详细了解一下SSH破壳漏洞https://unix.stackexchange.com/questions/157477/how-can-shellshock-be-exploited-over-ssh

    0x03 提权

    随便翻翻,找到根目录有一个suid的目录感觉有问题,进去看一眼发现里面是一个suid的文件,所有者还是root

    然后在里面发现三个一样的文件文件名都是r00t,文件大小不一样,一样的套路再次上演,我们去执行那个最大的文件,查看

    执行之后我们输入什么回显什么。这个时候就猜测应该是要利用缓冲区溢出来搞了,gdb调试分析源代码。

    这块二进制的题目我还在学习当中,不太擅长,但是今天这个题目让我加快了二进制的学习进度了。

    这边直接从网上找到对应的exp直接提权:

    ./r00t $(python -c 'print "A"*268 + "x80xfbxffxbf" + "x90"*16 + "x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x50x53x89xe1xb0x0bxcdx80"')

    最终提权完成!



  • 相关阅读:
    nodejs启动前端项目步骤
    多线程
    数组排序(6)- 快速排序
    数组排序(5)- 归并排序
    数组排序(4)- 希尔排序
    数组排序(3)-插入排序
    数组排序(2)-选择排序
    数组排序(1)-冒泡排序
    队列-用非顺序映像实现队列
    ArrayList、Vector和LinkedList的区别
  • 原文地址:https://www.cnblogs.com/Shepherdzhao/p/15306516.html
Copyright © 2020-2023  润新知