技术标签: Shell 渗透测试 kali linux 网络安全 # 渗透测试
目录
下载网站:kali.org
这里偷个懒,直接下载VMware的压缩包,解压后,打开即可。
Linux的目录结构,类似于一棵树,根节点是“/”。
总览
打开“文件系统根目录”
或者
[email protected]:/# cd /
[email protected]:/# ls
可查看根目录下的文件,
蓝色表示目录;
绿色表示可执行文件,包括.sh,.py等;
红色表示压缩文件,包括.zip、.tar等;
浅蓝色表示链接文件;
灰色表示其它文件,包括.conf,.db,.img,.old等;
黄色是设备文件,包括block, char, disk等。
bin
存放命令/可执行文件
dev
管理设备
etc
配置文件
lib/lib32/lib64
库文件,.so或相关后缀
root
该目录为系统管理员,也称作超级权限者的用户主目录。
usr
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/usr/local 一般通过编译源码方式安装的程序会放在此目录
var
放着不断扩充的东西,一般将经常修改的目录放在此目录下,例如,临时目录,备份,日志文件等。
其他
可以使用MobaXterm、XShell、SecureCRT等进行连接,不了解SSH协议的可以查看:
网络-Telnet协议与SSH协议(命令、免密登录)及其安全性
shutdown
语法
shutdown [-t seconds] [-rkhncfF] time [message]
参数说明:
halt
若系统的 runlevel 为 0 或 6 ,则Linux halt命令关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代。
使用权限:系统管理者。
语法
halt [-n] [-w] [-d] [-f] [-i] [-p]
参数说明:
poweroff
用于关闭计算器并切断电源。
使用权限:系统管理者。
语法
poweroff [-n] [-w] [-d] [-f] [-i] [-h]
参数说明:
reboot
用于重新启动计算机。
若系统的 runlevel 为 0 或 6 ,则重新开机,否则以 shutdown 指令(加上 -r 参数)来取代。
语法
reboot [-n] [-w] [-d] [-f] [-i]
参数:
例如, 立即关机
shutdown -h now
poweroff
halt
后面学习的 init 0也可以关机
例如,立即重启
reboot
shutdown -r now
pwd
显示当前绝对路径
ls
显示目录及文件
xr等是权限,后面再讲
还有 -a 选项比较常用,显示 . 开头的隐藏文件
cd
change directory, 切换目录
切换到/usr/lib目录
灵活使用,比如,在/usr/lib下,进入同级的bin目录,即回到上一级再进入bin
cd ../bin/
创建
make a directory / directorys
语法
mkdir [-p] dirName dirName ...
参数说明:
例如,在家目录下创建一个 lady_killer9 目录
例如,在家目录下创建一个 lady/killer/9 的多级目录
删除空目录
remove an empty directory/ directorys
语法
rmdir [-p] dirName
参数:
例如,将刚才新建的空目录删除
非空目录如何删除?
语法
rm [options] name...
参数:
家目录下新建一个目录lady,里面新建一个文档(touch killer.txt)
语法
touch 路径/文件名 路径/文件名 路径/文件名 ...
上面有了,不再展示。展示一下一次创建多个,前面的mkdir也可以一次创建多个目录。
语法
cp [options] source dest
参数说明:
将家目录下的lady.txt文件复制到lady目录下
将家目录下的lady目录复制到killer目录下
kali linux下是默认覆盖,不提示,要提示可使用-i选项。
move file
语法
mv [options] source dest
mv [options] source... directory
参数说明:
重命名
将某文件移动到同一个目录下
将家目录下的文件killer.txt重命名为killer9.txt
将killer.txt移动奥家目录下的lady目录下
全部查看
cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。
使用权限
所有使用者
语法格式
cat [-bn] fileName
参数说明:
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
查看 /etc/profile 文件,显示行号
cat -n /etc/profile
注意,直接显示全部,如果行数过多,不太合适
清空文件
cat dev/null > filepath
例如,清空 lady目录下的lady.txt文件
滚动查看
语法
more [-num] [fileNames..]
参数:
操作:
查看 /etc/file 文件,一页5行
相较于cat,more可以分页,提前退出,适合大文件,缺点是没有行号显示
使用管道符 | ,将两个命令合起来用,管道左边的内容作为右边的输入
cat -n /etc/profile | more -5
上面的命令相当于 more -5 有行号的 /etc/profile
特大文件查看
对于几兆甚至更大的日志文件等使用cat或more就不合适了
语法
less [参数] 文件
参数说明:
使用前段时间爬取的小说Python-简单小说爬虫(以《天官赐福》为例),3M多的小说,在Windows上鼠标右键打开,还会转2-3秒
我传到了家目录的文档目录下
>:用前面的内容覆盖掉后面文件的内容
>>:用前面的内容追加到后面的文件尾部
第一个前面清空文件时提到过
echo
语法
echo 字符串
head
命令格式:
head [参数] [文件]
参数:
tail
命令格式:
tail [参数] [文件]
参数:
举例:
将家目录的文件目录列表写到lady.txt文件中
将"study hard during winter vacation" 追加到lady.txt文件后面
注:head、tail无参数默认查看10行
语法:
ln [参数][源文件或目录][目标文件或目录]
必要参数:
类似于Windows下的快捷方式
上图可以看到,我安装了pyhton2和python3,部分旧软件版本没有跟上,会使用python2,并找名为python的软链接,我们创建一个python的软链接,链接到python2.7
ln -s /usr/bin/python2.7 /usr/bin/python
这样对于开头是
#!/usr/bin/env python
的文件,你也可以通过./xxx来运行了。
语法
find [搜索范围] [选项]
选项
查找家目录下名为lady.txt的文件
查找家目录下大于3M的文件
locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
locate 的速度比 find 快,它并不是真的查找,而是查数据库,可以手工更新数据库 ,命令为:
updatedb
查找家目录下名为lady.txt的文件
语法
grep [选项][文件或目录...]
-e <样式>:通过正则表达式进行匹配
-i : 忽略字符大小写的差别。
-n: 在显示符合样式的那一行之前,标示出该行的列数编号。
查找lady.txt文件中包含lady的行,并显示行号,使用管道符 |
查找lady.txt文件中包含ad的行,并显示行号,使用管道符 |
查找lady.txt文件中40几分创建的文件或目录所在行,并显示行号,不使用管道符
gzip [选项] 文件
选项:
gunzip [选项] 文件
选项
压缩家目录下的lady.txt
注意:源文件不会保留。
解压缩家目录下的lady.txt
注意:源压缩文件不会保留。
zip [选项] xxx.zip 目录或文件
选项
压缩家目录下的lady目录为lady.zip
这个原目录或文件还是在的
unzip [选项] 目录或文件
选项
解压缩lady.zip到家目录下的killer目录下
注意,由于前面压缩时目录填写的为~/lady,所以解压后路径为绝对路径,即多了一层目录,若使用lady/则不会有root这一层。
tar [选项] 文件或目录
选项
压缩家目录下的 9.txt 和lady.txt 为 lady9.tar.gz,显示过程
tar -zcvf lady9.tar.gz 9.txt lady.txt
将家目录下的killer目录压缩为killer.tar.gz
tar -zcvf killer.tar.gz killer/
解压killer.tar.gz到家目录下的lady目录
tar -zxvf killer.tar.gz -C lady/
用户组:一个组有一个或多个用户。初始状态下有 root组和root用户。
home:家目录,一个用户登录时会进入对应的家目录。例如,home/lady
useradd 选项 用户名
参数说明:
passwd 用户名 来添加密码
例如,添加lady用户,主目录为/home/lady
使用SSH客户端登录后,当前目录就是
userdel [-r] 用户名
-r:删除用户家目录及里面包含的所有目录、文件
先退出登录后再进行用户删除
例如,删除lady用户,保留家目录
userdel lady
语法
usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]
参数说明:
不进行截图了,一般很少用,都是创建时想好了,参数和useradd也差不多。在用户组一节有展示。
语法
id [-gGnru][--help][--version]用户名
参数说明:
显示用户lady的所有信息。
没有用户时会显示
[email protected]:/home# id lady_killer
id: “lady_killer”:无此用户
whoami
显示当前用户
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
参数说明:
例如,切换到lady用户,并进入对应家目录
切到root
注意,低权限到高权限需要输入密码
注:修改组usermod不常用,没有展示
语法
groupadd 命令 语法格式如下:
groupadd [-g gid [-o]] [-r] [-f] group
参数说明:
例如,添加组 fashi、sheshou,添加用户 houyi 到组 sheshou
cat /etc/group
查看用户houyi的信息
创建用户时会默认创建对应名称的组,如果没有指定的话,否则不会创建。lady没有指定组,所以有lady组。但houyi指定了组sheshou,就没有再生成组houyi。
例如,创建yewang组,id为1003,将houyi改到yewang组
groupdel [用户组名]
前面学习了,目录和文件,以及用户
文件有属性,包括所有者,所在组,其它组,可执行权限等。
使用用户houyi在其家目录下,创建一个xixue.txt
chown具有root权限才能使用,助记:chage owner
语法
chown [-cfhvR] user[:group] file...
参数 :
将lady.txt的所有者改为lady
chgrp 允许普通用户改变文件所属的组,只要该用户是该组的一员。 助记:change group
语法
chgrp [-cfhRv] 所在组 文件或目录
选项
将lady.txt的所在组改为lady
修改权限首先得看得懂文件的权限有哪些,就是ls -l展示的d、r、w等
第一个字母表示文件类型,
接下来是文件所有者权限、文件所在组的用户的权限、文件其他组的用户的权限,每组三个
数字
接下来是拥有者、所在组、文件大小/4096、文件创建时间、文件名
以目录lady为例
d rwx r-x r-x lady lady 4096 1月20 17:01 lady
目录 拥有者可读、写、进入 所在组用户可读、进入 同左 拥有者 所在组 目录都是4096 创建时间 目录名
下面模式记一种即可。
使用符号模式可以设置多个项目:who(用户类型),operator(操作符)和 permission(权限),每个项目的设置可以用逗号隔开。 命令 chmod 将修改 who 指定的用户类型对文件的访问权限,用户类型由一个或者多个字母在 who 的位置来说明,如 who 的符号模式表所示:
who | 用户类型 | 说明 |
---|---|---|
u | user | 文件所有者 |
g | group | 文件所有者所在组 |
o | others | 所有其他用户 |
a | all | 所用用户, 相当于 ugo |
operator 的符号模式表:
Operator | 说明 |
---|---|
+ | 为指定的用户类型增加权限 |
- | 去除指定用户类型的权限 |
= | 设置指定用户权限的设置,即将用户类型的所有权限重新设置 |
permission 的符号模式表:
Permission | 名字 | 说明 |
---|---|---|
r | 读 | 设置为可读权限 |
w | 写 | 设置为可写权限 |
x | 执行权限 | 设置为可执行权限 |
X | 特殊执行权限 | 只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行 |
s | setuid/gid | 当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限 |
t | 粘贴位 | 设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位 |
例,对于lady.txt拥有者赋予读、写、执行权限,所在组和其他组读、执行权限
注:权限一样时,可写在一起,go=rx
可以看到lady.txt变绿了,前面提到绿色是代表可执行文件
例,对于lady.txt拥有者赋予去除 执行 权限,所在组增加 写 权限
数字 | 权限 | rwx | 二进制 |
---|---|---|---|
7 | 读 + 写 + 执行 | rwx | 111 |
6 | 读 + 写 | rw- | 110 |
5 | 读 + 执行 | r-x | 101 |
4 | 只读 | r-- | 100 |
3 | 写 + 执行 | -wx | 011 |
2 | 只写 | -w- | 010 |
1 | 只执行 | --x | 001 |
0 | 无 | --- | 000 |
例,将lady.txt的权限修改为rwxr-xr-x
date '格式'
日期时间显示格式,变化无穷,根据需要来,无法展示全面。
日历
cal 显示当前月日历
cal 年份
cal 月份 年份
语法
crontab [ -u user ] { -l | -r | -e } file
参数说明:
时间格式如下:
f1 f2 f3 f4 f5 program
0 */2 * * * /sbin/service httpd restart 每两个小时重启一次apache 50 7 * * * /sbin/service sshd start 每天7:50开启ssh服务
例,设置每分钟执行的任务,追加'lady_killer9'到/tmp/crontab_test.txt
验证一下:
当然,一般比较复杂的话会写脚本,这里就拿一个简单的脚本举例子。
例,在家目录下写一个脚本mydate.sh,将当前日期追加到/tmp/mydate.txt文件中,给mydate.sh添加可执行权限;设置每分钟执行一次dateadd脚本。
添加任务
稍微有一点延迟
查看一下当前的任务,然后删除所有任务
语法
ps [options]
参数
标题解释
STAT: 该行程的状态:
还有pstree命令,使用树状来查看
语法
kill [参数] 进程号
参数
例,用户lady登录,检测到lady用户异常,现需使lady用户断连
还有killall命令,来杀死相关的一组进程
apt-get install package=version
wget link
apt-get remove --purge xxx
apt-get autoremove --purge xxx
前面说了很多命令,我们来看看如何查看之前的命令
history [选项]
用法:
显示最近使用过的10个命令
通过键盘上下方向键可进行切换
runlevel
init 级别
级别:0~6,不切换到4
博主前面给的命令的选项只是常用的,可以查看官方给的详细命令情况。一般情况下,使用下面的一个命令找不到帮助信息,在另一个会有。
man[命令或配置文件](功能描述:获得帮助信息,按Enter向上滚动查看,按q退出)
例如,查看ls的用法
和man类似
例如,查看cd的用法
为避免文章过长,部分内容另写了文章
未完待续...
更多内容查看:网络安全-自学笔记
喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。
web小游戏 之前暑假自学前端写的一些web小游戏的源码,入门级的代码,适合初学者。包括像素小鸟,仿微信小游戏的飞机大战,别踩白块,扫雷,贪吃蛇。源码 GitHub传送门!!!...
以下内容原发于badu知道,现转到此保存以备忘。现状:在vb程序里有个datareport模板。在page header这个session里有line画成的表格,表格里有一些label用来显示数据。目前这个rpt只会有一页数据(即数据集只有一行),不会有多页数据。 需求:有个label在表格的中间,它可能会有很多内容,当内容很多的时候,需要它能够自动增加高度(往下延伸)以显示所有内容,并且...
本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!研究方向主要负责研究和探索计算机图形学和图像处理领域的前沿技术及其应用。中文名图形图象处理外文名Graphics and Image Processing主要研究内容科研成果有彩色图像处理及系统、多媒体制作图形图象处理概况编辑语音其中,有多项研究成果通过国家鉴定,数字图像半色调研究在工业应用和学术研究方面都取得了较好的成果。基...
IDR(Instantaneous Decoding Refresh)--即时解码刷新。 I帧:帧内编码帧是一种自带全部信息的独立帧,无需参考其它图像便可独立进行解码,视频序列中的第一个帧始终都是I帧。 I和IDR帧都是使用帧内预测的。它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I帧区别开,所以才把第一个首个I帧叫IDR,这样就方便控制编码和解码流程。 IDR帧的作用是立...
解决方案:将application 继承自 ZApplication
零、前言因为看到Q神、阿奇、然姐等学姐学长的经验贴对我帮助很大。写这篇文章的初衷是可以把精神传递下去,帮助学弟学妹们。公共课网上已经有很多详尽的攻略与资料,便不再赘述。主要说说专业课961的复习思路、复习进度时间表、参考资料评价。先介绍一下本人的情况:21考研专业课134,本科末流985科班,21北航计算机专硕拟录取。注:本文仅代表自己的看法,我本着尽力客观的原则,欢迎指正讨论一、专业课考试与命题风格概述1. 408 v.s. 961北航961是由计组+操作系统+计网(分别占60分、50分、40
题目链接 2017 CCPC HarbinProblem AProblem BProblem DProblem FProblem L考虑二分答案。设当前待验证的答案为x我们可以把第二个条件转化为在子树中最多有几个点是黑色的。那么我们可以根据这些条件求出以每个点为根的子树的黑点数范围,做一次dfs。最后看看根结点的范围是否包含x即可。#include...
ITIL 4的设计框架一改之前版本中比较死板的服务流程管理风格,使用精益管理作为基础,借鉴了价值流的观念,设计出一个服务价值系统。在继承ITIL3服务管理核心价值的基础上,也迎合了DevOps和Agile传播的理念,以更好地聚焦于客户价值。ITIL4提供了些什么:一种新的思考方式一种贯穿需求分析到价值交付的工作方法论一套IT服务管理最佳实践的工具集变革创新1:引入服务价值系统与四维分析模型ITIL 4框架的核心组件是SVS服务价值系统和四维模型。ITIL SVS服务价值系统表示组织的各种组
前言这是一个Rust语言编写的程序,之前也没有接触过这种语言,一时确实无从下手,因此我也将此题分析放到了最后。为了更好的了解Rust编程以及逆向,先尝试使用Rust编写一个helloworld。所以我在自己的电脑上搭建的Rust编译环境。Rust环境搭建官网 在网上找了好久才找到一些Rust的编程示例,这好像是最近兴起的类C的语言。 gitbook上有其第一版的程序设计指导。 ...
客户端建表我用的版本是0.96.2的,api和之前的版本有许多不同之处,更接近最新的1.0版本的api,不过官网给出的api很多没有方法的功能介绍,看起来实在是麻烦,也算是HbaseApi的不足之处吧。 客户端创建表需要用HbaseAdmin,而之前的HTable则只是操作表的增删改查,基于数据的,而不是表结构等管理功能。/** * 客户端建表 */ public st
首先准备一个已经认证的微信公众号假如没有已经认证的,就可以使用 公众平台测试账号 进行开发https://mp.weixin.qq.com/cgi-bin/frame?t=advanced/dev_tools_frame&amp;nav=10049&amp;token=1939537199&amp;lang=zh_CN然后看: 点击 进入,查看此接口的开发说明文档。...
文章目录问题描述原理分析解决思路Xposed框架JustTrustMe 简介安装过程描述安装过程截图下载地址问题描述在对安卓手机APP抓包时,出现的HTTPS报文通过MITM代理后证书不被信任的问题。当APP是HTTPS时,则单纯的使用Burpsuite无法抓取数据包,原因是APP启用了SSL Pinning(又叫做“SSL证书绑定”)。通常要抓取HTTPS加密的数据包,一般使用Charles或者Fiddler4代理HTTP请求,配置证书信任后,便可拿到明文报文。但是由于Charles证书和Fi