下边是一条防火墙日志记录,能够在PowerShell的互

2019-08-16 作者:小鱼儿玄机30码   |   浏览(58)

一、利用Windows自带的防火墙日志检测入侵 下面是一条防火墙日志记录 2005-01-1300:35:04OPENTCP61.145.129.13364.233.189.104495980 2005-01-1300:35:04:表示记录的日期时间 OPEN:表示打开连接;如果此处为Close表示关闭连接 TCP:表示使用的协议是Tcp 61.145.129.133:表示本地的IP 64.233.189.104:表示远程的IP 4959:表示本地的端口 80:表示远程的端口。注:如果此处的端口为非80、21等常用端口那你就要注意了。每一条Open表示的记录对应的有一条CLOSE记录,比较两条记录可以计算连接的时间。

iOS.OC.03 KVO-键值观察者,ios.oc.03kvo-

KVO Key,Value,Observing,即键值观察者。它提供了这样一种机制,当指定对象的属性发生改变时,KVO会自动通知相应的观察者。

它与NSNotification不同,键-值观察中并没有所谓的中心对象来为所有观察者 提供变化通知。取而代之地,当有变化发生时,通知被直接发送至处于观察状态的对象。

三个步骤:注册观察者,接收变更通知,移除观察者。实例如下:

创建一个工程,创建两个类,一个Baby,一个Mother。Baby有一个属性hungryNum,叫饥饿值吧,当饥饿值改变的时候mother接收饥饿值变更。

小鱼儿玄机30码 ,Baby.h

#import <Foundation/Foundation.h>

@interface Baby : NSObject

@property(nonatomic,assign)NSInteger hungryNum;

@end

 

Mother.m

#import "Mother.h"

 @implementation Mother

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{

     if ([keyPath isEqualToString:@"hungryNum"]) {

       //每当监听的属性hungryNum改变时,打印hungryNum的当前值和之前值。

       NSLog(@"%@  %@",[change objectForKey:@"new"],[change objectForKey:@"old"]);

  }

}

 @end

 

ViewController.m

#import "ViewController.h"

#import "Baby.h"//引入头文件

#import "Mother.h"

@interface ViewController ()

@end

 @implementation ViewController

 - (void)viewDidLoad {

    [super viewDidLoad];

    Baby * xiaoxiao=[[Baby alloc]init];//创建对象

    Mother * xiaoMama=[[Mother alloc]init];

    

  //注册观察者,xiaoxiao添加了观察者xiaoxiaoMama,观察hungryNum属性。

     [xiaoxiao addObserver:xiaoMama forKeyPath:@"hungryNum" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];

    xiaoxiao.hungryNum=10;//给xiaoxiao的hungryNum属性附一个初值,用一个for循环使得该属性的值改变,每次值改变都会通知监听者。

    for (xiaoxiao.hungryNum; xiaoxiao.hungryNum>0; xiaoxiao.hungryNum--) {

    }

    //移除观察者,注意:如果不移除,程序运行到此会奔溃。

    [xiaoxiao removeObserver:xiaoMama forKeyPath:@"hungryNum"];

}

 

打印结果:

2015-03-21 17:11:29.735 OMG[2366:148640] 10  0

2015-03-21 17:11:29.736 OMG[2366:148640] 9  10

2015-03-21 17:11:29.736 OMG[2366:148640] 8  9

2015-03-21 17:11:29.736 OMG[2366:148640] 7  8

2015-03-21 17:11:29.736 OMG[2366:148640] 6  7

2015-03-21 17:11:29.736 OMG[2366:148640] 5  6

2015-03-21 17:11:29.736 OMG[2366:148640] 4  5

2015-03-21 17:11:29.737 OMG[2366:148640] 3  4

2015-03-21 17:11:29.737 OMG[2366:148640] 2  3

2015-03-21 17:11:29.737 OMG[2366:148640] 1  2

2015-03-21 17:11:29.737 OMG[2366:148640] 0  1

 

如有错误,请不吝赐教,必改之。

KVO-键值观察者,ios.oc.03kvo- KVO Key,Value,Observing,即键值观察者。它提供了这样一种机制,当指定对象的属性发生改变时,KVO会自动通知...

本文以实例介绍如何利用组策略限制客户端行为,减少病毒传播可能性。具体内容如下所述。

一、与文件系统交互、运行应用程序

注意,要使用该项,需要在Windows自带的防火墙的安全日志选项中勾选“记录成功的连接”选项。

分公司GM的要求:减少病毒机会,加强客户端管理,加强上网管理。

就像在Dos中一样,在PowerShell的交互界面上键入"dir"并回车,会显示当前文件夹下的子文件夹和文件信息。

 

当前状况:

?
PS D:ProjectsPractisePowerShell> dir
Directory: D:ProjectsPractisePowerShell
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 1/23/2013 12:35 PM d1
d---- 1/23/2013 12:35 PM d2
-a--- 1/21/2013 8:38 PM 36314 alias.tx
-a--- 1/21/2013 8:32 PM 241530 cmdlets.
-a--- 1/18/2013 10:18 AM 888 errors.t

二、通过IIS日志检测入侵攻击

1、所有客户端均为Windows2000

像这样的命令很多,比如echo "Hello", cd ..等等。从这里看来它就是一个命令行,实现了原来命令行的功能。但PowerShell是命令行的加强版吗,是命令行的超集吗?这个真不是,以后会专门说这个问题。

