在学习该套课程中所作的备忘录,以供自己复习记忆。

Linux常用操作

查询:ls [-a] [-l] [-h],-a=all -l=long -h=size,ls -alh详细显示下文件权限rwx三位为一组,分三组对应当前用户、同组下的用户、其他组的用户对该文件的权限情况。cat file_name查看文件文本内容

修改权限:添加执行权限chmod +x +file_name,chmod 777(r=4,w=2,x=1,777三位对应三组用户)赋予最高权限。

创建删除对文件夹:mkdir、rmdir;对文件:touch、rm

文件重命名(A->B):mv A B,文件移动(A》dir):mv ../dir

目录:pwd显示当前目录路径,cd .本级目录,cd ..切换到上级目录

主机探测

二层主机发现

优缺点:二层主机发现中“二层”指的是链路层,即利用OSI中的链路层协议进行主机发现,一般使用ARP协议。ARP协议在局域网通信中使用,利用MAC地址作为对应识别地址,不经过路由,优点是速度快、数据包不会被过滤掉可靠性高;缺点在于无法扫描经过路由的主机,不能跨子网扫描。

工具

①arping工具:kali下自带arping工具可完成对应二层主机发现,但无法多个主机同时扫描。terminal下执行"arping 192.168.X.X"指令会发现该工具会进行不停的扫描。而"arping -c 1 192.168.X.X"只进行一次探测。

②netdiscover工具:netdiscover可以针对特定子网进行多主机扫描,terminal下直接执行"netdiscover"该工具会从192.168.1.0/16开始一次扫描各个子网,使用"netdiscover -r 192.168.X.0/24"来指定子网扫描。(“netdiscover -h"帮助列表里各种特定命令要好好研究一下,功能强大。)

三层主机发现

优缺点:三层主机发现一般使用ICMP协议,可以跨子网探测远程主机,速度相对较快,但其依赖的ICMP协议经常被防火墙过滤,速度比不上二层发现。

工具:

①ping工具:Linux下ping不指定-c参数会一直扫描,Windows下默认进行四次探测。不能用来探测某个子网内的主机存活性。

②fping工具:用来针对多个主机(开启状态)同时进行主机发现,“fping -g CIDR”。

③hping3工具:kali自带的hping3可以发送自定义ICMP数据包对目标进行三层主机发现。“hping3 -c 1 –icmp 192.168.X.X”用-h参数来查看可选项

四层主机发现

优缺点:利用传输层协议(一般使用TCP、UDP探测)进行主机发现。可以被探测远程主机,比三层发现更可靠,但是花费的时间更长

工具:

①nmap工具:kali自带的nmap可以进行二、三、四层的探测,“namp ipaddress"指令以进行对应的端口扫描以及主机发现。-h参数查看更多功能选项。

②hping3工具:使用"hping3 –udp -c 3 (-p 80 指定端口号,默认为0)ipaddress"进行对应的四层主机发现(所探测主机上的防火墙有可能过滤掉探测发出的UDP包 ,导致loss,所以要结合多层主机来进行探测。)

③python脚本:各种各样的脚本可以尝试,各自有各自的特点和功能。

端口扫描

端口port可分为虚拟端口和物理端口,主机通过IP地址+端口号来区分不同服务。namp在前面已经学过,另外还有Dmitry工具中用-p参数可进行tcp端口扫描,netcat工具中也具备端口扫描功能nc -nvz IP port_ID-port_ID

端口分类:1、周知端口:0-1023号,系统默认的端口,如80端口分配给WWW服务,21端口分配给FTP服务。2、动态端口:49152-65535号,动态分配并不与服务绑定。3、注册端口:1024-49151号,分配给用户进程和应用程序。(TCP和UDP两个协议独立,所以各自端口号也相互独立,例如TCP有235端口,UDP也可以有235端口,并不冲突)

端口Banner获取

①nmap IP –script banner -p port_ID(可使用端口范围)

②dmitry -pb IP

③nc -vn IP port_ID(主要针对单个端口,中断阻塞会导致不能返回多个端口的banner信息)

版本信息获取

端口服务版本信息:用Nmap获取目标系统的端口版本信息:nmap -p port_ID -sV IP。

操作系统版本信息:nmap -O IP

在针对内容测试时,有授权的情况下可以利用nmap直接对目标进行完整测试:nmap -A -v IP [-T4(快速扫描)]