渗透测试基础知识
渗透测试
基础
基础名词解释
- 肉鸡:傀儡机(可以随意被我们控制),被远程控制的机器。
 - 木马:表面伪装成了正常程序,运行后,可以获取系统控制权限。(灰鸽子,黑洞)
- 网页木马:表面伪装成普通的网页文件,或者将自己的代码直接插入到正常的网页中去,网页被访问时,浏览器就会将木马自动下载。
 - 一句话木马:一端很小的网页代码后门,对网站进行控制。一句话木马主要配合菜刀试用
 
 - 菜刀:文件管理,虚拟终端,数据库管理
 - 挂马:将木马放入网站文件,使浏览者中马。
 - 大马:功能强大的网页后门,能执行命令,操作文件,连接数据库。
 - 小马:功能比较单一的网页。上传保存文件,用小马上传大马。
 - 黑页:入侵者对网页进行改写,公布自己的存在。
 - 后门:成功攻击后,攻击者系统植入特定程序或修改某些配置,方便下次控制。
 - 拖库:从数据库中导出数据。
 - 社工库:黑客与大数据结合的产物,黑客将泄露的用户信息进行整合,集中归档。
 - 撞库:黑客通过手机互联网已经泄露的用户和密码信息,生成对应字典表,尝试批量登录其他网站,得到一系列账号密码。
 - 提权:提升自己在服务器中的权限。
 - 网络钓鱼:利用欺骗性的电子邮件或者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 宝塔