您正在查看 "Hack" 分类下的文章
2007-08-26 22:13
1.如何让asp脚本以system权限运行?
修改你asp脚本所对应的虚拟目录,把"应用程序保护"修改为"低"....
2.如何防止asp木马?
基于FileSystemObject组件的asp木马
cacls %systemroot%\system32\scrrun.dll /e /d guests //禁止guests使用
regsvr32 scrrun.dll /u /s //删除
基于shell.application组件的asp木马
cacls %systemroot%\system32\shell32.dll /e /d guests //禁止guests使用
regsvr32 shell32.dll /u /s //删除
3.如何加密asp文件?
从微软免费下载到sce10chs.exe 直接运行即可完成安装过程。
安装完毕后,将生成screnc.exe文件,这是一个运行在DOS PROMAPT的命令工具。
运行screnc - l vbscript source.asp destination.asp
生成包含密文ASP脚本的新文件destination.asp
用记事本打开看凡是""之内的,不管是否注解,都变成不可阅读的密文了
但无法加密中文。
4.如何从IISLockdown中提取urlscan?
iislockd.exe /q /c /t:c:\urlscan
5.如何防止Content-Location标头暴露了web服务器的内部IP地址?
执行
cscript c:\inetpub\adminscripts\adsutil.vbs set w3svc/UseHostName True
最后需要重新启动iis
6.如何解决HTTP500内部错误?
iis http500内部错误大部分原因
主要是由于iwam账号的密码不同步造成的。
我们只要同步iwam_myserver账号在com+应用程序中的密码即可解决问题。
执行
cscript c:\inetpub\adminscripts\synciwam.vbs -v
7.如何增强iis防御SYN Flood的能力?
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
'启动syn攻击保护。缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后
'安全级别更高,对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值
'设定的条件来触发启动了。这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。
"SynAttackProtect"=dword:00000002
'同时允许打开的半连接数量。所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态
'的就是。这里使用微软建议值,服务器设为100,高级服务器设为500。建议可以设稍微小一点。
"TcpMaxHalfOpen"=dword:00000064
'判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。
"TcpMaxHalfOpenRetried"=dword:00000050
'设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。项值为2,消耗时间为21秒。
'项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。这个值可以根据遭受攻击规模修改。
'微软站点安全推荐为2。
"TcpMaxConnectResponseRetransmissions"=dword:00000001
'设置TCP重传单个数据段的次数。缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。
"TcpMaxDataRetransmissions"=dword:00000003
'设置syn攻击保护的临界点。当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。
"TCPMaxPortsExhausted"=dword:00000005
'禁止IP源路由。缺省项值为1,表示不转发源路由包,项值设为0,表示全部转发,设置为2,表示丢弃所有接受的
'源路由包,微软站点安全推荐为2。
"DisableIPSourceRouting"=dword:0000002
'限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。
"TcpTimedWaitDelay"=dword:0000001e
8.如何避免*mdb文件被下载?
安装ms发布的urlscan工具,可以从根本上解决这个问题。
同时它也是一个强大的安全工具,你可以从ms的网站上获取更为详细的信息。
9.如何让iis的最小ntfs权限运行?
依次做下面的工作:
a.选取整个硬盘:
system:完全控制
administrator:完全控制
(允许将来自父系的可继承性权限传播给对象)
b.\program files\common files:
everyone:读取及运行
列出文件目录
读取
(允许将来自父系的可继承性权限传播给对象)
c.\inetpub\wwwroot:
iusr_machine:读取及运行
列出文件目录
读取
(允许将来自父系的可继承性权限传播给对象)
e.\winnt\system32:
选择除inetsrv和centsrv以外的所有目录,
去除“允许将来自父系的可继承性权限传播给对象”选框,复制。
f.\winnt:
选择除了downloaded program files、help、iis temporary compressed files、
offline web pages、system32、tasks、temp、web以外的所有目录
去除“允许将来自父系的可继承性权限传播给对象”选框,复制。
g.\winnt:
everyone:读取及运行
列出文件目录
读取
(允许将来自父系的可继承性权限传播给对象)
h.\winnt\temp:(允许访问数据库并显示在asp页面上)
everyone:修改
(允许将来自父系的可继承性权限传播给对象)
10.如何隐藏iis版本?
一个黑客可以可以轻易的telnet到你的web端口,发送get命令来获取很多信息
iis存放IIS BANNER的所对应的dll文件如下:
WEB:C:\WINNT\SYSTEM32\INETSRV\W3SVC.DLL
FTP:C:\WINNT\SYSTEM32\INETSRV\FTPSVC2.DLL
SMTP:C:\WINNT\SYSTEM32\INETSRV\SMTPSVC.DLL
你可以用16进制编辑器去修改那些dll文件的关键字,比如iis的Microsoft-IIS/5.0
具体过程如下:
1.停掉iis iisreset /stop
2.删除%SYSTEMROOT%\system32\dllcache目录下的同名文件
3.修改 |
2007-08-21 08:13
老帖子了,转一下备份备份 ;)
进入注册表,找到这个位置:
HKEY_LOCAL_MACHINE\SOFTWARE\microsoft\Windows NT\CurrentVersion\Winlogon
找到"Shell"项,它的默认值为"Explorer.exe"
你在它的后面加上逗号,再加上你的命令
如:"Explorer.exe,shutdown -t 1000",1000秒后关机
时间随便你改!最好改大点!以免不可以设置原来的样子!
取消:运行输入
shutdown -a
即取消
修改注册表,把Explorer.exe这个后面的都删除掉,以后开机就不会自动关机
路径同上!
注意!
以上如果想试的,请将时间设置高点,比喻设置成3000或者更高的!!!!!!!
另外启动弄个BAT 写入shutdown -s -t 0是一样效果,哈! |
2007-08-08 08:23
一个名为hamachiya2的日本博客发现了仅仅一行HTML代码就能让IE 6崩溃,代码如下:
<style>*{position:relative}</style><table><input></table>
如果你不信,可以点击这个链接尝试一下.这一段代码在Firefox,Opera和Safari中都能正常解析,但是在IE 6下会引起Mshtml.dll致命错误.

