EXP
目的:學會選擇和修改網上公開的漏洞利用代碼【EXP(python\perl\ruby\c\c++....)】
方法:
1、Exploit-db【kali官方維護的漏洞利用代碼庫】
2、SecurityFocus【安全焦點:securityfocus.com(個別漏洞會有,可做後備查找)】
3、Searchsploit【kali上可下載安裝】
注:需選擇可信賴的EXP源【防止中別人的惡意代碼,可用虛擬機先驗證,再使用】儘量將EXP中的shellcode改成自己的
實例1【當拿到一個自己不熟悉的EXP,如何進行修改】
對象:SLmail郵件服務器程序
搜索現成的EXP
拷貝EXP到當前目錄root@kali:~# searchsploit slmail --------------------------------------------- ---------------------------------- Exploit Title | Path | (/usr/share/exploitdb/platforms) --------------------------------------------- ---------------------------------- SLMail 5.5 - POP3 PASS Buffer Overflow | ./windows/remote/638.py Seattle Lab Mail (SLMail) 5.5 - POP3 Buffer | ./windows/remote/16399.rb SLMail 5.5 - POP3 PASS Remote Buffer Overflo | ./windows/remote/643.c SLMail 5.5 - Remote Buffer Overflow | ./windows/remote/646.c SLMail Pro 6.3.1.0 - Multiple Remote Denial | ./windows/dos/31563.txt --------------------------------------------- ----------------------------------
查看638.py
root@kali:~# cp /usr/share/exploitdb/platforms/windows/remote/638.py . root@kali:~# cp /usr/share/exploitdb/platforms/windows/remote/643.c . root@kali:~# cp /usr/share/exploitdb/platforms/windows/remote/646.c .
646.c【在目標系統上綁定一開放端口】gedit 638.py##【部分代碼】
注:需根據自己實際靶場環境,進行修改,否則無法得到正確結果
643.c【反向連接,必須修改shellcode】gedit 646.c
注:根據調試獲得的內存地址等信息修改EXP,並將裏面的shellcode換成自己的,對硬編碼的IP地址修改爲自己的,切記不能直接使用別人的EXP
先安裝windows模塊
apt-get install mingw32(用於linux環境下,運行window環境的軟件,用於編譯32位windows程序)
還需安裝
dpkg --add-architecture i386 && apt-get update && apt-get install wine32【用於將windows程序運行在linux上】
i586-mingw32msvc-gcc 646.c -lws2_32 -o sl.exe #將c語言腳本編譯成一個程序
wine sl.exe 192.168.20.32 #運行
【此處有問題,kali裝不上mingw32】
gedit 643.c 【可判斷使用gcc 643.c -o 643則可運行】
爲什麼要修改EXP呢?
因爲不同的系統補丁,軟件版本,都會造成內存偏移量的不同,通過修改公開的EXP滿足不同的環境需要。所以要配合掃描技術,發現目標系統的版本,搭建適當的測試環境,才能針對目標系統進行漏洞利用
小白日記,未完待續...