记录利用ettercap进行简单的arp欺骗和mitm攻击过程

攻击主机平台:kali-linux 被攻击主机:安卓手机192.168.1.107 (在同一局域网内) 1.利用ettercap进行arp欺骗: root权限下打开ettercap:ettercap -C (curses UI) ettercap -G (GTK+ GUI) curses UI工作界面: GTK+ UI工作界面: 这里以GTK+ UI为例,打开ettercap之后,选择Sniff—-Unified-sniffing,然后选择网卡: 然后Hosts—Scan for hosts—Hosts list,此时可以看到目标主机ip(192.168.1.107) 选定目标主机,然后点add to target 1,将目标主机添加到目标1;选定路由,点add to target 2,将路由添加到目标2: 如图,添加成功! 然后点mitm — arp posoning ,勾选sniff remote connections: ...

2016年10月20日 · 1 分钟 · lucien116

网络性能排查之TCP重传与重复ACK

作为网络管理员,很多时间必然会耗费在修复慢速服务器和其他终端。但用户感到网络运行缓慢并不意味着就是网络问题。 解决网络性能问题,首先从TCP错误恢复功能(TCP重传与重复ACK)和流控功能说起。之后阐述如何发现网络慢速之源。最后,对网络各组成部分上的数据流进行概况分析。这几张内容将会帮助读者识别,诊断,以及排查慢速网络。 更多信息 接下来的内容,较多是黑白图片了。虽然看起来有点不爽,但还是很值得一看。 TCP错误恢复功能: TCP的错误恢复功能是定位,诊断及修复网络延时的最佳工具。延时可以在单程也可以往返方向测量。高延时是网络管理员的头号大敌。本节我们讨论TCP高延时是如何导致序列号和确认号乱序的。 TCP重传: 主机报文重传是TCP最基本的错误恢复功能,它的目的是防止报文丢失。 报文丢失的可能因素有很多种,包括应用故障,路由设备过载,或暂时的服务宕机。报文级别速度是很高的,而通常报文丢失是暂时的,因此TCP能够发现和恢复报文丢失显得尤为重要。 决定报文是否有必要重传的主要机制是重传计时器(retransmission timer),它的主要功能是维护重传超时(RTO)值。当报文使用TCP传输时,重传计时器启动,收到ACK时计时器停止。报文发送至接收到ACK的时间称为往返时间(RTT)。对若干次时间取平均值,该值用于确定最终RTO值。在最终RTO值确定之前,确定每一次报文传输是否有丢包发生使用重传计时器,下图说明了TCP重传过程。 当报文发送之后,但接收方尚未发送TCP ACK报文,发送方假设源报文丢失并将其重传。重传之后,RTO值加倍;如果在2倍RTO值到达之前还是没有收到ACK报文,就再次重传。如果仍然没有收到ACK,那么RTO值再次加倍。如此持续下去,每次重传RTO都翻倍,直到收到ACK报文或发送方达到配置的最大重传次数。 最大重传次数取决于发送操作系统的配置值。默认情况下,Windows主机默认重传5次。大多数Linux系统默认最大15次。两种操作系统都可配置。 示例如下图: TCP重传过程发送的第一个报文如下图所示(图片不很清楚,已经尽力了): 这是一个TCP PSH/ACK报文①,包含648字节数据②,从10.3.30.1发送至10.3.71.7。这是一个典型的数据报文。 在通常情况下,第一个报文发送之后很快会收到TCP ACK报文。然而,在这个case里,第二个是重传报文。可以在Packet list面板里看到。Info栏清楚的标明“TCP Retransmission”,报文以黑色背景红色字体标出。下图是Packet List面板中的重传示例(仍然不清楚,但可参见上图): 也可以在Packet Details和Packet Bytes面板中查看来确定是否是重传报文,如下图所示: 注意此报文与源报文相同(除了IP标识和checksum字段)。要验证这一点,比较两个报文的Packet Bytes①。 在Packet Details面板,注意到重传报文在SEQ/ACK Analysis下面有些额外的信息②。这些信息是由Wireshark提供的而并非报文本身。SEQ/ACK Analysis告诉我们这确实是一个重传报文,RTO值是0.206秒,此时的RTO是基于报文1的时间增量。 检查剩下的报文会得到类似的结果,不同之处只有IP标识和checksum,以及RTO值。要使报文之间的时间间隔形象化,在Packet List面板中查看Time栏,如下图所示。这里可以看到RTO值的翻倍增长关系。 TCP重复ACK以及快速重传: 重复ACK是指在接收方收到乱序报文时,所发出的一类TCP报文。TCP使用报文头的序列号和确认号以有效保证数据按照发送的顺序接收和重组。 当TCP连接建立以后,握手过程中交换的一个最重要的信息是初始序列号(ISN)。一旦连接双方设定了ISN之后,接下来发送的报文所包含的序列号增加一个数据载荷值。 假设有个主机ISN是5000,发送500字节报文至接收方。一旦报文接收之后,接收端回复一个ACK号为5500的TCP ACK报文,基于以下公式: Sequence Number In + Bytes of Data Received = Acknowledgment Number Out 按照上述计算结果,返回发送端的确认编号实际上是接收端希望收到的序列号。示例如下图: 数据接收方通过序列号来检查报文丢失。接收方通过追踪接收到的序列号,能够确认序列号是否乱序。当接收方收到一个不正常的序列号,它会假设传输过程中有报文丢失。为了正确重传数据,接收方必须拥有丢失报文,所以它发送包含有丢失报文正确序列号的ACK报文,以便发送方重传此报文。 当重传主机从发送端接收到3个重复ACK时,它会假设此报文确实在传送中丢失,并且立即发送一个快速重传。一旦触发了快速重传,所有正在传输的其他报文都被放入队列中,直到快速重传报文发送为止。过程如下图所示: 承接上文的彩图: 本例中第一个报文如下图: 这是一个TCP ACK报文,从数据接收端(172.31.136.85)发给发送端(195.81.202.68)①,确认前一个报文所发送的数据。 此报文中的确认编号是1310973186②,应当是下一个接收报文的序列号,如下图所示: 不幸的是接收端的序列号是1310984130①,并不是所期望的值。这意味着报文在传送中丢失。接收端注意到报文乱序,并且在第三个报文中发送重复ACK,如下图所示: 可以通过以下两种方式之一来确认这是一个重复ACK: 在Packet Detaisl面板中的Info栏。报文呈现黑色背景红色字体。 SEQ/ACK Analysis下的Packet Deatails面板。扩展这一栏会发现报文显示为duplicate ACK。接下来几个报文重复此过程。如下图所示: 此文件中的第四个报文是发送端所发出具有错误序列号①的另一个数据块。因此,接收端发送第二个重复ACK②。接收端又收到一个乱序报文③。从而触发了第三以及最后一个重复ACK④. ...

