<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    給任意java程序掛Socks5代理方法

    一顆小胡椒2022-07-26 07:14:00

     Part1 前言 

    在內網橫向過程中,經常會用frp、狗洞、nps等工具,在內網環境中搭建一個反向socks5代理,方便紅隊人員開展內網滲透工作。于是,紅對人員需要對各種滲透工具掛上Socks5代理,使用proxifier這個工具掛全局s5代理是非常方便的,但是有的滲透工具是使用java寫的,而且作者并沒有編寫Socks5代理功能,用proxifier掛java.exe進程的時候總會出現各種各樣的問題,這種情況下可以用java自帶的命令行功能解決。

    本文章的各種命令都經過ABC_123的嚴格測試,同時仔細閱讀了官方的Oracle的手冊,也糾正一下網上各種文章的錯誤。

     技術研究過程 

    • 命令行掛Socks5代理

    啟動Socks5代理命令如下:

    java -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1080 -jar webscan.jar

    其中socksProxyHost是Socks5代理的IP地址,socksProxyPort是Socks5代理的端口號。socksProxyVersion版本號是5或者是4,默認是5版本,也就是Socks5代理,這里也可以指定。

    如果socks5代理需要用戶名及密碼時,網上的文章介紹的方法是:

    java -DsocksProxyHost=10.1.1.2 -DsocksProxyPort=8877 -Djava.net.socks.username=alibaba -Djava.net.socks.password=secret(此方法親測無效,目前我也沒找到命令行下設置S5代理用戶名及密碼的方法)

    其中,java.net.socks.username是Socks5代理認證的用戶名,java.net.socks.password是Socks5代理認證的密碼。但是我java命令行接上述兩個參數,怎么都弄不成功,總是提示Socks認證失敗,如下圖所示:

    • 命令行掛HTTP代理

    如果想對一個Java程序設置HTTP代理,或者想用burpsuite對一個java程序進行抓包,那就按如下所示設置:

    Java -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8080 -Dhttp.nonProxyHosts="*.example.com|localhost" -jar webscan.jar

    這里重點糾正一下網上各種文章的錯誤:

    如果想使用代理訪問HTTP的URL,則必須使用http.proxyHost,http.proxyPort。如果想用代理訪問HTTPS的URL,則必須使用https.proxyHost,https.proxyPort。如果想同時抓HTTP、HTTPS的url訪問的話,以上4項是必須設置的,缺一不可!

    具體命令解釋如下:

    http.proxyHost是HTTP代理的IP地址,http.proxyPort是HTTP代理的端口,https.proxyHost是HTTPS代理的IP地址,https.proxyPort是HTTPS代理的端口

    http.nonProxyHosts(經過我測試,此選項對于http/https型URL均適用),用于指定哪些IP地址可以直連網絡,不走HTTP/HTTPS代理,*是IP地址的通配符,按照|分割每個IP段,前后加上雙引號包裹起來。

    如果HTTP代理需要用戶名密碼的話,則按照如下設置(以下命令摘抄自網絡,本地沒有帶用戶名密碼的http代理環境,所以沒測試):

    Java -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password -Dhttp.nonProxyHosts="*.example.com|localhost|10.*.*.*" -jar webscan.jar

    http.proxyUser是HTTP代理的用戶名,http.proxyPassword是HTTP代理的密碼,如果沒有設置用戶名密碼認證,就不用設置這兩項。

    HTTPS代理設置如下:

    java -Dhttps.proxyHost=host -Dhttps.proxyPort=port -Dhttps.proxyUser=user -Dhttps.proxyPassword="password" -Djavax.net.ssl.trustStore=c:/cacerts -Djavax.net.ssl.trustStorePassword=changeit -jar webscan.jar

    • 如果使用系統代理的話

    java -Djava.net.useSystemProxies=true -jar webscan.jar

    那么webscan.jar程序將會走IE瀏覽器設置的代理,也就是系統代理。然后打開IE瀏覽器,在“代理服務器”選項卡下設置一個代理IP即可:

    • Java代碼編寫中設置代理

    我在編寫各種Java工具時,一開始總是為寫HTTP代理、Socks5代理頭疼,因為太麻煩了。后續發現了一個簡單有效的方法,可以在代碼中直接添加System.setProperty設置,非常好用。

    設置HTTP/HTTPS代理如下:

     總結 

    1.  看官網手冊挺重要的,更多的java命令行的網絡設置方法,可以看Oracle官方的手冊

    https://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html

    https://docs.oracle.com/javase/10/docs/api/java/net/doc-files/net-properties.html

    2.  這種方法對于一些特殊框架編寫的Java應用無效,這只是極少數的情況,我在具體滲透過程中,還沒有遇到。

    httpssocks5
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    使用Python配置Tor
    2022-08-17 08:56:15
    “Tor是洋蔥路由器的簡稱,是一款免費開源的匿名通信軟件。”Tor網絡是一種安全的加密協議,可以確保網絡上數據和通信的私密性。Tor 服務/瀏覽器使用稱為洋蔥路由的技術,洋蔥路由器是一種點對點 覆蓋網絡,使用戶能夠匿名瀏覽互聯網,通過網絡發送信息的來源和目的地可以利用洋蔥路由使用多層加密實現隱藏。
    常見邊界拓撲第一種情況Inbound Stream ---> Firewall ---> Target. 這其中無論負載均衡設備轉發或者防火墻的,均有可能存在帶來源IP轉發或者不帶來源IP轉發的情況,帶來源IP或者端口的方案我們在下文的常見端口復用實現機制中有所介紹,該如何在此種情況下實現端口復用,
    常見邊界拓撲第一種情況Inbound Stream ---> Firewall ---> Target. 這其中無論負載均衡設備轉發或者防火墻的,均有可能存在帶來源IP轉發或者不帶來源IP轉發的情況,帶來源IP或者端口的方案我們在下文的常見端口復用實現機制中有所介紹,該如何在此種情況下實現端口復用,而不帶來源IP或者端口的情況目前網上討論得不多,下文也將就這類情況進行分析提出解決方案。
    如今,在很多組織機構內部,針對 DMZ 或隔離網絡區域內的計算機設備,為了限制其它接入端口風險,通常只允許這些設備開啟 3389 端口,使用遠程桌面來進行管理維護。那么我們能不能利用這個 3389 端口的 RDP 服務建立起一條通向內網的代理隧道呢?當然可以,下面就引出我們今天的主角 —— SocksOverRDP。
    在內網橫向過程中,經常會用frp、狗洞、nps等工具,在內網環境中搭建一個反向socks5代理,方便紅隊人員開展內網滲透工作。socksProxyVersion版本號是5或者是4,默認是5版本,也就是Socks5代理,這里也可以指定。
    如今,在很多組織機構內部,針對 DMZ 或隔離網絡區域內的計算機設備,為了限制其它接入端口風險,通常只允許這些設備開啟 3389 端口,使用遠程桌面來進行管理維護。
    一顆小胡椒
    暫無描述
      亚洲 欧美 自拍 唯美 另类