OSCP 学习:Kali Linux 基本命令

news2024/12/24 0:57:43

Bash 环境

环境变量

当我们开启新的bash时候,它会拥有自己的环境变量

我是这样理解 环境变量的:
每个程序都有自己运行的地址 我们用一个变量来储存它的地址 这个变量就叫环境变量

Kali 最常用的环境变量 就是 $PATH。这个我们可以用这个变量进行不正当配置二进制文件提权(以后文章可能会出现)

┌──(root@OSexp)-[~]
└─# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

┌──(root@OSexp)-[~]
└─# echo $USER
root

┌──(root@OSexp)-[~]
└─# echo $PWD 
/root

┌──(root@OSexp)-[~]
└─# echo $HOME
/root

export

我们可以通过 export 这个命令 来编辑临时变量
关掉这个bash临时变量消失, 如果在bash里再开一个bash 临时变量可以继承
export
如果经常忘记ip地址 可以用这样来方便记住自己的ip

我们可以通过 **$$**来查看当前进程的ID
env可以让我们查看当前Kali Linux默认的环境变量
env

alias

alias
是一个我们可以定义的替换命令名的字符串。别名对于用我们定义的更短的命令或别名替换常用的命令和开关非常有用。换句话说,别名是我们定义自己的命令,由其他命令构建。这方面的一个例子是ls命令,我们通常倾向于使用ls-
la(显示结果在一个长列表中,包括隐藏的文件)。让我们来看看如何使用别名来替换此命令

alias lsa = 'ls -la'
alias pingip = 'ping -c 1 127.0.0.1'

历史记录

在最新的 Kali Linux 中通常用到的都是 zsh终端 而不是bash。现在网上有很多zsh的插件,师傅们可以自行去网上搜索 oh my
zsh等插件进行美化自己的终端。
重点是现在的zsh 有历史记录,还有命令自动补全的功能,这个十分方便各位师傅们进行渗透操作。

history # 查看历史记录
history -c # 清空历史记录

我们可以用 方向键 (上下)游览自己的记录 方向键(右) 自动补全记录

在终端 输入 !! 回车 自动完成上一个命令

持久的Bash自定义

Bash中的交互shell
的行为是由位于/etc/bash.bashrc中的系统范围的bashrc文件决定的。可以通过编辑位于任何用户的主目录中的.bashrc文件来覆盖系统范围内的Bash设置。(现在都在
.zshrc )

image-20220407174510331

管道和重定向

Stream NameDescription
Standard Input (STDIN)Data fed into the program
Standard Output (STDOUT)Output from the program (defaults to terminal)
Standard Error (STDERR)Error messages (defaults to terminal)

网上有很多师傅都写了教程,在这里我就不再重复了。下面是一些网址,供师傅们参考一下。

Linux 重定向教程
Linux 管道命令教程

文本的搜索和操作

我觉得这个挺重要的,在不借助很多工具的情况下,手动对文本信息进行筛选 是一个比较基础的能力。非常考验渗透人员的基本功。

grep

grep 通常搭配管道操作符进行配合使用 ( | ) 来筛选我们需要的 文件 (可以使用正则,字符串)
grep

sed

sed 是一个非常强大的流编辑器。我们可以使用sed将文本在流中编辑我们的文本。

echo "I need to try hard" | sed 's/hard/harder'
> I need to try harder

cut

这个命令非常简单,从字面的意思就知道是切割的意思,通常也是搭配管道操作符进行使用。
常用的参数:
-f 选定区域的数字(从1开始算,不是从0开始算)
-d 以什么来划分区域

echo "I am a Student" | cut -f 2 -d " "
> am

awk

这个命令太厉害了Orz,还没有非常好的掌握好,可以参考一些师傅的文章。
[Linux awk
教程](https://blog.csdn.net/stpeace/article/details/46848873?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164931429916782246438022%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164931429916782246438022&biz_id=0&utm_medium=distribute.pc_search_result.none-
task-
blog-2alltop_positive~default-1-46848873.142%5Ev5%5Epc_search_result_control_group,157%5Ev4%5Enew_style&utm_term=awk&spm=1018.2226.3001.4187)

其他命令

还有其他很厉害的命令 如sort uniq等。当命令一起组合的时候会有非常强大的功能。

