实训第十天

一、复现上课的提权案例

1. 打开kali虚拟机,由于kail和目标位于同于网段,因此在kail中输入ifconfig查看ip地址

2. 然后用输入nmap 192.168.17.0/24进行扫描

3. 扫描出IP地址为192.168.17.129,查看该网址

4. 暂时得不到信息,再回到kail用nmap扫描该网址全端口,结果发现还有端口1898开放

5. 发现其开放了1898端口,使用浏览器访问,发现有Drupal,以此作为突破点

6. 启动kail上的msf,输入search drupal查询

7. 选择序号为1的模块,输入以下命令进入,输入show options出现设置提示

8. 按照提示设置目标IP地址和端口,然后输入run入侵目标

9. 输入图中命令,搜集目标内核系统信息

10. 上传可以提权的脚本,再上传到目标主机上并更名为changjun.sh

11. 查看文件权限,发现不可执行

12. 为该文件添加可执行权限

13. 运行changjun.sh,可以看到许多受害主机可能存在的漏洞

14. 登录 https://github.com/nomi-sec/PoC-in-GitHub 网站,找到CVE-2016-5195并访问,从中有对应EXP网站指引,下载EXP

15. 上传文件到受害主机的tmp目录并命名为xionger.cpp

16. 在受害主机上对cpp文件进行编译

这里是O2不是02第一次打错了

17. 看到编译后的程序是由执行权限的

18. 启动该程序

19. 尝试使用su root获取管理员权限,提示缺少终端,利用Python的pty模块来启动一个伪终端

20. 成功提升权限为root

二、Linux内核提权利用步骤

1. 漏洞发现

首先需要发现内核中存在的漏洞。这可能包括内核代码审查、跟踪错误报告或者阅读安全公告。

2. 漏洞验证

 确认该漏洞是否存在于你的目标系统上,并测试漏洞是否可以被利用。

3. 开发漏洞利用

根据漏洞特性编写利用代码。这可能涉及到编写内核模块或者用户空间程序来触发漏洞。

4. 测试利用代码

在受控环境下测试编写的利用代码,确保其能够稳定地工作并且不会导致系统崩溃或其他不稳定行为。

5. 执行提权

如果一切顺利,在真实的系统上运行利用代码以获得更高的权限。

6. 清理痕迹

完成后,清理所有与提权相关的痕迹,包括删除利用代码、临时文件等,以避免留下证据。

7. 修复与报告

如果你是作为安全研究人员工作,那么应该向相关厂商或组织报告漏洞并提供修复建议。

三、Linux常用命令

1. ls 命令

# 查看当前文件夹下的内容
ls

2. mkdir 命令

# 创建目录
mkdir 目录名
# 创建多级目录,举例 mkdir -p ./test/java
mkdir -p 多级目录

3. pwd 命令

# 查看当前所在文件夹路径
pwd

4. cd 命令

# 切换目录
cd 目录名
# 切换到上一级目录
cd ..
# 切换至根目录
cd /
# 切换至用户目录
cd ~

5. touch 命令

# 如果文件不存在,则创建文件。如果文件存在,则不作变化。
touch 文件名

6. rm 命令

# 删除文件【不可删除目录】
rm 文件名
# 删除目录【可删除目录】
rm -r

7. clear 命令

# 清屏
clear

8. find 命令

# 在指定目录下,查找文件。如果有该文件,则会显示该文件的完整路径。否则,为空。
find 查询路径 -name "*.py"
# 如果省略查询路径,则默认在当前目录下查找。
# 该命令非常强大,且实用!而且当结合通配符后,更厉害!

9. man 命令

# 显示command命令的使用手册
man man
# 显示手册的下一屏
空格键
# 会滚一屏
b
# 前滚一屏
f
# 退出
q
# 搜索 word 字符串
/word

10. ln 命令

# 建立软连接,类似于Windows下的快捷方式【源文件要使用绝对路径】
ln -s 被链接的目录路径/源文件名 链接文件的目录路径/源文件名
# 举例:建立/root/test下的hello.py文件的软链接,其路径设为/root/
ln -s /root/test/hello.py /root/he.py
​
# 如果没有 -s 参数,则建立的是硬链接而不是软连接【两个文件占用相同大小的硬盘空间,工作中几乎不用该方法】
# 补充:在 Linux 当中,只有文件的硬链接为0,才会被删除。

11. tar 命令

# 作用:Linux 中最常用的备份工具,只负责打包文件,不负责压缩!tar 可将一系列文件打包成一个大文件,也可以将一个已打包的大文件恢复成一系列文件。
​
# 参数解释:
# c:创建打包文件
# x:解包档案文件
# v:列出归档解档的详细过程,显示进度。
# f:指定档案文件名称,f后面一定是.tar文件,因此必须放在选项的最后。
​
# 打包文件至当前目录
tar -cvf 打包文件.tar 被打包文件1 被打包文件2···
# 打包文件至指定目录
tar -cvf 打包目录路径/打包文件.tar 被打包文件1 被打包文件2···
​
# 解包文件至当前目录
tar -xcv 解包文件.tar
# 解包文件至指定目录
tar -xcv 解包文件.tar -C 被解包的目录路径
​
# 其中f 选项必须放在最后,其他选项顺序可以随意。
# 解释:-C:表示解包到指定目录【要解包的目录必须存在】

12. gzip 命令

tar 只负责打包文件,并不负责压缩。tar 与 gzip 命令结合使用可以实现文件的打包压缩功能。使用 gzip 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.gz 表示【最常见的压缩文件格式扩展名】
​
# 打包压缩文件至当前目录
tar -zcvf 打包文件.tar.gz 被压缩的文件1 被压缩的文件2···
# 压缩文件至指定目录
tar -zcvf 指定目录路径/打包文件.tar.gz 被压缩的文件1 被压缩的文件2···
​
# 解包解压文件至当前目录
tar -zxvf 解包文件.tar.gz
# 解包解压文件至指定目录
tar -zxvf 解包文件.tart.gz -C 被解包解压目录路径
# 解释:-C:表示解压缩到指定目录【要解压缩的目录必须存在】

13. bzip2 名令

除了 tar 和 gzip 命令组合可以实现打包压缩和解包解压功能外,tar 和 bzip2 命令组合亦可以实现上述功能!
tar 只负责打包文件,并不负责压缩。使用 bzip2 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.bz2 表示。
​
# 打包压缩文件至当前目录
tar -jcvf 打包文件.tar.bz2 被压缩文件1 被压缩文件2···
# 打包压缩文件至指定目录
tar -jcvf 指定目录路径/打包文件.tar.bz2 被压缩文件1 被压缩文件2···
​
# 解包解压文件至当前目录
tar -jxvf 解包文件.tar.bz2
# 解包解压文件至指定目录
tar -jxvf 解包文件.tar.bz2 -C 指定目录

14. apt 命令

作用:apt(Advanced Packaging Tool) 是 Linux 下的一款安装包管理工具,可以在中端中方便地安装/卸载/更新软件包
# 安装软件
sudo apt install 软件包
# 卸载软件
sudo apt remove 软件名
# 更新已安装的包
sudo apt upgrade

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值