渗透测试基础知识
渗透测试
基础
基础名词解释
- 肉鸡:傀儡机(可以随意被我们控制),被远程控制的机器。
- 木马:表面伪装成了正常程序,运行后,可以获取系统控制权限。(灰鸽子,黑洞)
- 网页木马:表面伪装成普通的网页文件,或者将自己的代码直接插入到正常的网页中去,网页被访问时,浏览器就会将木马自动下载。
- 一句话木马:一端很小的网页代码后门,对网站进行控制。一句话木马主要配合菜刀试用
- 菜刀:文件管理,虚拟终端,数据库管理
- 挂马:将木马放入网站文件,使浏览者中马。
- 大马:功能强大的网页后门,能执行命令,操作文件,连接数据库。
- 小马:功能比较单一的网页。上传保存文件,用小马上传大马。
- 黑页:入侵者对网页进行改写,公布自己的存在。
- 后门:成功攻击后,攻击者系统植入特定程序或修改某些配置,方便下次控制。
- 拖库:从数据库中导出数据。
- 社工库:黑客与大数据结合的产物,黑客将泄露的用户信息进行整合,集中归档。
- 撞库:黑客通过手机互联网已经泄露的用户和密码信息,生成对应字典表,尝试批量登录其他网站,得到一系列账号密码。
- 提权:提升自己在服务器中的权限。
- 网络钓鱼:利用欺骗性的电子邮件或者web站点来进行诈骗,受骗者就会泄露自己的个人信息,账号密码。
- 社会工程学攻击:一种通过对被攻击者心理弱点,好奇心,信任,贪婪等心理陷阱所采取的诈骗。将人性弱点与黑客攻击进行结合。
- rootkit:攻击者隐藏自己行踪,保留root权限的工具。达到长久控制的目的。
- IPS$:共享“命令管道”的资源。
- 弱口令:强度不够,容易被猜解的密码。
- shell:命令行运行环境。
- webshell:以asp,php,jsp或cgi等网页文件形式存在的一个命令行运行环境,也可以称作为网页后门。
- 溢出:缓冲区溢出。程序对接受的输入数据没有执行有效的检测而导致错误,造成程序崩溃或者执行攻击者的命令。
- 注入:用户可以提交一段数据库查询代码,根据程序返回的结果,可以得知一些想要的数据。
- 注入点:可以实行注入的地方,通常是一个访问数据库的连接。注入点运行用户的权限不同,获得的权限也不同。
- 旁站入侵:同一个服务器有多个站点,通过其中一个站点访问其他站点。
- C段入侵:从一个网段拿下一个服务器,通过这台服务器嗅探目标服务器上传输的数据。
- 内网:局域网。
- 外网:互联网。
- 端口:一种数据传输的通道。
- 免杀:通过各种方式(加壳,加密,修改特征码,加花指令)绕过杀毒软件拦截
- 加壳:利用特殊的算法,将exe可执行程序或dll动态连接数据库文件的编码进行改变(压缩,加密等),达到缩小文件体积或者加密程序编码,甚至躲过杀毒软件查杀。
- 花指令:几句汇编指令,让汇编语句进行一些跳转,使杀毒软件不能正常的判断病毒文件的构造。
- TCP/IP:网络通信协议,规范了网络上所有的通信设备。(主机之间数据来往的格式和传送方式,数据打包和寻址的标准方法)
- 路由器:路由选择,将ip数据包正确的送到目的地。
- 蜜罐:情报收集系统。故意让人攻击,引诱黑客来攻击,了解其攻击方法,所用工具,掌握其社交网络。
- DOS:拒绝服务攻击,目的是是计算机或网络无法正常服务。
- cc攻击:攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装。
- 脚本注入攻击:把sql命令插入到web表单的输入域或者页面请求的查询字符串,欺骗服务器。
- 加密技术:利用技术手段将数据变为乱码传送(加密),到达目的地后再用技术手段还原(解密)。
- 欺骗攻击:IP欺骗,ARP欺骗,DNS欺骗,WEB欺骗,电子邮件欺骗,路由欺骗(通过指定路由器,以假冒身份与其他主机进行合法通信或发送假报文,是攻击主机出现错误动作),地址欺骗。
- 嗅探:嗅探计算机网络的共享通讯隧道,共享以为着计算机能够接受到发送给其他计算机的信息,捕获在网络中传输的数据信息就称为嗅探。
- 跳板:一个具有辅助作用的及其,利用这个主机作为一个间接工具,控制其他主机,一般和肉鸡连用。
- RARP反向地址解析协议:将硬件地址映射到网络地址
- UDP用户数据报协议:无连接的传输层协议,提供面向事务的简单不可靠信息传输服务。
- TCP协议:面向连接的,可靠的,基于字节流的传输层通信协议。
- FTP文件传输协议:用于文件的增删改查。
- SMTP简单邮件传输协议:传输电子邮件
- TELNET终端协议:允许用户以终端方式远程访问主机。
- HTTP超文本传输协议:简单的请求-响应协议,通常允许在TCP上。
- HTTPS安全超文本传输协议:通过在安全套接字层(SSL)协议上允许http来将安全添加到万维网中。
- TFTP:简单文件传输协议。
- ICMP(inter控制消息协议):用于在ip,主机,路由器之间传输控制消息。(ping)
- DNS协议:将域名转换成IP地址的一种协议,也可以将ip地址转换成域名的一种协议。(nslookup)
- EXP/Exploit:漏洞利用代码,允许之后对目标进行攻击。
- POC/proof of Concept:漏洞验证代码,检测目标是否存在对应漏洞。
- Payload:成功允许EXP后,真正在目标系统执行的命令或代码。
- Shellcode:建立正向/反向shell而得名。
- Lan:局域网
- Peoxy:代理。一类程序或系统,接受来自客户机的浏览,并代表客户与服务器交互。代理能用于过滤应用级别的指定类型的浏览或缓存信息以提高性能。(过滤防火墙)
- CMS:内容管理系统。
- cve:漏洞披露。
- CNVD:国家信息安全漏洞共享平台。
- 0day:负责应用程序的程序员或供应商所未知的软件缺陷。漏洞未知,没有可用的补丁程序。
- 1day:刚发布,但已被官方发布补丁网络但还大量存在。
- Nday:已经被公布的0day。
- APT攻击:高级可持续攻击。
- 渗透测试:黑盒测试,白盒测试,灰盒测试。
windows常用cmd命令
- echo
- dir
- d: 和 cd
- tree
- md 创建目录
- rd 删除目录
- ipconfig
- cls
- copy 复制、拼接文件
- move移动文件
- ren重命名
- del删除文件
- ping
- type显示文本文件的内容
- reg
linux目录
- /bin 二进制可执行命令
- /etc 系统管理和配置文件
- /etc/rc.d 启动的配置文件和脚本
- /home 用户主目录的基点/lib 标准程序设计库,又叫动态链接共享库
- /sbin 超级管理命令,这里存放的是系统管理员使用的管理程序
- /tmp 公共的临时文件存储点
- /root 系统管理员的主目录
- /mnt 系统提供这个目录是让用户临时挂载其他的文件系统
- /lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件就在这里
- /proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
- /var 某些大文件的溢出区,比方说各种服务的日志文件
- /usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录
- /usr/bin 众多的应用程序/usr/sbin 超级用户的一些管理程序
网络基础
url
协议://域名:端口/虚拟目录/文件名?参数#锚点
http协议
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
http协议请求方法
GET:向指定资源发出显示请求
HEAD:和GET一样,但是不传回所有资源内容
POST:向指定资源提交数据,数据被包含在请求中
PUT:向指定位置上传
DELETE:删除所标识的资源
OPTIONS:这个方法可使服务器传回该资源所支持的所有
HTTP请求方法。用’*’来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作
请求信息
请求信息发出的请求信息(message request)包括
请求行(例如GET /images/logo.gif HTTP/1.1,表示从/images目录下请求logo.gif这个文件)
请求头(例如Accept-Language: en)
空行
其他消息体
合同谈判协议状态码
1xx:指示信息–表示请求已接收,继续处理
2xx:成功–表示请求已被成功接收、理解、接受
3xx:重定向–要完成请求必须进行更进一步的操作
4xx:客户端错误–请求有语法错误或请求无法实现
5xx:服务器端错误–服务器未能实现合法的请求
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
渗透测试流程
信息搜集
- 域名信息whois(社工,弱口令)
- ip,端口(nmap,msf)
- 找后台(弱口令)
- 子域名(旁站)
- web服务器指纹(寻找相应漏洞)
- 信息泄露(phpinfo,物理路径 )
漏洞挖掘
Web应用层面
- 文件包含
- 文件上传
- 文件下载
- sql下载
- xss
- csrf
- 越权
- 弱口令
- 逻辑漏洞
服务器
- 弱口令
- shift后门
- msf
权限提升
权限维持
- 隐蔽杀软,周期查看,免杀,多种留后门
日志清扫
- 严谨,伪装隐藏,避免机警
常见端口
- 21 ftp
- 23 telnet
- 80 web
- 445 SMB
- 1433 MSSQL
- 3306 MYSQL
- 3389 远程桌面
- 8080 tomcat
- 8888 宝塔