[Linux sort
教程](https://blog.csdn.net/wade3015/article/details/92573738?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164932085816781685323199%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164932085816781685323199&biz_id=0&utm_medium=distribute.pc_search_result.none-
task-
blog-2allsobaiduend~default-1-92573738.142%5Ev6%5Econtrol,157%5Ev4%5Enew_style&utm_term=linux+sort&spm=1018.2226.3001.4187)

[Linux uniq
教程](https://blog.csdn.net/chinabestchina/article/details/84036350?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164931454316782094896877%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164931454316782094896877&biz_id=0&utm_medium=distribute.pc_search_result.none-
task-
blog-2allsobaiduend~default-1-84036350.142%5Ev6%5Econtrol,157%5Ev4%5Enew_style&utm_term=uniq+%E5%91%BD%E4%BB%A4&spm=1018.2226.3001.4187)

编辑你的文本

本人比较喜欢用vim来编辑文本,比较轻巧快捷。(但是在反弹shell sh环境中vi有几率会卡死,不知道有没有大佬会遇到这种问题)

OSCP考试书推荐两种编辑器:nano、vim/vi

[Linux nano
教程](https://blog.csdn.net/u012561176/article/details/45829223?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164931485516782094845407%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164931485516782094845407&biz_id=0&utm_medium=distribute.pc_search_result.none-
task-
blog-2allsobaiduend~default-1-45829223.142%5Ev6%5Econtrol,157%5Ev4%5Enew_style&utm_term=nano+%E7%BC%96%E8%BE%91%E5%99%A8&spm=1018.2226.3001.4187)

[Linux VIM/VI
教程](https://blog.csdn.net/xing851483876/article/details/84553945?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164931479616780271985605%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164931479616780271985605&biz_id=0&utm_medium=distribute.pc_search_result.none-
task-
blog-2allsobaiduend~default-1-84553945.142%5Ev6%5Econtrol,157%5Ev4%5Enew_style&utm_term=vim+%E7%BC%96%E8%BE%91%E5%99%A8&spm=1018.2226.3001.4187)

对比文件

在很多情况中,如蓝队、运维的时候需要对比昨天日志和今天日志有什么敏感操作,判断服务器是否中马

comm

comm file1 file2
file1的不同之处|file2的不同之处|file1,file2相同之处

comm -12 file1 file2
直接忽略不同之处 直接输出相同之处

diff && vimdiff

与之comm相反的命令就是 diff 这个命令我没有太过多去了解,师傅们可以先去了解一下。

[Linux diff && vimdiff
教程](https://blog.csdn.net/rangf/article/details/6459271?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164932292116782089379859%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164932292116782089379859&biz_id=0&utm_medium=distribute.pc_search_result.none-
task-
blog-2allsobaiduend~default-2-6459271.142%5Ev6%5Econtrol,157%5Ev4%5Enew_style&utm_term=vimdiff&spm=1018.2226.3001.4187)

管理进程

Linux内核通过使用进程来管理多任务处理。内核维护关于每个进程的信息,以帮助保持组织,每个进程被分配一个称为进程ID(PID)的数字

bg(backgrouding processes)

查看后台有什么程序 我们用的是 bg 这个命令

创建后台进程的最快方法是在命令的末尾追加一个&号和(&),以便在命令启动后立即将其发送到后台。让我们试试一个简单的例子:

kali@kali:~$ ping -c 400 localhost > ping_results.txt &

第二种挂起的方法 (ctrl + z)

kali@kali:~$ ping -c 400 localhost > ping_results.txt
^Z
[1]+ Stopped ping -c 400 localhost > ping_results.txt
kali@kali:~$ bg
[1]+ ping -c 400 localhost > ping_results.txt
kali@kali:~$

fg

我们在后台挂起的程序,我们用 fg 这个命令重新唤醒

kali@kali:~$ ping -c 400 localhost > ping_results.txt
^Z
[1]+ Stopped ping -c 400 localhost > ping_results.txt
kali@kali:~$ find / -name sbd.exe
^Z
[2]+ Stopped find / -name sbd.exe
kali@kali:~$ jobs
[1]- Stopped ping -c 400 localhost > ping_results.txt
[2]+ Stopped find / -name sbd.exe
kali@kali:~$ fg %1
ping -c 400 localhost > ping_results.txt
^C
kali@kali:~$ jobs
[2]+ Stopped find / -name sbd.exe
kali@kali:~$ fg
find / -name sbd.exe
/usr/share/windows-resources/sbd/sbd.exe

