update netcat 1.14 to 1.15 to support nc -u -lp port -e cmd.exe
2013-05-11 13:34
295 查看
更新说明:netcat-1.14之前的版本不支持udp模式下得到一个shell,既同时使用-u选项和-e选项。
netcat-1.15下可以,使用如下:
1.nc -ulp port -e cmd.exe nc -u ip port
2.nc -ulp port nc -u ip port-e
cmd.exe
nc115.rar by chenghao0511#gmail.com
http://pan.baidu.com/share/link?shareid=470304&uk=453348606 http://www.kuaipan.cn/file/id_9282957629980996.htm
update netcat 1.14 to 1.15
modify by chenghao0511#gmail.com 2013/05/11
why?
netcat 1.14 can not support :
nc -u -lp port -e cmd.exe
nc -u ip port
how to update:(in doexec.c in SessionWriteShellThreadFn)
- BYTE RecvBuffer[1];
+ BYTE RecvBuffer[8192];
- BYTE Buffer[BUFFER_SIZE];
- while (recv(Session->ClientSocket, RecvBuffer, sizeof(RecvBuffer), 0) != 0) {
+ while ((BufferCnt = recv(Session->ClientSocket, RecvBuffer, sizeof(RecvBuffer), 0)) != 0) {
- Buffer[BufferCnt++] = RecvBuffer[0];
- if (RecvBuffer[0] == '\r')
- Buffer[BufferCnt++] = '\n';
// Trap exit as it causes problems
- if (strnicmp(Buffer, "exit\n", 5) == 0)
- ExitThread(0);
//
// If we got a CR, it's time to send what we've buffered up down to the
// shell process.
// SECURITY FIX: CW 12/27/04 Add BufferCnt size check. If we hit end of buffer, flush it
if (RecvBuffer[0] == '\n' || RecvBuffer[0] == '\r' || BufferCnt > BUFFER_SIZE-1) {
if (! WriteFile(Session->WritePipeHandle, Buffer, BufferCnt,
&BytesWritten, NULL))
{
break;
}
BufferCnt = 0;
}
changed to:
//if (RecvBuffer[0] == '\n' || RecvBuffer[0] == '\r' || BufferCnt > BUFFER_SIZE-1) {
if (! WriteFile(Session->WritePipeHandle, RecvBuffer, BufferCnt,
&BytesWritten, NULL))
{
break;
}
BufferCnt = 0;
//}
(13-05-14)更新说明:更正了本地输入exit后,远程退出,本地不退出的情况,udp不是面向连接的所以,对方关闭套接字,己方不会自动关闭套接字,需要自己选择一个时机退出。
rr = send (fd, zp, rr, 0); /* one line, or the whole buffer */
+ if (strnicmp(zp, "exit\n", 5) == 0) /* UDP after input "exit",break! by chenghao0511 2013-05-14*/
+ if(o_udpmode)
+ break;
netcat 1.15-2 by chenghao0511
netcat-1.152可以用
nc -C -uip port -e cmd.exe
nc -ulp port
http://pan.baidu.com/share/link?shareid=476358&uk=453348606 http://www.kuaipan.cn/file/id_9282957629981000.htm
netcat-1.152的情况下,既UDP模式下,可以内网ip和外网ip相互通信。
netcat 1.13-3对-u参数既UDP模式下crtl+c进行了出来,本地发送"exit\n"到远端。
netcat 1.15-3 by chenghao0511
netcat-1.15下可以,使用如下:
1.nc -ulp port -e cmd.exe nc -u ip port
2.nc -ulp port nc -u ip port-e
cmd.exe
nc115.rar by chenghao0511#gmail.com
http://pan.baidu.com/share/link?shareid=470304&uk=453348606 http://www.kuaipan.cn/file/id_9282957629980996.htm
update netcat 1.14 to 1.15
modify by chenghao0511#gmail.com 2013/05/11
why?
netcat 1.14 can not support :
nc -u -lp port -e cmd.exe
nc -u ip port
how to update:(in doexec.c in SessionWriteShellThreadFn)
- BYTE RecvBuffer[1];
+ BYTE RecvBuffer[8192];
- BYTE Buffer[BUFFER_SIZE];
- while (recv(Session->ClientSocket, RecvBuffer, sizeof(RecvBuffer), 0) != 0) {
+ while ((BufferCnt = recv(Session->ClientSocket, RecvBuffer, sizeof(RecvBuffer), 0)) != 0) {
- Buffer[BufferCnt++] = RecvBuffer[0];
- if (RecvBuffer[0] == '\r')
- Buffer[BufferCnt++] = '\n';
// Trap exit as it causes problems
- if (strnicmp(Buffer, "exit\n", 5) == 0)
- ExitThread(0);
//
// If we got a CR, it's time to send what we've buffered up down to the
// shell process.
// SECURITY FIX: CW 12/27/04 Add BufferCnt size check. If we hit end of buffer, flush it
if (RecvBuffer[0] == '\n' || RecvBuffer[0] == '\r' || BufferCnt > BUFFER_SIZE-1) {
if (! WriteFile(Session->WritePipeHandle, Buffer, BufferCnt,
&BytesWritten, NULL))
{
break;
}
BufferCnt = 0;
}
changed to:
//if (RecvBuffer[0] == '\n' || RecvBuffer[0] == '\r' || BufferCnt > BUFFER_SIZE-1) {
if (! WriteFile(Session->WritePipeHandle, RecvBuffer, BufferCnt,
&BytesWritten, NULL))
{
break;
}
BufferCnt = 0;
//}
(13-05-14)更新说明:更正了本地输入exit后,远程退出,本地不退出的情况,udp不是面向连接的所以,对方关闭套接字,己方不会自动关闭套接字,需要自己选择一个时机退出。
rr = send (fd, zp, rr, 0); /* one line, or the whole buffer */
+ if (strnicmp(zp, "exit\n", 5) == 0) /* UDP after input "exit",break! by chenghao0511 2013-05-14*/
+ if(o_udpmode)
+ break;
netcat 1.15-2 by chenghao0511
netcat-1.152可以用
nc -C -uip port -e cmd.exe
nc -ulp port
http://pan.baidu.com/share/link?shareid=476358&uk=453348606 http://www.kuaipan.cn/file/id_9282957629981000.htm
netcat-1.152的情况下,既UDP模式下,可以内网ip和外网ip相互通信。
netcat 1.13-3对-u参数既UDP模式下crtl+c进行了出来,本地发送"exit\n"到远端。
netcat 1.15-3 by chenghao0511
相关文章推荐
- nc的一个bug,nc ip port -e cmd.exe 命令后ctrl+c后不会关闭连接[已解决]
- update netcat 1.13 to 1.14
- mac 下载源码 most ports 报错误 Unable to execute port: can't read "build.cmd":
- [Encoding]How to do proper encoding output redirection on cmd.exe?
- Granting cmd.exe access to Git - 类似svn的方式操作git
- DOS cmd - how to ping a remote host with specified port
- How to deal with "Could not find component on update server. Contact VMware Support or your system administrator." in Vmware.
- How to update the Microsoft Dynamics CRM Web site port after you install Microsoft Dynamics CRM 4.0
- Update Android Support Library to 23.2.0 cause error: XmlPullParserException Binary XML file line #1
- DOS cmd - how to ping a remote host with specified port
- Right click to open cmd.exe
- How to update WPF browser application manifest and xbap file with ‘mage.exe’
- Unity 安装 Support-for-Editor 时出现 failed to local unity.exe 问题的解决方法
- update netcat 1.12 to 1.13
- nc.exe(Netcat) 瑞士军刀
- MacPorts svn Unable to execute port: can't read "build.cmd": Failed to locate 'make' in path:
- iOS.ReactNative-5-make-react-native-to-support-dynamically-update
- 一个比较难杀的木马下载器 kndncso.exe jvxnypf.exe cmdbcs.exe lRAVWL.EXE
- Linux netcat(CMD: nc) 基本使用
- Powreshell.exe to get full commandline of a specified process