笔记总结
Kali-Linux基本配置及相关指令
更换系统源
1 | * #aliyun 阿里云 ##推荐阿里云 |
更新
1 | apt-get update #更新源 |
linux基本操作命令
1 | 基础 |
网络服务/端口/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