笔记总结

Kali-Linux基本配置及相关指令

更换系统源

1
2
3
4
5
6
7
8
9
10
11
* #aliyun 阿里云  ##推荐阿里云
* deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
* deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
* # ustc 中科大
* 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
* #deb http://mirrors.ustc.edu.cn/kali-security kali-current/updates main contrib non-free
* #deb-src http://mirrors.ustc.edu.cn/kali-security kali-current/updates main contrib non-free
* # kali 官方源
* deb http://http.kali.org/kali kali-rolling main non-free contrib
* deb-src http://http.kali.org/kali kali-rolling main non-free contrib

更新

1
2
3
apt-get update #更新源
apt-get upgrade #更新软件
apt-get dist-upgrade #更新系统

linux基本操作命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
基础
ls -[a/l] #列出目录内文件 cd #切换文件目录 pwd #显示当前路径
cat filename #查看文件内容 touch filename #创建文本文件 .txt
mkdir #创建目录 rm #删除文件 rm -rf #删除目录
rmdir #删除目录 cp #复制文件 mv #移动文件 passwd #修改管理员密码
useradd #添加管理员 dpkg -i 安装包.dpd #安装dpd格式的文件
tar -zxvf #解压缩 adp install -f 安装依赖包
系统
uname -a #查看内核/os/cpu信息 head -n 1 /etc/isiue #查看os版本
cat /proc/cpuinfo #查看cpu信息 hostname #查看计算机名
env #查看环境变量 dmidecode #查看硬件详细信息
资源
free -m #查看内存使用量和交换区使用量 df -h #查看分区使用情况
du -sh #查看指定目录的大小 uptime #查看系统运行时间 用户数 负载
网络
ifconfig #查看所有网络接口的属性 iptables -L #查看防火墙设置
route -n 查看路由器 netstat -lntp #查看所有监听端口
netstat -antp #查看网络统计信息 lsof #查看网络信息
进程
ps -ef #查看所有进程 top #实时显示进程状态
服务
service app status #查看服务状态 service app start #开启服务
service app stop #关闭服务 service app restart #重启服务
update -rc.d app enable / disable / disable number #加到开机启动 / #取销开机启动 /# 设置优先级

网络服务/端口/http请求/抓包/状态码

网络服务

TCP -传输控制协议 :用于从应用程序到网络的数据传送控制。

IP -网际协议:负责计算机之间的通信

HTTP -超文本传输协议 :用于从www服务器传输超文本html到本地浏览器的传输协议 默认端口80.

HTTPS-安全的超文本传输协议:负责在web服务器到web浏览器之间的安全通信。

FTP -文件传输协议:提供交互式访问,允许客户指明文件类型和格式,并允许文件具有存取权限。

SMTP -邮件传输协议:规定了在两个互相通信的smtp进程之间应如何交换信息。三个阶段:建立连接、邮件传输、连接释放。

POP3 -邮件读取协议:用来接收电子邮件。Telent -远程终端协议:一个简单的远程终端协议。

