认识linux
SHELL和终端
查看shells: cat /etc/shells
查看当前shell : echo $SHELL linux区分大小写
vim编译器
VM编辑器是所有unix及linux系统下标准的编辑器。
vi/vim编辑器模式
命令模式:刚进入vim的时候,默认就是命令模式,可以复制行,删除行等。
输入模式:可以输入内容
输入模式 -> 命令模式 快键键 ESC键
关闭、保存文件
冒号“:”开头
命令模式下:
w: 保存
q:退出
wq和x都是保存退出
q! :强制退出
w!: 强制保存,管理员才有权限
例如 :q!
查找
普通模式:
/PATTERN: 从当前位置向后查找
?PATTERN: 从当前位置向前查找
模式转换
使用insert键切换进输入模式
命令模式 -> 输入模式:
i:在当前光标所在字符的前面,转换为输入模式
I:在当前光标所在行的行首转换为输入模式
a:在当前光标所在字符的后面,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
o:在当前光标所在行的下方,新建一行,并转为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式
s:删除光标所在字符
r:替换光标处字符
Linux常用命令
echo命令: echo $SHELL
echo命令用于在终端输出字符串或变量提取后的值
date命令
date命令用于显示及设置系统的时间或日期
poweroff命令
poweroff命令用于关闭系统
top命令
显示当前系统正在执行的进程的相关信息,包括进程id、内存占用率等
系统检测命令
ifconfig命令
ifconfig命令用于获取网卡配置与网络状态等信息
uname命令 : uname -a
uname命令用于查看系统内核与系统版本等信息
who命令
who用于查看当前登入主机的用户终端信息
history命令 : history
history命令用于显示历史执行过的命令
工作目录切换命令
pwd命令
pwd命令用于显示用户当前所处的工作目录
cd命令
cd命令用于切换工作路径
ls命令
ls命令用于显示目录中的文件信息
了解VMware网络基本配置
briged(桥接模式):虚拟机和主机好比在同一个网络环境下的两台电脑
Nat(网络地址转换模拟):NAT模式虚拟机通过主机进行联网。
Host-Only(主机模式):主机模式将虚拟机与外网隔开,只能让虚拟机和虚拟机之间联网
kali的更新
一句话更新
root@kali:~# apt update && apt full-upgrade
如何查看自己的Kali Linux是否更新成功?更新到最新版本?重启后,用如下命令:
root@kali:~# grep VERSION /etc/os-release
VERSION="2019.1"
VERSION_ID="2019.1"
root@kali:~#
root@kali:~# uname -a
Linux kali 4.19.0-kali1-amd64 #1 SMP Debian 4.19.13-1kali1 (2019-3-18) x86_64 GNU/Linux
系统源
源配置(软件源)概念:源就是来源。就是你安装软件时,程序从哪里获取软件包(安装程序在你的机器上,但需要安装的东西却在软件源服务器上)。其实你可以把它称为软件仓库。安装软件时,就是从仓库里面调取数据放在你的机器上。
Linux下载软件的两种方式:
1、从源配置(软件源)所在服务器上通过特定命令获取JDK,Tomcat之类的软件包
2、从官网上下载软件包
第一次更新源的过程就相当于我们刚装好windows系统需要打补丁
1、查看当前系统中所有软件包状态
sudo dpkg --get-selections | more
可以找到metasploit-framework软件包名为"metasploit-framework"
2、给metasploit-framework锁定当前版本不更新
sudo apt-mark hold metasploit-framework
3、查看当前已锁定的软件包
sudo dpkg --get-selections | grep hold
4、取消软件保留设置
sudo apt-mark unhold metasploit-framework
配置kali系统更新源
1、使用编译器打开系统源文本
leafpad /etc/apt/sources.list
2、可以更改更新源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
3、使用更新命令
apt-get updata && apt-get upgrade && apt-get dist-upgrade
kali系统更新后出现的问题
如果metasploit-framework无法启动
进入cd /usr/share/metasploit-framework目录下
使用命令
gem install bundler
gem update --system
然后成功启动
SSH服务简介
SHH是标准的网络协议,默认22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的telnet,更具有更高的安全性
SSH服务目前较可靠,专为远程登录服务器和其他网络服务提供安全性的协议
SSH提供了口令和密钥两种用户验证方式,这两者都是通过密文传输数据的。
SSH对我们主要的作用是:能够操作远程服务器系统
kali配置SSH服务和windows配置SSH服务
1、使用编辑器打开ssh配置
leafpad /etc/ssh/sshd_config
搜索:
#PasswordAuthentication yes 去掉注释
#PermitRootLogin prohibit-password 去掉注释并改为PermitRootLogin yes
2、使用命令行模式开启SSH服务
service ssh start
3、查看服务开启状态
service ssh status
3、登陆测试
使用
xshell蓝奏云: https://wwr.lanzouj.com/b0262213c 密码:9hm1
putty蓝奏云:[https://wwr.lanzouj.com/ib2cio96gxi 52pj
openssh使用windows自带命令窗口连接:https://www.mls-software.com/opensshd.html
使用方法
等工具测试
Kali工具包简介
kali linux 含有可用于渗透测试的工具
信息收集:这类工具主要用来帮助我们收集目标的网站架构、网站脚本语言、网站信息泄露
漏洞评估:这类工具可以扫描目标系统上的漏洞,扫描主机漏洞,系统漏洞
漏洞利用:这类工具可以利用在目标系统中发现的漏洞,让我们针对性的去利用攻击
Web应用:即与web应用有关的工具,关于web方面的扫描器、爆破等工具
密码攻击:提供在线密码破解或者是离线的密码破解工具给我们使用
Linux常用命令
文本文件编辑命令
cat命令
cat命令用于查看纯文本文件(内容较少的)
more命令
more命令用于查看纯文本文件(内容较多的)
ls命令
查看当前目录
head命令
head命令用于查看纯文本文档的前N行
wc命令
wc命令用于统计指定文本的行数、字数、字节数
stat命令: stat nmap.txt
stat命令用于查看文件的具体存储信息和时间等信息
touch命令: touch --help touch -a 05011001 nmap.txt
touch命令用于创建空白文件或设置文件的时间
mkdir命令
mkdir命令用于创建空白的目录
cp命令
cp命令用于复制文件或目录
mv命令
mv命令用于移动文件或将文件重命名
file命令
file命令用于查看文件的类型
tar命令
tar命令用于对文件进行打包压缩或解压
find命令
find命令用于按照指定条件来查找文件
rm命令
用于删除文件或者文件夹,删除文件夹要用-r -f
wget命令: wget http://linux.51yip.com/images/logo.png
wget命令用于下载
文件管理权限命令
chmod
文件和目录的权限
linux中文件和目录的权限有所不同
文件的权限
r 可以读文件 数值为4
w 可以写文件 2
x 可以执行文件 1
用户/用户组
在Linux中,每个文件都是属于一个用户的,每一个用户都属于一个用户组
可以同时拥有N多个用户,和用户组
保存用户信息
用户信息:cat /etc/passwd
root:x:0:0:root:/root:/usr/bin/zsh
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
systemd-timesync:x:101:101:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
systemd-network:x:102:103:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:103:104:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
mysql:x:104:110:MySQL Server,,,:/nonexistent:/bin/false
tss:x:105:111:TPM software stack,,,:/var/lib/tpm:/bin/false
strongswan:x:106:65534::/var/lib/strongswan:/usr/sbin/nologin
ntp:x:107:113::/nonexistent:/usr/sbin/nologin
messagebus:x:108:114::/nonexistent:/usr/sbin/nologin
redsocks:x:109:115::/var/run/redsocks:/usr/sbin/nologin
rwhod:x:110:65534::/var/spool/rwho:/usr/sbin/nologin
iodine:x:111:65534::/run/iodine:/usr/sbin/nologin
miredo:x:112:65534::/var/run/miredo:/usr/sbin/nologin
_rpc:x:113:65534::/run/rpcbind:/usr/sbin/nologin
usbmux:x:114:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
tcpdump:x:115:120::/nonexistent:/usr/sbin/nologin
rtkit:x:116:121:RealtimeKit,,,:/proc:/usr/sbin/nologin
sshd:x:117:65534::/run/sshd:/usr/sbin/nologin
statd:x:118:65534::/var/lib/nfs:/usr/sbin/nologin
postgres:x:119:123:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
avahi:x:120:125:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin
stunnel4:x:121:126::/var/run/stunnel4:/usr/sbin/nologin
Debian-snmp:x:122:127::/var/lib/snmp:/bin/false
-
用户划分
- 系统用户
- root
- 普通用户
- 用户所创建的用户
- 虚拟用户
- 软件所创建的虚拟用户
-
用户组信息:cat /etc/group
scanner:x:133:saned,kali
saned:x:134:
sambashare:x:135:
inetsim:x:136:
colord:x:137:
geoclue:x:138:
lightdm:x:139:
kpadmins:x:140:
kali:x:1000:
kaboxer:x:141:kali,root
systemd-coredump:x:999:
beef-xss:x:142:
参考:https://blog.51cto.com/983836259/1634705
-
用户组
- 文件所拥有者 : 文件的创造者,谁创建的文件,谁就是文件的所有者
- 用户所在组 : 当linux当前用户创建了一个文件后,则这个文件所属的组便是这个用户所在的组
- 其他组 : 除了文件所有者以及所在组的用户外,系统其他的用户都是文件的其他组
-
用户管理
-
添加用户
-
useradd -m key ——自动在home文件夹下创建key
-
useradd -g 组名 用户名 ——指定添加在某个组里面
-
passwd key ——修改key的新密码
-
删除用户 userdel -r key或者不加-r ——删除目录以及用户
-
组管理
权限管理
-
权限划分
- r 表示读文件 数值为4
- w 表示写文件 数值为2
- x 表示执行文件 数值为1
-
查看权限 -> 当前目录下 ls -l
-
设置权限
- chmod命令
- chmod 777 文件名 ---> 给当前文件设置为777权限
- chmod -R 777 目录名 ---> 给当前目录递归权限为777
软件安装管理
- dpkg ----> dpkg是Debian Package缩写,是一个Debian的命令行工具,它可以用来安装、删除、构建和管理Debian的软件包
- 安装软件 dpkg -i xxx.deb
- 卸载软件
- dpkg -r xxx.deb --->删除软件包
- dpkg -r --purge xxx.deb --->连通配置文件一起删除
- gdebi ---> gdebi是一个轻量级的deb安装工具,它能代替臃肿的ubuntu软件中心安装deb
- 安装gdebi
- sudo apt-get update
- sudo apt-get install gedbi
- 安装软件 sudo gdebi sogoupinyin.deb 选择y即可
- 图形化安装
压缩命令
-
linux下常用压缩文件格式
- .zip
- .gz
- .bz2
- .tar.gz
- .tar.bz2
-
tar命令
搜索命令
- find命令 ---> find命令所查找的目录路径
- 指定目录查找并输出内容 ---> find ./kali/ -print
- 指定目录以shell脚本运行输出 ---> find ./etc -exec ls {} \;
- 分支主题
欢迎来到我的博客http://gylq.github.io