• skyler实战渗透笔记(五)—Tr0ll


    0skyler实战渗透笔记:

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

    请注意:

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

    0x00 前言

    0x01 信息收集

    0x02 渗透get shell

    0x03 提权

    0x04 总结

    0x00 前言

    今天目标的难度是简单,Tr0ll的灵感来自于OSCP实验室里机器的不断挑衅,目标很简单,从/root目录获得root并获得Proof.txt。

    0x01信息收集

    老规矩,探测一下目标靶机及端口服务:

    目标靶机192.168.245.145,开放了端口:

    哟,开放了匿名ftp,开了22ssh,和80的httpdweb服务

    |--21 ftp

    |--22 ssh

    |--80 httpd

    0x02 渗透get shell

    接下来就按顺序来看看每个端口服务,首先第一个21端口提供了匿名访问的服务,那么用Anonymous访问下21端口看看:

    有一个lol.pcap的网络包,下载下来用wireshark分析下:

    这是一个ftp的网络访问包,展示了一个匿名用户RETR命令下载了ftp中这个文件,文件内容如下:

    Well, well, well, aren't you just a clever little devil, you almost found the sup3rs3cr3tdirlol :-P

    那估计这个sup3rs3cr3tdirlol 是个关键词了。

    先尝试下root/sup3rs3cr3tdirlol 能否登录到系统里,发现不能!

    那记下来,再去看看80端口。

    访问首页是一张图:

     下载下来丢到winhex里看了下没有什么异常。

    dirsearch扫了一下,发现一个隐藏目录:

    访问发现了另一张图:

    手动微笑。我对这两张图研究了半天,发现没有任何信息啊,感情是放的烟雾弹,我吐了。

    那接下来就只能尝试访问下刚才那个key,没想到还真有内容:

    下载这个文件并用file看了下:

    是个32位可执行而文件,赋予x权限,执行试试:

    ok,访问下这个地址试试:

     有两个目录,下面的是password,那上面的就是用户名了。点开第一个目录:

    是一堆字符串,那把这个文件先wget下载到本地,再去访问下password目录:

     

    打开目录发现有一个Pass.txt文件,里面写了一个good_job。这里又有一个坑,我一开始以为密码是Good_job,但是试了半天都不对,后来才反应过来,这个folder文件夹包含了密码,那密码是不是这个txt的名字啊?

    用九头蛇试试:

    hydra -L which_one_lol.txt -p Pass.txt 192.168.245.145 ssh 

    果然。。 真是巨坑。

    拿到了用户名密码,直接ssh访问:

    0x03 提权

    提权第一步:先找内核提权漏洞:

    3.13的内核,在exploit上搜一下:

    第一个试试:

    下载到exp的c文件,先去远端试试能不能在远端编译:

    支持gcc,那么直接在kali启动python服务:

    从靶机上wget直接下载这个.c 文件:

    编译执行:

    一次成功!撒花

     0x04 总结

    这次的靶机确实简单,比较绕的地方就在于那两个迷惑性的目录。

    这里有一个小点其实大有可说,就是在ssh普通用户登陆上去后,我发现每隔一段时间,会话就会被超时断开:

    后来我找了下,发现存在一个定时任务,定时杀掉所有会话并删除tmp目录下内容:

    继续查看lib/log

    cleaner.py脚本是以root权限执行的,并且该脚本是全局可写的,那么我们也可以利用这一点进行提权

     使用ssh-keygen(用来生成ssh公钥认证所需的公钥和私钥文件)

    目录默认、密码Pass.txt、反复输入密码即可在/root/.ssh/目录生成id_rsa、 id_rsa.pub文件

    将 id_rsa.pub产生的密匙内容复制到文本中

    使用vim修改cleaner.py文件

    命令:
    #!/usr/bin/env python
    import os
    import sys
    try:
    os.system(‘mkdir /root/.ssh; chmod 775 .ssh; echo “加上 id_rsa.pub产生的密匙内容上图有例子” >> /root/.ssh/authorized_keys’)
    except:
    sys.exit()
    这脚本提供给大家,收藏慢慢累积学习

     来后直接执行ssh root@192.168.182.143,然后输入Pass.txt即可登录

     

  • 相关阅读:
    守护线程
    接口中的方法重写
    jvm内存结构
    浅拷贝,深拷贝
    队列
    12月4号荒度了一天
    同步条件
    条件变量
    信号量Semaphore
    sql练习
  • 原文地址:https://www.cnblogs.com/Shepherdzhao/p/15291352.html
Copyright © 2020-2023  润新知