端口 服务 渗透测试
tcp 20,21 FTP(文件传输协议) 允许匿名的上传下载,爆破,嗅探,win提权,远程执行(proftpd 1.3.5),各类后门(proftpd,vsftp 2.3.4)
tcp 22 SSH (安全外壳协议 ) 可根据已搜集到的信息尝试爆破,v1版本可中间人,ssh隧道及内网代理转发,文件传输等等
tcp 23 Telnet ( 远程终端协议) 爆破,嗅探,一般常用于路由,交换登陆,可尝试弱口令
tcp 25 SMTP(简单邮件传输协议) 邮件伪造,vrfy/expn查询邮件用户信息,可使用smtp-user-enum工具来自动跑
tcp/udp 53 DNS(域名系统) 允许区域传送,dns劫持,缓存投毒,欺骗以及各种基于dns隧道的远控
tcp/udp 69 TFTP (简单文件传送协议 ) 尝试下载目标及其的各类重要配置文件
tcp 80-89,443,8440-8450,8080-8089 各种常用的Web服务端口 可尝试经典的topn,vpn,owa,webmail,目标oa,各类Java控制台,各类服务器Web管理面板,各类Web中间件漏洞利用,各类Web框架漏洞利用等等……
tcp 110 POP3(邮局协议版本3 ) 可尝试爆破,嗅探
tcp 111,2049 NFS(网络文件系统) 权限配置不当
tcp 137,139,445 SMB(NETBIOS协议) 可尝试爆破以及smb自身的各种远程执行类漏洞利用,如,ms08-067,ms17-010,嗅探等……
tcp 143 IMAP(邮件访问协议) 可尝试爆破
udp 161 SNMP(简单网络管理协议) 爆破默认团队字符串,搜集目标内网信息
tcp 389 LDAP( 轻量目录访问协议 ) ldap注入,允许匿名访问,弱口令
tcp 512,513,514 Linux rexec (远程登录) 可爆破,rlogin登陆
tcp 873 Rsync (数据镜像备份工具) 匿名访问,文件上传
tcp 1194 OpenVPN(虚拟专用通道) 想办法钓VPN账号,进内网
tcp 1352 Lotus(Lotus软件) 弱口令,信息泄漏,爆破
tcp 1433 SQL Server(数据库管理系统) 注入,提权,sa弱口令,爆破
tcp 1521 Oracle(甲骨文数据库) tns爆破,注入,弹shell…
tcp 1500 ISPmanager( 主机控制面板) 弱口令
tcp 1723 PPTP(点对点隧道协议 ) 爆破,想办法钓VPN账号,进内网
tcp 2082,2083 cPanel (虚拟机控制系统 ) 弱口令
tcp 2181 ZooKeeper(分布式系统的可靠协调系统 ) 未授权访问
tcp 2601,2604 Zebra (zebra路由) 默认密码zerbra
tcp 3128 Squid (代理缓存服务器) 弱口令
tcp 3312,3311 kangle(web服务器) 弱口令
tcp 3306 MySQL(数据库) 注入,提权,爆破
tcp 3389 Windows rdp(桌面协议) shift后门[需要03以下的系统],爆破,ms12-020
tcp 3690 SVN(开放源代码的版本控制系统) svn泄露,未授权访问
tcp 4848 GlassFish(应用服务器) 弱口令
tcp 5000 Sybase/DB2(数据库) 爆破,注入
tcp 5432 PostgreSQL(数据库) 爆破,注入,弱口令
tcp 5900,5901,5902 VNC(虚拟网络控制台,远控) 弱口令爆破
tcp 5984 CouchDB(数据库) 未授权导致的任意指令执行
tcp 6379 Redis(数据库) 可尝试未授权访问,弱口令爆破
tcp 7001,7002 WebLogic(WEB应用系统) Java反序列化,弱口令
tcp 7778 Kloxo(虚拟主机管理系统) 主机面板登录
tcp 8000 Ajenti(Linux服务器管理面板) 弱口令
tcp 8443 Plesk(虚拟主机管理面板) 弱口令
tcp 8069 Zabbix (系统网络监视) 远程执行,SQL注入
tcp 8080-8089 Jenkins,JBoss (应用服务器) 反序列化,控制台弱口令
tcp 9080-9081,9090 WebSphere(应用服务器) Java反序列化/弱口令
tcp 9200,9300 ElasticSearch (Lucene的搜索服务器) 远程执行
tcp 11211 Memcached(缓存系统) 未授权访问
tcp 27017,27018 MongoDB(数据库) 爆破,未授权访问
tcp 50070,50030 Hadoop(分布式文件系统) 默认端口未授权访问

3.http请求与请求/响应正文

(1.)8种请求类型介绍

1.GET 向特定的资源发出请求

2.POST 向指定的资源提交数据进行请求,数据包含在请求体内,POST请求可能会导致新资源的创建和已有资源的更改。

3.OPITONS 返回服务器针对特定资源所支持的HTTP请求方法。

4.HEAD 向服务器索要与GET请求相一致的响应,只不过响应体不会被返回。

5.PUT 向指定资源位置上传其最新内容。

6.DELETE 请求服务器删除Request-URL所标识的资源。

7.TRACE 回显服务器收到的请求,主要用于测试或诊断。

8.CONNECT HTTP/1.1协议中预留给能将连接改为管道方式的代理服务器。

(2.)http请求响应原理

1.客户端与服务端建立连接 tcp三次握手

2.客户端发送一个请求给服务器

