【零基础学渗透】主动信息收集

【零基础学渗透】主动信息收集

相关声明

以下内容仅限于教育目的,请勿用于非法用途。

学习目标

  • 掌握端口扫描、目录扫描的概念
  • 熟悉Nmap常见的命令
  • 熟悉常见的扫描工具,如Goby、FFuf、masscan、御剑、在线扫描等工具
  • 学习针对站点指纹收集的思路
  • 了解社工的思路

端口扫描

  • 端口定义
  • 端口分类
  • 端口查看
  • 常用端口和常见端口漏洞利用方式

端口定义

网络安全领域中,我们说的端口,一般都指的是逻辑意义上的端口,即TCP/IP协议中的端口

端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。

上面的说法可能过于抽象,我们这里举个例子你就懂了,我们在浏览器里输入的网址或是IP地址

譬如,http://127.0.0.1:8000

图片[1]-【零基础学渗透】主动信息收集-山海云端论坛

通常构成方式就是IP:端口域名:端口冒号后面的就是我们这里说的端口

小提示:http开头的网址端口通常是80,https开头的网址端口通常是443

端口分类

1. 按端口号分布划分

(1)知名端口(Well-Known Ports)知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。这也是我们为什么在启用服务的时候尽量要求选择大于1024的,就是怕占用了系统的一些服务

比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。

(2)动态端口(Dynamic Ports) 动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。 不过,动态端口也常常被病毒木马程序所利用。

2. 按协议类型划分

按协议类型划分,可以分为TCPUDPIPICMP(Internet控制消息协议)等端口。

下面主要介绍TCPUDP端口

(1)TCP端口

TCP端口,即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。常见的包括FTP服务的21端口,Telnet服务的23端口,SMTP服务的25端口,以及HTTP服务的80端口等等。

(2)UDP端口

UDP端口,即用户数据包协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。

查看端口

可以使用Netstat命令: 依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。

在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态

我们通常可以通过分析本地地址和外部地址,来挖掘出一些隐藏的服务,譬如恶意挖矿等等

图片[2]-【零基础学渗透】主动信息收集-山海云端论坛

一些参数

可以看到上面的图中有协议栏本地地址栏外部地址栏状态,其中每一栏的详细参数如下

协议栏:显示TCP或UDP

本地地址栏:显示本地地址和对应服务的端口号

外部地址栏:外连地址和端口号

状态:

LISTEN:侦听来自远方的TCP端口的连接请求

SYN-SENT:再发送连接请求后等待匹配的连接请求

SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认

ESTABLISHED:代表一个打开的连接

FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2:从远程TCP等待连接中断请求

CLOSE-WAIT:等待从本地用户发来的连接中断请求

CLOSING:等待远程TCP对连接中断的确认

LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认

TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认

CLOSED:没有任何连接状态

命令详解

我们结合具体的场景给大家做了总结,可以参考

  • 查看网络链接状态
  • 查看路由表
  • 查看网络数据统计
  • 查看网络接口信息
