渗透测试

基础

基础名词解释

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

渗透测试流程

信息搜集

  1. 域名信息whois(社工,弱口令)
  2. ip,端口(nmap,msf)
  3. 找后台(弱口令)
  4. 子域名(旁站)
  5. web服务器指纹(寻找相应漏洞)
  6. 信息泄露(phpinfo,物理路径 )

漏洞挖掘

Web应用层面

  • 文件包含
  • 文件上传
  • 文件下载
  • sql下载
  • xss
  • csrf
  • 越权
  • 弱口令
  • 逻辑漏洞

服务器

  • 弱口令
  • shift后门
  • msf

权限提升

权限维持

  • 隐蔽杀软,周期查看,免杀,多种留后门

日志清扫

  • 严谨,伪装隐藏,避免机警

常见端口

  • 21 ftp
  • 23 telnet
  • 80 web
  • 445 SMB
  • 1433 MSSQL
  • 3306 MYSQL
  • 3389 远程桌面
  • 8080 tomcat
  • 8888 宝塔