3..服务端返回一个响应信息给客户端4.释放连接 tcp四次挥手

5.客户端接收服务端返回的信息通过浏览器显示在用户的显示屏上

(3.)http请求响应过程

1.域名解析

2.发起tcp三次握手

3.建立tcp连接后发起http请求

4.服务器段响应http请求,浏览器得到html代码

5.浏览器解析html代码,并请求html代码中的资源

6.浏览器对页面进行渲染呈现给用户

(4.)http请求报文

1.请求行 (方法字段、URL字段、http版本协议)

2.请求头部

3.空行 (\r\n 告诉服务器请求头部到此为止)

4.请求数据 (get为空 post为要提交的数据)

(5.)常见的请求头

请求头字段 含义
Accept 浏览器可接受的MIME类型
Accept-charset 浏览器可以接受的字符集
Accept-Encoding 浏览器能够继续解码的数据编码方式
Accept-language 浏览器所希望的语言种类
Authorization 授权信息
Content-length 表示请求消息正文的长度
User-Agent 内容包含发出请求的用户信息、浏览器类型
Cookie 客户机通过这个头可以向服务器发送带数据的请求
Pragma 指定no-cache值表示服务器必须返回一个刷新后的文档
From 请求发送者的email地址
connection 处理完这次请求后是否断开连接。值为“keep-Alive”或者是http1.1就可以持续连接
Referer 客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的
Range 头域可以请求实体的一个或多个字范围
UA-Pixels, UA-color,UA-os,UA-cpu 由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPU类型。

(6.)http响应报文

1.响应行(协议版本、状态码、及描述)

2.响应头

3.响应体(响应的消息体,纯数据、html页面、js代码)

4.状态码

(1.)客户方错误

状态码 英文名称 中文描述
100 continue 继续,客户端应继续请求
101 switching proticols 切换协议,服务端根据客户端的请求切换协议,只能切换更高级

(2.)成功

状态码 英文名称 中文描述
200 ok 请求成功
201 created 已建立,成功请求并建立了新的资源
202 accepeted 已经接受请求,但为完成处理
203 non-authoritative ifm 请求成功,但是返回的meta信息不再原始服务器,是副本
204 no content 无内容 ,服务器成功处理,但未返回内容
205 reset content 重置内容,服务器处理成功,用户终端应重置文视图
206 reset content 部分内容,服务器成功处理了部分内容

(3.)重定向

状态码 英文名称 中文描述
300 multiple choices 多种选择,请求的资源可包含多个位置,相应可返回一个资源特征与地址的列表用于用户选择。
301 moved permanentli 永久移动。请求的资源已被永久的移动到新的url,返回信息包括新的url
302 found 临时移动,与301类似,但资源只是临时被移动。
303 see other 查看其他地址。
304 not modified 未修改。所请求的资源未修改,返回此状态码时不会返回任何资源。
305 user proxy 使用代理,所请求的资源必须通过代理访问
306 unused 以及被废弃的http状态码
307 temporary redirect 与302类似 使用get请求重定向。

(4.)客户方错误

状态码 英语名称 中文描述
400 bad request 客户端请求的语法错误,服务器无法理解。
401 Unauthorized 请求要求用户的身份认证
402 保留
403 forbidden 服务器理解客户端请求,但是拒绝执行此请求
404 not found 服务器无法找到资源
405 method not allowed 客户端请求中的方法被禁止
406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求
407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
408 Request Time-out 服务器等待客户端发送的请求时间过长,超时
409 Conflict 服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突
410 Gone 客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息
412 Precondition Failed 客户端请求信息的先决条件错误
413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息
414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理
415 Unsupported Media Type 服务器无法处理请求附带的媒体格式
416 Requested range not satisfiable 客户端请求的范围无效
417 Expectation Failed 服务器无法满足Expect的请求头信息

(5.)服务器错误

状态码 英文名称 中文描述
500 Internal Server Error 服务器内部错误,无法完成请求
501 Not Implemented 服务器不支持请求的功能,无法完成请求
502 Bad Gateway 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
503 Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504 Gateway Time-out 充当网关或代理的服务器,未及时从远端服务器获取请求
505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理

未完待续……

人们只愿看到自己想看到的一切,分不清是非对错,黑白颠倒。–Hades