usage: netstat [-veenNcCF] [<Af>] -r         netstat {-V|--version|-h|--help}
       netstat [-vnNcaeol] [<Socket> ...]
       netstat { [-veenNac] -I[<Iface>] | [-veenNac] -i | [-cnNe] -M | -s } [delay]

        -r, --route                display routing table            #显示路由表
        -I, --interfaces=<Iface>   display interface table for <Iface>  #显示网络接口表
        -i, --interfaces           display interface table  #显示网络接口表
        -g, --groups               display multicast group memberships      #显示多播组成员
        -s, --statistics           display networking statistics (like SNMP)    #显示网络统计数据,如IP/ICMP/SNMP/..各协议统计。
        -M, --masquerade           display masqueraded connections     #显示伪装的连接

        -v, --verbose              be verbose   #详细信息
        -n, --numeric              don't resolve names     #不做名字解析
        --numeric-hosts            don't resolve host names     #不做主机名解析
        --numeric-ports            don't resolve port names     #不做端口名解析
        --numeric-users            don't resolve user names     #不做用户名解析
        -N, --symbolic             resolve hardware names   
        -e, --extend               display other/more information   #显示更多信息,用户名,inode
        -p, --programs             display PID/Program name for sockets     #显示pid和程序名字
        -c, --continuous           continuous listing   #持续的列出相关信息

        -l, --listening            display listening server sockets     #显示处于监听状态的套接字
        -a, --all, --listening     display all sockets (default: connected)     #显示所有的套接字
        -o, --timers               display timers       #显示计时器
        -F, --fib                  display Forwarding Information Base (default)       #使用-rF查看路由表时,显示转发信息
        -C, --cache                display routing cache instead of FIB     #使用-rC查看路由表时,显示详细的路由缓存
        -T, --notrim               stop trimming long addresses     #停止修剪长地址
        -Z, --context              display SELinux security context for sockets     #显示套接字的SELINUX上下文

  <Iface>: Name of interface to monitor/list.
  <Socket>={-t|--tcp} {-u|--udp} {-S|--sctp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom
  <AF>=Use '-A <af>' or '--<af>'; default: inet
  List of possible address families (which support routing):
    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) 
    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) 
    x25 (CCITT X.25) 

举例:

1 . 查看网络链接状态

    -a 显示所有状态的socket  
    -n 不做名字解析,不加此参数,80端口会显示成http,127.0.0.1显示成localhost,uid为0显示成root等等    
    -e 显示更多信息如用户,inode
    -p 显示pid和程序名字
    -t 显示tcp链接
    -u 显示udp链接
    -x 显示unix套接字    

           

  netstat -anpte   #查看tcp链接

[root@jia1-LinuxPerformance ~]# netstat -anpte
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       User       Inode      PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      0          10294      1821/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      0          10594      1923/master         
tcp        0     52 172.16.2.106:22             124.65.173.246:50809        ESTABLISHED 0          10826      1967/sshd           
tcp        0      0 172.16.2.106:54076          100.100.100.200:80          TIME_WAIT   0          0          -                   
tcp        0      0 172.16.2.106:60382          140.205.140.205:80          ESTABLISHED 0          9273       1471/AliYunDun      
tcp        0      0 172.16.2.106:54070          100.100.100.200:80          TIME_WAIT   0          0          -     

 netstat -anpue   #查看udp链接
 
[root@jia1-LinuxPerformance ~]# netstat -anpue
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       User       Inode      PID/Program name   
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               0          9200       1678/dhclient       
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               0          8655       1069/dhclient       
udp        0      0 172.16.2.107:123            0.0.0.0:*                               0          10366      1832/ntpd           
udp        0      0 172.16.2.106:123            0.0.0.0:*                               0          10365      1832/ntpd           
udp        0      0 127.0.0.1:123               0.0.0.0:*                               0          10364      1832/ntpd           

 netstat -anpxe   #查看unix套接字链接
 