以上来自immike
其实在此之前已经有个名为CrashIE的网页发布了一段让IE 6-崩溃的代码,同样是只有一行,这一行代码是:
<script>for(x in document.write){document.write(x);}</script>
CrashIE网站代码里就包含有这段代码,所以如果你使用IE 6内核的浏览器是无法看到页面的. |
2007-02-22 21:44
whois数据库
ping扫射
ping扫射是指ping指定网络中的所有ip,如果机器正在监听ip地址,就会回应ping。从而
就知道它处于活动状态。有黑客通过这种方法列出所有正在运行的机器,然后决定攻击目标。
有两种不同的ping主机方法:ICMP ping and echo ping。可以用一些工具加速ping。其中两
个最有意义:Fping and Nmap
ICMP ping方法:源机器向目的机器发送icmp echo request.如果目标机器正在运行,则会响
应icmp echo reply。
# ping -c 3 target
echo ping方法:以udp or tcp包连接到目标机器的回显端口(端口7),如果机器在运行状态,
该端口直接回显发送过来的信息。
# telnet target.example.com echo
Fping是一个直接了当的ping工具,可以在命令行列出需要ping的机器,也可以用文件方
式
# Fping -a < machinelist
如果要扫描整个网络(192.168.10.X),必须提供IP列表,在命令行用perl语句可以容量实
现。
# perl -e 'for (1..254) {print "192.168.10.$_\n"}' |fping -a -q 2>/dev/null
Nmap是一种多用途的扫描工具,内置了ping扫描功能。
# nmap -sP 192.168.10.0/24
ping扫射对策
通过配置机器(iptables等)来拒绝进入的echo request包和出去的echo reply包。从而避免
响应icmp echo request。关闭本机回显服务。在/etc/inetd.conf中注释掉以下两行
echo stream tcp nowait root internal
echo dgram udp wait root internal
再重启inetd。
dns问题
在linux上,最好的dns服务器是bind,它有几个版本,如果你是先锋派,bind9.x是最佳选择,
4.x是最稳定版本,8.x则是一个不错的过滤,大部分站点都是用这个版本。请保持bind的
版本是最新,最为它的安全漏洞较多,而且一旦发现漏洞,就会很被黑客利用。
尽量不要在配置文件中包含hinfo and txt信息。
区域传送
一般情况下,为了保证dns总是可以,每个域中,都有一个主dns机器,而其它都是次级dns,
每当dns区域发生变化时,次级dns机器就从主机器复制全部内容。系统成为次级dns的方
法是在named.conf中添加如下内容:
zone "expample.com" {
type slave;
file "slave/expample.com";
masters {xxx.xxx.xxx.xxx};
};
但是黑客也可以攫取区域文件(如果没有采取措施),下例给出使用host命令列出整个域中
所有NS,A和PTR记录的方法。
# host -t ns example.com
# host -l example.com
对策:
配置主名字服务器时,使之不允许除次级服务器外机器的区域传送。在全局默认选项中设置
如下:
option {
....
allow-transfer {xxx.xxx.xxx.xxx};
...
}
警告:必须确保在主和从服务器上都禁止区域传送,因为从服务器也能接受区域传送请求。
任何未经授权的区域传送都会被syslog记录下来。
反解析是指从ip到域名的过程。可以用host命令实现。如果大量使用真实的主机名,会给
黑客知道机器的功能。所以最好在PTR记录中使用一般的反解析名如:
xxx-xxx-xxx-xxx.example.com.
记录类型 名字 描述
SOA 授权区域 包括DNS管理员的email地址和更新,缓存和传输次数等信息
A 地址记录 属于机器名的IP地址
CNAME 规范名称 机器(而非IP地址)的别名,类似于符号链接
PTR 指针记录 IP地址到主机名的映射
HINFO 主机信息 主机的体系机构和操作系统
TXT 文本描述 关于主机的其他描述信息,通常是其用途和/或位置
RP 责任人 主机责任人的email地址
端口扫描
黑客会运行一个或多个端口扫描工具来了解目标系统提供的服务。工具主要有
netcat,strobe,nmap(best)。玩转nmap可以学到很多东西。包括自已的系统,也包括网络方面。
网络漏洞扫描程序
iss,satan,Nessus
加密文件系统
CFS,TCFS,BestCrypt,PPDD,Encrypted |
2007-02-22 19:22
系统安全
简单的FIND命令
# find / \(-perm -02000 -o -perm -4000 \) -ls 可以找出系统中所有的setuserid and setgroupid
程序。
在最严格的情况下,可以去掉除/bin/su外所有已安装程序的setXid位。
系统文件扫描工具 cops tiger Nabou
扫描检测器
黑客入侵系统前所做的第一件事就是从网络上扫描系统,扫描检测器能及时获知,是一个良
好的入侵检测系统(IDS)
Klaxon Courtney Scanlogd PortSentry snort
LIDS
它包括内核级的端口扫描检测程序和安全警告程序。是内核补丁(现在适用于2.2.X和2.4.X,
但以后将不再支持2.2)和系统管理工具。其特性包括:
1、高级文件保护,甚至root也不能发现和处置受LIDS保护的文件。
2、进程保护,内核拒绝向受保护的进程发送信号(例如SIGKILL),进程也可以被完全隐
藏起来,在/proc下不会存在任何痕迹。
3、更好的访问控制,更有效地使用与特权相关的权能,包括禁止root更改这些权能。
4、内置式端口扫描检测,内置于内核的扫描程序能够检测到Nmap,SATAN等工具的绝大
部分扫描。
要安装LIDS,必须下载最新的linux内核正式版和LIDS源代码。使用LIDS给内核打上补丁,
然后重新编译内核。
日志文件分析
syslogd消信可标记为特定的功能和级别,在/etc/syslog.conf文件中可以根据这两个选项来设
置消信的去向。
syslogd功能 描述
auth 安全性/验证消息(负面)
authpriv 安全性/验证消息
cron cron and at
daemon 其它系统守护进程(sshd,xinetd,pppd等)
kern 内核消息
lpr 行打印系统
mail 邮件子系统(sendmail,postfix,qmail等)
news Usenet新闻消息
syslog 内部syslog消息
user 一般用户级消息
uucp UUCP子系统
local0-local7 自定义的级别
日志级别 描述
emerg 系统已不可用
alert 必须马上采取行动
crit 危急
err 错误
warning 警告
notice 普通但重要的情形
info 通知消息
debug 调试消息
syslog.conf每一行的配置格式为
facility.loglevel logtarget,所有字段用tab隔开
例子:
daemon.notice /var/log/daemon.log 把程序发送过来的功能为daemon,优先级为notice
或更高级别的所有日志消息记录到/var/log/daemon.log文件中,可以使用*号表示匹配所有功
能或日志级别。
目标 描述
/path/to/filename 将消息附加到所指定文件的文件尾,这是最常用的情形。
@loghost 写到loghost机器上的syslog服务器。可方便把日志发来多台机器上,
|/path/to/named_pipe 写到指定的命名管道(便于用外部程序过滤消息)。
user1,user2 写到所列用户。
* 写到所有登录用户。
/dev/console 写到已命名的终端。
日志文件许可
日志检查程序不应当以root用户运行。
可以通过日志分析软件开监控日志,如logcheck,swatch和logsurfer sec lire。但最好的工具还是管理
员自已写的脚本。
正确的日志文件许可:
为了尽可能地保护系统,应当确保只有root才能写入日志文件,并且只有名为log的组才有读权限,而屏蔽其他人的许可。下面是一个例子
addgroup logs
cd /var/log
chgrp -R logs .
find . -type d | xargs chmod 750
find . -type f | xargs chmod 640
chmod 750 .
还有一点也非常重要,既确保/var/log目录只有root才能写入,否则,日志文件奶可以被别人删除:
防止对日志的简单篡改:
chattr +s /var/log/messages
文件系统完整性检查
修改文件系统是黑客在侵入系统之后经常要做的一件事情,下面列出了经常被修改的一些文
件:
类型 例子
服务器配置文件 /etc/inetd.conf,/etc/ftpaccess
网络配置文件 /etc/host.conf,/etc/sysconfig/network
系统配置文件 /etc/ld.so.conf,/etc/nsswitch.conf
crontab /etc/cron.daily/*,/var/spool/cron/root
setuserid程序 /bin/su,/bin/ping,usr/bin/chfn,/sbin/dump
setgroupid程序 /sbin/netreport,/usr/bin/lpr,/usr/bin/write,/usr/bin/man
如果知道机器何时被入侵,就可以判断修改时,并了解哪些东西被修改了,例如想知道在9
月17日发生的侵入事件中被修改的所有文件,可以执行如下命令:
# touch 09170000 /tmp/comparison
# find / \( -newer /tmp/comparison -o -cnewer /tmp/comparison \) -ls
但记住,检查文件时间所给出的统计结果是不可靠的,touch命令可以更改任何文件的修改
时间(mtime)和访问时间(atime).
校验和
校验和是一个使用数学算法生成的字符串,可以用来判断两个文件是否相同,即使在一个文
件中只改动了一位,它们的校验和也会不同。通常
用md5sum命令。
# md5sum xxx
文件许可
通过检查文件许可,用户可以知道修改发生的时间,并判断其行为是合法,意外还是恶意的,
同时确定其对系统的影响。
生成校验和与许可数据库
在黑客入侵系统前生成文件的校验和,下面是一个快捷的perl脚本,能够使用户生成自已
的文件许可和校验和数据库(文本)。
#!/usr/bin/perl
use MD5;
require 'find.pl';
$md5 = new MD5;
@dirs = @ARGV;
for $dir ( @dirs ) { find($dir);}
sub wanted { push @files,$name;}
for $name ( sort @files ) {
($uid,$gid) = (stat $name)[4,5];
$stat = sprintf "%0o",(stat _)[2];
unless ( -f $name ) {
printf "$stat\t$uid $gid\t\t\t\t\t\t$name\n";
next;
}
$md5->reset();
open FILE,$name or print(STDERR "Can't open file $name\n"),next;
$md5->addfile(FILE);
close FILE;
$checksum = $md5->hexdigest();
printf "$stat\t$uid $gid $checksum\t$name\n";
}
生成的数据库尽量不要放在本机上,要放在其它机器上或一次写多次读(CDR)的机器上。
现有的文件完整性工具 Tripwire AIDE Nabou
|
2007-02-22 18:34
为别名起一个不同的名字:
alias del=‘rm-i’
ID命令可以得到当前用户所属的组:
id -a
groupadd webadmin
usermod -G webadmin jdoe
chgrp webadmin index.html
chmod g+rw index.html
umask:
664 (rw-rw-r--)对于文件 666-002
775(rwxrwxr-x)对于目录 777-002
使用umask值077可以在创建文件和目录时设置最使用的许可限制:
高级的文件系统属性:
chattr lsattr
A 不要更新atime文件,当在笔记本电脑或NFS上限制磁盘I/0流量时,很有用,除2.0
系列外,这一属性不被其它内核支持。
a 文件仅能以追加方式打开,只有root才能设置这个属性。
c 文件保存在磁盘时,内核将自动压缩该文件。
d 文件标记,使其不能被转储。
i 文件不能被修改,删除或重命名,不能创建任何指向它的链接,并不能写入任何数据。
s 删除文件时,相应的磁盘存储块清零。
S 修改文件时,对其写入进行同步。
u 删除文件时,保存其内容。
杀掉一个进程:
kill -TERM 12958
强制读取配置文件:
killall -HUP httpd
/etc/securetty:
指定了系统中允许root登录的TTY设备
Ulimit命令
设置限制 可以把命令加到profile文件里,也可以在/etc/security/limits.conf文件中定义
限制。
命令参数
-a 显示所有限制
-c core文件大小的上限
-d 进程数据段大小的上限
-f shell所能创建的文件大小的上限
-m 驻留内存大小的上限
-s 堆栈大小的上限
-t 每秒可占用的CPU时间上限
-p 管道大小
-n 打开文件数的上限
-u 进程数的上限
-v 虚拟内存的上限
除可用Ulimit命令设置外,也可以在/etc/security/limits.conf文件中定义限制。
domino type item value
domino是以符号@开头的用户名或组名,*表示所有用户,type设置为hard or soft。item指
定想限制的资源。如cpu,core nproc or maxlogins
。value是相应的限制值。 |
|
| |