1、认识IIS日志 IIS日志默认存放在System32LogFiles目录下,使用W3C扩展格式。下面我们通过一条日志记录来认识它的格式 2005-01-0316:44:57218.17.90.60GET/Default.aspx-80 -218.17.90.60Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)20000

2、有一台服务器为Windows2000

就像在命令行里运行应用程序一样,可以在PowerShell的交互窗口中运行应用程序,如下:

2005-01-0316:44:57:是表示记录的时间;

3、这是一个偏远地区的办事处,没有ITSupport,员工的IT技能不强,人员混乱

?
PS C:Usersv-lukez> notepad
PS C:Usersv-lukez>
如果想更好地控制应用程序,可以使用start命令,如下:
?
PS C:Usersv-lukez> start notepad -WindowStyle Maximized
PS C:Usersv-lukez>

218.17.90.60:表示主机的IP地址;

4、所有的客户端已经安装个人版的杀毒软件

以上结果可以实现Notepad窗口的最大化。其实类似的命令还有很多,而且更多的参数意味着更精细地控制。

GET:表示获取网页的方法 /Default.aspx:表示浏览的网页的名称,如果此外的内容不是你网站网页的名称,那就表示可能有人在用注入式攻击对你的网站进行测试。如:“/msadc/..蜡..蜡..蜡../winnt/system32/cmd.exe/c dir”这段格式的文字出现在浏览的网页后面就表示有攻击者尝试能否进入到你的系统目录下。

5、上网方式通过ADSL路由上网

二、创建脚本

-80:表示服务器的端口。

需求分析:

任务的自动化是以程序文件或者可执行脚本文件为基础的,PowerShell也支持将命令列表做成脚本文件来执行。以下是Hello.ps1脚本文件的内容:

-218.17.90.60:表示客户机的IP地址。如果在某一时间或不同时间都有大量的同一IP对网站的连接那你就要注意了。

从目前的网络和系统情况看,虽然已经安装了个人版的杀毒软件,但是防病毒的效果还是不明显。病毒总是先发而后制。同时因为没有ITSupport的存在,人员过于混杂,使得感染和传播计算机病毒的机会增加。

?
$a = "Hello"
$a
echo $a > a.txt
dir a.txt
Hello.ps1脚本文件的执行情况结果如下:
?
PS E:> D:ProjectsPractisePowerShellHello.ps1
Hello
Directory: E:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 1/30/2013 4:56 PM 16 a.txt

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322):表示用户的浏览器的版本操作系统的版本信息

客户端和服务器端已经是Windows2000,可以利用组策略限制客户端行为,减少病毒传播可能性。

你可能发现了,PowerShell脚本文件是以.PS1为扩展名的。以上这个脚本非常简单:先定义了一个变量,然后输出这个变量的结果,再将这个变量的值写入文件a.txt,最后输出这个文件的属性信息。仅从这一点看,PowerShell脚本很像Batch文件。但是实际上,PowerShell可以做得更多。

200:表示浏览成功,如果此处为304表示重定向。如果此处为404则表示客户端错误未找到网页,如果服务器没有问题但出现大量的404错误也表示可能有人在用注入式攻击对你的网站进行测试。

上网方式为路由方式,不利于上网管理。

PowerShell脚本支持自定义函数,就像我们在编程语言中做得那样。funcDemo.ps1给出了一个在PowerShell脚本中编写函数的示例:

2、检测IIS日志的方法明白了IIS日志的格式,就可以去寻找攻击者的行踪了。但是人工检查每一条数据几乎是不可能的,所以我们可以利用Windows本身提供了一个命令findstr。下面以寻找05年1月1日日志中包含CMD字段为例演示一下它的用法。IIS日志路径已设为Dw3c Cmd提示符下输入:findstr"cmd"dw3cex050101.log回车。怎么同一个IP出现了很多,那你可要注意了!下面是我写的几个敏感字符,仅供参考,你可以根据自己系统、网页定制自己的敏感字符,当然如果你根据 这些字符作一个批处理命令就更方便了。 cmd、'、\、..、;、and、webconfig、global、

建议:

?
#funcDemo.ps1
function SayHello ($name)
{
echo "hello $name"
}
SayHello "Luke"

如果你感觉findstr功能不够直观强大,你可以AutoScanIISLogFilesV1.4工具。它使用图形化界面一次可以检测多个文件。下载地址:

1、利用现在的Windows2000服务器建立Domain

脚本的运行结果是“Hello Luke”。

如果你感觉这些IIS日志中的信息记录还不够多,那么你可以做一个隐藏网页,凡是登陆到网站上都会先定向到该网页,然后你可以在该网页中添加代码,获取用户的IP、操作系统、计算机名等信息。并将其输入到数据库中,这样即使一个攻击者使用动态的IP只要他不换系统,即使删除了IIS日志,你也可以把他找出来。

2、把当前的直接从路由上网修改为代理上网

此外,关于PowerShell脚本内部语句的运行顺序,这里要做个简单说明:除了函数定义,脚本中的命令或者函数调用其实也相当于执行命令)会顺序执行;函数中的语句只有在函数被调用的时候才会被执行。

本文由小鱼儿玄机30码发布于小鱼儿玄机30码,转载请注明出处:下边是一条防火墙日志记录,能够在PowerShell的互

关键词: 小鱼儿玄机30码