2016年10月10日 · 1 分钟 · lucien116

新型针对路由器的Linux BOT或将波及其它IOT设备

据ESET报道,最近发现了一种新的针对嵌入式设备的BOT,通过分析将其恶意行为定义为Linux / Remaiten(一种可以通过互联网指令进行远程控制的后门服务)。到目前为止,已经发现了三个版本,分别是2.0,2.1和2.2。相比之前的样本,它具有一些改进,并提供了一些新的功能。根据代码中的线索,作者将这个新的恶意软件命名为“KTN-Remastered” 或者 “KTN-RM”。这里将会分享最新样本相比之前样本的一些新的特性。 文章目录 先进的传播方式 下载者技术分析 BOT行为分析 连接到C&C服务器 IRC命令处理 嵌入的下载者 Telnet扫描 向C&C发送当前状态 杀死其他BOT 总结 附件 BOT样本 下载者样本 C&C通讯 先进的传播方式 1、历史样本 历史版本传播方式 2、本次样本 本次样本传播方式 下载者技术分析 下载者是一个比较小的ELF可执行文件,当在受害者设备上运行后,会向C&C服务器发送如下指令(主要是CPU架构): mips mipsel armeabi armebeabi C&C服务器会根据客户端的请求返回指定CPU架构的BOT文件(ELF格式)。如下图: 下载者从C&C获得的BOT二进制文件 下载者连接C&C服务器 这里分析的环境是mips架构的,下载者会下载mips架构的BOT,并在控制台输出相关的信息。 下载者从C&C服务器请求MIPS架构的BOT BOT行为分析 BOT在默认情况下会以后台服务的形式启动,一旦启动,程序会将自己的名字更改为看起来比较合法的名字(在2.0和2.1版本中使用“-bash”,2.2版本中使用“-sh”)。 BOT的启动 接下来运行的create_daemon函数将会在预定义的目录(在预定义目录列表中第一个拥有写入权限的目录)中创建一个名为“.kpid”的文件,将其PID写入到该文件中: 预定义文件目录列表 如果名为“.kpid”的文件存在,则会结束“.kpid”文件中指定PID的进程实例,然后创建一个新的进程实例继续运行,并将其PID写入到“.kpid”文件中。 .kpid文件创建跟踪 连接到C&C服务器 服务器的地址列表和端口是被硬编码在二进制文件中,BOT会随机选取一个服务器地址,连接指定的端口。 BOT连接的C&C服务器 当成功连接到C&C服务器后,BOT则会监测IRC(Internet Relay Chat:互联网中继通讯)通道的存在,C&C服务器会返回欢迎信息以及相关的指令码,由受影响设备上的BOT解析与处理。 C&C BOT欢迎信息 IRC命令处理 BOT可以响应多种IRC命令,这些命令的处理被保存在一个数组中。 IRC命令 这里需要关注的是“PRIVMSG”命令,因为它被用于执行具有威胁的动作,例如洪水攻击、下载文件、远程登录扫描等,这些命令被保存在静态数组中。 BOT可用的命令 在样本文件中静态存储着对威胁命令的解释字符串,可以帮助理解。 ...

