背景
在一次日常滲透過(guò)程中,發(fā)現(xiàn)了一臺(tái)機(jī)器可以利用jndi命令執(zhí)行,但是無(wú)法注入內(nèi)存馬,也無(wú)法直接上線,所以想到了
這一工具來(lái)獲取一些機(jī)器的信息,但是在使用過(guò)程中,發(fā)現(xiàn)該工具使用的DNS為dig.pm,但是dig.pm經(jīng)過(guò)一些修改后變得時(shí)好時(shí)壞,無(wú)法接收到目標(biāo)機(jī)器的請(qǐng)求,而且使用該工具需要執(zhí)行兩個(gè)python文件,非常的難受,因此產(chǎn)生了修改該工具的想法。
修改內(nèi)容
將dig.pm修改為ceye.io,增加接收范圍
添加自定義參數(shù),不再需要在文件中修改
合并HexDnsEcho與CommandGen兩個(gè)文件,使用更加方便
添加獲取上一次命令執(zhí)行結(jié)果的功能
兼容zsh
添加自定義dns服務(wù)器
實(shí)現(xiàn)有參數(shù)的命令執(zhí)行,例如ls -al、type file、cat file等,由此可實(shí)現(xiàn)通過(guò)DNS讀取文件
實(shí)現(xiàn)分片傳輸,在發(fā)送數(shù)據(jù)次數(shù)存在限制的情況下使用不同dnslog子域獲取結(jié)果
添加--force功能,重復(fù)獲取結(jié)果的情況下未發(fā)現(xiàn)結(jié)尾字符時(shí)強(qiáng)行進(jìn)行解密
2023-07-05 添加--force強(qiáng)行解密
重復(fù)獲取結(jié)果的情況下無(wú)視結(jié)尾字符強(qiáng)行解密
2023-04-18 支持分片傳輸
用于服務(wù)器存在發(fā)送限制,一個(gè)url僅能發(fā)送限定次數(shù)的情況
以dig.pm為例(因?yàn)閐ig.pm存在dns數(shù)據(jù)接收不全,漏數(shù)據(jù)情況,與本次更新遇到的情況十分類似,故使用dig.pm演示,為了更好的使用,推薦大家尋找其他的自建di g.pm)
1.正常使用工具;
2.當(dāng)發(fā)現(xiàn)接收到的數(shù)據(jù)缺少或者不全時(shí),會(huì)輸出類似發(fā)現(xiàn)中斷,缺少第4行的數(shù)據(jù),下一次執(zhí)行將從第4行開(kāi)始的結(jié)果,同時(shí)若發(fā)現(xiàn)接收的數(shù)據(jù)存在最后一行時(shí)會(huì)出現(xiàn)疑似為最后一塊,請(qǐng)輸入Y/N決定是否開(kāi)始處理數(shù)據(jù),若沒(méi)有上一句話可以選擇Y,此處我們選擇N;
3.選擇N后繼續(xù)執(zhí)行,會(huì)輸出我們下一步需要執(zhí)行的語(yǔ)句,復(fù)制到靶機(jī)執(zhí)行即可;
4.數(shù)據(jù)不全會(huì)一直執(zhí)行,需要不斷將命令復(fù)制到靶機(jī)上執(zhí)行;
5.一直到最后沒(méi)有出現(xiàn)發(fā)現(xiàn)中斷,缺少第4行的數(shù)據(jù),下一次執(zhí)行將從第4行開(kāi)始的類似字樣,我們選擇Y,即可獲取執(zhí)行結(jié)果;
6.同時(shí)也會(huì)輸出獲取本次命令執(zhí)行結(jié)果的語(yǔ)句,若想要再次獲取執(zhí)行結(jié)果,直接復(fù)制粘貼使用即可。
2023-03-27 來(lái)自r0fus0d(@No-Github)師傅的更新-支持http basic認(rèn)證的自建dig.pm
用于存在http basic認(rèn)證的自建dig.pm
python3 HexDnsEchoT.py -ds DNS服務(wù)器 -tz 服務(wù)器時(shí)區(qū) -cc dnsurl中點(diǎn)的數(shù)量+2 -u http_basic認(rèn)證用戶 -p http_basic認(rèn)證密碼
使用
usage: HexDnsEchoT.py [-h] [-d DNSURL] [-t TOKEN] [-lt LASTFINISHTIME] [-f FILTER] [-ds DOMAIN_SERVER] [-tz TIMEZONE] [-cc COUNT] [-m MODEL] [-u HTTPBASICUSER] [-p HTTPBASICPASS] options: -h, --help show this help message and exit -d DNSURL, --dnsurl DNSURL Ceye Dnslog -t TOKEN, --token TOKEN Dns Server Token or CeyeToken -lt LASTFINISHTIME, --lastfinishtime LASTFINISHTIME The LastFinishTime -f FILTER, --filter FILTER Dns Filter -ds DOMAIN_SERVER, --domain_server DOMAIN_SERVER Domain Server -tz TIMEZONE, --timezone TIMEZONE Timezone -cc COUNT, --count COUNT Count Counts -m MODEL, --model MODEL Recent Result -u HTTPBASICUSER, --httpbasicuser HTTPBASICUSER HTTPBasicAuth User -p HTTPBASICPASS, --httpbasicpass HTTPBASICPASS HTTPBasicAuth Pass
因?yàn)閏eye僅能保存100個(gè)數(shù)據(jù),且會(huì)出現(xiàn)重復(fù)的情況下,添加自定義dns服務(wù)器
Ceye
python3 HexDnsEchoT.py -d YourCeye.ceye.io -t ceyeToken
自定義DNS服務(wù)器
python3 HexDnsEchoT.py -ds DNS服務(wù)器 -tz 服務(wù)器時(shí)區(qū) -cc dnsurl中點(diǎn)的數(shù)量+2
例
python3 HexDnsEchoT.py -ds http://dig.pm -tz "UTC" -cc 7
服務(wù)器時(shí)區(qū)可以使用項(xiàng)目中的Timezone.py自行比對(duì)
其中-cc 7為下圖所示,dnsurl中5個(gè)點(diǎn)加2,為7
可能等待結(jié)果返回的時(shí)間會(huì)比較長(zhǎng),請(qǐng)耐心等待
注意:dig.pm有可能獲取結(jié)果不穩(wěn)定,大家可以自己搭建或者尋找其他DNSLOG平臺(tái)使用,只需要滿足為以下項(xiàng)目搭建即可:
https://github.com/yumusb/DNSLog-Platform-Golang
或者是以http://x.x.x.x/new_gen獲取隨機(jī)子域名并以http://x.x.x.x/token獲取dns結(jié)果的dnslog平臺(tái)也可以使用
fofa可以直接搜索DNSLOG Platform尋找DNSLOG平臺(tái)
復(fù)制輸出的命令,在目標(biāo)機(jī)器上執(zhí)行
DNS獲取到請(qǐng)求,進(jìn)行解密,獲取機(jī)器信息
在linux上也可以執(zhí)行獲取結(jié)果
執(zhí)行成功后自動(dòng)開(kāi)啟新的filter,無(wú)需重新執(zhí)行直接進(jìn)行下一步命令執(zhí)行
有時(shí)會(huì)出現(xiàn)目標(biāo)機(jī)器的命令未執(zhí)行完成,但是已經(jīng)獲取到了一部分結(jié)果,可以使用以下命令再次獲取結(jié)果,本命令已經(jīng)輸出在上次的執(zhí)行結(jié)果中,可直接復(fù)制使用
Ceye
python3 HexDnsEchoT.py -d yourceye.ceye.io -t ceyetoken -f filterstr -lt "上次命令執(zhí)行的時(shí)間" -m GR
自定義DNS服務(wù)器
python3 HexDnsEchoT.py -ds 自定義DNS服務(wù)器 -t 上一次執(zhí)行的token -lt "上次命令執(zhí)行的時(shí)間" -m GR -cc dnsurl中點(diǎn)的數(shù)量
以dig.pm為例
python3 HexDnsEchoT.py -ds http://dig.pm -t 上一次執(zhí)行的token -lt "上次命令執(zhí)行的時(shí)間" -m GR -cc 7
可能等的時(shí)間會(huì)比較長(zhǎng),請(qǐng)耐心等待
有參數(shù)的命令執(zhí)行
ls -al
type useruid.ini
總結(jié)
在遇到工具無(wú)法使用的時(shí)候不要放棄,多想想辦法就可以解決
審核編輯:湯梓紅
-
服務(wù)器
+關(guān)注
關(guān)注
13文章
9795瀏覽量
87977 -
DNS
+關(guān)注
關(guān)注
0文章
226瀏覽量
20449 -
文件
+關(guān)注
關(guān)注
1文章
579瀏覽量
25370 -
命令
+關(guān)注
關(guān)注
5文章
737瀏覽量
22876 -
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86734
原文標(biāo)題:命令執(zhí)行不回顯利用工具
文章出處:【微信號(hào):菜鳥(niǎo)學(xué)信安,微信公眾號(hào):菜鳥(niǎo)學(xué)信安】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
用于分析可執(zhí)行程序和內(nèi)存轉(zhuǎn)儲(chǔ)的命令行工具介紹

matlab的實(shí)用工具命令
泰科電子多款應(yīng)用工具簡(jiǎn)介
linux命令輕松把單個(gè)工具變成批量執(zhí)行工具
shiro綜合利用工具介紹
linux技術(shù):WAF運(yùn)行命令執(zhí)行方法
一款圖形化高危漏洞利用工具
LabVIEW中執(zhí)行系統(tǒng)命令VI介紹

Weblogic上的shiro漏洞利用工具介紹

uboot命令的執(zhí)行過(guò)程是什么
bootm命令的執(zhí)行流程

評(píng)論