[root@jia1-LinuxPerformance ~]# netstat -anpxe
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     9249   1471/AliYunDun      /tmp/Aegis-<Guid(5A2C30A2-A87D-490A-9281-6765EDAD7CBA)>
unix  2      [ ACC ]     STREAM     LISTENING     9251   1471/AliYunDun      /usr/local/aegis/Aegis-<Guid(5A2C30A2-A87D-490A-9281-6765EDAD7CBA)>
unix  2      [ ACC ]     STREAM     LISTENING     7047   1/init              @/com/ubuntu/upstart
unix  10     [ ]         DGRAM                    8814   1140/rsyslogd       /dev/log
unix  2      [ ACC ]     STREAM     LISTENING     10600  1923/master         public/cleanup
unix  2      [ ACC ]     STREAM     LISTENING     10607  1923/master         private/tlsmgr
unix  2      [ ACC ]     STREAM     LISTENING     10611  1923/master         private/rewrite
unix  2      [ ACC ]     STREAM     LISTENING     10615  1923/master         private/bounce
unix  2      [ ACC ]     STREAM     LISTENING     10619  1923/master         private/defer
unix  2      [ ACC ]     STREAM     LISTENING     10623  1923/master         private/trace
unix  2      [ ACC ]     STREAM     LISTENING     10627  1923/master         private/verify
unix  2      [ ACC ]     STREAM     LISTENING     10631  1923/master         public/flush
unix  2      [ ACC ]     STREAM     LISTENING     10635  1923/master         private/proxymap
unix  2      [ ACC ]     STREAM     LISTENING     10639  1923/master         private/proxywrite
unix  2      [ ACC ]     STREAM     LISTENING     10643  1923/master         private/smtp
unix  2      [ ACC ]     STREAM     LISTENING     10647  1923/master         private/relay
unix  2      [ ACC ]     STREAM     LISTENING     10651  1923/master         public/showq
unix  2      [ ACC ]     STREAM     LISTENING     10655  1923/master         private/error
unix  2      [ ACC ]     STREAM     LISTENING     10659  1923/master         private/retry
unix  2      [ ACC ]     STREAM     LISTENING     10663  1923/master         private/discard
unix  2      [ ACC ]     STREAM     LISTENING     10667  1923/master         private/local
unix  2      [ ACC ]     STREAM     LISTENING     10671  1923/master         private/virtual
unix  2      [ ]         DGRAM                    7622   483/udevd           @/org/kernel/udev/udevd
unix  2      [ ACC ]     STREAM     LISTENING     10675  1923/master         private/lmtp
unix  2      [ ACC ]     STREAM     LISTENING     10679  1923/master         private/anvil
unix  2      [ ACC ]     STREAM     LISTENING     10683  1923/master         private/scache
unix  2      [ ]         DGRAM                    13412  2216/anacron        
unix  2      [ ]         DGRAM                    10874  1967/sshd           
unix  2      [ ]         DGRAM                    10719  1940/qmgr           
unix  2      [ ]         DGRAM                    10693  1939/pickup         
unix  2      [ ]         DGRAM                    10690  1941/crond          
unix  3      [ ]         STREAM     CONNECTED     10686  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10685  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10682  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10681  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10678  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10677  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10674  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10673  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10670  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10669  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10666  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10665  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10662  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10661  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10658  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10657  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10654  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10653  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10650  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10649  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10646  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10645  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10642  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10641  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10638  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10637  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10634  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10633  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10630  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10629  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10626  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10625  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10622  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10621  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10618  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10617  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10614  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10613  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10610  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10609  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10606  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10605  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10603  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10602  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10599  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10598  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10596  1923/master         
unix  3      [ ]         STREAM     CONNECTED     10595  1923/master         
unix  2      [ ]         DGRAM                    10556  1923/master         
unix  2      [ ]         DGRAM                    10321  1832/ntpd           
unix  3      [ ]         STREAM     CONNECTED     9248   1471/AliYunDun      
unix  3      [ ]         STREAM     CONNECTED     9247   1471/AliYunDun      
unix  3      [ ]         STREAM     CONNECTED     9246   1471/AliYunDun      
unix  3      [ ]         STREAM     CONNECTED     9245   1471/AliYunDun      
unix  2      [ ]         DGRAM                    9170   1678/dhclient       
unix  3      [ ]         STREAM     CONNECTED     8775   1118/auditd         
unix  3      [ ]         STREAM     CONNECTED     8774   1118/auditd         
unix  3      [ ]         DGRAM                    7636   483/udevd           
unix  3      [ ]         DGRAM                    7635   483/udevd    

2 . 查看路由表

   netstat -r和route命令输出是差不多的。
   