2016年9月27日 · 1 分钟 · lucien116

wget命令详解,wget下载目录,断点续传,Wget下载整站,Linux Wget下载命令大全

Linux wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于vps管理,经常要下载一些软件或从远程服务器恢复备份到本地服务器,主机博士介绍下 Linux Wget命令用法和实例分析。 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。 它有以下功能和特点: (1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了; (2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件; (3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能; (4)设置方便简单;可能,习惯图形界面的用户已经不是太习惯命令行了,但是,命令行在设置上其实有更多的优点,最少,鼠标可以少点很多次,也不要担心是否错点鼠标; (5)程序小,完全免费;程序小可以考虑不计,因为现在的硬盘实在太大了;完全免费就不得不考虑了,即使网络上有很多所谓的免费软件,但是,这些软件的广告却不是我们喜欢的; 下面我们以实例的形式说明怎么使用wget。 Linux Wget下载整站命令说明: wget这个命令可以以递归的方式下载整站,并可以将下载的页面中的链接转换为本地链接。这个命令可以以递归的方式下载整站,并可以将下载的页面中的链接转换为本地链接。 wget -r -p -np -k http://xxx.com/abc/ -r, –recursive(递归) specify recursive download.(指定递归下载) -k, –convert-links(转换链接) make links in downloaded HTML point to local files.(将下载的HTML页面中的链接转换为相对链接即本地链接) -p, –page-requisites(页面必需元素) get all images, etc. needed to display HTML page.(下载所有的图片等页面显示所需的内容) -np, –no-parent(不追溯至父级) don’t ascend to the parent directory. 另外断点续传用-nc参数 日志 用-o参数 Linux Wget命令使用技巧: 1、使用wget下载单个文件 以下的例子是从网络下载一个文件并保存在当前目录 wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。 2、使用wget -O下载并以不同的文件名保存 wget默认会以最后一个符合”/”的后面的字符来命令,对于动态链接的下载通常文件名会不正确。 错误:下面的例子会下载一个文件并以名称download.php?id=1080保存 ...

2016年9月22日 · 2 分钟 · lucien116

看看影音恶意挖矿行为分析

近日,部分用户出现电脑GPU占用率高,电脑温度升高,风扇噪声增大等问题。具体现象为电脑中C盘可使用空间骤降,且在C盘Ethash文件夹内,发现存在大量的1G左右的垃圾文件;电脑闲置状态时,风扇转速增快,电脑发热增加,GPU使用率达到100%。非闲置状态时,恢复正常。经过远程调试分析发现是看看影音在后台偷偷利用用户电脑的运算资源进行以太币(一种类似比特币的数字货币)挖矿导致。 [看看影音的版本和公司信息] 安装看看影音后,会注册组件%APP_DATA%\Video Legend\RBC\Program\RBCShellExternal.dll到注册表的explorer加载项,从而开机即可加载运行,然后通过lua脚本控制,下载挖矿模块到本地利用GPU挖矿,整个流程如下图所示: [看看影音挖矿行为整体流程简图] RBCShellExternal.dll 分析 该组件是一个商业功能模块,RBC是Remote Bussiness Control的缩写。顾名思义,这个模块可以通过远程配置来控制用户电脑上运行不同的模块,比如升级、修复、广告弹窗、推广安装等,也包括挖矿。 RBCShellExternal.dll会通过rundll32.exe来加载模块RBCEntry.dll,并通过命令行参数来检测调试工具。 [加载RBCEntry.dll的命令行] 完整命令行如下: rundll32.exe"%APP_DATA%\Video Legend\RBC\Program\RbcEntry.dll", Control_RunDLL/thread /src ..\\..\\Xar\\Rbc.xar /killex /priority 0 /checktime /delay 1 /idle%d /busy %d /debug /bkwndlist"Microsoft Visual;HTTPAnalyzer;WinDBG;OllyDebug;fiddler;SmartSniff;\t\t\t\t\t\t\t\tSpy++;Spy;ATL/MFC;任务管理器;DebugView;Process Explorer;File Monitor;RegistryMonitor;Wireshark;OllyICE;OllyDBG;Sysinternals" /bkprocesslist"fiddler.exe;windbg.exe;devenv.exe;taskmgr.exe;wireshark.exe;\t\t\t\t\t\t\t\t\thttpanalyzer.exe;smsniff.exe;filemon.exe;regmon.exe;procmon.exe;ollydbg.exe;softice.exe;cis.exe;\t\t\t\t\t\t\t\t\ttasklist.exe;procexp.exe;ollyice.exe;processspy.exe;spyxx.exe;winspy.exe;cv.exe" 参数/src指定了要加载的lua脚本模块(已打包成xar格式),通过lua脚本来控制任务;参数/bkwndlist指定要查找的窗口标题,参数/bkprocesslist指定要查找的进程名,一旦枚举到指定的窗口或进程名,立刻结束进程,防止被用户发现。 LUA 脚本分析 RbcEntry.dll封装了LUA引擎,加载后首先解析Rbc.xar,然后调用其中的onload.lua,启动整个脚本。Rbc.xar是任务调度模块,核心功能是从云端下载任务控制脚本并加载运行。 Rbc.xar解包后目录树如下: Rbc.xar │ └─layout │ onload.lua │ └─luacode kkp.curl.lua rbc.base.lua rbc.eventsource.lua rbc.filter.lua rbc.helper.lua rbc.lua rbc.scheduler.lua rbc.setting.lua rbc.task.lua rbc.version.lua onload.lua主要功能是加载各个脚本,代码如下: [onLoad.lua加载脚本] 最后加载rbc.scheduler.lua里面包含了远程配置的任务脚本url:http:/***.kankan.com/rbc/taskschedule_v1.2.dat [rbc.scheduler.lua调度脚本] 从各个函数名称可以看出,该脚本是主要功能是调度任务的运行。而脚本taskschedule_v1.2.dat则是真正的任务脚本。 taskschedule_v1.2.dat中配置了各种任务的参数,其中挖矿任务的参数配置块如下: [挖矿任务脚本的参数配置块] 其中link就是该任务模块的下载地址,通常是xar包;frequency是执行频率;googleid和cnzzid是活跃统计标识。configurl是脚本里面使用的远程配置,主要是挖矿DLL模块的下载地址和MD5,具体内容请看下文。 任务模块下载后保存在%APP_DATA%\VideoLegend\RBC\Task目录下: [%APP_DATA%\VideoLegend\RBC\Task下生成的各任务目录] 整理所有任务URL,如下: ...

2016年9月21日 · 1 分钟 · lucien116

Metasploit曝远程代码执行漏洞:别惹我,我疯起来连自己都黑

就在本周,Rapid7社区发布两个关于Metasploit框架的安全补丁,通过这两个漏洞,攻击者可以远程非授权执行任意代码。目前,安全研究人员已经发放出相关POC攻击代码。 漏洞一:Metasploit Web UI相关文件中的config.action_dispatch.cookies_serializer设置为:hybrid 漏洞信息 OVE ID: OVE-20160904-0001 私有披露日期: 2016-09-04 公开披露日期: 2016-09-19 厂商公告 : https://community.rapid7.com/community/metasploit/blog/2016/09/15/important-security-fixes-in-metasploit-4120-2016091401 影响的版本 : Metasploit 4.12.0-2016061501 到 4.12.0-2016083001 漏洞描述 Metasploit作为一个安全测试框架,里面集成了非常多的功能,比如msfconsole,msfvenom等,并且也提供了非常多的接口和界面,比如shell接口,Windows GUI页面,WEB UI页面等等。而这次的问题主要是出在WEB接口上。MSF Community, Express 和 Pro 版本的 Web UI在4.12.0-2016061501至4.12.0-2016083001版本中的config.action_dispatch.cookies_serializer 值设置为 :hybrid,并且引入了hybrid cookie序列化,这将允许反序列化JSON和Marshal序列化的cookies。直到Metasploit 4.12.0-2016091401,才将其值设置为:json。也就是说,只要cookie序列化设置为Marshal或hybird时,并且攻击者知道cookie signing key的值,那么攻击者就可以构造cookie,触发Marshal反序列化,实现任意代码执行。 参考 [0] http://blog.bigbinary.com/2014/12/23/migrating-existing-session-cookies-while-upgrading-to-rails-4-1-and-above.html [1] https://www.rapid7.com/db/modules/exploit/multi/http/rails_secret_deserialization 漏洞二:Metasploit本周发布了静态的secret_key_base,这个将会导致远程命令执行代码 漏洞信息 OVE ID: OVE-20160904-0002 私有披露日期: 2016-09-04 公开披露日期: 2016-09-19 厂商公告 : https://community.rapid7.com/community/metasploit/blog/2016/09/15/important-security-fixes-in-metasploit-4120-2016091401 影响的版本 : Metasploit 4.12.0-2016061501 到 4.12.0-2016083001 漏洞描述 通过第一个漏洞,我们已经可以确定cookie序列化设置为hybird,但是攻击者还必须知道cookie signing key的值才可以构造cookie,实现远程代码执行。非常不幸的是,MSF WEB UI中的secret_key_base是静态的,并且该值是公开的。以下是目前已知受影响的MSF的值: 4.12.0-2016061501版本:d25e9ad8c9a1558a6864bc38b1c79eafef479ccee5ad0b4b2ff6a917cd8db4c6b80d1bf1ea960f8ef922ddfebd4525fcff253a18dd78a18275311d45770e5c9103fc7b639ecbd13e9c2dbba3da5c20ef2b5cbea0308acfc29239a135724ddc902ccc6a378b696600a1661ed92666ead9cdbf1b684486f5c5e6b9b13226982dd7 4.12.0-2016062101版本:99988ff528cc0e9aa0cc52dc97fe1dd1fcbedb6df6ca71f6f5553994e6294d213fcf533a115da859ca16e9190c53ddd5962ddd171c2e31a168fb8a8f3ef000f1a64b59a4ea3c5ec9961a0db0945cae90a70fd64eb7fb500662fc9e7569c90b20998adeca450362e5ca80d0045b6ae1d54caf4b8e6d89cc4ebef3fd4928625bfc 4.12.0-2016072501版本:446db15aeb1b4394575e093e43fae0fc8c4e81d314696ac42599e53a70a5ebe9c234e6fa15540e1fc3ae4e99ad64531ab10c5a4deca10c20ba6ce2ae77f70e7975918fbaaea56ed701213341be929091a570404774fd65a0c68b2e63f456a0140ac919c6ec291a766058f063beeb50cedd666b178bce5a9b7e2f3984e37e8fde 4.12.0-2016081001版本:61c64764ca3e28772bddd3b4a666d5a5611a50ceb07e3bd5847926b0423987218cfc81468c84a7737c23c27562cb9bf40bc1519db110bf669987c7bb7fd4e1850f601c2bf170f4b75afabf86d40c428e4d103b2fe6952835521f40b23dbd9c3cac55b543aef2fb222441b3ae29c3abbd59433504198753df0e70dd3927f7105a 4.12.0-2016081201版本:23bbd1fdebdc5a27ed2cb2eea6779fdd6b7a1fa5373f5eeb27450765f22d3f744ad76bd7fbf59ed687a1aba481204045259b70b264f4731d124828779c99d47554c0133a537652eba268b231c900727b6602d8e5c6a73fe230a8e286e975f1765c574431171bc2af0c0890988cc11cb4e93d363c5edc15d5a15ec568168daf32 4.12.0-2016083001版本:18edd3c0c08da473b0c94f114de417b3cd41dace1dacd67616b864cbe60b6628e8a030e1981cef3eb4b57b0498ad6fb22c24369edc852c5335e27670220ea38f1eecf5c7bb3217472c8df3213bc314af30be33cd6f3944ba524c16cafb19489a95d969ada268df37761c0a2b68c0eeafb1355a58a9a6a89c9296bfd606a79615 ...

2016年9月21日 · 2 分钟 · lucien116

Bifrost1.2.1d远控木马样本分析报告

样本来源 http://www.aljyyosh.com 样本类型 BDS.Bifrose.aec 分析时间 2016-9-20 运行环境 控制端:Windows7 x64 木马端:Windows XP 分析目的 找出木马与控制端通信的特征码 分析过程 (1) 配置木马端 图1-配置木马 1. 木马端默认配置使用81端口,也可自行更改为其他端口。 2. 可同时设置多个不同的服务端地址,也可以使用Scoks4代理的方式上线。 3. 其他设置,配置过程中还可配置木马安装目录、注册表键值、离线键盘记录等功能。 4. 点击Build完成创建客户端。 (2) 安装木马端 1. 在主机1(IP:10.0.3.160)上打开控制端,安装生成的木马样本(server.exe)到主机2(IP:10.0.3.153). 2. 在主机1上开启Wireshark抓取主机1与主机2之间的通信数据. 3. 在主机2上双击安装木马样本。 (3) 开始分析 1. 进程监视,样本安装后通过进程管理器可以看到,系统会生成进程名为server.exe的新进程,同时会进行镜像加载、查询本机注册表等一系列操作,上述操作完毕后,木马端会自动关闭进程。如下图: 图2-进程监视 2. 木马端安装后会在配置木马端时选择的安装目录(默认目录为C:\Program Files)下创建Bifrost文件夹并生成一个新的server.exe文件。如图: 图3-默认安装目录 3. 通过对主机1和主机2之间通信的数据包分析可发现,木马端在主机2上安装后,打开一个随机端口主动连接控制端81端口。如下图: 图4-连接端口 4. 在控制端打开文件管理功能,尝试打开文件夹、删除文件等其他操作后查看抓取的数据包。如图: 图5-文件管理功能 经过多次抓包对比分析后,确认样本该控制端的通信特征为:00 00 00 2a 3d ba 1a.如下图: 图6-通信特征 5. 关闭控制端断开与木马端的连接,继续抓包,统计后发现若控制端未打开,木马上线后连接请求频率约12秒一次。如下图: 图7-木马端连接请求 6. 配置木马端时改变连接密码再重复以上操作,抓包分析发现,改变连接密码后通信特征码不变。若控制端连接密码错误,则木马端随机使用一端口号连接控制端81端口,大约每隔11秒,端口号+2并再次尝试连接控制端。如下图: 图8-连接密码错误时的连接请求 数据记录和计算 无 结 论 ...

2016年9月21日 · 1 分钟 · lucien116

Ramcos远控木马样本分析报告

样本来源http://Breaking-Security.net样本类型Win32.Backdoor.Remcos.Agba分析时间2016-9-7运行环境Windows7 x64分析目的找出木马被控端与控制端通信的特征码分析过程(1) 配置木马端 图1-配置木马 1. 木马端默认配置使用2404端口,也可自行更改为其他端口。 2. 可设置上线密码,默认密码为pass。 3. 其他设置,配置过程中可设置后门安装目录,键盘记录等其他功能,部分功能需要升级到专业版才能使用,如图2。 图2-安装设置 4. 选择压缩方式后点击Builde,完成创建。如下图 图3-生成木马样本 (2) 安装木马样本 1. 在主机1(IP:10.0.3.154)上打开控制端,安装生成的木马样本(Backdoor.exe)到主机2(IP:10.0.3.159). 2. 在主机1上开启Wireshark抓取主机1与主机2之间的通信数据,同时在主机2上打开进程监控工具。 3. 在主机2上双击安装木马样本。 (3) 开始分析 进程监视,样本安装后通过进程监视器可以看到,系统会生成进程名为Backdoor.exe的新进程,同时会进行镜像加载、查询注册表键值等一系列操作。如图4: 图4-进程监视 通过对主机1和主机2之间通信的数据包分析可发现,木马端在主机2上安装后,打开一个随机端口主动连接控制端2404端口。如图5: 图5-连接端口 3. 样本采用未知编码方式加密,从通信数据流中可以看出使用默认密码时样本通信特征码为:1b84d5b05df4c493c530c2. 如图6: 图6-通信特征 若配置样本时不使用默认密码(自定义连接密码为123456),通过wrieshark抓包分析,特征值改变,如图7: 图7-修改连接密码后的特征值 5. 统计后发现若控制端未打开,木马上线后连接请求频率约6秒一次。 数据记录 和计算无结 论1. 使用默认密码时的样本数据特征: 1b84d5b05df4c493c530c2 2. 样本特征值会随配置时设置连接密码的不同而改变 3. 默认配置下木马端主动连接控制端TCP2404端口(端口可更改) 4. 木马上线连接请求频率约5秒一次。

2016年9月20日 · 1 分钟 · lucien116

NanoCore远控木马样本分析

样本来源https://nanocore.io/样本类型TR.Dropper.MSIL.GEN7分析时间2016-9-7运行环境Windows7 x64分析目的找出木马被控端与控制端通信的特征码分析过程(1) 配置木马端 图1-配置木马 1. 木马端默认配置使用54984端口,也可自行更改为其他端口。 2. 可同时设置两个不同的服务端地址,其中一个为备用地址。 3. 其他设置,配置过程中还可设置客户端DNS服务地址,打开键盘记录等其他功能。 4. 点击Compile完成创建客户端。 (2) 安装客户端 1. 在主机1(IP:10.0.3.154)上打开控制端,安装生成的木马样本(nano.exe)到主机2(IP:10.0.3.159). 2. 在主机1上开启Wireshark抓取主机1与主机2之间的通信数据,同时在主机2上打开进程监控工具。 3. 在主机2上双击安装木马样本。 (3) 开始分析 1. 进程监视,样本安装后通过进程监视器可以看到,系统会生成进程名为nano.exe的新进程,同时会进行镜像加载、查询本机注册表等一系列操作。如下图: 图2-进程监视 2. 通过对主机1和主机2之间通信的数据包分析可发现,木马端在主机2上安装后,打开一个随机端口主动连接控制端54984端口。如下图: 图3-连接端口 3. 样本采用未知编码方式加密,从通信数据流中可以看出样本通信特征码为:08000000c1c3d0324359a178. 如下图: 图4-通信特征 4. 统计后发现若控制端未打开,木马上线后连接请求频率约5秒一次数据记录 和计算无结 论1. 样本数据特征: 08000000c1c3d0324359a178 2. 默认配置下被控端主动连接控制端TCP54984端口(端口可更改) 3. 木马上线连接请求频率约5秒一次。

2016年9月13日 · 1 分钟 · lucien116

浅谈Slowloris拒绝服务攻击

原文地址: 浅谈Slowloris拒绝服务攻击 作者: xcgsnowdrop DDOS又称为分布式拒绝服务,全称是Distributed Denial of Service。DDOS本是利用合理的请求造成资源过载,导致服务不可用。比如一个停车场共有100车位,当100车位都停满后,再有车想要停进来,就必须等待已有的车先出去才行。如果已有的车一直不出去,那么停车场的入口就会排气长队,停车场的负荷过载,不能正常工作了,这种情况就是“拒绝服务”。 常见的DDOS攻击有SYN flood、UDP flood、ICMP flood等。其中SYN flood是一种最为经典的DDOS攻击。其利用的是TCP协议设计中的缺陷,此处先避开不谈。 Slowloris攻击则是利用Web Server的漏洞或设计缺陷,直接造成拒绝服务。下面通过一个典型示例分析slowloris的拒绝服务攻击本质。 Slowloris是在2009年由著名Web安全专家RSnake提出的一种攻击方法,其原理是以极低的速度往服务器发送HTTP请求。由于Web Server对于并发的连接数都有一定的上限,因此若是恶意地占用住这些连接不释放,那么Web Server的所有连接都将被恶意连接占用,从而无法接受新的请求,导致拒绝服务。 要保持住这个连接,RSnake构造了一个畸形的HTTP请求,准确地说,是一个不完整的HTTP请求。 GET / HTTP/1.1\r\n HOST: host\r\n User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)\r\n Content-Length: 42\r\n 在正常的HTTP包头中,是以两个CLRF表示HTTP Headers部分结束的。 由于Web Server只收到了一个\r\n,因此将认为HTTP Headers部分没有结束,并保持此连接不释放,继续等待完整的请求。此时客户端再发送任意HTTP头,保持住连接即可。 X-a: b\r\n 当构造多个连接后,服务器的连接数很快就会达到上限。在Slowloris的专题网站上可以下载到POC演示程序,其核心代码置于文章底部,记为slowloris.pl),下面开始使用该脚本工具演示如何使用slowloris攻击使Web Server拒绝服务: 一,准备工作 1.在本机安装配置好Apache2.x,设置MaxClients为50 2.在Browser中访问http://127.0.0.1,结果显示正常 3.下载或编写slowloris.pl脚本 二,开始阶段 1.测试每个http连接等待超时时间,前面我们说过,当Web Server只收到了一个\r\n时,因将其认为HTTP Headers部分尚未结束,故会保持此连接不释放,继续等待完整的请求,此处测试的即为该连接等待完整请求的超时时间。 perl slowloris.pl -dns 127.0.0.1 -port 80 -test ...

2016年9月13日 · 12 分钟 · lucien116