ps(process status) && kill

进程管理

# 通常我们都会用ps 来查看我们的进程
ps -ef # -e 选中所有进程 -f 输出所有格式的列表(UID,PID,PPID等)

# 如果我们要杀掉进程的话
kill <process pid>
# 强制杀掉进程
kill -9 <process pid>

文件和命令监控

tail

tail
最常见的用途是在写入日志文件条目时监视它们。例如,我们可能希望监视Apache日志,以查看我们是否试图通过客户端漏洞攻击一个web服务器。这个例子将会这样做:

kali@kali:~$ sudo tail -f /var/log/apache2/access.log 
127.0.0.1 - - [02/Feb/2022:12:18:14 -0500] "GET / HTTP/1.1" 200 3380 "-" "Mozilla/5.0 
(X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0"
127.0.0.1 - - [02/Feb/2022:12:18:14 -0500] "GET /icons/openlogo-75.png HTTP/1.1" 200 6
040 "http://127.0.0.1/" "Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firef
ox/52.0"
127.0.0.1 - - [02/Feb/2022:12:18:15 -0500] "GET /favicon.ico HTTP/1.1" 404 500 "-" "Mo
zilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0"

-f 参数 随着目标文件的增长,不断地更新输出

-nX 参数 输出后 X行,如果有就会取代默认的10行输出

watch

用于定期运行一个指定的命令

[Linux watch
命令教程](https://blog.csdn.net/u013907419/article/details/86510838?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164932391416780261938184%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164932391416780261938184&biz_id=0&utm_medium=distribute.pc_search_result.none-
task-
blog-2allsobaiduend~default-1-86510838.142%5Ev6%5Econtrol,157%5Ev4%5Enew_style&utm_term=linux+watch%E5%91%BD%E4%BB%A4&spm=1018.2226.3001.4187)

watch -n <seconds> <command>
example:
watch -n 1 netstat -ant

下载文件

我们在攻击机开启了http服务,我们通常就需要将恶意文件传输到目标机。

wget

wget将广泛使用,使用HTTP/HTTPS和FTP协议下载文件

wget -O <file_location> <URL>
wget -O /tmp/payload.txt https://example.com/shellcode.txt
# 请务必要看清楚 file_location 是否有写入权限

curl

一种使用IMAP/S、POP3/S、PS、SCP、SFTP、SMB/S、SMTP/S、telnet、TFTP等S系列协议向服务器传输数据的工具。渗透测试人员可以使用它来下载或上传文件,并构建复杂的请求。

curl -o <file_location> <URL>

axel

axel
是一个下载加速器,它通过多个连接从FTP或HTTP服务器传输文件。这个工具有大量的特性,但最常见的是-n,它用于指定要使用的多个连接的数量。在下面的示例中,我们还使用-
a选项来表示更简洁的进度指示器,并使用-o来为下载的文件指定不同的文件名。

kali@kali:~$ axel -a -n 20 -o report_axel.pdf https://www.offensive-security.com/reports/penetration-testing-sample-report-2013.pdf

ion>

axel

axel
是一个下载加速器,它通过多个连接从FTP或HTTP服务器传输文件。这个工具有大量的特性,但最常见的是-n,它用于指定要使用的多个连接的数量。在下面的示例中,我们还使用-
a选项来表示更简洁的进度指示器,并使用-o来为下载的文件指定不同的文件名。

kali@kali:~$ axel -a -n 20 -o report_axel.pdf https://www.offensive-security.com/reports/penetration-testing-sample-report-2013.pdf

如果你对网络安全入门感兴趣,那么你点击这里👉CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

如果你对网络安全感兴趣,学习资源免费分享,保证100%免费!!!(嘿客入门教程)

👉网安(嘿客)全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

img

img

👉网安(嘿客红蓝对抗)所有方向的学习路线****👈

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

img

学习资料工具包

压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。

在这里插入图片描述

面试题资料

独家渠道收集京东、360、天融信等公司测试题!进大厂指日可待!
在这里插入图片描述

👉嘿客必备开发工具👈

工欲善其事必先利其器。学习客常用的开发软件都在这里了,给大家节省了很多时间。

这份完整版的网络安全(客)全套学习资料已经上传至CSDN官方,朋友们如果需要点击下方链接也可扫描下方微信二v码获取网络工程师全套资料【保证100%免费】

如果你有需要可以点击👉CSDN大礼包:《嘿客&网络安全入门&进阶学习资源包》免费分享

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

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

相关文章

selenium浏览器驱动下载

Chrome谷歌浏览器 下载地址&#xff1a;http://chromedriver.storage.googleapis.com/index.html 不同的Chrome的版本对应的chromedriver.exe 版本也不一样&#xff0c;下载时不要搞错了。 如果是最新的Chrome, 下载最新的chromedriver.exe 就可以了。 Firefox火狐浏览器 驱…

B073-封装工具类 服务模块(后台)

目录 拿当前登录人信息工具类服务模块业务分析表结构后端代码后台代码覆写删除-加详情一起删调整前端Data&#xff0c;handleAdd和编辑框覆写新增编辑按钮展示详情资源&#xff1a;多图上传和回显图片 拿当前登录人信息工具类 工具类准备&#xff1a;LoginContext: 登录上下文…

前端性能测试

目录 前言&#xff1a; 前端性能 1、优化 2、Lighthouse 使用 4、Lighthouse 报告参数的标准 5、更多产品 前言&#xff1a; 前端性能测试是一个广泛的领域&#xff0c;它旨在评估前端应用程序的性能和可靠性。前端性能测试需要使用各种测试工具和技术&#xff0c;包括浏…

功率信号源的基本工作原理、用途和应用方法

功率信号源是一种可以产生恒定或可变功率输出的测试设备。在电子实验中&#xff0c;功率信号源广泛应用于各种不同的应用&#xff0c;下面安泰电子就来介绍功率信号源的基本工作原理、用途和应用方法。 功率信号源的基本工作原理 功率信号源的基本工作原理是将电能转换成信号能…

【前端实习评审】对小说详情模块的产品原型有一定的自己理解

大家好&#xff0c;本篇文章分享一下【校招VIP】免费商业项目“推推”第一期书籍详情模块前端同学的文档作品。该同学来自中国科学院大学计算机技术专业。 本项目亮点难点&#xff1a;1 热门书籍在更新点的访问压力 2 书籍更新通知的及时性和有效性 3 书荒:同好推荐的可能性 4…

血压诊断米家智能血压计方案

智能血压计产品介绍: 智能血压计是一种基于蓝牙技术的便携式血压测量设备。它通过无线连接与智能手机或其他设备同步并联接到APP端&#xff08;米家&#xff09;&#xff0c;可以准确测量用户的血压数据&#xff0c;并通过手机应用程序进行记录和分析。 智能血压计产品结构: 智…

Win10的两个实用技巧系列之蓝屏代码大全及解决方案、更改应用优先级的技巧

Win10怎么设置程序优先级? Win10更改应用优先级的技巧 Win10怎么设置程序优先级&#xff1f;Win10系统中任务管理器想要设置优先级&#xff0c;该怎么设置呢&#xff1f;下面我们就来看看Win10更改应用优先级的技巧 有些Win10用户想要调整程序优先级&#xff0c;以确保某些…

Sentinel限流中间件

目录 介绍 Sentinel 的特征 Sentinel 的组成 实战使用 简单实例 配置本地控制台 使用可视化ui配置简单流控 配置异步任务限流 使用注解定义限流资源 SpringCloud整合Sentinel 简单整合 并发线程流控 关联模式 整合openFeign使用 介绍 随着微服务的流行&#xff0…

iOS私钥证书和证书profile文件的生成攻略

在使用uniapp打包ios app的时候&#xff0c;要求我们提供一个私钥证书和一个证书profile文件&#xff0c;私钥证书可以使用mac电脑的钥匙串访问程序来生成&#xff0c;也可以使用香蕉云编来生成。证书profile文件可以直接在苹果开发者中心生成。 有部分刚接触ios开发的同学们&…

Easy-Es笔记

一、Easy-ES概述 Easy-Es&#xff08;简称EE&#xff09;是一款ElasticSearch-ORM框架&#xff0c;在原生 RestHighLevelClient 的基础上&#xff0c;只做增强不做改变&#xff0c;为简化开发、提高效率而生。Easy-Es采用和MP一致的语法设计&#xff0c;能够显著降低ElasticSea…

各种拉格朗日函数

目录 一&#xff0c;拉格朗日函数 二&#xff0c;部分拉格朗日函数 三&#xff0c;增广拉格朗日函数 一&#xff0c;拉格朗日函数 以三元函数为例&#xff1a; 求f(x,y,z)的极值&#xff0c;s.t.g(x,y,z)0 拉格朗日函数L(x,y,z,a) f(x,y,z) a * g(x,y,z) 在极值点处一…

(学习日记)2023.06.09

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

Spring AOP(面向切面编程)的详细讲解

1.什么是 AOP&#xff1f; AOP&#xff08;Aspect Oriented Programming&#xff09;&#xff1a;⾯向切⾯编程&#xff0c;它是⼀种思想&#xff0c;它是对某⼀类事情的集中处理 AOP是一种思想&#xff0c;而Spring AOP是一个实现了AOP的思想框架&#xff0c;他们的关系和IOC…

PCIe Error Signaling and Logging持续更新

来源PCI5.0 SPEC 1.错误报告范式ERROR REPORTING PARADIGMS PCI Express定义了两种错误报告范式&#xff1a;baseline capability and the Advanced Error Reporting Capability。baseline错误报告能力是所有PCI Express设备都需要具备的&#xff0c;它定义了最低限度的错误报…

基于Ubuntu 22.04 编译chip-tool工具

前言 编译过程有点曲折&#xff0c;做下记录&#xff0c;过程中&#xff0c;有参考别人写的博客&#xff0c;也看github 官方介绍&#xff0c;终于跑通了~ 环境说明&#xff1a; 首先需要稳定的梯子&#xff0c;可以访问“外网”ubuntu 环境&#xff0c;最终成功实验在Ubunt…

Games101学习笔记 - 基础数学

向量 向量&#xff1a;方向和长度&#xff0c;没有起始位置 向量长度&#xff1a;各个方向平方相加开方 单位向量&#xff1a;向量除向量的长度 点乘 在笛卡尔坐标系中的点乘计算&#xff1a; 几何意思&#xff1a; 表示一个向量在另一个向量上的投影点乘在图形学中应用&a…

SQLite Studio 连接 SQLite数据库

1、在SQLite中创建数据库和表 1.1、按WINR&#xff0c;打开控制台&#xff0c;然后把指引到我们的SQLite的安装路径&#xff0c;输入D:&#xff0c;切换到D盘&#xff0c;cd 地址&#xff0c;切换到具体文件夹&#xff0c;输入“sqlite3”&#xff0c;启动服务 1.2、创建数据库…

最全SWAT教程:SWAT模型系统学习(建模方法、实例应用、高级进阶)

目前&#xff0c;水环境问题逐渐成为制约社会经济和环境可持续发展的重要因素。根据国内外研究表明&#xff0c;受全球环境变化和经济快速发展的影响&#xff0c;面源污染已逐渐成为水环境污染的第一因素。但面源污染由于具有排放分散、隐蔽&#xff0c;排污随机、不确定、不易…

关于封装的定义?以及API接口封装作用有哪些

封装是面向对象编程中的一个重要概念&#xff0c;它指的是将数据和程序代码包含在类中&#xff0c;并对外部对象隐藏其内部实现细节&#xff0c;只提供公共接口。这种方式可以有效地保护数据&#xff0c;防止被外部对象随意访问或修改&#xff0c;同时也更容易维护、升级和复用…

Linux下top命令用法详解

一、命令介绍 Linux top命令用于实时显示 process &#xff08;进程&#xff09;的动态。它用于监控正在运行系统负荷的信息&#xff0c;包括系统负载、CPU利用分布情况、内存使用、每个进程的资源占用情况等。 使用权限&#xff1a;所有使用者 二、命令详解 在命令行下输入…