[root@jia1-LinuxPerformance ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
172.16.2.0      *               255.255.255.0   U         0 0          0 eth0
172.16.2.0      *               255.255.255.0   U         0 0          0 eth1
link-local      *               255.255.0.0     U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth1
default         172.16.2.253    0.0.0.0         UG        0 0          0 eth0
default         172.16.2.253    0.0.0.0         UG        0 0          0 eth1
[root@jia1-LinuxPerformance ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.2.0      *               255.255.255.0   U     0      0        0 eth0
172.16.2.0      *               255.255.255.0   U     0      0        0 eth1
link-local      *               255.255.0.0     U     1002   0        0 eth0
link-local      *               255.255.0.0     U     1003   0        0 eth1
default         172.16.2.253    0.0.0.0         UG    0      0        0 eth0
default         172.16.2.253    0.0.0.0         UG    1001   0        0 eth1

netstat -rF和netstat -rC两个命令的区别是一个输出的是路由表,一个输出的是路由缓存。
默认netstat -r输出的是netstat -rF结果。-F为默认参数

[root@jia1-LinuxPerformance ~]# netstat -rF
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
172.16.2.0      *               255.255.255.0   U         0 0          0 eth0
172.16.2.0      *               255.255.255.0   U         0 0          0 eth1
link-local      *               255.255.0.0     U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth1
default         172.16.2.253    0.0.0.0         UG        0 0          0 eth0
default         172.16.2.253    0.0.0.0         UG        0 0          0 eth1
[root@jia1-LinuxPerformance ~]# netstat -rC
Kernel IP routing cache
Source          Destination     Gateway         Flags   MSS Window  irtt Iface
140.205.140.205 172.16.2.106    172.16.2.106    l     65535 0          0 lo
172.16.2.106    10.143.0.46     172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.3.2     172.16.2.253           1500 0          0 eth0
172.16.2.106    10.143.0.45     172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.5.3     172.16.2.253           1500 0          0 eth0
100.100.5.2     172.16.2.106    172.16.2.106    l     65535 0          0 lo
172.16.2.106    10.143.33.51    172.16.2.253           1500 0          0 eth0
100.100.5.1     172.16.2.106    172.16.2.106    l     65535 0          0 lo
172.16.2.106    10.143.33.50    172.16.2.253           1500 0          0 eth0
203.107.6.88    172.16.2.106    172.16.2.106    l     65535 0          0 lo
172.16.2.106    10.143.33.50    172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.2.136   172.16.2.253           1500 0          0 eth0
100.100.3.1     172.16.2.106    172.16.2.106    l     65535 0          0 lo
172.16.2.106    100.100.5.3     172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.5.2     172.16.2.253           1500 0          0 eth0
172.16.2.106    10.143.33.49    172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.3.1     172.16.2.253           1500 0          0 eth0
172.16.2.106    120.25.115.20   172.16.2.253           1500 0          0 eth0
172.16.2.106    203.107.6.88    172.16.2.253           1500 0          0 eth0
172.16.2.106    124.65.173.246  172.16.2.253           1500 0          0 eth0
172.16.2.106    10.143.0.46     172.16.2.253           1500 0          0 eth0
100.100.3.3     172.16.2.106    172.16.2.106    l     65535 0          0 lo
172.16.2.106    100.100.3.3     172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.3.2     172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.3.3     172.16.2.253           1500 0          0 eth0
100.100.5.3     172.16.2.106    172.16.2.106    l     65535 0          0 lo
124.65.173.246  172.16.2.106    172.16.2.106    l     65535 0          0 lo
172.16.2.106    10.143.0.44     172.16.2.253           1500 0          0 eth0
120.25.115.20   172.16.2.106    172.16.2.106    l     65535 0          0 lo
172.16.2.106    140.205.140.205 172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.3.1     172.16.2.253           1500 0          0 eth0
100.100.2.136   172.16.2.106    172.16.2.106    l     65535 0          0 lo
172.16.2.106    10.143.0.45     172.16.2.253           1500 0          0 eth0
172.16.2.106    10.143.0.44     172.16.2.253           1500 0          0 eth0
172.16.2.106    120.25.115.20   172.16.2.253           1500 0          0 eth0
172.16.2.106    10.143.33.49    172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.5.1     172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.2.138   172.16.2.253           1500 0          0 eth0
172.16.2.106    203.107.6.88    172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.5.1     172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.2.138   172.16.2.253           1500 0          0 eth0
100.100.3.2     172.16.2.106    172.16.2.106    l     65535 0          0 lo
172.16.2.106    100.100.5.2     172.16.2.253           1500 0          0 eth0
100.100.2.138   172.16.2.106    172.16.2.106    l     65535 0          0 lo
172.16.2.106    10.143.33.51    172.16.2.253           1500 0          0 eth0
172.16.2.106    100.100.2.136   172.16.2.253           1500 0          0 eth0

3 . 查看网络统计数据,netstat -s展示各协议的统计信息

[root@jia1-LinuxPerformance ~]# netstat -s
Ip:
    4440 total packets received
    4 with invalid addresses
    0 forwarded
    0 incoming packets discarded
    4436 incoming packets delivered
    4269 requests sent out
Icmp:
    806 ICMP messages received
    0 input ICMP message failed.
    ICMP input histogram:
        echo requests: 804
        echo replies: 2
    806 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        echo request: 2
        echo replies: 804
IcmpMsg:
        InType0: 2
        InType8: 804
        OutType0: 804
        OutType8: 2
Tcp:
    79 active connections openings
    1 passive connection openings
    3 failed connection attempts
    0 connection resets received
    2 connections established
    2840 segments received
    2494 segments send out
    16 segments retransmited
    0 bad segments received.
    5 resets sent
Udp:
    790 packets received
    0 packets to unknown port received.
    0 packet receive errors
    953 packets sent
UdpLite:
TcpExt:
    3 resets received for embryonic SYN_RECV sockets
    71 TCP sockets finished time wait in fast timer
    44 delayed acks sent
    Quick ack mode was activated 1 times
    652 packets header predicted
    516 acknowledgments not containing data received
    1283 predicted acknowledgments
    1 congestion windows recovered after partial ack
    0 TCP data loss events
    10 other TCP timeouts
    1 DSACKs sent for old packets
    1 DSACKs received
IpExt:
    InOctets: 329641
    OutOctets: 1297221

4 . 查看网络接口信息

[root@jia1-LinuxPerformance ~]# netstat -i
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0     4502      0      0      0     4353      0      0      0 BMRU
eth1       1500   0        2      0      0      0        3      0      0      0 BMRU
lo        65536   0        0      0      0      0        0      0      0      0 LRU

常见端口和端口漏洞利用方式

端口号端口说明攻击技巧
21/22/69ftp/tftp**:文件传输协议**爆破**嗅探溢出;后门**
22ssh**:远程连接**爆破**OpenSSH28个退格**
23telnet**:远程连接**爆破**嗅探**
25smtp**:邮件服务**邮件伪造
53DNS**:域名系统**DNS**区域传输DNS劫持DNS缓存投毒DNS欺骗深度利用:利用DNS隧道技术刺透防火墙**
67/68dhcp劫持**欺骗**
110pop3爆破
139samba爆破**未授权访问远程代码执行**
143imap爆破
161snmp爆破
389ldap注入攻击**未授权访问**
512/513/514linux r直接使用**rlogin**
873rsync未授权访问
1080socket爆破:进行内网渗透
1352lotus爆破:弱口令**信息泄漏:源代码**
1433mssql爆破:使用系统用户登录**注入攻击**
1521oracle爆破:**TNS注入攻击**
2049nfs配置不当
2181zookeeper未授权访问
3306mysql爆破**拒绝服务注入**
3389rdp爆破**Shift后门**
4848glassfish爆破:控制台弱口令**认证绕过**
5000sybase/DB2爆破**注入**
5432postgresql缓冲区溢出**注入攻击爆破:弱口令**
5632pcanywhere拒绝服务**代码执行**
5900vnc爆破:弱口令**认证绕过**
6379redis未授权访问**爆破:弱口令**
7001weblogicJava**反序列化控制台弱口令控制台部署webshell**
80/443/8080web常见**web攻击控制台爆破对应服务器版本漏洞**
8069zabbix远程命令执行
9090websphere**控制台**爆破:控制台弱口令**Java反序列**
9200/9300elasticsearch远程代码执行
11211memcacache未授权访问
27017mongodb爆破**未授权访问 端口渗透总结**

端口扫描工具

结合上面的概念,我们给大家推荐一些工具

  • 御剑高速端口扫描
  • masscan
  • 在线端口扫描

御剑

更多工具

这里山海已经帮助大家收集好了,直接下载使用即可!

图片[3]-【零基础学渗透】主动信息收集-山海云端论坛

当我们获取到目标的真实IP后,下一步就是对目标IP进行端口扫描Banner信息识别

图片[4]-【零基础学渗透】主动信息收集-山海云端论坛

此款工具非常灵活,可批量扫描txt文本内的大量IP,也可扫描IP指定C段,可指定超时时间、每秒扫描的端口速度、自定义端口文件配置(指定扫描哪些端口)、探测指纹。

可以指定IP范围

图片[5]-【零基础学渗透】主动信息收集-山海云端论坛

当然,下面也可以选择常见端口

图片[6]-【零基础学渗透】主动信息收集-山海云端论坛

端口配置也支持自定义

图片[7]-【零基础学渗透】主动信息收集-山海云端论坛
图片[8]-【零基础学渗透】主动信息收集-山海云端论坛

在线扫描

优点:用网站提供的服务器去扫目标,不会暴露自己的IP

缺点:使用不如本地版灵活,功能不够丰富

图片[9]-【零基础学渗透】主动信息收集-山海云端论坛

masscan

masscan玩法比较多

  • 扫描指定网段范围的指定端口
  • 获取Banner
  • 设置扫描时忽略一些网段
  • 输出到指定文件中
  • 设置扫描速度
  • 用加载配置文件的方式运行
  • 结果输出
  • 命令行模式详解

站点指纹收集

攻击者最常用的方法是首先覆盖目标的网络存在并枚举尽可能多的信息。

利用此信息,攻击者可以製定出准确的攻击方案,这将有效利用目标主机正在使用的软件类型/版本中的漏洞。

在攻防环境中信息收集总是非常重要的一个重要环节,多维度信息收集在红队攻防中绘制更完善的攻击面以及攻击思路流程。

判断网站操作系统

Linux大小写敏感

Windows大小写不敏感

Linux操作系统大小写敏感,我们将网址url一些字母修改成修改大小写看网站是否还能正常访问,能访问就是windows服务器,不能则是Linux。

确定网站采用的语言

如PHP / Java / Python等

找后缀,比如php/asp/jsp

图片[10]-【零基础学渗透】主动信息收集-山海云端论坛

JSESSIONID JSP

PSESSIONID PHP

前端框架

如jQuery / BootStrap / Vue / React / Angular等查看源代码

中间服务器

  • 如 Apache / Nginx / IIS 等
  • 查看header中的信息
  • 根据报错信息判断
  • 根据默认页面判断

Web容器服务器

如Tomcat / Jboss / Weblogic等

后端框架

  • 根据Cookie判断
  • 根据CSS / 图片等资源的hash值判断
  • 根据URL路由判断,如wp-admin
  • 根据网页中的关键字判断
  • 根据响应头中的X-Powered-By

您可以通过使用Wappalyzer插件,快速获取网站中的一些资产信息

图片[11]-【零基础学渗透】主动信息收集-山海云端论坛
  • CDN信息
  • 常见的有Cloudflare、yunjiasu
  • 探测有没有WAF,如果有,什么类型的
  • 有WAF,找绕过方式
  • 没有,进入下一步

Nmap探测WAF有两种脚本

一种是http-waf-detect。

命令:nmap -p80,443 –script=http-waf-detect ip

一种是http-waf-fingerprint。

命令:nmap -p80,443 –script=http-waf-fingerprint ip

WAFW00F探测WAF

命令:wafw00f -a 域名

  • 扫描敏感目录,看是否存在信息泄漏
  • 扫描之前先自己尝试几个的url,人为看看反应
  • 使用爬虫爬取网站信息
  • 拿到一定信息后,通过拿到的目录名称,文件名称及文件扩展名了解网站开发人员的命名思路,确定其命名规则,推测出更多的目录及文件名

目录扫描

目录扫描通常是帮助我们发现敏感信息或者敏感目录,譬如管理员的后台路径、数据库备份文件、网站数据打包文件等等

常见敏感文件或目录

通常我们所说的敏感文件、敏感目录大概有以下几种:

  • 后台
  • robots.txt
  • 数据库log
  • sitemap.xml
  • mysql.sql
  • licence.txt
  • Git
  • hg/Mercurial
  • svn/Subversion
  • bzr/Bazaar
  • Cvs
  • WEB-INF泄露
  • 备份文件泄露、配置文件泄露
  • 还可以使用awvs、burpsuite等爬虫获取

使用搜索引擎

site:xxx.xxx system

site:xxx.xxx 内部

site:xxx.xxx 系统

site:目标 admin

site:目标 login

site:目标 管理员登陆

site:目标 后台

site:目标 中心

site:目标 登录

site:目标 登陆

site:目标 管理中心

常见入口目标

关注度低的系统

业务线较长的系统

物理路径识别

报错

在处理报错信息的问题上如果处理不当,就可导致路径信息泄露,比如访问一些不存在的文件等思路。

•1.有动态URL的地方可以替换参数 替换参数值为不存在的,很多时候都能爆物理路径

•2.访问不存在的文件名 文件 或者改正常后缀为不支持的后缀。

IIS7.0以上,如果没有修改404页面,只要浏览web任意不存在的文件,都会直接暴出绝对路径。同理,thinkphp也有这个性质。 在id=1的注入点,使用各种不支持的字符,比如id=1’ id=? id=-1 id=\ id=/ 都有可能暴出绝对路径。 还有的时候传一些错误图片会报错 windows不支持的符号,?:<>之类的,还有windows不支持的文件名aux Windows服务器上传aux文件或者新建aux文件夹,因为不允许这种文件存在而报错泄露绝对路径。

•3.尤其是php框架写的站,上传很容易爆出物理路径,根据具体情况了,比如一次提交允许的后缀,整体提交时抓包改为不支持的后缀,放包,很多时候都能爆出物理路径。 有一部分都是sql语句报错,sql很多时候会爆物理路径,所以相信你已经会拓展了。

后台可以登录后台的话,后台首页一般都有服务器信息的,大部分情况下物理路径都在里面。

搜索引擎寻找报错

结合关键字和site语法搜索出错页面的网页快照,常见关键字有warning和fatal error。

注意,如果目标站点是二级域名,site接的是其对应的顶级域名,这样得到的信息要多得多。

Site:xxx.edu.tw warning

Site:xxx.com.tw “fatal error”

由于很多网站本身容错做的不好,会有一些暴露物理路径的界面,如果被搜索引擎收录了,那么可以通过搜索引擎来找到

在搜索引擎搜索 site:目标 关键字

我总结了一下常见的报错关键词

warning error module file not exist 数据库 配置出错 找不到包含文件 包含路径 路径为 select Warning: mysqli_query() expects parameter to be mysqli boolean given in on line directory in Fatal error require_once() Failed opening required include_path=

容器特性

很多,如:Apache Tomcat、Struts2、CMS、zabix、Nginx等等,例如Nginx的某版本解析漏洞,就可造成路径信息泄露。

•IIS大于6的版本,基本都是 导致他404就可以爆出物理路径、IIS名、IIS版本。这个很简单,随便访问个不存在的目录或文件就可以。

•nginx文件类型错误解析爆路径: 说明:要求Web服务器是nginx,且存在文件类型解析漏洞。有时在图片地址后加/x.php,该图片不但会被当作php文件执行,有可能爆出物理路径 www.xxx.com/xx.jpg/x.php

•/etc/httpd/conf/httpd.conf

这是apache默认目录,最底下有一句

Load config files in the “/etc/httpd/conf.d” directory, if any. IncludeOptional conf.d/.conf

这代表,在/etc/httpd/conf.d目录下的所有.conf文件都会被加载,也就是说管理员可以在/etc/httpd/conf.d/.conf里面写网站目录。

所以最后读 /etc/httpd/conf.d/vhost.conf 成功读出网站绝对路径

思路就是先读 /etc/httpd/conf/httpd.conf 没有网站目录就看IncludeOptional conf.d/*.conf 看完就尝试读 /etc/httpd/conf.d/httpd.conf

/etc/httpd/conf.d/vhost.conf

/etc/httpd/conf.d/httpd-vhost.conf

/etc/httpd/conf.d/httpd.conf.bak 等等

文件泄露

通过遗留文件获得,比如 phpinfo.php info.php site.php 1.php a.php 一些探针文件啊都有,等等。在遗留文件中搜索 SCRIPT_FILENAME。

很多网站的根目录下都存在测试文件,脚本代码通常都是phpinfo(), 

如:

test.php ceshi.php info.php phpinfo.php php_info.php 1.php

phpmyadmin爆路径

一旦找到phpmyadmin的管理页面,再访问该目录下的某些特定文件,就很有可能爆出物理路径。

至于phpmyadmin的地址可以用wwwscan这类的工具去扫,也可以选择google。

/phpmyadmin/libraries/lect_lang.lib.php

/phpMyAdmin/index.php?lang[]=1

/phpMyAdmin/phpinfo.php load_file()

/phpmyadmin/themes/darkblue_orange/layout.inc.php

/phpmyadmin/libraries/select_lang.lib.php

/phpmyadmin/libraries/lect_lang.lib.php

/phpmyadmin/libraries/mcrypt.lib.php

XML处

一些XML限制或删除不完全,可导致服务器等信息泄露。

配置文件找路径

如果注入点有文件读取权限,就可以手工load_file或工具读取配置文件,再从中寻找路径信息(一般在文件末尾)。各平台下Web服务器和PHP的配置文件默认路径可以上网查,这里列举常见的几个。

Windows:

c:\windows\php.ini php配置文件

c:\windows\system32\inetsrv\MetaBase.xml IIS虚拟主机配置文件

如果有root读取文件的权限,或者任意文件读取漏洞,可以读取容器的配置文件,或者集成环境的固定web目录,判断集成环境,可以通过mysql的根目录判断,前面注入时说到的@@datadir: 常见配置文件: C:\Windows\system32\inetsrv\metabase.xml

C:\Windows\System32\inetsrv\config\applicationHost.config

C:\xampp\apache\conf\httpd.conf /var/www/conf/httpd.conf

常见集成环境默认目录,后面往往还有以域名命名的目录,比如:

C:\www\baidu

C:\Inetpub\wwwroot

C:\xampp\htdocs

D: \phpStudy\WWW

/home/wwwroot/ /www/users/

CMS识别

CMS指纹识别又有很多方法,比如说御剑指纹识别、Webrobot工具、whatweb工具、还有在线查询的网站等等。

CMS在线指纹识别:

http://whatweb.bugscaner.com/look/

http://finger.tidesec.net/

https://scan.top15.cn/web/

https://www.yunsee.cn/

https://www.godeye.vip/index/

也可在github上找一些高star的指纹识别工具

Goby的使用

参考https://cn.gobies.org/

社工的思路

这个我们博客分享了太多太多了,可以参考

© 版权声明
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容