端口安全浅谈
一 常见端口漏洞
端口 | 服务 | 漏洞 | 测试用例 |
21 | ftp/tftp/vsftpd文件传输协议 | 弱口令/未授权/匿名登录命令执行 |
nmap –script ftp-brute -p 21 ip
|
22 | Ssh | 弱口令/爆破/命令执行/未授权 |
nmap -p 22 –script ssh-brute –script-args userdb=users.lst,passdb=pass.lst –script-args ssh-brute.timeout=4s <target>
|
23 | telent | 弱口令/信息泄露/未授权/命令执行/ms系列 |
nmap -p 23 –script telnet-brute –script-args userdb=myusers.lst,passdb=mypwds.lst,telnet-brute.timeout=8s
nmap -p 23 <ip> –script telnet-encryption
nmap -p 23 –script telnet-ntlm-info
|
25 | Smtp | 弱口令/未授权/命令执行 |
nmap –script smtp-enum-users.nse [–script-args smtp-enum-users.methods={EXPN,…},…] -p 25,465,587 <host>
nmap –script smtp-commands.nse [–script-args smtp-commands.domain=<domain>] -pT:25,465,587 <host>
nmap -p 25 –script smtp-brute <host>
nmap -p 25,465,587 –script smtp-ntlm-info –script-args smtp-ntlm-info.domain=domain.com <target>
|
53 | dns | 域传送/劫持/缓存投毒/爆破 |
nmap –script dns-brute www.foo.com
nmap -sU -p 53 –script dns-cache-snoop.nse –script-args ‘dns-cache-snoop.mode=timed,dns-cache-snoop.domains={host1,host2,host3}’ <target>
nmap -sn -Pn ns1.example.com –script dns-check-zone –script-args=’dns-check-zone.domain=example.com’
nmap –script dns-zone-transfer.nse –script-args dns-zone-transfer.domain=<domain>
|
67/68 | Dhcp | 劫持/欺骗 | nmap -sU -p 67 –script=dhcp-discover |
139/445 | Smb | 爆破/未授权/命令执行 |
nmap –script smb-brute.nse -p445
nmap –script smb-psexec.nse –script-args=smbuser=<username>,smbpass=<password>[,config=<config>] -p445 <host>
smb-vuln-ms06-025.nse
smb-vuln-ms07-029.nse
smb-vuln-ms08-067.nse
smb-vuln-ms10-054.nse
smb-vuln-ms10-061.nse
smb-vuln-ms17-010.nse
|
161 | Snmp | 爆破/信息泄露 |
nmap -sU –script snmp-brute <target> [–script-args snmp-brute.communitiesdb=<wordlist> ]
nmap -sV
nmap -sU -p 161 –script=snmp-netstat <target>
nmap -sU -p 161 –script=snmp-win32-users <target>
|
389/636 | Ldap | 爆破/未授权/命令执行/信息泄露 |
nmap -p 389 –script ldap-brute –script-args ldap.base='”cn=users,dc=cqure,dc=net”’
nmap -p 389 –script ldap-rootdse
nmap -p 636 –script ldap-novell-getpass –script-args ‘ldap-novell-getpass.username=”CN=admin,O=cqure”, ldap-novell-getpass.password=pass1234, ldap-novell-getpass.account=”CN=paka,OU=hr,O=cqure”’
|
443 | Ssl | 心脏出血/枚举 |
nmap -sV –script ssl-enum-ciphers -p 443
nmap -p 443 –script ssl-heartbleed
|
512/513/514 | Rexec、rlogin、rsh | 未授权/命令执行/弱口令 |
nmap -p 512 –script rexec-brute
nmap -p 513 –script rlogin-brute
|
873 | rsync | 匿名访问/文件上传/爆破 |
nmap -p 873 –script rsync-list-modules
nmap -p 873 –script rsync-brute –script-args ‘rsync-brute.module=www’
|
1352 | Domino | 用户枚举/密码猜解 |
nmap –script domino-enum-users -p 1352
nmap –script http-domino-enum-passwords -p 80 <host> –script-args http-domino-enum-passwords.username=’patrik karlsson’,http-domino-enum-passwords.password=secret
|
1433 | Mssql | 爆破/信息泄露 |
nmap -p 445 –script ms-sql-brute –script-args mssql.instance-all,userdb=customuser.txt,passdb=custompass.txt
nmap -p 1433 –script ms-sql-config –script-args mssql.username=sa,mssql.password=sa
nmap -p 445 –script ms-sql-info
nmap -p 1433 –script ms-sql-info –script-args mssql.instance-port=1433
|
1521 | oracl | 爆破/用户猜解 |
nmap –script oracle-brute -p 1521 –script-args oracle-brute.sid=ORCL
nmap –script oracle-enum-users –script-args oracle-enum-users.sid=ORCL,userdb=orausers.txt -p 1521-1560
|
111/1025/2049 | nfs | 信息泄露/未授权 |
nmap -sV –script=nfs-showmount
nmap -p 111 –script=nfs-ls
nmap -p 111 –script=nfs-statfs
|
1723 | Pptp | 爆破/弱口令 |
|
2181 | zookeeper | 未授权 |
nmap -sS -p2181 -oG zookeeper.gnmap
|
2375 | docker | 未授权 | |
3306 | Mysql | 爆破 |
nmap -sV -sC
nmap –script=mysql-enum
nmap -sV –script=mysql-empty-password
nmap –script=mysql-brute
|
3389 | Rdp | 爆破/未授权/ms系列 |
nmap -p 3389 –script rdp-enum-encryption
nmap -sV –script=rdp-vuln-ms12-020 -p 3389
hydra -t 4 -V -l administrator -P /usr/share/wordlists/rockyou.txt rdp://your_target
ncrack -p 3389 -v -user administrator -P /usr/share/wordlists/rockyou.txt 192.95.xx.xx
|
4040/4041/4042/5304/5305/5306/6606/7707/8088/8081 | spark | 未授权 |
Nmap -sV
|
5050 | Mesos | 未授权 | nmap -sV -p 5050 |
5432 | Postgresql | 爆破/CVE系列 |
nmap -p 5432 –script pgsql-brute
|
5984 | couchdb | 未授权/信息探测 |
nmap -p 5984 –script “couchdb-databases.nse”
nmap -p 5984 –script “couchdb-stats.nse”
|
6379 | Redis | 未授权/弱口令/爆破 |
nmap -p 6379 <ip> –script redis-info
nmap -p 6379 <ip> –script redis-brute
|
6443、8080 | K8s | 未授权 | nmap -sV -p 6443,8080 |
7001/7002/8080/8089
|
weblogic | 弱口令/反序列化 |
nmap -sV
|
8480/8088/8080/10000 10003/14000/50070/50075 50030/50060/60010 /60030 |
hadoop套装 | 未授权 |
nmap –script hadoop-namenode-info -p 50070
nmap –script hadoop-datanode-info.nse -p 50075
nmap –script hadoop-jobtracker-info [–script-args=hadoop-jobtracker-info.userinfo] -p 50030
nmap –script hadoop-secondary-namenode-info -p 50090 host
nmap –script hadoop-tasktracker-info -p 50060 host
|
8649 | ganglia | 未授权 | nmap –script ganglia-info –script-args ganglia-info.timeout=60,ganglia-info.bytes=1000000 -p <port> <target> |
9200/9300 | Es | 未授权 |
Nmap -sV
|
11211 | Memcache | 未授权 |
nmap -p 11211 –script memcached-info
|
27017/27018 | Mongodb | 未授权/弱口令 |
nmap -p 27017 –script mongodb-info
nmap -p 27017 <ip> –script mongodb-brute
nmap -p 27017 –script mongodb-databases
|
二 加固防护
2.1 未授权类:
2.1.1 建议采用iptables,确定来源ip的范围
2.1.2 增加认证。不同应用的未授权有不同的认证。比如:
1 k8s的可以在Authentication 增加静态的 password,或者 token;
2 hadoop的可以开启服务级别身份验证,如Kerberos认证;
3 redis类的可以编辑配置文件或者命令行添加密码认证;
2.2 爆破类:
1 ftp、ssh、mysql、mongodb、ldap类:可以使用跳板机+免密登录+fail2ban
2.3 版本类问题:
1 以往漏洞:检测使用的版本号,对比官方安全公告,在不影响应用的正常运行的前提下,把所有能打的补丁都打了
2 应急漏洞:尽可能的打补丁,如果实在打不了,也就只能采取临时解决方法。比如:iptables、虚拟补丁、修改banner。
三 检测
3.1 常规攻击流程如下:
3.1.1 端口扫描和版本探测。确定服务是否开启以及服务的具体版本号。
3.1.2 根据上一步的探测结果针对性的进行攻击测试。
根据以上常规的攻击测试流程,我们可以简单对应做一些检测策略。
3.2 检测策略:
3.2.1 来源ip的信誉度。即建立一个恶意ip库。网上开源的恶意ip库一大堆;
3.2.2 来源ip的访问时间。根据自身业务,一般这些敏感端口的正常访问时间大部分都是工作时间,而突然凌晨2点左右有ip访问并且频率较高,基本可以阻断了;
3.2.3 来源ip访问敏感端口的频率和tcp三次握手的状态。
比如:nmapTCP全扫描时,报文1为SYN,报文2为ACK,端口开放时的报文为:SYN+ACK完成三次握手,端口关闭时的报文为:RST+ACK。TCP半扫描时,报文1位SYN,若端口开放则回SYN+ACK,否则为RST+ACK。其余的TCP ack扫描、TCP windwos扫描、-sM扫描、sN扫描、sF扫描、sX扫描等等的流量特征有时间在具体分享下。
3.2.4 采用一些全流量检测设备,对流量中的banner或者其他特征进行检测。
四 and so on
当然了,还有更多的其他端口,因为时间问题,暂未继续撰。因个人仅仅是个打杂的,文中若有什么错误,欢迎交流。
浊公子于2019年8月12日晚11:48
版权声明:本文为p1rate原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。